From 0a877dd12c5ff5a1a72e76a2afd7d418da38654d Mon Sep 17 00:00:00 2001 From: Lukasz <120112546+lukaszcl@users.noreply.github.com> Date: Thu, 13 Jun 2024 17:16:54 +0200 Subject: [PATCH 1/5] Add OCR soak tests with blockchain reorg (#13541) * Add reorg test configs for ocr soak test * Create separate test functions for soak test configuration This will allow the separate tests to be executed in remote test runner * Revert common.go * Add tests to makefile and fix missing config values --- integration-tests/Makefile | 12 ++++- integration-tests/soak/ocr_test.go | 21 ++++++++- integration-tests/testconfig/ocr/ocr.toml | 54 +++++++++++++++++++++++ 3 files changed, 84 insertions(+), 3 deletions(-) diff --git a/integration-tests/Makefile b/integration-tests/Makefile index 4e977f40618..af3307dd395 100644 --- a/integration-tests/Makefile +++ b/integration-tests/Makefile @@ -146,7 +146,17 @@ test_node_migrations_simulated_verbose: .PHONY: test_soak_ocr test_soak_ocr: . ./scripts/check_base64_env_var.sh - go test -v -count=1 -run TestOCRSoak ./soak + go test -v -count=1 -run ^TestOCRSoak$$ ./soak + +.PHONY: test_soak_ocr_reorg_1 +test_soak_ocr_reorg_1: + . ./scripts/check_base64_env_var.sh + go test -v -count=1 -run ^TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled$$ ./soak + +.PHONY: test_soak_ocr_reorg_2 +test_soak_ocr_reorg_2: + . ./scripts/check_base64_env_var.sh + go test -v -count=1 -run ^TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled$$ ./soak .PHONY: test_soak_forwarder_ocr test_soak_forwarder_ocr: diff --git a/integration-tests/soak/ocr_test.go b/integration-tests/soak/ocr_test.go index e99ecdf072d..f8120d2ae0f 100644 --- a/integration-tests/soak/ocr_test.go +++ b/integration-tests/soak/ocr_test.go @@ -13,7 +13,6 @@ import ( ) func TestOCRSoak(t *testing.T) { - l := logging.GetTestLogger(t) // Use this variable to pass in any custom EVM specific TOML values to your Chainlink nodes customNetworkTOML := `` // Uncomment below for debugging TOML issues on the node @@ -21,9 +20,27 @@ func TestOCRSoak(t *testing.T) { // fmt.Println("Using Chainlink TOML\n---------------------") // fmt.Println(networks.AddNetworkDetailedConfig(config.BaseOCR1Config, customNetworkTOML, network)) // fmt.Println("---------------------") - config, err := tc.GetConfig("Soak", tc.OCR) require.NoError(t, err, "Error getting config") + runOCRSoakTest(t, config, customNetworkTOML) +} + +func TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled(t *testing.T) { + config, err := tc.GetConfig(t.Name(), tc.OCR) + require.NoError(t, err, "Error getting config") + runOCRSoakTest(t, config, "") +} + +func TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled(t *testing.T) { + config, err := tc.GetConfig(t.Name(), tc.OCR) + require.NoError(t, err, "Error getting config") + runOCRSoakTest(t, config, "") +} + +func runOCRSoakTest(t *testing.T, config tc.TestConfig, customNetworkTOML string) { + l := logging.GetTestLogger(t) + + l.Info().Str("test", t.Name()).Msg("Starting OCR soak test") ocrSoakTest, err := testsetups.NewOCRSoakTest(t, &config, false) require.NoError(t, err, "Error creating soak test") diff --git a/integration-tests/testconfig/ocr/ocr.toml b/integration-tests/testconfig/ocr/ocr.toml index 31224599d8d..30fc9655bf9 100644 --- a/integration-tests/testconfig/ocr/ocr.toml +++ b/integration-tests/testconfig/ocr/ocr.toml @@ -82,3 +82,57 @@ test_duration="15m" ocr_version="1" number_of_contracts=2 time_between_rounds="1m" + +# Soak test configuration with Geth reorg below finality with FinalityTagEnabled=false +[TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled.NodeConfig] +CommonChainConfigTOML = """ +AutoCreateKey = true +MinContractPayment = 0 +LogPollInterval="500ms" +BackupLogPollerBlockDelay = 0 +FinalityDepth = 30 +FinalityTagEnabled = false +""" +[TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled.Network] +selected_networks=["simulated"] +[TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled.Network.GethReorgConfig] +enabled = true +depth = 15 +delay_create = "3s" +[TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled.Common] +chainlink_node_funding = 100 +[TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled.OCR] +[TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled.OCR.Common] +test_duration="15m" +[TestOCRSoak_GethReorgBelowFinality_FinalityTagDisabled.OCR.Soak] +ocr_version="1" +number_of_contracts=2 +time_between_rounds="1m" + +# Soak test configuration with Geth reorg below finality with FinalityTagEnabled=true +[TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled.NodeConfig] +CommonChainConfigTOML = """ +AutoCreateKey = true +MinContractPayment = 0 +LogPollInterval="500ms" +BackupLogPollerBlockDelay = 0 +FinalityTagEnabled = true + +[HeadTracker] +HistoryDepth = 10 +""" +[TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled.Network] +selected_networks=["simulated"] +[TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled.Network.GethReorgConfig] +enabled = true +depth = 15 +delay_create = "3s" +[TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled.Common] +chainlink_node_funding = 100 +[TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled.OCR] +[TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled.OCR.Common] +test_duration="15m" +[TestOCRSoak_GethReorgBelowFinality_FinalityTagEnabled.OCR.Soak] +ocr_version="1" +number_of_contracts=2 +time_between_rounds="1m" \ No newline at end of file From 483ee6ae06f608d150ab360e0a3ffe6895b39d52 Mon Sep 17 00:00:00 2001 From: pavel-raykov <165708424+pavel-raykov@users.noreply.github.com> Date: Thu, 13 Jun 2024 17:45:55 +0200 Subject: [PATCH 2/5] Fix verb formatting in the chainlink/v2/core/logger.Logger outputs. (#13495) * Fix verb formatting in the log outputs. * Update changeset tag. * Fixed a test with a nil reference. * Removed unneccessary String conversion of big.Int. * Omit unnecessary String() conversion. --- .changeset/warm-cobras-poke.md | 5 ++++ .golangci.yml | 12 ++++++++ core/cmd/shell.go | 6 ++-- core/services/feeds/service.go | 8 ++--- .../handlers/functions/allowlist/allowlist.go | 10 +++---- .../functions/subscriptions/subscriptions.go | 2 +- core/services/gateway/network/wsclient.go | 8 ++--- .../ocr2keeper/evmregistry/v20/registry.go | 18 +++++------ .../evmregistry/v21/block_subscriber.go | 4 +-- .../evmregistry/v21/logprovider/recoverer.go | 2 +- .../ocr2keeper/evmregistry/v21/registry.go | 30 +++++++++---------- .../v21/registry_check_pipeline.go | 2 +- core/services/ocrcommon/telemetry.go | 6 ++-- core/services/relay/evm/evm.go | 2 +- core/services/workflows/engine.go | 12 ++++---- core/sessions/ldapauth/ldap.go | 18 +++++------ core/sessions/ldapauth/sync.go | 16 +++++----- core/sessions/localauth/orm.go | 4 +-- core/web/jobs_controller.go | 2 +- core/web/user_controller.go | 6 ++-- 20 files changed, 95 insertions(+), 78 deletions(-) create mode 100644 .changeset/warm-cobras-poke.md diff --git a/.changeset/warm-cobras-poke.md b/.changeset/warm-cobras-poke.md new file mode 100644 index 00000000000..0bfb1dd44b4 --- /dev/null +++ b/.changeset/warm-cobras-poke.md @@ -0,0 +1,5 @@ +--- +"chainlink": patch +--- + +#updated Fix verb formatting in the log outputs. diff --git a/.golangci.yml b/.golangci.yml index 3834400ba67..19121c3d476 100644 --- a/.golangci.yml +++ b/.golangci.yml @@ -33,6 +33,18 @@ linters-settings: govet: # report about shadowed variables check-shadowing: true + settings: + printf: + # Additionally check chainlink custom loggers + funcs: + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Tracef + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Debugf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Infof + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Warnf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Errorf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Criticalf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Panicf + - (github.com/smartcontractkit/chainlink/v2/core/logger.Logger).Fatalf errorlint: # Allow formatting of errors without %w errorf: false diff --git a/core/cmd/shell.go b/core/cmd/shell.go index d6f99955e10..e12b069277b 100644 --- a/core/cmd/shell.go +++ b/core/cmd/shell.go @@ -263,9 +263,9 @@ func handleNodeVersioning(ctx context.Context, db *sqlx.DB, appLggr logger.Logge if backupCfg.Mode() != config.DatabaseBackupModeNone && backupCfg.OnVersionUpgrade() { if err = takeBackupIfVersionUpgrade(cfg.URL(), rootDir, cfg.Backup(), appLggr, appv, dbv, healthReportPort); err != nil { if errors.Is(err, sql.ErrNoRows) { - appLggr.Debugf("Failed to find any node version in the DB: %w", err) + appLggr.Debugf("Failed to find any node version in the DB: %v", err) } else if strings.Contains(err.Error(), "relation \"node_versions\" does not exist") { - appLggr.Debugf("Failed to find any node version in the DB, the node_versions table does not exist yet: %w", err) + appLggr.Debugf("Failed to find any node version in the DB, the node_versions table does not exist yet: %v", err) } else { return fmt.Errorf("initializeORM#FindLatestNodeVersion: %w", err) } @@ -830,7 +830,7 @@ func (t *promptingAPIInitializer) Initialize(ctx context.Context, orm sessions.B continue } if err = orm.CreateUser(ctx, &user); err != nil { - lggr.Errorf("Error creating API user: ", err, "err") + lggr.Errorw("Error creating API user", "err", err) } return user, err } diff --git a/core/services/feeds/service.go b/core/services/feeds/service.go index 4add9ff320d..f8574af27ec 100644 --- a/core/services/feeds/service.go +++ b/core/services/feeds/service.go @@ -276,7 +276,7 @@ func (s *service) UpdateManager(ctx context.Context, mgr FeedsManager) error { } if err := s.restartConnection(ctx, mgr); err != nil { - s.lggr.Errorf("could not restart FMS connection: %w", err) + s.lggr.Errorf("could not restart FMS connection: %v", err) } return nil @@ -347,7 +347,7 @@ func (s *service) CreateChainConfig(ctx context.Context, cfg ChainConfig) (int64 } if err := s.SyncNodeInfo(ctx, mgr.ID); err != nil { - s.lggr.Infof("FMS: Unable to sync node info: %w", err) + s.lggr.Infof("FMS: Unable to sync node info: %v", err) } return id, nil @@ -371,7 +371,7 @@ func (s *service) DeleteChainConfig(ctx context.Context, id int64) (int64, error } if err := s.SyncNodeInfo(ctx, mgr.ID); err != nil { - s.lggr.Infof("FMS: Unable to sync node info: %w", err) + s.lggr.Infof("FMS: Unable to sync node info: %v", err) } return id, nil @@ -412,7 +412,7 @@ func (s *service) UpdateChainConfig(ctx context.Context, cfg ChainConfig) (int64 } if err := s.SyncNodeInfo(ctx, ccfg.FeedsManagerID); err != nil { - s.lggr.Infof("FMS: Unable to sync node info: %w", err) + s.lggr.Infof("FMS: Unable to sync node info: %v", err) } return id, nil diff --git a/core/services/gateway/handlers/functions/allowlist/allowlist.go b/core/services/gateway/handlers/functions/allowlist/allowlist.go index 2a27f51471a..d180195865d 100644 --- a/core/services/gateway/handlers/functions/allowlist/allowlist.go +++ b/core/services/gateway/handlers/functions/allowlist/allowlist.go @@ -237,12 +237,12 @@ func (a *onchainAllowlist) updateFromContractV1(ctx context.Context, blockNum *b err = a.orm.PurgeAllowedSenders(ctx) if err != nil { - a.lggr.Errorf("failed to purge allowedSenderList: %w", err) + a.lggr.Errorf("failed to purge allowedSenderList: %v", err) } err = a.orm.CreateAllowedSenders(ctx, allowedSenderList) if err != nil { - a.lggr.Errorf("failed to update stored allowedSenderList: %w", err) + a.lggr.Errorf("failed to update stored allowedSenderList: %v", err) } a.update(allowedSenderList) @@ -343,7 +343,7 @@ func (a *onchainAllowlist) updateAllowedSendersBatch( // persist each batch to the underalying orm layer err = a.orm.CreateAllowedSenders(ctx, allowedSendersBatch) if err != nil { - a.lggr.Errorf("failed to update stored allowedSenderList: %w", err) + a.lggr.Errorf("failed to update stored allowedSenderList: %v", err) } return nil } @@ -380,7 +380,7 @@ func (a *onchainAllowlist) syncBlockedSenders(ctx context.Context, tosContract * err = a.orm.DeleteAllowedSenders(ctx, blockedSendersBatch) if err != nil { - a.lggr.Errorf("failed to delete blocked address from allowed list in storage: %w", err) + a.lggr.Errorf("failed to delete blocked address from allowed list in storage: %v", err) } } throttleTicker.Stop() @@ -403,7 +403,7 @@ func (a *onchainAllowlist) loadStoredAllowedSenderList(ctx context.Context) { for { asBatch, err := a.orm.GetAllowedSenders(ctx, offset, a.config.StoredAllowlistBatchSize) if err != nil { - a.lggr.Errorf("failed to get stored allowed senders: %w", err) + a.lggr.Errorf("failed to get stored allowed senders: %v", err) break } diff --git a/core/services/gateway/handlers/functions/subscriptions/subscriptions.go b/core/services/gateway/handlers/functions/subscriptions/subscriptions.go index d481ecf12ed..c2b2835099f 100644 --- a/core/services/gateway/handlers/functions/subscriptions/subscriptions.go +++ b/core/services/gateway/handlers/functions/subscriptions/subscriptions.go @@ -210,7 +210,7 @@ func (s *onchainSubscriptions) querySubscriptionsRange(ctx context.Context, bloc SubscriptionID: subscriptionId, IFunctionsSubscriptionsSubscription: subscription, }); err != nil { - s.lggr.Errorf("unexpected error updating subscription in the db: %w", err) + s.lggr.Errorf("unexpected error updating subscription in the db: %v", err) } } } diff --git a/core/services/gateway/network/wsclient.go b/core/services/gateway/network/wsclient.go index bc248d202ac..436ff01a929 100644 --- a/core/services/gateway/network/wsclient.go +++ b/core/services/gateway/network/wsclient.go @@ -51,7 +51,7 @@ func (c *webSocketClient) Connect(ctx context.Context, url *url.URL) (*websocket conn, resp, err := c.dialer.DialContext(ctx, url.String(), hdr) if err != nil { - c.lggr.Errorf("WebSocketClient: couldn't connect to %s: %w", url.String(), err) + c.lggr.Errorf("WebSocketClient: couldn't connect to %s: %v", url.String(), err) c.tryCloseConn(conn) return nil, err } @@ -71,13 +71,13 @@ func (c *webSocketClient) Connect(ctx context.Context, url *url.URL) (*websocket response, err := c.initiator.ChallengeResponse(url, challenge) if err != nil { - c.lggr.Errorf("WebSocketClient: couldn't generate challenge response", err) + c.lggr.Error("WebSocketClient: couldn't generate challenge response; error: ", err) c.tryCloseConn(conn) return nil, err } if err = conn.WriteMessage(websocket.BinaryMessage, response); err != nil { - c.lggr.Errorf("WebSocketClient: couldn't send challenge response", err) + c.lggr.Error("WebSocketClient: couldn't send challenge response; error: ", err) c.tryCloseConn(conn) return nil, err } @@ -88,7 +88,7 @@ func (c *webSocketClient) tryCloseConn(conn *websocket.Conn) { if conn != nil { err := conn.Close() if err != nil { - c.lggr.Errorf("WebSocketClient: error closing connection %w", err) + c.lggr.Errorf("WebSocketClient: error closing connection %v", err) } } } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go index 56c200f9b13..ce7325a96be 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v20/registry.go @@ -215,7 +215,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { defer cancel() err := f(ctx) if err != nil { - lggr.Errorf("failed to initialize upkeeps", err) + lggr.Errorf("failed to initialize upkeeps; error %v", err) } for { @@ -223,7 +223,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { case <-tmr.C: err = f(ctx) if err != nil { - lggr.Errorf("failed to re-initialize upkeeps", err) + lggr.Errorf("failed to re-initialize upkeeps; error %v", err) } tmr.Reset(reInitializationDelay) case <-ctx.Done(): @@ -245,7 +245,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { case <-ticker.C: err := f(ctx) if err != nil { - lggr.Errorf("failed to poll logs for upkeeps", err) + lggr.Errorf("failed to poll logs for upkeeps; error %v", err) } case <-ctx.Done(): ticker.Stop() @@ -265,7 +265,7 @@ func (r *EvmRegistry) Start(_ context.Context) error { case l := <-ch: err := f(ctx, l) if err != nil { - lggr.Errorf("failed to process log for upkeep", err) + lggr.Errorf("failed to process log for upkeep; error %v", err) } case <-ctx.Done(): return @@ -420,16 +420,16 @@ func (r *EvmRegistry) processUpkeepStateLog(ctx context.Context, l logpoller.Log switch l := abilog.(type) { case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepRegistered: - r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, false) case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepReceived: - r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, false) case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepUnpaused: - r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, false) case *keeper_registry_wrapper2_0.KeeperRegistryUpkeepGasLimitSet: - r.lggr.Debugf("KeeperRegistryUpkeepGasLimitSet log detected for upkeep ID %s in transaction %s", l.Id.String(), hash) + r.lggr.Debugf("KeeperRegistryUpkeepGasLimitSet log detected for upkeep ID %s in transaction %s", l.Id, hash) r.addToActive(ctx, l.Id, true) } @@ -447,7 +447,7 @@ func (r *EvmRegistry) addToActive(ctx context.Context, id *big.Int, force bool) if _, ok := r.active[id.String()]; !ok || force { actives, err := r.getUpkeepConfigs(ctx, []*big.Int{id}) if err != nil { - r.lggr.Errorf("failed to get upkeep configs during adding active upkeep: %w", err) + r.lggr.Errorf("failed to get upkeep configs during adding active upkeep: %v", err) return } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go index 3a7d329ac02..d07af8a8de4 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/block_subscriber.go @@ -147,11 +147,11 @@ func (bs *BlockSubscriber) initialize(ctx context.Context) { // initialize the blocks map with the recent blockSize blocks blocks, err := bs.getBlockRange(ctx) if err != nil { - bs.lggr.Errorf("failed to get block range", err) + bs.lggr.Errorf("failed to get block range; error %v", err) } err = bs.initializeBlocks(ctx, blocks) if err != nil { - bs.lggr.Errorf("failed to get log poller blocks", err) + bs.lggr.Errorf("failed to get log poller blocks; error %v", err) } _, bs.unsubscribe = bs.hb.Subscribe(&headWrapper{headC: bs.headC, lggr: bs.lggr}) } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go index 5ef321cbf7d..f00459dee67 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/logprovider/recoverer.go @@ -724,7 +724,7 @@ func (r *logRecoverer) updateBlockTime(ctx context.Context) { currentBlockTime := r.blockTime.Load() newBlockTime := int64(blockTime) if currentBlockTime > 0 && (int64(math.Abs(float64(currentBlockTime-newBlockTime)))*100/currentBlockTime) > 20 { - r.lggr.Warnf("updating blocktime from %d to %d, this change is larger than 20%", currentBlockTime, newBlockTime) + r.lggr.Warnf("updating blocktime from %d to %d, this change is larger than 20%%", currentBlockTime, newBlockTime) } else { r.lggr.Debugf("updating blocktime from %d to %d", currentBlockTime, newBlockTime) } diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go index 6bab073b9b3..cb7e689b042 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry.go @@ -215,7 +215,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { lggr := r.lggr.With("where", "upkeeps_referesh") err := r.refreshActiveUpkeeps(ctx) if err != nil { - lggr.Errorf("failed to initialize upkeeps", err) + lggr.Errorf("failed to initialize upkeeps; error %v", err) } ticker := time.NewTicker(refreshInterval) @@ -226,7 +226,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { case <-ticker.C: err = r.refreshActiveUpkeeps(ctx) if err != nil { - lggr.Errorf("failed to refresh upkeeps", err) + lggr.Errorf("failed to refresh upkeeps; error %v", err) } case <-ctx.Done(): return @@ -244,7 +244,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { case <-ticker.C: err := r.pollUpkeepStateLogs(ctx) if err != nil { - lggr.Errorf("failed to poll logs for upkeeps", err) + lggr.Errorf("failed to poll logs for upkeeps; error %v", err) } case <-ctx.Done(): return @@ -261,7 +261,7 @@ func (r *EvmRegistry) Start(ctx context.Context) error { case l := <-ch: err := r.processUpkeepStateLog(ctx, l) if err != nil { - lggr.Errorf("failed to process log for upkeep", err) + lggr.Errorf("failed to process log for upkeep; error %v", err) } case <-ctx.Done(): return @@ -464,39 +464,39 @@ func (r *EvmRegistry) processUpkeepStateLog(ctx context.Context, l logpoller.Log switch l := abilog.(type) { case *ac.IAutomationV21PlusCommonUpkeepPaused: - r.lggr.Debugf("KeeperRegistryUpkeepPaused log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepPaused log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.removeFromActive(ctx, l.Id) case *ac.IAutomationV21PlusCommonUpkeepCanceled: - r.lggr.Debugf("KeeperRegistryUpkeepCanceled log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepCanceled log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.removeFromActive(ctx, l.Id) case *ac.IAutomationV21PlusCommonUpkeepMigrated: - r.lggr.Debugf("AutomationV2CommonUpkeepMigrated log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("AutomationV2CommonUpkeepMigrated log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.removeFromActive(ctx, l.Id) case *ac.IAutomationV21PlusCommonUpkeepTriggerConfigSet: - r.lggr.Debugf("KeeperRegistryUpkeepTriggerConfigSet log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepTriggerConfigSet log detected for upkeep ID %s in transaction %s", l.Id, txHash) if err := r.updateTriggerConfig(ctx, l.Id, l.TriggerConfig, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepTriggerConfigSet for upkeep ID %s: %s", l.Id.String(), err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepTriggerConfigSet for upkeep ID %s: %s", l.Id, err) } case *ac.IAutomationV21PlusCommonUpkeepRegistered: uid := &ocr2keepers.UpkeepIdentifier{} uid.FromBigInt(l.Id) trigger := core.GetUpkeepType(*uid) - r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s (trigger=%d) in transaction %s", l.Id.String(), trigger, txHash) + r.lggr.Debugf("KeeperRegistryUpkeepRegistered log detected for upkeep ID %s (trigger=%d) in transaction %s", l.Id, trigger, txHash) r.active.Add(l.Id) if err := r.updateTriggerConfig(ctx, l.Id, nil, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepRegistered for upkeep ID %s: %s", err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepRegistered for upkeep ID %s: %s", l.Id, err) } case *ac.IAutomationV21PlusCommonUpkeepReceived: - r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepReceived log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.active.Add(l.Id) if err := r.updateTriggerConfig(ctx, l.Id, nil, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepReceived for upkeep ID %s: %s", err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepReceived for upkeep ID %s: %s", l.Id, err) } case *ac.IAutomationV21PlusCommonUpkeepUnpaused: - r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id.String(), txHash) + r.lggr.Debugf("KeeperRegistryUpkeepUnpaused log detected for upkeep ID %s in transaction %s", l.Id, txHash) r.active.Add(l.Id) if err := r.updateTriggerConfig(ctx, l.Id, nil, rawLog.BlockNumber); err != nil { - r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepUnpaused for upkeep ID %s: %s", err) + r.lggr.Warnf("failed to update trigger config upon AutomationV2CommonUpkeepUnpaused for upkeep ID %s: %s", l.Id, err) } default: r.lggr.Debugf("Unknown log detected for log %+v in transaction %s", l, txHash) diff --git a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go index ef0089921ce..f14c9865c35 100644 --- a/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go +++ b/core/services/ocr2/plugins/ocr2keeper/evmregistry/v21/registry_check_pipeline.go @@ -148,7 +148,7 @@ func (r *EvmRegistry) verifyLogExists(ctx context.Context, upkeepId *big.Int, p // if this block number/hash combo exists in block subscriber, this block and tx still exists on chain and is valid // the block hash in block subscriber might be slightly outdated, if it doesn't match then we fetch the latest from RPC. if ok && h == logBlockHash.Hex() { - r.lggr.Debugf("tx hash %s exists on chain at block number %d, block hash %s for upkeepId %s", hexutil.Encode(p.Trigger.LogTriggerExtension.TxHash[:]), logBlockHash.Hex(), logBlockNumber, upkeepId) + r.lggr.Debugf("tx hash %s exists on chain at block number %d, block hash %s for upkeepId %s", hexutil.Encode(p.Trigger.LogTriggerExtension.TxHash[:]), logBlockNumber, logBlockHash.Hex(), upkeepId) return encoding.UpkeepFailureReasonNone, encoding.NoPipelineError, false } // if this block does not exist in the block subscriber, the block which this log lived on was probably re-orged diff --git a/core/services/ocrcommon/telemetry.go b/core/services/ocrcommon/telemetry.go index b641bd2b3cf..ec50db18aa2 100644 --- a/core/services/ocrcommon/telemetry.go +++ b/core/services/ocrcommon/telemetry.go @@ -458,7 +458,7 @@ func (e *EnhancedTelemetryService[T]) getPricesFromResults(startTask pipeline.Ta // We rely on task results to be sorted in the correct order benchmarkPriceTask := allTasks.GetNextTaskOf(startTask) if benchmarkPriceTask == nil { - e.lggr.Warnf("cannot parse enhanced EA telemetry benchmark price, task is nil, job %d, id %s", e.job.ID) + e.lggr.Warnf("cannot parse enhanced EA telemetry benchmark price, task is nil, job %d", e.job.ID) return 0, 0, 0 } if benchmarkPriceTask.Task.Type() == pipeline.TaskTypeJSONParse { @@ -479,7 +479,7 @@ func (e *EnhancedTelemetryService[T]) getPricesFromResults(startTask pipeline.Ta bidTask := allTasks.GetNextTaskOf(*benchmarkPriceTask) if bidTask == nil { - e.lggr.Warnf("cannot parse enhanced EA telemetry bid price, task is nil, job %d, id %s", e.job.ID) + e.lggr.Warnf("cannot parse enhanced EA telemetry bid price, task is nil, job %d, id %s", e.job.ID, benchmarkPriceTask.Task.DotID()) return benchmarkPrice, 0, 0 } @@ -496,7 +496,7 @@ func (e *EnhancedTelemetryService[T]) getPricesFromResults(startTask pipeline.Ta askTask := allTasks.GetNextTaskOf(*bidTask) if askTask == nil { - e.lggr.Warnf("cannot parse enhanced EA telemetry ask price, task is nil, job %d, id %s", e.job.ID) + e.lggr.Warnf("cannot parse enhanced EA telemetry ask price, task is nil, job %d, id %s", e.job.ID, benchmarkPriceTask.Task.DotID()) return benchmarkPrice, bidPrice, 0 } if askTask != nil && askTask.Task.Type() == pipeline.TaskTypeJSONParse { diff --git a/core/services/relay/evm/evm.go b/core/services/relay/evm/evm.go index 23740cc8b3b..61c484f82b2 100644 --- a/core/services/relay/evm/evm.go +++ b/core/services/relay/evm/evm.go @@ -493,7 +493,7 @@ func (c *configWatcher) Start(ctx context.Context) error { defer cancel() c.lggr.Infow("starting replay for config", "fromBlock", c.fromBlock) if err := c.configPoller.Replay(ctx, int64(c.fromBlock)); err != nil { - c.lggr.Errorf("error replaying for config", "err", err) + c.lggr.Errorw("error replaying for config", "err", err) } else { c.lggr.Infow("completed replaying for config", "fromBlock", c.fromBlock) } diff --git a/core/services/workflows/engine.go b/core/services/workflows/engine.go index 34242ee6fbd..67746b12d17 100644 --- a/core/services/workflows/engine.go +++ b/core/services/workflows/engine.go @@ -211,7 +211,7 @@ func (e *Engine) init(ctx context.Context) { e.logger.Debug("capabilities resolved, resuming in-progress workflows") err := e.resumeInProgressExecutions(ctx) if err != nil { - e.logger.Errorf("failed to resume workflows: %w", err) + e.logger.Errorf("failed to resume workflows: %v", err) } e.logger.Debug("registering triggers") @@ -350,26 +350,26 @@ func (e *Engine) loop(ctx context.Context) { } if resp.Err != nil { - e.logger.Errorf("trigger event was an error; not executing", resp.Err) + e.logger.Errorf("trigger event was an error %v; not executing", resp.Err) continue } te := &capabilities.TriggerEvent{} err := resp.Value.UnwrapTo(te) if err != nil { - e.logger.Errorf("could not unwrap trigger event", resp.Err) + e.logger.Errorf("could not unwrap trigger event; error %v", resp.Err) continue } executionID, err := generateExecutionID(e.workflow.id, te.ID) if err != nil { - e.logger.Errorf("could not generate execution ID", resp.Err) + e.logger.Errorf("could not generate execution ID; error %v", resp.Err) continue } err = e.startExecution(ctx, executionID, resp.Value) if err != nil { - e.logger.Errorf("failed to start execution: %w", err) + e.logger.Errorf("failed to start execution: %v", err) } case pendingStepRequest := <-e.pendingStepRequests: // Wait for a new worker to be available before dispatching a new one. @@ -609,7 +609,7 @@ func (e *Engine) workerForStepRequest(ctx context.Context, msg stepRequest) { // like this one will get picked up again and will be reprocessed. select { case <-ctx.Done(): - l.Errorf("context canceled before step update could be issued", err) + l.Errorf("context canceled before step update could be issued; error %v", err) case e.stepUpdateCh <- *stepState: } } diff --git a/core/sessions/ldapauth/ldap.go b/core/sessions/ldapauth/ldap.go index efbedcd8d11..7e84339e28e 100644 --- a/core/sessions/ldapauth/ldap.go +++ b/core/sessions/ldapauth/ldap.go @@ -142,7 +142,7 @@ func (l *ldapAuthenticator) FindUser(ctx context.Context, email string) (session conn, err := l.ldapClient.CreateEphemeralConnection() if err != nil { - l.lggr.Errorf("error in LDAP dial: ", err) + l.lggr.Errorf("error in LDAP dial: %v", err) return sessions.User{}, errors.New("unable to establish connection to LDAP server with provided URL and credentials") } defer conn.Close() @@ -242,7 +242,7 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err conn, err := l.ldapClient.CreateEphemeralConnection() if err != nil { - l.lggr.Errorf("error in LDAP dial: ", err) + l.lggr.Errorf("error in LDAP dial: %v", err) return users, errors.New("unable to establish connection to LDAP server with provided URL and credentials") } defer conn.Close() @@ -250,25 +250,25 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err // Query for list of uniqueMember IDs present in Admin group adminUsers, err := l.ldapGroupMembersListToUser(conn, l.config.AdminUserGroupCN(), sessions.UserRoleAdmin) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Errorf("error in ldapGroupMembersListToUser: %v", err) return users, errors.New("unable to list group users") } // Query for list of uniqueMember IDs present in Edit group editUsers, err := l.ldapGroupMembersListToUser(conn, l.config.EditUserGroupCN(), sessions.UserRoleEdit) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Error("error in ldapGroupMembersListToUser: ", err) return users, errors.New("unable to list group users") } // Query for list of uniqueMember IDs present in Run group runUsers, err := l.ldapGroupMembersListToUser(conn, l.config.RunUserGroupCN(), sessions.UserRoleRun) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Error("error in ldapGroupMembersListToUser: ", err) return users, errors.New("unable to list group users") } // Query for list of uniqueMember IDs present in Read group readUsers, err := l.ldapGroupMembersListToUser(conn, l.config.ReadUserGroupCN(), sessions.UserRoleView) if err != nil { - l.lggr.Errorf("error in ldapGroupMembersListToUser: ", err) + l.lggr.Error("error in ldapGroupMembersListToUser: ", err) return users, errors.New("unable to list group users") } @@ -300,7 +300,7 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err } activeUsers, err := l.validateUsersActive(emails) if err != nil { - l.lggr.Errorf("error validating supplied user list: ", err) + l.lggr.Error("error validating supplied user list: ", err) return users, errors.New("error validating supplied user list") } @@ -316,7 +316,7 @@ func (l *ldapAuthenticator) ListUsers(ctx context.Context) ([]sessions.User, err var localAdminUsers []sessions.User sql := "SELECT * FROM users ORDER BY email ASC;" if err := l.ds.SelectContext(ctx, &localAdminUsers, sql); err != nil { - l.lggr.Errorf("error extending upstream LDAP users with local admin users in users table: ", err) + l.lggr.Error("error extending upstream LDAP users with local admin users in users table: ", err) } else { returnUsers = append(returnUsers, localAdminUsers...) } @@ -652,7 +652,7 @@ func (l *ldapAuthenticator) validateUsersActive(emails []string) ([]bool, error) conn, err := l.ldapClient.CreateEphemeralConnection() if err != nil { - l.lggr.Errorf("error in LDAP dial: ", err) + l.lggr.Error("error in LDAP dial: ", err) return validUsers, errors.New("unable to establish connection to LDAP server with provided URL and credentials") } defer conn.Close() diff --git a/core/sessions/ldapauth/sync.go b/core/sessions/ldapauth/sync.go index a6e0366e21d..5eeaf051526 100644 --- a/core/sessions/ldapauth/sync.go +++ b/core/sessions/ldapauth/sync.go @@ -94,38 +94,38 @@ func (ldSync *LDAPServerStateSyncer) Work() { conn, err := ldSync.ldapClient.CreateEphemeralConnection() if err != nil { - ldSync.lggr.Errorf("Failed to Dial LDAP Server", err) + ldSync.lggr.Error("Failed to Dial LDAP Server: ", err) return } // Root level root user auth with credentials provided from config bindStr := ldSync.config.BaseUserAttr() + "=" + ldSync.config.ReadOnlyUserLogin() + "," + ldSync.config.BaseDN() if err = conn.Bind(bindStr, ldSync.config.ReadOnlyUserPass()); err != nil { - ldSync.lggr.Errorf("Unable to login as initial root LDAP user", err) + ldSync.lggr.Error("Unable to login as initial root LDAP user: ", err) } defer conn.Close() // Query for list of uniqueMember IDs present in Admin group adminUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.AdminUserGroupCN(), sessions.UserRoleAdmin) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } // Query for list of uniqueMember IDs present in Edit group editUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.EditUserGroupCN(), sessions.UserRoleEdit) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } // Query for list of uniqueMember IDs present in Edit group runUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.RunUserGroupCN(), sessions.UserRoleRun) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } // Query for list of uniqueMember IDs present in Edit group readUsers, err := ldSync.ldapGroupMembersListToUser(conn, ldSync.config.ReadUserGroupCN(), sessions.UserRoleView) if err != nil { - ldSync.lggr.Errorf("Error in ldapGroupMembersListToUser: ", err) + ldSync.lggr.Error("Error in ldapGroupMembersListToUser: ", err) return } @@ -149,7 +149,7 @@ func (ldSync *LDAPServerStateSyncer) Work() { // list group members that are no longer marked as active usersActiveFlags, err := ldSync.validateUsersActive(dedupedEmails, conn) if err != nil { - ldSync.lggr.Errorf("Error validating supplied user list: ", err) + ldSync.lggr.Error("Error validating supplied user list: ", err) } // Remove users in the upstreamUserStateMap source of truth who are part of groups but marked as deactivated/no-active for i, active := range usersActiveFlags { @@ -252,7 +252,7 @@ func (ldSync *LDAPServerStateSyncer) Work() { return nil }) if err != nil { - ldSync.lggr.Errorf("Error syncing local database state: ", err) + ldSync.lggr.Error("Error syncing local database state: ", err) } ldSync.lggr.Info("Upstream LDAP sync complete") } diff --git a/core/sessions/localauth/orm.go b/core/sessions/localauth/orm.go index de0688b9ff1..1f160a40fb3 100644 --- a/core/sessions/localauth/orm.go +++ b/core/sessions/localauth/orm.go @@ -274,13 +274,13 @@ func (o *orm) UpdateRole(ctx context.Context, email, newRole string) (sessions.U _, err = tx.ExecContext(ctx, "DELETE FROM sessions WHERE email = lower($1)", email) if err != nil { - o.lggr.Errorf("Failed to purge user sessions for UpdateRole", "err", err) + o.lggr.Errorw("Failed to purge user sessions for UpdateRole", "err", err) return pkgerrors.New("error updating API user") } sql := "UPDATE users SET role = $1, updated_at = now() WHERE lower(email) = lower($2) RETURNING *" if err := tx.GetContext(ctx, &userToEdit, sql, userToEdit.Role, email); err != nil { - o.lggr.Errorf("Error updating API user", "err", err) + o.lggr.Errorw("Error updating API user", "err", err) return pkgerrors.New("error updating API user") } diff --git a/core/web/jobs_controller.go b/core/web/jobs_controller.go index da01d8f7b43..fbc8b6832a8 100644 --- a/core/web/jobs_controller.go +++ b/core/web/jobs_controller.go @@ -128,7 +128,7 @@ func (jc *JobsController) Create(c *gin.Context) { if err == nil { jc.App.GetAuditLogger().Audit(audit.JobCreated, map[string]interface{}{"job": string(jbj)}) } else { - jc.App.GetLogger().Errorf("Could not send audit log for JobCreation", "err", err) + jc.App.GetLogger().Errorw("Could not send audit log for JobCreation", "err", err) } jsonAPIResponse(c, presenters.NewJobResource(jb), jb.Type.String()) diff --git a/core/web/user_controller.go b/core/web/user_controller.go index 7dbd6d37645..a7b8a3c0689 100644 --- a/core/web/user_controller.go +++ b/core/web/user_controller.go @@ -41,7 +41,7 @@ func (u *UserController) Index(c *gin.Context) { jsonAPIError(c, http.StatusBadRequest, errUnsupportedForAuth) return } - u.App.GetLogger().Errorf("Unable to list users", "err", err) + u.App.GetLogger().Errorw("Unable to list users", "err", err) jsonAPIError(c, http.StatusInternalServerError, err) return } @@ -97,7 +97,7 @@ func (u *UserController) Create(c *gin.Context) { jsonAPIError(c, http.StatusBadRequest, errUnsupportedForAuth) return } - u.App.GetLogger().Errorf("Error creating new API user", "err", err) + u.App.GetLogger().Errorw("Error creating new API user", "err", err) jsonAPIError(c, http.StatusInternalServerError, errors.New("error creating API user")) return } @@ -190,7 +190,7 @@ func (u *UserController) Delete(c *gin.Context) { jsonAPIError(c, http.StatusBadRequest, errUnsupportedForAuth) return } - u.App.GetLogger().Errorf("Error deleting API user", "err", err) + u.App.GetLogger().Errorw("Error deleting API user", "err", err) jsonAPIError(c, http.StatusInternalServerError, errors.New("error deleting API user")) return } From 9f684d375c183f57c0111e1de9fb00ea5c66a9c8 Mon Sep 17 00:00:00 2001 From: Margaret Ma Date: Thu, 13 Jun 2024 13:05:40 -0400 Subject: [PATCH 3/5] bump operator-ui to v0.8.0-7e6a14f (#13536) --- core/web/assets/index.html | 2 +- core/web/assets/index.html.gz | Bin 419 -> 419 bytes ...c6b5f5.js => main.026013f04da39527a75d.js} | 4 ++-- ....js.gz => main.026013f04da39527a75d.js.gz} | Bin 1195737 -> 1196036 bytes operator_ui/TAG | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) rename core/web/assets/{main.d14a79e7e016a7c6b5f5.js => main.026013f04da39527a75d.js} (93%) rename core/web/assets/{main.d14a79e7e016a7c6b5f5.js.gz => main.026013f04da39527a75d.js.gz} (86%) diff --git a/core/web/assets/index.html b/core/web/assets/index.html index c08e2a365a8..eb81b6d9942 100644 --- a/core/web/assets/index.html +++ b/core/web/assets/index.html @@ -1 +1 @@ -Operator UIChainlink
\ No newline at end of file +Operator UIChainlink
\ No newline at end of file diff --git a/core/web/assets/index.html.gz b/core/web/assets/index.html.gz index bdd02aa740087cf8fa56a16831a3d6be7f73dd2c..009ac43692aa81d401d9ba0180357ae5364707f9 100644 GIT binary patch delta 343 zcmV-d0jU0?1ET|w84P2`O&g@mAy7!66q=DGH-B1w(B>>>Na*xL_&jnEtvqMJEKWaD zkii9<$m8<(SWqS*h|B6BqPv&!d1f@^`40BN&T|?I*7|mJ-*ZVIa|1`4Kao9W zsgc_Ze|J43iU;?Nw=8_SZrjCm+b%Y3tIv(fAz~d6|BF0N^@{!if`uTyd+?m=zp$o< zX|A3})PK!t{!phW!4A#K@~B-xzkf~W5_$E7Mo|HKEKVOUt!nX38>khfngo=acJ;o! zTKDaBfc3}C>IQB$q4`;LXU&PwS#w&PEr&yAJu{!>AG}u?F(_e$8MYDCXPDseWGk%7 pJ}VihDj3JcnoFS#G${&B7iO7#0!^JYC%ieX>Th_DAveGR005Jupv?dP delta 343 zcmV-d0jU0?1ET|w84TUVaT27>Ay7!66xxv`H-B8-Xmge`By@Trd>*-oR-Ut97N?&n z$lwA_8kiU;?Vw=8`3p=}peZM#^vtv)v@hlq7R{4er6)hqfl2o{3)?$L9u|H7Ic zrn!0^QU5io`9qzi1Uob@%cFJ){oysCOXSrT8bt-{u{eFaw5r8BZJ<_^Y7$Ux!s-e( zx46M}bqyPTy*hW;JV1jQaTVYl9 pS;;_E!8kV7TncTVNl|dRFw5){XzHvv;mvVXe*+^~J9oeW003|0qZt4I diff --git a/core/web/assets/main.d14a79e7e016a7c6b5f5.js b/core/web/assets/main.026013f04da39527a75d.js similarity index 93% rename from core/web/assets/main.d14a79e7e016a7c6b5f5.js rename to core/web/assets/main.026013f04da39527a75d.js index 253a0178c12..e3e27950a6f 100644 --- a/core/web/assets/main.d14a79e7e016a7c6b5f5.js +++ b/core/web/assets/main.026013f04da39527a75d.js @@ -168,7 +168,7 @@ object-assign * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */ Object.defineProperty(t,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var n,r,i,a,o,s=null,u=null,c=function(){if(null!==s)try{var e=t.unstable_now();s(!0,e),s=null}catch(n){throw setTimeout(c,0),n}},l=Date.now();t.unstable_now=function(){return Date.now()-l},n=function(e){null!==s?setTimeout(n,0,e):(s=e,setTimeout(c,0))},r=function(e,t){u=setTimeout(e,t)},i=function(){clearTimeout(u)},a=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var f=window.performance,d=window.Date,h=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var b=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof b&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof f&&"function"==typeof f.now)t.unstable_now=function(){return f.now()};else{var m=d.now();t.unstable_now=function(){return d.now()-m}}var g=!1,v=null,y=-1,w=5,_=0;a=function(){return t.unstable_now()>=_},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125M(o,n))void 0!==u&&0>M(u,o)?(e[r]=u,e[s]=n,r=s):(e[r]=o,e[a]=n,r=a);else if(void 0!==u&&0>M(u,n))e[r]=u,e[s]=n,r=s;else break a}}return t}return null}function M(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var O=[],A=[],L=1,C=null,I=3,D=!1,N=!1,P=!1;function R(e){for(var t=x(A);null!==t;){if(null===t.callback)T(A);else if(t.startTime<=e)T(A),t.sortIndex=t.expirationTime,k(O,t);else break;t=x(A)}}function j(e){if(P=!1,R(e),!N){if(null!==x(O))N=!0,n(F);else{var t=x(A);null!==t&&r(j,t.startTime-e)}}}function F(e,n){N=!1,P&&(P=!1,i()),D=!0;var o=I;try{for(R(n),C=x(O);null!==C&&(!(C.expirationTime>n)||e&&!a());){var s=C.callback;if(null!==s){C.callback=null,I=C.priorityLevel;var u=s(C.expirationTime<=n);n=t.unstable_now(),"function"==typeof u?C.callback=u:C===x(O)&&T(O),R(n)}else T(O);C=x(O)}if(null!==C)var c=!0;else{var l=x(A);null!==l&&r(j,l.startTime-n),c=!1}return c}finally{C=null,I=o,D=!1}}function Y(e){switch(e){case 1:return -1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var B=o;t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=I;I=e;try{return t()}finally{I=n}},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var n=I;I=t;try{return e()}finally{I=n}},t.unstable_scheduleCallback=function(e,a,o){var s=t.unstable_now();if("object"==typeof o&&null!==o){var u=o.delay;u="number"==typeof u&&0s?(e.sortIndex=u,k(A,e),null===x(O)&&e===x(A)&&(P?i():P=!0,r(j,u-s))):(e.sortIndex=o,k(O,e),N||D||(N=!0,n(F))),e},t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_wrapCallback=function(e){var t=I;return function(){var n=I;I=t;try{return e.apply(this,arguments)}finally{I=n}}},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_shouldYield=function(){var e=t.unstable_now();R(e);var n=x(O);return n!==C&&null!==C&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function c(e,t,n){var r=t.length-1;if(r=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}function l(e,t,n){if((192&t[0])!=128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((192&t[1])!=128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(192&t[2])!=128)return e.lastNeed=2,"�"}}function f(e){var t=this.lastTotal-this.lastNeed,n=l(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length)}function d(e,t){var n=c(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function p(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function b(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function m(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function g(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function v(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}t.s=s,s.prototype.write=function(e){var t,n;if(0===e.length)return"";if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n */ var r=n(48764),i=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=o),o.prototype=Object.create(i.prototype),a(i,o),o.from=function(e,t,n){if("number"==typeof e)throw TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return r.SlowBuffer(e)}},93379(e,t,n){"use strict";var r,i,a=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=(i={},function(e){if(void 0===i[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(n){t=null}i[e]=t}return i[e]}),s=[];function u(e){for(var t=-1,n=0;nOj});var r,i,a,o,s,u,c,l=n(67294),f=n.t(l,2),d=n(39814),h=n(5977),p=n(57209),b=n(32316),m=n(95880),g=n(17051),v=n(71381),y=n(81701),w=n(3022),_=n(60323),E=n(87591),S=n(25649),k=n(28902),x=n(71426),T=n(48884),M=n(94184),O=n.n(M),A=n(37703),L=n(73935),C=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some(function(e,r){return e[0]===t&&(n=r,!0)}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),r=this.__entries__[n];return r&&r[1]},t.prototype.set=function(t,n){var r=e(this.__entries__,t);~r?this.__entries__[r][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,r=e(n,t);~r&&n.splice(r,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,r=this.__entries__;n0},e.prototype.connect_=function(){I&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){I&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;F.some(function(e){return!!~n.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),U=function(e,t){for(var n=0,r=Object.keys(t);n0},e}(),er="undefined"!=typeof WeakMap?new WeakMap:new C,ei=function(){function e(t){if(!(this instanceof e))throw TypeError("Cannot call a class as a function.");if(!arguments.length)throw TypeError("1 argument required, but only 0 present.");var n=B.getInstance(),r=new en(t,n,this);er.set(this,r)}return e}();["observe","unobserve","disconnect"].forEach(function(e){ei.prototype[e]=function(){var t;return(t=er.get(this))[e].apply(t,arguments)}});var ea=void 0!==D.ResizeObserver?D.ResizeObserver:ei;let eo=ea;var es=function(e){var t=[],n=null,r=function(){for(var r=arguments.length,i=Array(r),a=0;a=t||n<0||f&&r>=a}function g(){var e=eb();if(m(e))return v(e);s=setTimeout(g,b(e))}function v(e){return(s=void 0,d&&r)?h(e):(r=i=void 0,o)}function y(){void 0!==s&&clearTimeout(s),c=0,r=u=i=s=void 0}function w(){return void 0===s?o:v(eb())}function _(){var e=eb(),n=m(e);if(r=arguments,i=this,u=e,n){if(void 0===s)return p(u);if(f)return clearTimeout(s),s=setTimeout(g,t),h(u)}return void 0===s&&(s=setTimeout(g,t)),o}return t=ez(t)||0,ed(n)&&(l=!!n.leading,a=(f="maxWait"in n)?eW(ez(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),_.cancel=y,_.flush=w,_}let eq=eV;var eZ="Expected a function";function eX(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw TypeError(eZ);return ed(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),eq(e,t,{leading:r,maxWait:t,trailing:i})}let eJ=eX;var eQ={debounce:eq,throttle:eJ},e1=function(e){return eQ[e]},e0=function(e){return"function"==typeof e},e2=function(){return"undefined"==typeof window},e3=function(e){return e instanceof Element||e instanceof HTMLDocument};function e4(e){return(e4="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function e6(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function e5(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&l.createElement(tG.Z,{variant:"indeterminate",classes:r}))};tK.propTypes={fetchCount:el().number.isRequired};let tV=(0,b.withStyles)(tW)(tK);var tq=n(5536);let tZ=n.p+"ba8bbf16ebf8e1d05bef.svg";function tX(){return(tX=Object.assign||function(e){for(var t=1;t120){for(var d=Math.floor(u/80),h=u%80,p=[],b=0;b0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=s&&s.stack)?(Object.defineProperty(nf(b),"stack",{value:s.stack,writable:!0,configurable:!0}),nl(b)):(Error.captureStackTrace?Error.captureStackTrace(nf(b),n):Object.defineProperty(nf(b),"stack",{value:Error().stack,writable:!0,configurable:!0}),b)}return ns(n,[{key:"toString",value:function(){return nw(this)}},{key:t4.YF,get:function(){return"Object"}}]),n}(nd(Error));function ny(e){return void 0===e||0===e.length?void 0:e}function nw(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"}),nx=n(10143),nT=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"}),nM=n(87392),nO=function(){function e(e){var t=new nS.WU(nk.SOF,0,0,0,0,null);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}var t=e.prototype;return t.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},t.lookahead=function(){var e,t=this.token;if(t.kind!==nk.EOF)do t=null!==(e=t.next)&&void 0!==e?e:t.next=nC(this,t);while(t.kind===nk.COMMENT)return t},e}();function nA(e){return e===nk.BANG||e===nk.DOLLAR||e===nk.AMP||e===nk.PAREN_L||e===nk.PAREN_R||e===nk.SPREAD||e===nk.COLON||e===nk.EQUALS||e===nk.AT||e===nk.BRACKET_L||e===nk.BRACKET_R||e===nk.BRACE_L||e===nk.PIPE||e===nk.BRACE_R}function nL(e){return isNaN(e)?nk.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function nC(e,t){for(var n=e.source,r=n.body,i=r.length,a=t.end;a31||9===a))return new nS.WU(nk.COMMENT,t,s,n,r,i,o.slice(t+1,s))}function nN(e,t,n,r,i,a){var o=e.body,s=n,u=t,c=!1;if(45===s&&(s=o.charCodeAt(++u)),48===s){if((s=o.charCodeAt(++u))>=48&&s<=57)throw n_(e,u,"Invalid number, unexpected digit after 0: ".concat(nL(s),"."))}else u=nP(e,u,s),s=o.charCodeAt(u);if(46===s&&(c=!0,s=o.charCodeAt(++u),u=nP(e,u,s),s=o.charCodeAt(u)),(69===s||101===s)&&(c=!0,(43===(s=o.charCodeAt(++u))||45===s)&&(s=o.charCodeAt(++u)),u=nP(e,u,s),s=o.charCodeAt(u)),46===s||nU(s))throw n_(e,u,"Invalid number, expected digit but got: ".concat(nL(s),"."));return new nS.WU(c?nk.FLOAT:nk.INT,t,u,r,i,a,o.slice(t,u))}function nP(e,t,n){var r=e.body,i=t,a=n;if(a>=48&&a<=57){do a=r.charCodeAt(++i);while(a>=48&&a<=57)return i}throw n_(e,i,"Invalid number, expected digit but got: ".concat(nL(a),"."))}function nR(e,t,n,r,i){for(var a=e.body,o=t+1,s=o,u=0,c="";o=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function nB(e,t,n,r,i){for(var a=e.body,o=a.length,s=t+1,u=0;s!==o&&!isNaN(u=a.charCodeAt(s))&&(95===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122);)++s;return new nS.WU(nk.NAME,t,s,n,r,i,a.slice(t,s))}function nU(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}function nH(e,t){return new n$(e,t).parseDocument()}var n$=function(){function e(e,t){var n=(0,nx.T)(e)?e:new nx.H(e);this._lexer=new nO(n),this._options=t}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(nk.NAME);return{kind:nE.h.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:nE.h.DOCUMENT,definitions:this.many(nk.SOF,this.parseDefinition,nk.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(nk.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else if(this.peek(nk.BRACE_L))return this.parseOperationDefinition();else if(this.peekDescription())return this.parseTypeSystemDefinition();throw this.unexpected()},t.parseOperationDefinition=function(){var e,t=this._lexer.token;if(this.peek(nk.BRACE_L))return{kind:nE.h.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(t)};var n=this.parseOperationType();return this.peek(nk.NAME)&&(e=this.parseName()),{kind:nE.h.OPERATION_DEFINITION,operation:n,name:e,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseOperationType=function(){var e=this.expectToken(nk.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(nk.PAREN_L,this.parseVariableDefinition,nk.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:nE.h.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(nk.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(nk.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(nk.DOLLAR),{kind:nE.h.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:nE.h.SELECTION_SET,selections:this.many(nk.BRACE_L,this.parseSelection,nk.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(nk.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,r=this.parseName();return this.expectOptionalToken(nk.COLON)?(e=r,t=this.parseName()):t=r,{kind:nE.h.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(nk.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(nk.PAREN_L,t,nk.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(nk.COLON),{kind:nE.h.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:nE.h.ARGUMENT,name:this.parseName(),value:(this.expectToken(nk.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(nk.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(nk.NAME)?{kind:nE.h.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:nE.h.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e,t=this._lexer.token;return(this.expectKeyword("fragment"),(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)===!0)?{kind:nE.h.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}:{kind:nE.h.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case nk.BRACKET_L:return this.parseList(e);case nk.BRACE_L:return this.parseObject(e);case nk.INT:return this._lexer.advance(),{kind:nE.h.INT,value:t.value,loc:this.loc(t)};case nk.FLOAT:return this._lexer.advance(),{kind:nE.h.FLOAT,value:t.value,loc:this.loc(t)};case nk.STRING:case nk.BLOCK_STRING:return this.parseStringLiteral();case nk.NAME:switch(this._lexer.advance(),t.value){case"true":return{kind:nE.h.BOOLEAN,value:!0,loc:this.loc(t)};case"false":return{kind:nE.h.BOOLEAN,value:!1,loc:this.loc(t)};case"null":return{kind:nE.h.NULL,loc:this.loc(t)};default:return{kind:nE.h.ENUM,value:t.value,loc:this.loc(t)}}case nk.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:nE.h.STRING,value:e.value,block:e.kind===nk.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token,r=function(){return t.parseValueLiteral(e)};return{kind:nE.h.LIST,values:this.any(nk.BRACKET_L,r,nk.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token,r=function(){return t.parseObjectField(e)};return{kind:nE.h.OBJECT,fields:this.any(nk.BRACE_L,r,nk.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(nk.COLON),{kind:nE.h.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(nk.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(nk.AT),{kind:nE.h.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return(this.expectOptionalToken(nk.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(nk.BRACKET_R),e={kind:nE.h.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(nk.BANG))?{kind:nE.h.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:nE.h.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===nk.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(nk.STRING)||this.peek(nk.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");var n=this.parseDirectives(!0),r=this.many(nk.BRACE_L,this.parseOperationTypeDefinition,nk.BRACE_R);return{kind:nE.h.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:r,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(nk.COLON);var n=this.parseNamedType();return{kind:nE.h.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var n=this.parseName(),r=this.parseDirectives(!0);return{kind:nE.h.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:nE.h.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:a,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if((null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)===!0){var t=[];this.expectOptionalToken(nk.AMP);do t.push(this.parseNamedType());while(this.expectOptionalToken(nk.AMP)||this.peek(nk.NAME))return t}return this.delimitedMany(nk.AMP,this.parseNamedType)},t.parseFieldsDefinition=function(){var e;return(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)===!0&&this.peek(nk.BRACE_L)&&this._lexer.lookahead().kind===nk.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(nk.BRACE_L,this.parseFieldDefinition,nk.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(nk.COLON);var i=this.parseTypeReference(),a=this.parseDirectives(!0);return{kind:nE.h.FIELD_DEFINITION,description:t,name:n,arguments:r,type:i,directives:a,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(nk.PAREN_L,this.parseInputValueDef,nk.PAREN_R)},t.parseInputValueDef=function(){var e,t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(nk.COLON);var i=this.parseTypeReference();this.expectOptionalToken(nk.EQUALS)&&(e=this.parseValueLiteral(!0));var a=this.parseDirectives(!0);return{kind:nE.h.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:e,directives:a,loc:this.loc(t)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:nE.h.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:a,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:nE.h.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:i,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){return this.expectOptionalToken(nk.EQUALS)?this.delimitedMany(nk.PIPE,this.parseNamedType):[]},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:nE.h.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(nk.BRACE_L,this.parseEnumValueDefinition,nk.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseDirectives(!0);return{kind:nE.h.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:nE.h.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(nk.BRACE_L,this.parseInputValueDef,nk.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===nk.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.optionalMany(nk.BRACE_L,this.parseOperationTypeDefinition,nk.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:nE.h.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:nE.h.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:nE.h.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:nE.h.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:nE.h.UNION_TYPE_EXTENSION,name:t,directives:n,types:r,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:nE.h.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:nE.h.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(nk.AT);var n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var a=this.parseDirectiveLocations();return{kind:nE.h.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:i,locations:a,loc:this.loc(e)}},t.parseDirectiveLocations=function(){return this.delimitedMany(nk.PIPE,this.parseDirectiveLocation)},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==nT[t.value])return t;throw this.unexpected(e)},t.loc=function(e){var t;if((null===(t=this._options)||void 0===t?void 0:t.noLocation)!==!0)return new nS.Ye(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw n_(this._lexer.source,t.start,"Expected ".concat(nG(e),", found ").concat(nz(t),"."))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind===nk.NAME&&t.value===e)this._lexer.advance();else throw n_(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(nz(t),"."))},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===nk.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=null!=e?e:this._lexer.token;return n_(this._lexer.source,t.start,"Unexpected ".concat(nz(t),"."))},t.any=function(e,t,n){this.expectToken(e);for(var r=[];!this.expectOptionalToken(n);)r.push(t.call(this));return r},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var r=[];do r.push(t.call(this));while(!this.expectOptionalToken(n))return r}return[]},t.many=function(e,t,n){this.expectToken(e);var r=[];do r.push(t.call(this));while(!this.expectOptionalToken(n))return r},t.delimitedMany=function(e,t){this.expectOptionalToken(e);var n=[];do n.push(t.call(this));while(this.expectOptionalToken(e))return n},e}();function nz(e){var t=e.value;return nG(e.kind)+(null!=t?' "'.concat(t,'"'):"")}function nG(e){return nA(e)?'"'.concat(e,'"'):e}var nW=new Map,nK=new Map,nV=!0,nq=!1;function nZ(e){return e.replace(/[\s,]+/g," ").trim()}function nX(e){return nZ(e.source.body.substring(e.start,e.end))}function nJ(e){var t=new Set,n=[];return e.definitions.forEach(function(e){if("FragmentDefinition"===e.kind){var r=e.name.value,i=nX(e.loc),a=nK.get(r);a&&!a.has(i)?nV&&console.warn("Warning: fragment with name "+r+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"):a||nK.set(r,a=new Set),a.add(i),t.has(i)||(t.add(i),n.push(e))}else n.push(e)}),(0,t0.pi)((0,t0.pi)({},e),{definitions:n})}function nQ(e){var t=new Set(e.definitions);t.forEach(function(e){e.loc&&delete e.loc,Object.keys(e).forEach(function(n){var r=e[n];r&&"object"==typeof r&&t.add(r)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function n1(e){var t=nZ(e);if(!nW.has(t)){var n=nH(e,{experimentalFragmentVariables:nq,allowLegacyFragmentVariables:nq});if(!n||"Document"!==n.kind)throw Error("Not a valid GraphQL document.");nW.set(t,nQ(nJ(n)))}return nW.get(t)}function n0(e){for(var t=[],n=1;n, or pass an ApolloClient instance in via options.'):(0,n9.kG)(!!n,32),n}var rp=n(10542),rb=n(53712),rm=n(21436),rg=Object.prototype.hasOwnProperty;function rv(e,t){return void 0===t&&(t=Object.create(null)),ry(rh(t.client),e).useQuery(t)}function ry(e,t){var n=(0,l.useRef)();n.current&&e===n.current.client&&t===n.current.query||(n.current=new rw(e,t,n.current));var r=n.current,i=(0,l.useState)(0),a=(i[0],i[1]);return r.forceUpdate=function(){a(function(e){return e+1})},r}var rw=function(){function e(e,t,n){this.client=e,this.query=t,this.ssrDisabledResult=(0,rp.J)({loading:!0,data:void 0,error:void 0,networkStatus:ru.I.loading}),this.skipStandbyResult=(0,rp.J)({loading:!1,data:void 0,error:void 0,networkStatus:ru.I.ready}),this.toQueryResultCache=new(n7.mr?WeakMap:Map),rd(t,r.Query);var i=n&&n.result,a=i&&i.data;a&&(this.previousData=a)}return e.prototype.forceUpdate=function(){__DEV__&&n9.kG.warn("Calling default no-op implementation of InternalState#forceUpdate")},e.prototype.executeQuery=function(e){var t,n=this;e.query&&Object.assign(this,{query:e.query}),this.watchQueryOptions=this.createWatchQueryOptions(this.queryHookOptions=e);var r=this.observable.reobserveAsConcast(this.getObsQueryOptions());return this.previousData=(null===(t=this.result)||void 0===t?void 0:t.data)||this.previousData,this.result=void 0,this.forceUpdate(),new Promise(function(e){var t;r.subscribe({next:function(e){t=e},error:function(){e(n.toQueryResult(n.observable.getCurrentResult()))},complete:function(){e(n.toQueryResult(t))}})})},e.prototype.useQuery=function(e){var t=this;this.renderPromises=(0,l.useContext)((0,ro.K)()).renderPromises,this.useOptions(e);var n=this.useObservableQuery(),r=rt((0,l.useCallback)(function(){if(t.renderPromises)return function(){};var e=function(){var e=t.result,r=n.getCurrentResult();!(e&&e.loading===r.loading&&e.networkStatus===r.networkStatus&&(0,ri.D)(e.data,r.data))&&t.setResult(r)},r=function(a){var o=n.last;i.unsubscribe();try{n.resetLastResults(),i=n.subscribe(e,r)}finally{n.last=o}if(!rg.call(a,"graphQLErrors"))throw a;var s=t.result;(!s||s&&s.loading||!(0,ri.D)(a,s.error))&&t.setResult({data:s&&s.data,error:a,loading:!1,networkStatus:ru.I.error})},i=n.subscribe(e,r);return function(){return setTimeout(function(){return i.unsubscribe()})}},[n,this.renderPromises,this.client.disableNetworkFetches,]),function(){return t.getCurrentResult()},function(){return t.getCurrentResult()});return this.unsafeHandlePartialRefetch(r),this.toQueryResult(r)},e.prototype.useOptions=function(t){var n,r=this.createWatchQueryOptions(this.queryHookOptions=t),i=this.watchQueryOptions;!(0,ri.D)(r,i)&&(this.watchQueryOptions=r,i&&this.observable&&(this.observable.reobserve(this.getObsQueryOptions()),this.previousData=(null===(n=this.result)||void 0===n?void 0:n.data)||this.previousData,this.result=void 0)),this.onCompleted=t.onCompleted||e.prototype.onCompleted,this.onError=t.onError||e.prototype.onError,(this.renderPromises||this.client.disableNetworkFetches)&&!1===this.queryHookOptions.ssr&&!this.queryHookOptions.skip?this.result=this.ssrDisabledResult:this.queryHookOptions.skip||"standby"===this.watchQueryOptions.fetchPolicy?this.result=this.skipStandbyResult:(this.result===this.ssrDisabledResult||this.result===this.skipStandbyResult)&&(this.result=void 0)},e.prototype.getObsQueryOptions=function(){var e=[],t=this.client.defaultOptions.watchQuery;return t&&e.push(t),this.queryHookOptions.defaultOptions&&e.push(this.queryHookOptions.defaultOptions),e.push((0,rb.o)(this.observable&&this.observable.options,this.watchQueryOptions)),e.reduce(ra.J)},e.prototype.createWatchQueryOptions=function(e){void 0===e&&(e={});var t,n=e.skip,r=Object.assign((e.ssr,e.onCompleted,e.onError,e.defaultOptions,(0,t0._T)(e,["skip","ssr","onCompleted","onError","defaultOptions"])),{query:this.query});if(this.renderPromises&&("network-only"===r.fetchPolicy||"cache-and-network"===r.fetchPolicy)&&(r.fetchPolicy="cache-first"),r.variables||(r.variables={}),n){var i=r.fetchPolicy,a=void 0===i?this.getDefaultFetchPolicy():i,o=r.initialFetchPolicy;Object.assign(r,{initialFetchPolicy:void 0===o?a:o,fetchPolicy:"standby"})}else r.fetchPolicy||(r.fetchPolicy=(null===(t=this.observable)||void 0===t?void 0:t.options.initialFetchPolicy)||this.getDefaultFetchPolicy());return r},e.prototype.getDefaultFetchPolicy=function(){var e,t;return(null===(e=this.queryHookOptions.defaultOptions)||void 0===e?void 0:e.fetchPolicy)||(null===(t=this.client.defaultOptions.watchQuery)||void 0===t?void 0:t.fetchPolicy)||"cache-first"},e.prototype.onCompleted=function(e){},e.prototype.onError=function(e){},e.prototype.useObservableQuery=function(){var e=this.observable=this.renderPromises&&this.renderPromises.getSSRObservable(this.watchQueryOptions)||this.observable||this.client.watchQuery(this.getObsQueryOptions());this.obsQueryFields=(0,l.useMemo)(function(){return{refetch:e.refetch.bind(e),reobserve:e.reobserve.bind(e),fetchMore:e.fetchMore.bind(e),updateQuery:e.updateQuery.bind(e),startPolling:e.startPolling.bind(e),stopPolling:e.stopPolling.bind(e),subscribeToMore:e.subscribeToMore.bind(e)}},[e]);var t=!(!1===this.queryHookOptions.ssr||this.queryHookOptions.skip);return this.renderPromises&&t&&(this.renderPromises.registerSSRObservable(e),e.getCurrentResult().loading&&this.renderPromises.addObservableQueryPromise(e)),e},e.prototype.setResult=function(e){var t=this.result;t&&t.data&&(this.previousData=t.data),this.result=e,this.forceUpdate(),this.handleErrorOrCompleted(e)},e.prototype.handleErrorOrCompleted=function(e){var t=this;if(!e.loading){var n=this.toApolloError(e);Promise.resolve().then(function(){n?t.onError(n):e.data&&t.onCompleted(e.data)}).catch(function(e){__DEV__&&n9.kG.warn(e)})}},e.prototype.toApolloError=function(e){return(0,rm.O)(e.errors)?new rs.cA({graphQLErrors:e.errors}):e.error},e.prototype.getCurrentResult=function(){return this.result||this.handleErrorOrCompleted(this.result=this.observable.getCurrentResult()),this.result},e.prototype.toQueryResult=function(e){var t=this.toQueryResultCache.get(e);if(t)return t;var n=e.data,r=(e.partial,(0,t0._T)(e,["data","partial"]));return this.toQueryResultCache.set(e,t=(0,t0.pi)((0,t0.pi)((0,t0.pi)({data:n},r),this.obsQueryFields),{client:this.client,observable:this.observable,variables:this.observable.variables,called:!this.queryHookOptions.skip,previousData:this.previousData})),!t.error&&(0,rm.O)(e.errors)&&(t.error=new rs.cA({graphQLErrors:e.errors})),t},e.prototype.unsafeHandlePartialRefetch=function(e){e.partial&&this.queryHookOptions.partialRefetch&&!e.loading&&(!e.data||0===Object.keys(e.data).length)&&"cache-only"!==this.observable.options.fetchPolicy&&(Object.assign(e,{loading:!0,networkStatus:ru.I.refetch}),this.observable.refetch())},e}();function r_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};return rv(iH,e)},iz=function(){var e=ij(),t=parseInt(e.get("page")||"1",10),n=parseInt(e.get("per")||"50",10),r=i$({variables:{offset:(t-1)*n,limit:n},fetchPolicy:"network-only"}),i=r.data,a=r.loading,o=r.error;return a?l.createElement(iR,null):o?l.createElement(iD,{error:o}):i?l.createElement(iI,{chains:i.chains.results,page:t,pageSize:n,total:i.chains.metadata.total}):null},iG=n(67932),iW=n(8126),iK="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function iV(e){if(iq())return Intl.DateTimeFormat.supportedLocalesOf(e)[0]}function iq(){return("undefined"==typeof Intl?"undefined":iK(Intl))==="object"&&"function"==typeof Intl.DateTimeFormat}var iZ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iX=function(){function e(e,t){for(var n=0;n=i.length)break;s=i[o++]}else{if((o=i.next()).done)break;s=o.value}var s,u=s;if((void 0===e?"undefined":iZ(e))!=="object")return;e=e[u]}return e}},{key:"put",value:function(){for(var e=arguments.length,t=Array(e),n=0;n=o.length)break;c=o[u++]}else{if((u=o.next()).done)break;c=u.value}var c,l=c;"object"!==iZ(a[l])&&(a[l]={}),a=a[l]}return a[i]=r}}]),e}();let i1=iQ;var i0=new i1;function i2(e,t){if(!iq())return function(e){return e.toString()};var n=i4(e),r=JSON.stringify(t),i=i0.get(String(n),r)||i0.put(String(n),r,new Intl.DateTimeFormat(n,t));return function(e){return i.format(e)}}var i3={};function i4(e){var t=e.toString();return i3[t]?i3[t]:i3[t]=iV(e)}var i6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function i5(e){return i8(e)?e:new Date(e)}function i8(e){return e instanceof Date||i9(e)}function i9(e){return(void 0===e?"undefined":i6(e))==="object"&&"function"==typeof e.getTime}var i7=n(54087),ae=n.n(i7);function at(e,t){if(0===e.length)return 0;for(var n=0,r=e.length-1,i=void 0;n<=r;){var a=t(e[i=Math.floor((r+n)/2)]);if(0===a)return i;if(a<0){if((n=i+1)>r)return n}else if((r=i-1)=t.nextUpdateTime)aa(t,this.instances);else break}},scheduleNextTick:function(){var e=this;this.scheduledTick=ae()(function(){e.tick(),e.scheduleNextTick()})},start:function(){this.scheduleNextTick()},stop:function(){ae().cancel(this.scheduledTick)}};function ai(e){var t=an(e.getNextValue(),2),n=t[0],r=t[1];e.setValue(n),e.nextUpdateTime=r}function aa(e,t){ai(e),as(t,e),ao(t,e)}function ao(e,t){var n=au(e,t);e.splice(n,0,t)}function as(e,t){var n=e.indexOf(t);e.splice(n,1)}function au(e,t){var n=t.nextUpdateTime;return at(e,function(e){return e.nextUpdateTime===n?0:e.nextUpdateTime>n?1:-1})}var ac=(0,ec.oneOfType)([(0,ec.shape)({minTime:ec.number,formatAs:ec.string.isRequired}),(0,ec.shape)({test:ec.func,formatAs:ec.string.isRequired}),(0,ec.shape)({minTime:ec.number,format:ec.func.isRequired}),(0,ec.shape)({test:ec.func,format:ec.func.isRequired})]),al=(0,ec.oneOfType)([ec.string,(0,ec.shape)({steps:(0,ec.arrayOf)(ac).isRequired,labels:(0,ec.oneOfType)([ec.string,(0,ec.arrayOf)(ec.string)]).isRequired,round:ec.string})]),af=Object.assign||function(e){for(var t=1;t=0)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function ap(e){var t=e.date,n=e.future,r=e.timeStyle,i=e.round,a=e.minTimeLeft,o=e.tooltip,s=e.component,u=e.container,c=e.wrapperComponent,f=e.wrapperProps,d=e.locale,h=e.locales,p=e.formatVerboseDate,b=e.verboseDateFormat,m=e.updateInterval,g=e.tick,v=ah(e,["date","future","timeStyle","round","minTimeLeft","tooltip","component","container","wrapperComponent","wrapperProps","locale","locales","formatVerboseDate","verboseDateFormat","updateInterval","tick"]),y=(0,l.useMemo)(function(){return d&&(h=[d]),h.concat(iW.Z.getDefaultLocale())},[d,h]),w=(0,l.useMemo)(function(){return new iW.Z(y)},[y]);t=(0,l.useMemo)(function(){return i5(t)},[t]);var _=(0,l.useCallback)(function(){var e=Date.now(),o=void 0;if(n&&e>=t.getTime()&&(e=t.getTime(),o=!0),void 0!==a){var s=t.getTime()-1e3*a;e>s&&(e=s,o=!0)}var u=w.format(t,r,{getTimeToNextUpdate:!0,now:e,future:n,round:i}),c=ad(u,2),l=c[0],f=c[1];return f=o?ag:m||f||6e4,[l,e+f]},[t,n,r,m,i,a,w]),E=(0,l.useRef)();E.current=_;var S=(0,l.useMemo)(_,[]),k=ad(S,2),x=k[0],T=k[1],M=(0,l.useState)(x),O=ad(M,2),A=O[0],L=O[1],C=ad((0,l.useState)(),2),I=C[0],D=C[1],N=(0,l.useRef)();(0,l.useEffect)(function(){if(g)return N.current=ar.add({getNextValue:function(){return E.current()},setValue:L,nextUpdateTime:T}),function(){return N.current.stop()}},[g]),(0,l.useEffect)(function(){if(N.current)N.current.forceUpdate();else{var e=_(),t=ad(e,1)[0];L(t)}},[_]),(0,l.useEffect)(function(){D(!0)},[]);var P=(0,l.useMemo)(function(){if("undefined"!=typeof window)return i2(y,b)},[y,b]),R=(0,l.useMemo)(function(){if("undefined"!=typeof window)return p?p(t):P(t)},[t,p,P]),j=l.createElement(s,af({date:t,verboseDate:I?R:void 0,tooltip:o},v),A),F=c||u;return F?l.createElement(F,af({},f,{verboseDate:I?R:void 0}),j):j}ap.propTypes={date:el().oneOfType([el().instanceOf(Date),el().number]).isRequired,locale:el().string,locales:el().arrayOf(el().string),future:el().bool,timeStyle:al,round:el().string,minTimeLeft:el().number,component:el().elementType.isRequired,tooltip:el().bool.isRequired,formatVerboseDate:el().func,verboseDateFormat:el().object,updateInterval:el().oneOfType([el().number,el().arrayOf(el().shape({threshold:el().number,interval:el().number.isRequired}))]),tick:el().bool,wrapperComponent:el().func,wrapperProps:el().object},ap.defaultProps={locales:[],component:av,tooltip:!0,verboseDateFormat:{weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit"},tick:!0},ap=l.memo(ap);let ab=ap;var am,ag=31536e9;function av(e){var t=e.date,n=e.verboseDate,r=e.tooltip,i=e.children,a=ah(e,["date","verboseDate","tooltip","children"]),o=(0,l.useMemo)(function(){return t.toISOString()},[t]);return l.createElement("time",af({},a,{dateTime:o,title:r?n:void 0}),i)}av.propTypes={date:el().instanceOf(Date).isRequired,verboseDate:el().string,tooltip:el().bool.isRequired,children:el().string.isRequired};var ay=n(30381),aw=n.n(ay),a_=n(31657);function aE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aS(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?new rs.cA({graphQLErrors:i}):void 0;if(u===s.current.mutationId&&!c.ignoreResults){var f={called:!0,loading:!1,data:r,error:l,client:a};s.current.isMounted&&!(0,ri.D)(s.current.result,f)&&o(s.current.result=f)}var d=e.onCompleted||(null===(n=s.current.options)||void 0===n?void 0:n.onCompleted);return null==d||d(t.data,c),t}).catch(function(t){if(u===s.current.mutationId&&s.current.isMounted){var n,r={loading:!1,error:t,data:void 0,called:!0,client:a};(0,ri.D)(s.current.result,r)||o(s.current.result=r)}var i=e.onError||(null===(n=s.current.options)||void 0===n?void 0:n.onError);if(i)return i(t,c),{data:void 0,errors:t};throw t})},[]),c=(0,l.useCallback)(function(){s.current.isMounted&&o({called:!1,loading:!1,client:n})},[]);return(0,l.useEffect)(function(){return s.current.isMounted=!0,function(){s.current.isMounted=!1}},[]),[u,(0,t0.pi)({reset:c},a)]}var os=n(59067),ou=n(28428),oc=n(11186),ol=n(78513);function of(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var od=function(e){return(0,b.createStyles)({paper:{display:"flex",margin:"".concat(2.5*e.spacing.unit,"px 0"),padding:"".concat(3*e.spacing.unit,"px ").concat(3.5*e.spacing.unit,"px")},content:{flex:1,width:"100%"},actions:of({marginTop:-(1.5*e.spacing.unit),marginLeft:-(4*e.spacing.unit)},e.breakpoints.up("sm"),{marginLeft:0,marginRight:-(1.5*e.spacing.unit)}),itemBlock:{border:"1px solid rgba(224, 224, 224, 1)",borderRadius:e.shape.borderRadius,padding:2*e.spacing.unit,marginTop:e.spacing.unit},itemBlockText:{overflowWrap:"anywhere"}})},oh=(0,b.withStyles)(od)(function(e){var t=e.actions,n=e.children,r=e.classes;return l.createElement(ii.default,{className:r.paper},l.createElement("div",{className:r.content},n),t&&l.createElement("div",{className:r.actions},t))}),op=function(e){var t=e.title;return l.createElement(x.default,{variant:"subtitle2",gutterBottom:!0},t)},ob=function(e){var t=e.children,n=e.value;return l.createElement(x.default,{variant:"body1",noWrap:!0},t||n)},om=(0,b.withStyles)(od)(function(e){var t=e.children,n=e.classes,r=e.value;return l.createElement("div",{className:n.itemBlock},l.createElement(x.default,{variant:"body1",className:n.itemBlockText},t||r))});function og(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1}let sq=sV;function sZ(e,t){var n=this.__data__,r=sH(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}let sX=sZ;function sJ(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=cC}let cD=cI;var cN="[object Arguments]",cP="[object Array]",cR="[object Boolean]",cj="[object Date]",cF="[object Error]",cY="[object Function]",cB="[object Map]",cU="[object Number]",cH="[object Object]",c$="[object RegExp]",cz="[object Set]",cG="[object String]",cW="[object WeakMap]",cK="[object ArrayBuffer]",cV="[object DataView]",cq="[object Float64Array]",cZ="[object Int8Array]",cX="[object Int16Array]",cJ="[object Int32Array]",cQ="[object Uint8Array]",c1="[object Uint8ClampedArray]",c0="[object Uint16Array]",c2="[object Uint32Array]",c3={};function c4(e){return eD(e)&&cD(e.length)&&!!c3[eC(e)]}c3["[object Float32Array]"]=c3[cq]=c3[cZ]=c3[cX]=c3[cJ]=c3[cQ]=c3[c1]=c3[c0]=c3[c2]=!0,c3[cN]=c3[cP]=c3[cK]=c3[cR]=c3[cV]=c3[cj]=c3[cF]=c3[cY]=c3[cB]=c3[cU]=c3[cH]=c3[c$]=c3[cz]=c3[cG]=c3[cW]=!1;let c6=c4;function c5(e){return function(t){return e(t)}}let c8=c5;var c9=n(79730),c7=c9.Z&&c9.Z.isTypedArray,le=c7?c8(c7):c6;let lt=le;var ln=Object.prototype.hasOwnProperty;function lr(e,t){var n=cx(e),r=!n&&cS(e),i=!n&&!r&&(0,cT.Z)(e),a=!n&&!r&&!i&<(e),o=n||r||i||a,s=o?cb(e.length,String):[],u=s.length;for(var c in e)(t||ln.call(e,c))&&!(o&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||cL(c,u)))&&s.push(c);return s}let li=lr;var la=Object.prototype;function lo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||la)}let ls=lo;var lu=sT(Object.keys,Object);let lc=lu;var ll=Object.prototype.hasOwnProperty;function lf(e){if(!ls(e))return lc(e);var t=[];for(var n in Object(e))ll.call(e,n)&&"constructor"!=n&&t.push(n);return t}let ld=lf;function lh(e){return null!=e&&cD(e.length)&&!ur(e)}let lp=lh;function lb(e){return lp(e)?li(e):ld(e)}let lm=lb;function lg(e,t){return e&&ch(t,lm(t),e)}let lv=lg;function ly(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}let lw=ly;var l_=Object.prototype.hasOwnProperty;function lE(e){if(!ed(e))return lw(e);var t=ls(e),n=[];for(var r in e)"constructor"==r&&(t||!l_.call(e,r))||n.push(r);return n}let lS=lE;function lk(e){return lp(e)?li(e,!0):lS(e)}let lx=lk;function lT(e,t){return e&&ch(t,lx(t),e)}let lM=lT;var lO=n(42896);function lA(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0||(i[n]=e[n]);return i}function hu(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var hc=function(e){return Array.isArray(e)&&0===e.length},hl=function(e){return"function"==typeof e},hf=function(e){return null!==e&&"object"==typeof e},hd=function(e){return String(Math.floor(Number(e)))===e},hh=function(e){return"[object String]"===Object.prototype.toString.call(e)},hp=function(e){return 0===l.Children.count(e)},hb=function(e){return hf(e)&&hl(e.then)};function hm(e,t,n,r){void 0===r&&(r=0);for(var i=d8(t);e&&r=0?[]:{}}}return(0===a?e:i)[o[a]]===n?e:(void 0===n?delete i[o[a]]:i[o[a]]=n,0===a&&void 0===n&&delete r[o[a]],r)}function hv(e,t,n,r){void 0===n&&(n=new WeakMap),void 0===r&&(r={});for(var i=0,a=Object.keys(e);i0?t.map(function(t){return x(t,hm(e,t))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")]).then(function(e){return e.reduce(function(e,n,r){return"DO_NOT_DELETE_YOU_WILL_BE_FIRED"===n||n&&(e=hg(e,t[r],n)),e},{})})},[x]),M=(0,l.useCallback)(function(e){return Promise.all([T(e),h.validationSchema?k(e):{},h.validate?S(e):{}]).then(function(e){var t=e[0],n=e[1],r=e[2];return sk.all([t,n,r],{arrayMerge:hL})})},[h.validate,h.validationSchema,T,S,k]),O=hN(function(e){return void 0===e&&(e=_.values),E({type:"SET_ISVALIDATING",payload:!0}),M(e).then(function(e){return v.current&&(E({type:"SET_ISVALIDATING",payload:!1}),sd()(_.errors,e)||E({type:"SET_ERRORS",payload:e})),e})});(0,l.useEffect)(function(){o&&!0===v.current&&sd()(p.current,h.initialValues)&&O(p.current)},[o,O]);var A=(0,l.useCallback)(function(e){var t=e&&e.values?e.values:p.current,n=e&&e.errors?e.errors:b.current?b.current:h.initialErrors||{},r=e&&e.touched?e.touched:m.current?m.current:h.initialTouched||{},i=e&&e.status?e.status:g.current?g.current:h.initialStatus;p.current=t,b.current=n,m.current=r,g.current=i;var a=function(){E({type:"RESET_FORM",payload:{isSubmitting:!!e&&!!e.isSubmitting,errors:n,touched:r,status:i,values:t,isValidating:!!e&&!!e.isValidating,submitCount:e&&e.submitCount&&"number"==typeof e.submitCount?e.submitCount:0}})};if(h.onReset){var o=h.onReset(_.values,V);hb(o)?o.then(a):a()}else a()},[h.initialErrors,h.initialStatus,h.initialTouched]);(0,l.useEffect)(function(){!0===v.current&&!sd()(p.current,h.initialValues)&&(c&&(p.current=h.initialValues,A()),o&&O(p.current))},[c,h.initialValues,A,o,O]),(0,l.useEffect)(function(){c&&!0===v.current&&!sd()(b.current,h.initialErrors)&&(b.current=h.initialErrors||hS,E({type:"SET_ERRORS",payload:h.initialErrors||hS}))},[c,h.initialErrors]),(0,l.useEffect)(function(){c&&!0===v.current&&!sd()(m.current,h.initialTouched)&&(m.current=h.initialTouched||hk,E({type:"SET_TOUCHED",payload:h.initialTouched||hk}))},[c,h.initialTouched]),(0,l.useEffect)(function(){c&&!0===v.current&&!sd()(g.current,h.initialStatus)&&(g.current=h.initialStatus,E({type:"SET_STATUS",payload:h.initialStatus}))},[c,h.initialStatus,h.initialTouched]);var L=hN(function(e){if(y.current[e]&&hl(y.current[e].validate)){var t=hm(_.values,e),n=y.current[e].validate(t);return hb(n)?(E({type:"SET_ISVALIDATING",payload:!0}),n.then(function(e){return e}).then(function(t){E({type:"SET_FIELD_ERROR",payload:{field:e,value:t}}),E({type:"SET_ISVALIDATING",payload:!1})})):(E({type:"SET_FIELD_ERROR",payload:{field:e,value:n}}),Promise.resolve(n))}return h.validationSchema?(E({type:"SET_ISVALIDATING",payload:!0}),k(_.values,e).then(function(e){return e}).then(function(t){E({type:"SET_FIELD_ERROR",payload:{field:e,value:t[e]}}),E({type:"SET_ISVALIDATING",payload:!1})})):Promise.resolve()}),C=(0,l.useCallback)(function(e,t){var n=t.validate;y.current[e]={validate:n}},[]),I=(0,l.useCallback)(function(e){delete y.current[e]},[]),D=hN(function(e,t){return E({type:"SET_TOUCHED",payload:e}),(void 0===t?i:t)?O(_.values):Promise.resolve()}),N=(0,l.useCallback)(function(e){E({type:"SET_ERRORS",payload:e})},[]),P=hN(function(e,t){var r=hl(e)?e(_.values):e;return E({type:"SET_VALUES",payload:r}),(void 0===t?n:t)?O(r):Promise.resolve()}),R=(0,l.useCallback)(function(e,t){E({type:"SET_FIELD_ERROR",payload:{field:e,value:t}})},[]),j=hN(function(e,t,r){return E({type:"SET_FIELD_VALUE",payload:{field:e,value:t}}),(void 0===r?n:r)?O(hg(_.values,e,t)):Promise.resolve()}),F=(0,l.useCallback)(function(e,t){var n,r=t,i=e;if(!hh(e)){e.persist&&e.persist();var a=e.target?e.target:e.currentTarget,o=a.type,s=a.name,u=a.id,c=a.value,l=a.checked,f=(a.outerHTML,a.options),d=a.multiple;r=t||s||u,i=/number|range/.test(o)?(n=parseFloat(c),isNaN(n)?"":n):/checkbox/.test(o)?hI(hm(_.values,r),l,c):d?hC(f):c}r&&j(r,i)},[j,_.values]),Y=hN(function(e){if(hh(e))return function(t){return F(t,e)};F(e)}),B=hN(function(e,t,n){return void 0===t&&(t=!0),E({type:"SET_FIELD_TOUCHED",payload:{field:e,value:t}}),(void 0===n?i:n)?O(_.values):Promise.resolve()}),U=(0,l.useCallback)(function(e,t){e.persist&&e.persist();var n,r=e.target,i=r.name,a=r.id;r.outerHTML,B(t||i||a,!0)},[B]),H=hN(function(e){if(hh(e))return function(t){return U(t,e)};U(e)}),$=(0,l.useCallback)(function(e){hl(e)?E({type:"SET_FORMIK_STATE",payload:e}):E({type:"SET_FORMIK_STATE",payload:function(){return e}})},[]),z=(0,l.useCallback)(function(e){E({type:"SET_STATUS",payload:e})},[]),G=(0,l.useCallback)(function(e){E({type:"SET_ISSUBMITTING",payload:e})},[]),W=hN(function(){return E({type:"SUBMIT_ATTEMPT"}),O().then(function(e){var t,n=e instanceof Error;if(!n&&0===Object.keys(e).length){try{if(void 0===(t=q()))return}catch(r){throw r}return Promise.resolve(t).then(function(e){return v.current&&E({type:"SUBMIT_SUCCESS"}),e}).catch(function(e){if(v.current)throw E({type:"SUBMIT_FAILURE"}),e})}if(v.current&&(E({type:"SUBMIT_FAILURE"}),n))throw e})}),K=hN(function(e){e&&e.preventDefault&&hl(e.preventDefault)&&e.preventDefault(),e&&e.stopPropagation&&hl(e.stopPropagation)&&e.stopPropagation(),W().catch(function(e){console.warn("Warning: An unhandled error was caught from submitForm()",e)})}),V={resetForm:A,validateForm:O,validateField:L,setErrors:N,setFieldError:R,setFieldTouched:B,setFieldValue:j,setStatus:z,setSubmitting:G,setTouched:D,setValues:P,setFormikState:$,submitForm:W},q=hN(function(){return f(_.values,V)}),Z=hN(function(e){e&&e.preventDefault&&hl(e.preventDefault)&&e.preventDefault(),e&&e.stopPropagation&&hl(e.stopPropagation)&&e.stopPropagation(),A()}),X=(0,l.useCallback)(function(e){return{value:hm(_.values,e),error:hm(_.errors,e),touched:!!hm(_.touched,e),initialValue:hm(p.current,e),initialTouched:!!hm(m.current,e),initialError:hm(b.current,e)}},[_.errors,_.touched,_.values]),J=(0,l.useCallback)(function(e){return{setValue:function(t,n){return j(e,t,n)},setTouched:function(t,n){return B(e,t,n)},setError:function(t){return R(e,t)}}},[j,B,R]),Q=(0,l.useCallback)(function(e){var t=hf(e),n=t?e.name:e,r=hm(_.values,n),i={name:n,value:r,onChange:Y,onBlur:H};if(t){var a=e.type,o=e.value,s=e.as,u=e.multiple;"checkbox"===a?void 0===o?i.checked=!!r:(i.checked=!!(Array.isArray(r)&&~r.indexOf(o)),i.value=o):"radio"===a?(i.checked=r===o,i.value=o):"select"===s&&u&&(i.value=i.value||[],i.multiple=!0)}return i},[H,Y,_.values]),ee=(0,l.useMemo)(function(){return!sd()(p.current,_.values)},[p.current,_.values]),et=(0,l.useMemo)(function(){return void 0!==s?ee?_.errors&&0===Object.keys(_.errors).length:!1!==s&&hl(s)?s(h):s:_.errors&&0===Object.keys(_.errors).length},[s,ee,_.errors,h]);return ha({},_,{initialValues:p.current,initialErrors:b.current,initialTouched:m.current,initialStatus:g.current,handleBlur:H,handleChange:Y,handleReset:Z,handleSubmit:K,resetForm:A,setErrors:N,setFormikState:$,setFieldTouched:B,setFieldValue:j,setFieldError:R,setStatus:z,setSubmitting:G,setTouched:D,setValues:P,submitForm:W,validateForm:O,validateField:L,isValid:et,dirty:ee,unregisterField:I,registerField:C,getFieldProps:Q,getFieldMeta:X,getFieldHelpers:J,validateOnBlur:i,validateOnChange:n,validateOnMount:o})}function hT(e){var t=hx(e),n=e.component,r=e.children,i=e.render,a=e.innerRef;return(0,l.useImperativeHandle)(a,function(){return t}),(0,l.createElement)(hw,{value:t},n?(0,l.createElement)(n,t):i?i(t):r?hl(r)?r(t):hp(r)?null:l.Children.only(r):null)}function hM(e){var t={};if(e.inner){if(0===e.inner.length)return hg(t,e.path,e.message);for(var n=e.inner,r=Array.isArray(n),i=0,n=r?n:n[Symbol.iterator]();;){if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var a,o=a;hm(t,o.path)||(t=hg(t,o.path,o.message))}}return t}function hO(e,t,n,r){void 0===n&&(n=!1),void 0===r&&(r={});var i=hA(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function hA(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);!0===Array.isArray(e[r])?t[r]=e[r].map(function(e){return!0===Array.isArray(e)||sR(e)?hA(e):""!==e?e:void 0}):sR(e[r])?t[r]=hA(e[r]):t[r]=""!==e[r]?e[r]:void 0}return t}function hL(e,t,n){var r=e.slice();return t.forEach(function(t,i){if(void 0===r[i]){var a=!1!==n.clone&&n.isMergeableObject(t);r[i]=a?sk(Array.isArray(t)?[]:{},t,n):t}else n.isMergeableObject(t)?r[i]=sk(e[i],t,n):-1===e.indexOf(t)&&r.push(t)}),r}function hC(e){return Array.from(e).filter(function(e){return e.selected}).map(function(e){return e.value})}function hI(e,t,n){if("boolean"==typeof e)return Boolean(t);var r=[],i=!1,a=-1;if(Array.isArray(e))r=e,i=(a=e.indexOf(n))>=0;else if(!n||"true"==n||"false"==n)return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,a).concat(r.slice(a+1)):r}var hD="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?l.useLayoutEffect:l.useEffect;function hN(e){var t=(0,l.useRef)(e);return hD(function(){t.current=e}),(0,l.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;re?t:e},0);return Array.from(ha({},e,{length:t+1}))};(function(e){function t(t){var n;return(n=e.call(this,t)||this).updateArrayField=function(e,t,r){var i=n.props,a=i.name;(0,i.formik.setFormikState)(function(n){var i="function"==typeof r?r:e,o="function"==typeof t?t:e,s=hg(n.values,a,e(hm(n.values,a))),u=r?i(hm(n.errors,a)):void 0,c=t?o(hm(n.touched,a)):void 0;return hc(u)&&(u=void 0),hc(c)&&(c=void 0),ha({},n,{values:s,errors:r?hg(n.errors,a,u):n.errors,touched:t?hg(n.touched,a,c):n.touched})})},n.push=function(e){return n.updateArrayField(function(t){return[].concat(hU(t),[hi(e)])},!1,!1)},n.handlePush=function(e){return function(){return n.push(e)}},n.swap=function(e,t){return n.updateArrayField(function(n){return hF(n,e,t)},!0,!0)},n.handleSwap=function(e,t){return function(){return n.swap(e,t)}},n.move=function(e,t){return n.updateArrayField(function(n){return hj(n,e,t)},!0,!0)},n.handleMove=function(e,t){return function(){return n.move(e,t)}},n.insert=function(e,t){return n.updateArrayField(function(n){return hY(n,e,t)},function(t){return hY(t,e,null)},function(t){return hY(t,e,null)})},n.handleInsert=function(e,t){return function(){return n.insert(e,t)}},n.replace=function(e,t){return n.updateArrayField(function(n){return hB(n,e,t)},!1,!1)},n.handleReplace=function(e,t){return function(){return n.replace(e,t)}},n.unshift=function(e){var t=-1;return n.updateArrayField(function(n){var r=n?[e].concat(n):[e];return t<0&&(t=r.length),r},function(e){var n=e?[null].concat(e):[null];return t<0&&(t=n.length),n},function(e){var n=e?[null].concat(e):[null];return t<0&&(t=n.length),n}),t},n.handleUnshift=function(e){return function(){return n.unshift(e)}},n.handleRemove=function(e){return function(){return n.remove(e)}},n.handlePop=function(){return function(){return n.pop()}},n.remove=n.remove.bind(hu(n)),n.pop=n.pop.bind(hu(n)),n}ho(t,e);var n=t.prototype;return n.componentDidUpdate=function(e){this.props.validateOnChange&&this.props.formik.validateOnChange&&!sd()(hm(e.formik.values,e.name),hm(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(e){var t;return this.updateArrayField(function(n){var r=n?hU(n):[];return t||(t=r[e]),hl(r.splice)&&r.splice(e,1),r},!0,!0),t},n.pop=function(){var e;return this.updateArrayField(function(t){var n=t;return e||(e=n&&n.pop&&n.pop()),n},!0,!0),e},n.render=function(){var e={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},t=this.props,n=t.component,r=t.render,i=t.children,a=t.name,o=hs(t.formik,["validate","validationSchema"]),s=ha({},e,{form:o,name:a});return n?(0,l.createElement)(n,s):r?r(s):i?"function"==typeof i?i(s):hp(i)?null:l.Children.only(i):null},t})(l.Component).defaultProps={validateOnChange:!0},l.Component,l.Component;var hH=n(24802),h$=n(71209),hz=n(91750),hG=n(11970),hW=n(4689),hK=n(67598),hV=function(){return(hV=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&(n[r[i]]=e[r[i]]);return n}function hZ(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form,o=a.isSubmitting,s=a.touched,u=a.errors,c=e.onBlur,l=e.helperText,f=hq(e,["disabled","field","form","onBlur","helperText"]),d=hm(u,i.name),h=hm(s,i.name)&&!!d;return hV(hV({variant:f.variant,error:h,helperText:h?d:l,disabled:null!=t?t:o,onBlur:null!=c?c:function(e){r(null!=e?e:i.name)}},i),f)}function hX(e){var t=e.children,n=hq(e,["children"]);return(0,l.createElement)(iw.Z,hV({},hZ(n)),t)}function hJ(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form.isSubmitting,o=(e.type,e.onBlur),s=hq(e,["disabled","field","form","type","onBlur"]);return hV(hV({disabled:null!=t?t:a,onBlur:null!=o?o:function(e){r(null!=e?e:i.name)}},i),s)}function hQ(e){return(0,l.createElement)(hH.Z,hV({},hJ(e)))}function h1(e){var t,n=e.disabled,r=e.field,i=r.onBlur,a=hq(r,["onBlur"]),o=e.form.isSubmitting,s=(e.type,e.onBlur),u=hq(e,["disabled","field","form","type","onBlur"]);return hV(hV({disabled:null!=n?n:o,indeterminate:!Array.isArray(a.value)&&null==a.value,onBlur:null!=s?s:function(e){i(null!=e?e:a.name)}},a),u)}function h0(e){return(0,l.createElement)(h$.Z,hV({},h1(e)))}function h2(e){var t=e.Label,n=hq(e,["Label"]);return(0,l.createElement)(hz.Z,hV({control:(0,l.createElement)(h$.Z,hV({},h1(n)))},t))}function h3(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form.isSubmitting,o=e.onBlur,s=hq(e,["disabled","field","form","onBlur"]);return hV(hV({disabled:null!=t?t:a,onBlur:null!=o?o:function(e){r(null!=e?e:i.name)}},i),s)}function h4(e){return(0,l.createElement)(hG.default,hV({},h3(e)))}function h6(e){var t=e.field,n=t.onBlur,r=hq(t,["onBlur"]),i=(e.form,e.onBlur),a=hq(e,["field","form","onBlur"]);return hV(hV({onBlur:null!=i?i:function(e){n(null!=e?e:r.name)}},r),a)}function h5(e){return(0,l.createElement)(hW.Z,hV({},h6(e)))}function h8(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form.isSubmitting,o=e.onBlur,s=hq(e,["disabled","field","form","onBlur"]);return hV(hV({disabled:null!=t?t:a,onBlur:null!=o?o:function(e){r(null!=e?e:i.name)}},i),s)}function h9(e){return(0,l.createElement)(hK.default,hV({},h8(e)))}hX.displayName="FormikMaterialUITextField",hQ.displayName="FormikMaterialUISwitch",h0.displayName="FormikMaterialUICheckbox",h2.displayName="FormikMaterialUICheckboxWithLabel",h4.displayName="FormikMaterialUISelect",h5.displayName="FormikMaterialUIRadioGroup",h9.displayName="FormikMaterialUIInputBase";try{a=Map}catch(h7){}try{o=Set}catch(pe){}function pt(e,t,n){if(!e||"object"!=typeof e||"function"==typeof e)return e;if(e.nodeType&&"cloneNode"in e)return e.cloneNode(!0);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return RegExp(e);if(Array.isArray(e))return e.map(pn);if(a&&e instanceof a)return new Map(Array.from(e.entries()));if(o&&e instanceof o)return new Set(Array.from(e.values()));if(e instanceof Object){t.push(e);var r=Object.create(e);for(var i in n.push(r),e){var s=t.findIndex(function(t){return t===e[i]});r[i]=s>-1?n[s]:pt(e[i],t,n)}return r}return e}function pn(e){return pt(e,[],[])}let pr=Object.prototype.toString,pi=Error.prototype.toString,pa=RegExp.prototype.toString,po="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",ps=/^Symbol\((.*)\)(.*)$/;function pu(e){if(e!=+e)return"NaN";let t=0===e&&1/e<0;return t?"-0":""+e}function pc(e,t=!1){if(null==e||!0===e||!1===e)return""+e;let n=typeof e;if("number"===n)return pu(e);if("string"===n)return t?`"${e}"`:e;if("function"===n)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===n)return po.call(e).replace(ps,"Symbol($1)");let r=pr.call(e).slice(8,-1);return"Date"===r?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===r||e instanceof Error?"["+pi.call(e)+"]":"RegExp"===r?pa.call(e):null}function pl(e,t){let n=pc(e,t);return null!==n?n:JSON.stringify(e,function(e,n){let r=pc(this[e],t);return null!==r?r:n},2)}let pf={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType({path:e,type:t,value:n,originalValue:r}){let i=null!=r&&r!==n,a=`${e} must be a \`${t}\` type, but the final value was: \`${pl(n,!0)}\``+(i?` (cast from the value \`${pl(r,!0)}\`).`:".");return null===n&&(a+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),a},defined:"${path} must be defined"},pd={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},ph={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},pp={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},pb={isValue:"${path} field must be ${value}"},pm={noUnknown:"${path} field has unspecified keys: ${unknown}"},pg={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Object.assign(Object.create(null),{mixed:pf,string:pd,number:ph,date:pp,object:pm,array:pg,boolean:pb});var pv=n(18721),py=n.n(pv);let pw=e=>e&&e.__isYupSchema__;class p_{constructor(e,t){if(this.refs=e,this.refs=e,"function"==typeof t){this.fn=t;return}if(!py()(t,"is"))throw TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:n,then:r,otherwise:i}=t,a="function"==typeof n?n:(...e)=>e.every(e=>e===n);this.fn=function(...e){let t=e.pop(),n=e.pop(),o=a(...e)?r:i;if(o)return"function"==typeof o?o(n):n.concat(o.resolve(t))}}resolve(e,t){let n=this.refs.map(e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context)),r=this.fn.apply(e,n.concat(e,t));if(void 0===r||r===e)return e;if(!pw(r))throw TypeError("conditions must return a schema object");return r.resolve(t)}}let pE=p_;function pS(e){return null==e?[]:[].concat(e)}function pk(){return(pk=Object.assign||function(e){for(var t=1;tpl(t[n])):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,n,r){super(),this.name="ValidationError",this.value=t,this.path=n,this.type=r,this.errors=[],this.inner=[],pS(e).forEach(e=>{pT.isError(e)?(this.errors.push(...e.errors),this.inner=this.inner.concat(e.inner.length?e.inner:e)):this.errors.push(e)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,pT)}}let pM=e=>{let t=!1;return(...n)=>{t||(t=!0,e(...n))}};function pO(e,t){let{endEarly:n,tests:r,args:i,value:a,errors:o,sort:s,path:u}=e,c=pM(t),l=r.length,f=[];if(o=o||[],!l)return o.length?c(new pT(o,a,u)):c(null,a);for(let d=0;d=0||(i[n]=e[n]);return i}function pR(e){function t(t,n){let{value:r,path:i="",label:a,options:o,originalValue:s,sync:u}=t,c=pP(t,["value","path","label","options","originalValue","sync"]),{name:l,test:f,params:d,message:h}=e,{parent:p,context:b}=o;function m(e){return pD.isRef(e)?e.getValue(r,p,b):e}function g(e={}){let t=pL()(pN({value:r,originalValue:s,label:a,path:e.path||i},d,e.params),m),n=new pT(pT.formatError(e.message||h,t),r,t.path,e.type||l);return n.params=t,n}let v=pN({path:i,parent:p,type:l,createError:g,resolve:m,options:o,originalValue:s},c);if(!u){try{Promise.resolve(f.call(v,r,v)).then(e=>{pT.isError(e)?n(e):e?n(null,e):n(g())})}catch(y){n(y)}return}let w;try{var _;if(w=f.call(v,r,v),"function"==typeof(null==(_=w)?void 0:_.then))throw Error(`Validation test of type: "${v.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(E){n(E);return}pT.isError(w)?n(w):w?n(null,w):n(g())}return t.OPTIONS=e,t}pD.prototype.__isYupRef=!0;let pj=e=>e.substr(0,e.length-1).substr(1);function pF(e,t,n,r=n){let i,a,o;return t?((0,pC.forEach)(t,(s,u,c)=>{let l=u?pj(s):s;if((e=e.resolve({context:r,parent:i,value:n})).innerType){let f=c?parseInt(l,10):0;if(n&&f>=n.length)throw Error(`Yup.reach cannot resolve an array item at index: ${s}, in the path: ${t}. because there is no value at that index. `);i=n,n=n&&n[f],e=e.innerType}if(!c){if(!e.fields||!e.fields[l])throw Error(`The schema does not contain the path: ${t}. (failed at: ${o} which is a type: "${e._type}")`);i=n,n=n&&n[l],e=e.fields[l]}a=l,o=u?"["+s+"]":"."+s}),{schema:e,parent:i,parentPath:a}):{parent:i,parentPath:t,schema:e}}class pY{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,n]of this.refs)e.push(n.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){pD.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){pD.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let n,r=this.refs.values();for(;!(n=r.next()).done;)if(t(n.value)===e)return!0;return!1}clone(){let e=new pY;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let n=this.clone();return e.list.forEach(e=>n.add(e)),e.refs.forEach(e=>n.add(e)),t.list.forEach(e=>n.delete(e)),t.refs.forEach(e=>n.delete(e)),n}}function pB(){return(pB=Object.assign||function(e){for(var t=1;t{this.typeError(pf.notType)}),this.type=(null==e?void 0:e.type)||"mixed",this.spec=pB({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},null==e?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=pB({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=pn(pB({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let n=e(this);return this._mutate=t,n}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,n=e.clone(),r=pB({},t.spec,n.spec);return n.spec=r,n._typeError||(n._typeError=t._typeError),n._whitelistError||(n._whitelistError=t._whitelistError),n._blacklistError||(n._blacklistError=t._blacklistError),n._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),n._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),n.tests=t.tests,n.exclusiveTests=t.exclusiveTests,n.withMutation(t=>{e.tests.forEach(e=>{t.test(e.OPTIONS)})}),n}isType(e){return!!this.spec.nullable&&null===e||this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let n=t.conditions;(t=t.clone()).conditions=[],t=(t=n.reduce((t,n)=>n.resolve(t,e),t)).resolve(e)}return t}cast(e,t={}){let n=this.resolve(pB({value:e},t)),r=n._cast(e,t);if(void 0!==e&&!1!==t.assert&&!0!==n.isType(r)){let i=pl(e),a=pl(r);throw TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${n._type}". + */ Object.defineProperty(t,"__esModule",{value:!0}),"undefined"==typeof window||"function"!=typeof MessageChannel){var n,r,i,a,o,s=null,u=null,c=function(){if(null!==s)try{var e=t.unstable_now();s(!0,e),s=null}catch(n){throw setTimeout(c,0),n}},l=Date.now();t.unstable_now=function(){return Date.now()-l},n=function(e){null!==s?setTimeout(n,0,e):(s=e,setTimeout(c,0))},r=function(e,t){u=setTimeout(e,t)},i=function(){clearTimeout(u)},a=function(){return!1},o=t.unstable_forceFrameRate=function(){}}else{var f=window.performance,d=window.Date,h=window.setTimeout,p=window.clearTimeout;if("undefined"!=typeof console){var b=window.cancelAnimationFrame;"function"!=typeof window.requestAnimationFrame&&console.error("This browser doesn't support requestAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills"),"function"!=typeof b&&console.error("This browser doesn't support cancelAnimationFrame. Make sure that you load a polyfill in older browsers. https://fb.me/react-polyfills")}if("object"==typeof f&&"function"==typeof f.now)t.unstable_now=function(){return f.now()};else{var m=d.now();t.unstable_now=function(){return d.now()-m}}var g=!1,v=null,y=-1,w=5,_=0;a=function(){return t.unstable_now()>=_},o=function(){},t.unstable_forceFrameRate=function(e){0>e||125M(o,n))void 0!==u&&0>M(u,o)?(e[r]=u,e[s]=n,r=s):(e[r]=o,e[a]=n,r=a);else if(void 0!==u&&0>M(u,n))e[r]=u,e[s]=n,r=s;else break a}}return t}return null}function M(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}var O=[],A=[],L=1,C=null,I=3,D=!1,N=!1,P=!1;function R(e){for(var t=x(A);null!==t;){if(null===t.callback)T(A);else if(t.startTime<=e)T(A),t.sortIndex=t.expirationTime,k(O,t);else break;t=x(A)}}function j(e){if(P=!1,R(e),!N){if(null!==x(O))N=!0,n(F);else{var t=x(A);null!==t&&r(j,t.startTime-e)}}}function F(e,n){N=!1,P&&(P=!1,i()),D=!0;var o=I;try{for(R(n),C=x(O);null!==C&&(!(C.expirationTime>n)||e&&!a());){var s=C.callback;if(null!==s){C.callback=null,I=C.priorityLevel;var u=s(C.expirationTime<=n);n=t.unstable_now(),"function"==typeof u?C.callback=u:C===x(O)&&T(O),R(n)}else T(O);C=x(O)}if(null!==C)var c=!0;else{var l=x(A);null!==l&&r(j,l.startTime-n),c=!1}return c}finally{C=null,I=o,D=!1}}function Y(e){switch(e){case 1:return -1;case 2:return 250;case 5:return 1073741823;case 4:return 1e4;default:return 5e3}}var B=o;t.unstable_ImmediatePriority=1,t.unstable_UserBlockingPriority=2,t.unstable_NormalPriority=3,t.unstable_IdlePriority=5,t.unstable_LowPriority=4,t.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=I;I=e;try{return t()}finally{I=n}},t.unstable_next=function(e){switch(I){case 1:case 2:case 3:var t=3;break;default:t=I}var n=I;I=t;try{return e()}finally{I=n}},t.unstable_scheduleCallback=function(e,a,o){var s=t.unstable_now();if("object"==typeof o&&null!==o){var u=o.delay;u="number"==typeof u&&0s?(e.sortIndex=u,k(A,e),null===x(O)&&e===x(A)&&(P?i():P=!0,r(j,u-s))):(e.sortIndex=o,k(O,e),N||D||(N=!0,n(F))),e},t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_wrapCallback=function(e){var t=I;return function(){var n=I;I=t;try{return e.apply(this,arguments)}finally{I=n}}},t.unstable_getCurrentPriorityLevel=function(){return I},t.unstable_shouldYield=function(){var e=t.unstable_now();R(e);var n=x(O);return n!==C&&null!==C&&null!==n&&null!==n.callback&&n.startTime<=e&&n.expirationTime>5==6?2:e>>4==14?3:e>>3==30?4:e>>6==2?-1:-2}function c(e,t,n){var r=t.length-1;if(r=0?(i>0&&(e.lastNeed=i-1),i):--r=0?(i>0&&(e.lastNeed=i-2),i):--r=0?(i>0&&(2===i?i=0:e.lastNeed=i-3),i):0}function l(e,t,n){if((192&t[0])!=128)return e.lastNeed=0,"�";if(e.lastNeed>1&&t.length>1){if((192&t[1])!=128)return e.lastNeed=1,"�";if(e.lastNeed>2&&t.length>2&&(192&t[2])!=128)return e.lastNeed=2,"�"}}function f(e){var t=this.lastTotal-this.lastNeed,n=l(this,e,t);return void 0!==n?n:this.lastNeed<=e.length?(e.copy(this.lastChar,t,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):void(e.copy(this.lastChar,t,0,e.length),this.lastNeed-=e.length)}function d(e,t){var n=c(this,e,t);if(!this.lastNeed)return e.toString("utf8",t);this.lastTotal=n;var r=e.length-(n-this.lastNeed);return e.copy(this.lastChar,0,r),e.toString("utf8",t,r)}function h(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+"�":t}function p(e,t){if((e.length-t)%2==0){var n=e.toString("utf16le",t);if(n){var r=n.charCodeAt(n.length-1);if(r>=55296&&r<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1],n.slice(0,-1)}return n}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=e[e.length-1],e.toString("utf16le",t,e.length-1)}function b(e){var t=e&&e.length?this.write(e):"";if(this.lastNeed){var n=this.lastTotal-this.lastNeed;return t+this.lastChar.toString("utf16le",0,n)}return t}function m(e,t){var n=(e.length-t)%3;return 0===n?e.toString("base64",t):(this.lastNeed=3-n,this.lastTotal=3,1===n?this.lastChar[0]=e[e.length-1]:(this.lastChar[0]=e[e.length-2],this.lastChar[1]=e[e.length-1]),e.toString("base64",t,e.length-n))}function g(e){var t=e&&e.length?this.write(e):"";return this.lastNeed?t+this.lastChar.toString("base64",0,3-this.lastNeed):t}function v(e){return e.toString(this.encoding)}function y(e){return e&&e.length?this.write(e):""}t.s=s,s.prototype.write=function(e){var t,n;if(0===e.length)return"";if(this.lastNeed){if(void 0===(t=this.fillLast(e)))return"";n=this.lastNeed,this.lastNeed=0}else n=0;return n */ var r=n(48764),i=r.Buffer;function a(e,t){for(var n in e)t[n]=e[n]}function o(e,t,n){return i(e,t,n)}i.from&&i.alloc&&i.allocUnsafe&&i.allocUnsafeSlow?e.exports=r:(a(r,t),t.Buffer=o),o.prototype=Object.create(i.prototype),a(i,o),o.from=function(e,t,n){if("number"==typeof e)throw TypeError("Argument must not be a number");return i(e,t,n)},o.alloc=function(e,t,n){if("number"!=typeof e)throw TypeError("Argument must be a number");var r=i(e);return void 0!==t?"string"==typeof n?r.fill(t,n):r.fill(t):r.fill(0),r},o.allocUnsafe=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return i(e)},o.allocUnsafeSlow=function(e){if("number"!=typeof e)throw TypeError("Argument must be a number");return r.SlowBuffer(e)}},93379(e,t,n){"use strict";var r,i,a=function(){return void 0===r&&(r=Boolean(window&&document&&document.all&&!window.atob)),r},o=(i={},function(e){if(void 0===i[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(n){t=null}i[e]=t}return i[e]}),s=[];function u(e){for(var t=-1,n=0;nOW});var r,i,a,o,s,u,c,l=n(67294),f=n.t(l,2),d=n(39814),h=n(5977),p=n(57209),b=n(32316),m=n(95880),g=n(17051),v=n(71381),y=n(81701),w=n(3022),_=n(60323),E=n(87591),S=n(25649),k=n(28902),x=n(71426),T=n(48884),M=n(94184),O=n.n(M),A=n(37703),L=n(73935),C=function(){if("undefined"!=typeof Map)return Map;function e(e,t){var n=-1;return e.some(function(e,r){return e[0]===t&&(n=r,!0)}),n}return function(){function t(){this.__entries__=[]}return Object.defineProperty(t.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),t.prototype.get=function(t){var n=e(this.__entries__,t),r=this.__entries__[n];return r&&r[1]},t.prototype.set=function(t,n){var r=e(this.__entries__,t);~r?this.__entries__[r][1]=n:this.__entries__.push([t,n])},t.prototype.delete=function(t){var n=this.__entries__,r=e(n,t);~r&&n.splice(r,1)},t.prototype.has=function(t){return!!~e(this.__entries__,t)},t.prototype.clear=function(){this.__entries__.splice(0)},t.prototype.forEach=function(e,t){void 0===t&&(t=null);for(var n=0,r=this.__entries__;n0},e.prototype.connect_=function(){I&&!this.connected_&&(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Y?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},e.prototype.disconnect_=function(){I&&this.connected_&&(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},e.prototype.onTransitionEnd_=function(e){var t=e.propertyName,n=void 0===t?"":t;F.some(function(e){return!!~n.indexOf(e)})&&this.refresh()},e.getInstance=function(){return this.instance_||(this.instance_=new e),this.instance_},e.instance_=null,e}(),U=function(e,t){for(var n=0,r=Object.keys(t);n0},e}(),er="undefined"!=typeof WeakMap?new WeakMap:new C,ei=function(){function e(t){if(!(this instanceof e))throw TypeError("Cannot call a class as a function.");if(!arguments.length)throw TypeError("1 argument required, but only 0 present.");var n=B.getInstance(),r=new en(t,n,this);er.set(this,r)}return e}();["observe","unobserve","disconnect"].forEach(function(e){ei.prototype[e]=function(){var t;return(t=er.get(this))[e].apply(t,arguments)}});var ea=void 0!==D.ResizeObserver?D.ResizeObserver:ei;let eo=ea;var es=function(e){var t=[],n=null,r=function(){for(var r=arguments.length,i=Array(r),a=0;a=t||n<0||f&&r>=a}function g(){var e=eb();if(m(e))return v(e);s=setTimeout(g,b(e))}function v(e){return(s=void 0,d&&r)?h(e):(r=i=void 0,o)}function y(){void 0!==s&&clearTimeout(s),c=0,r=u=i=s=void 0}function w(){return void 0===s?o:v(eb())}function _(){var e=eb(),n=m(e);if(r=arguments,i=this,u=e,n){if(void 0===s)return p(u);if(f)return clearTimeout(s),s=setTimeout(g,t),h(u)}return void 0===s&&(s=setTimeout(g,t)),o}return t=ez(t)||0,ed(n)&&(l=!!n.leading,a=(f="maxWait"in n)?eW(ez(n.maxWait)||0,t):a,d="trailing"in n?!!n.trailing:d),_.cancel=y,_.flush=w,_}let eq=eV;var eZ="Expected a function";function eX(e,t,n){var r=!0,i=!0;if("function"!=typeof e)throw TypeError(eZ);return ed(n)&&(r="leading"in n?!!n.leading:r,i="trailing"in n?!!n.trailing:i),eq(e,t,{leading:r,maxWait:t,trailing:i})}let eJ=eX;var eQ={debounce:eq,throttle:eJ},e1=function(e){return eQ[e]},e0=function(e){return"function"==typeof e},e2=function(){return"undefined"==typeof window},e3=function(e){return e instanceof Element||e instanceof HTMLDocument};function e4(e){return(e4="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}function e6(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function e5(e,t){for(var n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&l.createElement(tG.Z,{variant:"indeterminate",classes:r}))};tK.propTypes={fetchCount:el().number.isRequired};let tV=(0,b.withStyles)(tW)(tK);var tq=n(5536);let tZ=n.p+"ba8bbf16ebf8e1d05bef.svg";function tX(){return(tX=Object.assign||function(e){for(var t=1;t120){for(var d=Math.floor(u/80),h=u%80,p=[],b=0;b0},name:{enumerable:!1},nodes:{enumerable:!1},source:{enumerable:!1},positions:{enumerable:!1},originalError:{enumerable:!1}}),null!=s&&s.stack)?(Object.defineProperty(nf(b),"stack",{value:s.stack,writable:!0,configurable:!0}),nl(b)):(Error.captureStackTrace?Error.captureStackTrace(nf(b),n):Object.defineProperty(nf(b),"stack",{value:Error().stack,writable:!0,configurable:!0}),b)}return ns(n,[{key:"toString",value:function(){return nw(this)}},{key:t4.YF,get:function(){return"Object"}}]),n}(nd(Error));function ny(e){return void 0===e||0===e.length?void 0:e}function nw(e){var t=e.message;if(e.nodes)for(var n=0,r=e.nodes;n",EOF:"",BANG:"!",DOLLAR:"$",AMP:"&",PAREN_L:"(",PAREN_R:")",SPREAD:"...",COLON:":",EQUALS:"=",AT:"@",BRACKET_L:"[",BRACKET_R:"]",BRACE_L:"{",PIPE:"|",BRACE_R:"}",NAME:"Name",INT:"Int",FLOAT:"Float",STRING:"String",BLOCK_STRING:"BlockString",COMMENT:"Comment"}),nx=n(10143),nT=Object.freeze({QUERY:"QUERY",MUTATION:"MUTATION",SUBSCRIPTION:"SUBSCRIPTION",FIELD:"FIELD",FRAGMENT_DEFINITION:"FRAGMENT_DEFINITION",FRAGMENT_SPREAD:"FRAGMENT_SPREAD",INLINE_FRAGMENT:"INLINE_FRAGMENT",VARIABLE_DEFINITION:"VARIABLE_DEFINITION",SCHEMA:"SCHEMA",SCALAR:"SCALAR",OBJECT:"OBJECT",FIELD_DEFINITION:"FIELD_DEFINITION",ARGUMENT_DEFINITION:"ARGUMENT_DEFINITION",INTERFACE:"INTERFACE",UNION:"UNION",ENUM:"ENUM",ENUM_VALUE:"ENUM_VALUE",INPUT_OBJECT:"INPUT_OBJECT",INPUT_FIELD_DEFINITION:"INPUT_FIELD_DEFINITION"}),nM=n(87392),nO=function(){function e(e){var t=new nS.WU(nk.SOF,0,0,0,0,null);this.source=e,this.lastToken=t,this.token=t,this.line=1,this.lineStart=0}var t=e.prototype;return t.advance=function(){return this.lastToken=this.token,this.token=this.lookahead()},t.lookahead=function(){var e,t=this.token;if(t.kind!==nk.EOF)do t=null!==(e=t.next)&&void 0!==e?e:t.next=nC(this,t);while(t.kind===nk.COMMENT)return t},e}();function nA(e){return e===nk.BANG||e===nk.DOLLAR||e===nk.AMP||e===nk.PAREN_L||e===nk.PAREN_R||e===nk.SPREAD||e===nk.COLON||e===nk.EQUALS||e===nk.AT||e===nk.BRACKET_L||e===nk.BRACKET_R||e===nk.BRACE_L||e===nk.PIPE||e===nk.BRACE_R}function nL(e){return isNaN(e)?nk.EOF:e<127?JSON.stringify(String.fromCharCode(e)):'"\\u'.concat(("00"+e.toString(16).toUpperCase()).slice(-4),'"')}function nC(e,t){for(var n=e.source,r=n.body,i=r.length,a=t.end;a31||9===a))return new nS.WU(nk.COMMENT,t,s,n,r,i,o.slice(t+1,s))}function nN(e,t,n,r,i,a){var o=e.body,s=n,u=t,c=!1;if(45===s&&(s=o.charCodeAt(++u)),48===s){if((s=o.charCodeAt(++u))>=48&&s<=57)throw n_(e,u,"Invalid number, unexpected digit after 0: ".concat(nL(s),"."))}else u=nP(e,u,s),s=o.charCodeAt(u);if(46===s&&(c=!0,s=o.charCodeAt(++u),u=nP(e,u,s),s=o.charCodeAt(u)),(69===s||101===s)&&(c=!0,(43===(s=o.charCodeAt(++u))||45===s)&&(s=o.charCodeAt(++u)),u=nP(e,u,s),s=o.charCodeAt(u)),46===s||nU(s))throw n_(e,u,"Invalid number, expected digit but got: ".concat(nL(s),"."));return new nS.WU(c?nk.FLOAT:nk.INT,t,u,r,i,a,o.slice(t,u))}function nP(e,t,n){var r=e.body,i=t,a=n;if(a>=48&&a<=57){do a=r.charCodeAt(++i);while(a>=48&&a<=57)return i}throw n_(e,i,"Invalid number, expected digit but got: ".concat(nL(a),"."))}function nR(e,t,n,r,i){for(var a=e.body,o=t+1,s=o,u=0,c="";o=48&&e<=57?e-48:e>=65&&e<=70?e-55:e>=97&&e<=102?e-87:-1}function nB(e,t,n,r,i){for(var a=e.body,o=a.length,s=t+1,u=0;s!==o&&!isNaN(u=a.charCodeAt(s))&&(95===u||u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122);)++s;return new nS.WU(nk.NAME,t,s,n,r,i,a.slice(t,s))}function nU(e){return 95===e||e>=65&&e<=90||e>=97&&e<=122}function nH(e,t){return new n$(e,t).parseDocument()}var n$=function(){function e(e,t){var n=(0,nx.T)(e)?e:new nx.H(e);this._lexer=new nO(n),this._options=t}var t=e.prototype;return t.parseName=function(){var e=this.expectToken(nk.NAME);return{kind:nE.h.NAME,value:e.value,loc:this.loc(e)}},t.parseDocument=function(){var e=this._lexer.token;return{kind:nE.h.DOCUMENT,definitions:this.many(nk.SOF,this.parseDefinition,nk.EOF),loc:this.loc(e)}},t.parseDefinition=function(){if(this.peek(nk.NAME))switch(this._lexer.token.value){case"query":case"mutation":case"subscription":return this.parseOperationDefinition();case"fragment":return this.parseFragmentDefinition();case"schema":case"scalar":case"type":case"interface":case"union":case"enum":case"input":case"directive":return this.parseTypeSystemDefinition();case"extend":return this.parseTypeSystemExtension()}else if(this.peek(nk.BRACE_L))return this.parseOperationDefinition();else if(this.peekDescription())return this.parseTypeSystemDefinition();throw this.unexpected()},t.parseOperationDefinition=function(){var e,t=this._lexer.token;if(this.peek(nk.BRACE_L))return{kind:nE.h.OPERATION_DEFINITION,operation:"query",name:void 0,variableDefinitions:[],directives:[],selectionSet:this.parseSelectionSet(),loc:this.loc(t)};var n=this.parseOperationType();return this.peek(nk.NAME)&&(e=this.parseName()),{kind:nE.h.OPERATION_DEFINITION,operation:n,name:e,variableDefinitions:this.parseVariableDefinitions(),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseOperationType=function(){var e=this.expectToken(nk.NAME);switch(e.value){case"query":return"query";case"mutation":return"mutation";case"subscription":return"subscription"}throw this.unexpected(e)},t.parseVariableDefinitions=function(){return this.optionalMany(nk.PAREN_L,this.parseVariableDefinition,nk.PAREN_R)},t.parseVariableDefinition=function(){var e=this._lexer.token;return{kind:nE.h.VARIABLE_DEFINITION,variable:this.parseVariable(),type:(this.expectToken(nk.COLON),this.parseTypeReference()),defaultValue:this.expectOptionalToken(nk.EQUALS)?this.parseValueLiteral(!0):void 0,directives:this.parseDirectives(!0),loc:this.loc(e)}},t.parseVariable=function(){var e=this._lexer.token;return this.expectToken(nk.DOLLAR),{kind:nE.h.VARIABLE,name:this.parseName(),loc:this.loc(e)}},t.parseSelectionSet=function(){var e=this._lexer.token;return{kind:nE.h.SELECTION_SET,selections:this.many(nk.BRACE_L,this.parseSelection,nk.BRACE_R),loc:this.loc(e)}},t.parseSelection=function(){return this.peek(nk.SPREAD)?this.parseFragment():this.parseField()},t.parseField=function(){var e,t,n=this._lexer.token,r=this.parseName();return this.expectOptionalToken(nk.COLON)?(e=r,t=this.parseName()):t=r,{kind:nE.h.FIELD,alias:e,name:t,arguments:this.parseArguments(!1),directives:this.parseDirectives(!1),selectionSet:this.peek(nk.BRACE_L)?this.parseSelectionSet():void 0,loc:this.loc(n)}},t.parseArguments=function(e){var t=e?this.parseConstArgument:this.parseArgument;return this.optionalMany(nk.PAREN_L,t,nk.PAREN_R)},t.parseArgument=function(){var e=this._lexer.token,t=this.parseName();return this.expectToken(nk.COLON),{kind:nE.h.ARGUMENT,name:t,value:this.parseValueLiteral(!1),loc:this.loc(e)}},t.parseConstArgument=function(){var e=this._lexer.token;return{kind:nE.h.ARGUMENT,name:this.parseName(),value:(this.expectToken(nk.COLON),this.parseValueLiteral(!0)),loc:this.loc(e)}},t.parseFragment=function(){var e=this._lexer.token;this.expectToken(nk.SPREAD);var t=this.expectOptionalKeyword("on");return!t&&this.peek(nk.NAME)?{kind:nE.h.FRAGMENT_SPREAD,name:this.parseFragmentName(),directives:this.parseDirectives(!1),loc:this.loc(e)}:{kind:nE.h.INLINE_FRAGMENT,typeCondition:t?this.parseNamedType():void 0,directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(e)}},t.parseFragmentDefinition=function(){var e,t=this._lexer.token;return(this.expectKeyword("fragment"),(null===(e=this._options)||void 0===e?void 0:e.experimentalFragmentVariables)===!0)?{kind:nE.h.FRAGMENT_DEFINITION,name:this.parseFragmentName(),variableDefinitions:this.parseVariableDefinitions(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}:{kind:nE.h.FRAGMENT_DEFINITION,name:this.parseFragmentName(),typeCondition:(this.expectKeyword("on"),this.parseNamedType()),directives:this.parseDirectives(!1),selectionSet:this.parseSelectionSet(),loc:this.loc(t)}},t.parseFragmentName=function(){if("on"===this._lexer.token.value)throw this.unexpected();return this.parseName()},t.parseValueLiteral=function(e){var t=this._lexer.token;switch(t.kind){case nk.BRACKET_L:return this.parseList(e);case nk.BRACE_L:return this.parseObject(e);case nk.INT:return this._lexer.advance(),{kind:nE.h.INT,value:t.value,loc:this.loc(t)};case nk.FLOAT:return this._lexer.advance(),{kind:nE.h.FLOAT,value:t.value,loc:this.loc(t)};case nk.STRING:case nk.BLOCK_STRING:return this.parseStringLiteral();case nk.NAME:switch(this._lexer.advance(),t.value){case"true":return{kind:nE.h.BOOLEAN,value:!0,loc:this.loc(t)};case"false":return{kind:nE.h.BOOLEAN,value:!1,loc:this.loc(t)};case"null":return{kind:nE.h.NULL,loc:this.loc(t)};default:return{kind:nE.h.ENUM,value:t.value,loc:this.loc(t)}}case nk.DOLLAR:if(!e)return this.parseVariable()}throw this.unexpected()},t.parseStringLiteral=function(){var e=this._lexer.token;return this._lexer.advance(),{kind:nE.h.STRING,value:e.value,block:e.kind===nk.BLOCK_STRING,loc:this.loc(e)}},t.parseList=function(e){var t=this,n=this._lexer.token,r=function(){return t.parseValueLiteral(e)};return{kind:nE.h.LIST,values:this.any(nk.BRACKET_L,r,nk.BRACKET_R),loc:this.loc(n)}},t.parseObject=function(e){var t=this,n=this._lexer.token,r=function(){return t.parseObjectField(e)};return{kind:nE.h.OBJECT,fields:this.any(nk.BRACE_L,r,nk.BRACE_R),loc:this.loc(n)}},t.parseObjectField=function(e){var t=this._lexer.token,n=this.parseName();return this.expectToken(nk.COLON),{kind:nE.h.OBJECT_FIELD,name:n,value:this.parseValueLiteral(e),loc:this.loc(t)}},t.parseDirectives=function(e){for(var t=[];this.peek(nk.AT);)t.push(this.parseDirective(e));return t},t.parseDirective=function(e){var t=this._lexer.token;return this.expectToken(nk.AT),{kind:nE.h.DIRECTIVE,name:this.parseName(),arguments:this.parseArguments(e),loc:this.loc(t)}},t.parseTypeReference=function(){var e,t=this._lexer.token;return(this.expectOptionalToken(nk.BRACKET_L)?(e=this.parseTypeReference(),this.expectToken(nk.BRACKET_R),e={kind:nE.h.LIST_TYPE,type:e,loc:this.loc(t)}):e=this.parseNamedType(),this.expectOptionalToken(nk.BANG))?{kind:nE.h.NON_NULL_TYPE,type:e,loc:this.loc(t)}:e},t.parseNamedType=function(){var e=this._lexer.token;return{kind:nE.h.NAMED_TYPE,name:this.parseName(),loc:this.loc(e)}},t.parseTypeSystemDefinition=function(){var e=this.peekDescription()?this._lexer.lookahead():this._lexer.token;if(e.kind===nk.NAME)switch(e.value){case"schema":return this.parseSchemaDefinition();case"scalar":return this.parseScalarTypeDefinition();case"type":return this.parseObjectTypeDefinition();case"interface":return this.parseInterfaceTypeDefinition();case"union":return this.parseUnionTypeDefinition();case"enum":return this.parseEnumTypeDefinition();case"input":return this.parseInputObjectTypeDefinition();case"directive":return this.parseDirectiveDefinition()}throw this.unexpected(e)},t.peekDescription=function(){return this.peek(nk.STRING)||this.peek(nk.BLOCK_STRING)},t.parseDescription=function(){if(this.peekDescription())return this.parseStringLiteral()},t.parseSchemaDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("schema");var n=this.parseDirectives(!0),r=this.many(nk.BRACE_L,this.parseOperationTypeDefinition,nk.BRACE_R);return{kind:nE.h.SCHEMA_DEFINITION,description:t,directives:n,operationTypes:r,loc:this.loc(e)}},t.parseOperationTypeDefinition=function(){var e=this._lexer.token,t=this.parseOperationType();this.expectToken(nk.COLON);var n=this.parseNamedType();return{kind:nE.h.OPERATION_TYPE_DEFINITION,operation:t,type:n,loc:this.loc(e)}},t.parseScalarTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("scalar");var n=this.parseName(),r=this.parseDirectives(!0);return{kind:nE.h.SCALAR_TYPE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("type");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:nE.h.OBJECT_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:a,loc:this.loc(e)}},t.parseImplementsInterfaces=function(){var e;if(!this.expectOptionalKeyword("implements"))return[];if((null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLImplementsInterfaces)===!0){var t=[];this.expectOptionalToken(nk.AMP);do t.push(this.parseNamedType());while(this.expectOptionalToken(nk.AMP)||this.peek(nk.NAME))return t}return this.delimitedMany(nk.AMP,this.parseNamedType)},t.parseFieldsDefinition=function(){var e;return(null===(e=this._options)||void 0===e?void 0:e.allowLegacySDLEmptyFields)===!0&&this.peek(nk.BRACE_L)&&this._lexer.lookahead().kind===nk.BRACE_R?(this._lexer.advance(),this._lexer.advance(),[]):this.optionalMany(nk.BRACE_L,this.parseFieldDefinition,nk.BRACE_R)},t.parseFieldDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseArgumentDefs();this.expectToken(nk.COLON);var i=this.parseTypeReference(),a=this.parseDirectives(!0);return{kind:nE.h.FIELD_DEFINITION,description:t,name:n,arguments:r,type:i,directives:a,loc:this.loc(e)}},t.parseArgumentDefs=function(){return this.optionalMany(nk.PAREN_L,this.parseInputValueDef,nk.PAREN_R)},t.parseInputValueDef=function(){var e,t=this._lexer.token,n=this.parseDescription(),r=this.parseName();this.expectToken(nk.COLON);var i=this.parseTypeReference();this.expectOptionalToken(nk.EQUALS)&&(e=this.parseValueLiteral(!0));var a=this.parseDirectives(!0);return{kind:nE.h.INPUT_VALUE_DEFINITION,description:n,name:r,type:i,defaultValue:e,directives:a,loc:this.loc(t)}},t.parseInterfaceTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("interface");var n=this.parseName(),r=this.parseImplementsInterfaces(),i=this.parseDirectives(!0),a=this.parseFieldsDefinition();return{kind:nE.h.INTERFACE_TYPE_DEFINITION,description:t,name:n,interfaces:r,directives:i,fields:a,loc:this.loc(e)}},t.parseUnionTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("union");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseUnionMemberTypes();return{kind:nE.h.UNION_TYPE_DEFINITION,description:t,name:n,directives:r,types:i,loc:this.loc(e)}},t.parseUnionMemberTypes=function(){return this.expectOptionalToken(nk.EQUALS)?this.delimitedMany(nk.PIPE,this.parseNamedType):[]},t.parseEnumTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("enum");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseEnumValuesDefinition();return{kind:nE.h.ENUM_TYPE_DEFINITION,description:t,name:n,directives:r,values:i,loc:this.loc(e)}},t.parseEnumValuesDefinition=function(){return this.optionalMany(nk.BRACE_L,this.parseEnumValueDefinition,nk.BRACE_R)},t.parseEnumValueDefinition=function(){var e=this._lexer.token,t=this.parseDescription(),n=this.parseName(),r=this.parseDirectives(!0);return{kind:nE.h.ENUM_VALUE_DEFINITION,description:t,name:n,directives:r,loc:this.loc(e)}},t.parseInputObjectTypeDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("input");var n=this.parseName(),r=this.parseDirectives(!0),i=this.parseInputFieldsDefinition();return{kind:nE.h.INPUT_OBJECT_TYPE_DEFINITION,description:t,name:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInputFieldsDefinition=function(){return this.optionalMany(nk.BRACE_L,this.parseInputValueDef,nk.BRACE_R)},t.parseTypeSystemExtension=function(){var e=this._lexer.lookahead();if(e.kind===nk.NAME)switch(e.value){case"schema":return this.parseSchemaExtension();case"scalar":return this.parseScalarTypeExtension();case"type":return this.parseObjectTypeExtension();case"interface":return this.parseInterfaceTypeExtension();case"union":return this.parseUnionTypeExtension();case"enum":return this.parseEnumTypeExtension();case"input":return this.parseInputObjectTypeExtension()}throw this.unexpected(e)},t.parseSchemaExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("schema");var t=this.parseDirectives(!0),n=this.optionalMany(nk.BRACE_L,this.parseOperationTypeDefinition,nk.BRACE_R);if(0===t.length&&0===n.length)throw this.unexpected();return{kind:nE.h.SCHEMA_EXTENSION,directives:t,operationTypes:n,loc:this.loc(e)}},t.parseScalarTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("scalar");var t=this.parseName(),n=this.parseDirectives(!0);if(0===n.length)throw this.unexpected();return{kind:nE.h.SCALAR_TYPE_EXTENSION,name:t,directives:n,loc:this.loc(e)}},t.parseObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("type");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:nE.h.OBJECT_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseInterfaceTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("interface");var t=this.parseName(),n=this.parseImplementsInterfaces(),r=this.parseDirectives(!0),i=this.parseFieldsDefinition();if(0===n.length&&0===r.length&&0===i.length)throw this.unexpected();return{kind:nE.h.INTERFACE_TYPE_EXTENSION,name:t,interfaces:n,directives:r,fields:i,loc:this.loc(e)}},t.parseUnionTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("union");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseUnionMemberTypes();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:nE.h.UNION_TYPE_EXTENSION,name:t,directives:n,types:r,loc:this.loc(e)}},t.parseEnumTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("enum");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseEnumValuesDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:nE.h.ENUM_TYPE_EXTENSION,name:t,directives:n,values:r,loc:this.loc(e)}},t.parseInputObjectTypeExtension=function(){var e=this._lexer.token;this.expectKeyword("extend"),this.expectKeyword("input");var t=this.parseName(),n=this.parseDirectives(!0),r=this.parseInputFieldsDefinition();if(0===n.length&&0===r.length)throw this.unexpected();return{kind:nE.h.INPUT_OBJECT_TYPE_EXTENSION,name:t,directives:n,fields:r,loc:this.loc(e)}},t.parseDirectiveDefinition=function(){var e=this._lexer.token,t=this.parseDescription();this.expectKeyword("directive"),this.expectToken(nk.AT);var n=this.parseName(),r=this.parseArgumentDefs(),i=this.expectOptionalKeyword("repeatable");this.expectKeyword("on");var a=this.parseDirectiveLocations();return{kind:nE.h.DIRECTIVE_DEFINITION,description:t,name:n,arguments:r,repeatable:i,locations:a,loc:this.loc(e)}},t.parseDirectiveLocations=function(){return this.delimitedMany(nk.PIPE,this.parseDirectiveLocation)},t.parseDirectiveLocation=function(){var e=this._lexer.token,t=this.parseName();if(void 0!==nT[t.value])return t;throw this.unexpected(e)},t.loc=function(e){var t;if((null===(t=this._options)||void 0===t?void 0:t.noLocation)!==!0)return new nS.Ye(e,this._lexer.lastToken,this._lexer.source)},t.peek=function(e){return this._lexer.token.kind===e},t.expectToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t;throw n_(this._lexer.source,t.start,"Expected ".concat(nG(e),", found ").concat(nz(t),"."))},t.expectOptionalToken=function(e){var t=this._lexer.token;if(t.kind===e)return this._lexer.advance(),t},t.expectKeyword=function(e){var t=this._lexer.token;if(t.kind===nk.NAME&&t.value===e)this._lexer.advance();else throw n_(this._lexer.source,t.start,'Expected "'.concat(e,'", found ').concat(nz(t),"."))},t.expectOptionalKeyword=function(e){var t=this._lexer.token;return t.kind===nk.NAME&&t.value===e&&(this._lexer.advance(),!0)},t.unexpected=function(e){var t=null!=e?e:this._lexer.token;return n_(this._lexer.source,t.start,"Unexpected ".concat(nz(t),"."))},t.any=function(e,t,n){this.expectToken(e);for(var r=[];!this.expectOptionalToken(n);)r.push(t.call(this));return r},t.optionalMany=function(e,t,n){if(this.expectOptionalToken(e)){var r=[];do r.push(t.call(this));while(!this.expectOptionalToken(n))return r}return[]},t.many=function(e,t,n){this.expectToken(e);var r=[];do r.push(t.call(this));while(!this.expectOptionalToken(n))return r},t.delimitedMany=function(e,t){this.expectOptionalToken(e);var n=[];do n.push(t.call(this));while(this.expectOptionalToken(e))return n},e}();function nz(e){var t=e.value;return nG(e.kind)+(null!=t?' "'.concat(t,'"'):"")}function nG(e){return nA(e)?'"'.concat(e,'"'):e}var nW=new Map,nK=new Map,nV=!0,nq=!1;function nZ(e){return e.replace(/[\s,]+/g," ").trim()}function nX(e){return nZ(e.source.body.substring(e.start,e.end))}function nJ(e){var t=new Set,n=[];return e.definitions.forEach(function(e){if("FragmentDefinition"===e.kind){var r=e.name.value,i=nX(e.loc),a=nK.get(r);a&&!a.has(i)?nV&&console.warn("Warning: fragment with name "+r+" already exists.\ngraphql-tag enforces all fragment names across your application to be unique; read more about\nthis in the docs: http://dev.apollodata.com/core/fragments.html#unique-names"):a||nK.set(r,a=new Set),a.add(i),t.has(i)||(t.add(i),n.push(e))}else n.push(e)}),(0,t0.pi)((0,t0.pi)({},e),{definitions:n})}function nQ(e){var t=new Set(e.definitions);t.forEach(function(e){e.loc&&delete e.loc,Object.keys(e).forEach(function(n){var r=e[n];r&&"object"==typeof r&&t.add(r)})});var n=e.loc;return n&&(delete n.startToken,delete n.endToken),e}function n1(e){var t=nZ(e);if(!nW.has(t)){var n=nH(e,{experimentalFragmentVariables:nq,allowLegacyFragmentVariables:nq});if(!n||"Document"!==n.kind)throw Error("Not a valid GraphQL document.");nW.set(t,nQ(nJ(n)))}return nW.get(t)}function n0(e){for(var t=[],n=1;n, or pass an ApolloClient instance in via options.'):(0,n9.kG)(!!n,32),n}var rp=n(10542),rb=n(53712),rm=n(21436),rg=Object.prototype.hasOwnProperty;function rv(e,t){return void 0===t&&(t=Object.create(null)),ry(rh(t.client),e).useQuery(t)}function ry(e,t){var n=(0,l.useRef)();n.current&&e===n.current.client&&t===n.current.query||(n.current=new rw(e,t,n.current));var r=n.current,i=(0,l.useState)(0),a=(i[0],i[1]);return r.forceUpdate=function(){a(function(e){return e+1})},r}var rw=function(){function e(e,t,n){this.client=e,this.query=t,this.ssrDisabledResult=(0,rp.J)({loading:!0,data:void 0,error:void 0,networkStatus:ru.I.loading}),this.skipStandbyResult=(0,rp.J)({loading:!1,data:void 0,error:void 0,networkStatus:ru.I.ready}),this.toQueryResultCache=new(n7.mr?WeakMap:Map),rd(t,r.Query);var i=n&&n.result,a=i&&i.data;a&&(this.previousData=a)}return e.prototype.forceUpdate=function(){__DEV__&&n9.kG.warn("Calling default no-op implementation of InternalState#forceUpdate")},e.prototype.executeQuery=function(e){var t,n=this;e.query&&Object.assign(this,{query:e.query}),this.watchQueryOptions=this.createWatchQueryOptions(this.queryHookOptions=e);var r=this.observable.reobserveAsConcast(this.getObsQueryOptions());return this.previousData=(null===(t=this.result)||void 0===t?void 0:t.data)||this.previousData,this.result=void 0,this.forceUpdate(),new Promise(function(e){var t;r.subscribe({next:function(e){t=e},error:function(){e(n.toQueryResult(n.observable.getCurrentResult()))},complete:function(){e(n.toQueryResult(t))}})})},e.prototype.useQuery=function(e){var t=this;this.renderPromises=(0,l.useContext)((0,ro.K)()).renderPromises,this.useOptions(e);var n=this.useObservableQuery(),r=rt((0,l.useCallback)(function(){if(t.renderPromises)return function(){};var e=function(){var e=t.result,r=n.getCurrentResult();!(e&&e.loading===r.loading&&e.networkStatus===r.networkStatus&&(0,ri.D)(e.data,r.data))&&t.setResult(r)},r=function(a){var o=n.last;i.unsubscribe();try{n.resetLastResults(),i=n.subscribe(e,r)}finally{n.last=o}if(!rg.call(a,"graphQLErrors"))throw a;var s=t.result;(!s||s&&s.loading||!(0,ri.D)(a,s.error))&&t.setResult({data:s&&s.data,error:a,loading:!1,networkStatus:ru.I.error})},i=n.subscribe(e,r);return function(){return setTimeout(function(){return i.unsubscribe()})}},[n,this.renderPromises,this.client.disableNetworkFetches,]),function(){return t.getCurrentResult()},function(){return t.getCurrentResult()});return this.unsafeHandlePartialRefetch(r),this.toQueryResult(r)},e.prototype.useOptions=function(t){var n,r=this.createWatchQueryOptions(this.queryHookOptions=t),i=this.watchQueryOptions;!(0,ri.D)(r,i)&&(this.watchQueryOptions=r,i&&this.observable&&(this.observable.reobserve(this.getObsQueryOptions()),this.previousData=(null===(n=this.result)||void 0===n?void 0:n.data)||this.previousData,this.result=void 0)),this.onCompleted=t.onCompleted||e.prototype.onCompleted,this.onError=t.onError||e.prototype.onError,(this.renderPromises||this.client.disableNetworkFetches)&&!1===this.queryHookOptions.ssr&&!this.queryHookOptions.skip?this.result=this.ssrDisabledResult:this.queryHookOptions.skip||"standby"===this.watchQueryOptions.fetchPolicy?this.result=this.skipStandbyResult:(this.result===this.ssrDisabledResult||this.result===this.skipStandbyResult)&&(this.result=void 0)},e.prototype.getObsQueryOptions=function(){var e=[],t=this.client.defaultOptions.watchQuery;return t&&e.push(t),this.queryHookOptions.defaultOptions&&e.push(this.queryHookOptions.defaultOptions),e.push((0,rb.o)(this.observable&&this.observable.options,this.watchQueryOptions)),e.reduce(ra.J)},e.prototype.createWatchQueryOptions=function(e){void 0===e&&(e={});var t,n=e.skip,r=Object.assign((e.ssr,e.onCompleted,e.onError,e.defaultOptions,(0,t0._T)(e,["skip","ssr","onCompleted","onError","defaultOptions"])),{query:this.query});if(this.renderPromises&&("network-only"===r.fetchPolicy||"cache-and-network"===r.fetchPolicy)&&(r.fetchPolicy="cache-first"),r.variables||(r.variables={}),n){var i=r.fetchPolicy,a=void 0===i?this.getDefaultFetchPolicy():i,o=r.initialFetchPolicy;Object.assign(r,{initialFetchPolicy:void 0===o?a:o,fetchPolicy:"standby"})}else r.fetchPolicy||(r.fetchPolicy=(null===(t=this.observable)||void 0===t?void 0:t.options.initialFetchPolicy)||this.getDefaultFetchPolicy());return r},e.prototype.getDefaultFetchPolicy=function(){var e,t;return(null===(e=this.queryHookOptions.defaultOptions)||void 0===e?void 0:e.fetchPolicy)||(null===(t=this.client.defaultOptions.watchQuery)||void 0===t?void 0:t.fetchPolicy)||"cache-first"},e.prototype.onCompleted=function(e){},e.prototype.onError=function(e){},e.prototype.useObservableQuery=function(){var e=this.observable=this.renderPromises&&this.renderPromises.getSSRObservable(this.watchQueryOptions)||this.observable||this.client.watchQuery(this.getObsQueryOptions());this.obsQueryFields=(0,l.useMemo)(function(){return{refetch:e.refetch.bind(e),reobserve:e.reobserve.bind(e),fetchMore:e.fetchMore.bind(e),updateQuery:e.updateQuery.bind(e),startPolling:e.startPolling.bind(e),stopPolling:e.stopPolling.bind(e),subscribeToMore:e.subscribeToMore.bind(e)}},[e]);var t=!(!1===this.queryHookOptions.ssr||this.queryHookOptions.skip);return this.renderPromises&&t&&(this.renderPromises.registerSSRObservable(e),e.getCurrentResult().loading&&this.renderPromises.addObservableQueryPromise(e)),e},e.prototype.setResult=function(e){var t=this.result;t&&t.data&&(this.previousData=t.data),this.result=e,this.forceUpdate(),this.handleErrorOrCompleted(e)},e.prototype.handleErrorOrCompleted=function(e){var t=this;if(!e.loading){var n=this.toApolloError(e);Promise.resolve().then(function(){n?t.onError(n):e.data&&t.onCompleted(e.data)}).catch(function(e){__DEV__&&n9.kG.warn(e)})}},e.prototype.toApolloError=function(e){return(0,rm.O)(e.errors)?new rs.cA({graphQLErrors:e.errors}):e.error},e.prototype.getCurrentResult=function(){return this.result||this.handleErrorOrCompleted(this.result=this.observable.getCurrentResult()),this.result},e.prototype.toQueryResult=function(e){var t=this.toQueryResultCache.get(e);if(t)return t;var n=e.data,r=(e.partial,(0,t0._T)(e,["data","partial"]));return this.toQueryResultCache.set(e,t=(0,t0.pi)((0,t0.pi)((0,t0.pi)({data:n},r),this.obsQueryFields),{client:this.client,observable:this.observable,variables:this.observable.variables,called:!this.queryHookOptions.skip,previousData:this.previousData})),!t.error&&(0,rm.O)(e.errors)&&(t.error=new rs.cA({graphQLErrors:e.errors})),t},e.prototype.unsafeHandlePartialRefetch=function(e){e.partial&&this.queryHookOptions.partialRefetch&&!e.loading&&(!e.data||0===Object.keys(e.data).length)&&"cache-only"!==this.observable.options.fetchPolicy&&(Object.assign(e,{loading:!0,networkStatus:ru.I.refetch}),this.observable.refetch())},e}();function r_(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:{};return rv(iH,e)},iz=function(){var e=ij(),t=parseInt(e.get("page")||"1",10),n=parseInt(e.get("per")||"50",10),r=i$({variables:{offset:(t-1)*n,limit:n},fetchPolicy:"network-only"}),i=r.data,a=r.loading,o=r.error;return a?l.createElement(iR,null):o?l.createElement(iD,{error:o}):i?l.createElement(iI,{chains:i.chains.results,page:t,pageSize:n,total:i.chains.metadata.total}):null},iG=n(67932),iW=n(8126),iK="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function iV(e){if(iq())return Intl.DateTimeFormat.supportedLocalesOf(e)[0]}function iq(){return("undefined"==typeof Intl?"undefined":iK(Intl))==="object"&&"function"==typeof Intl.DateTimeFormat}var iZ="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},iX=function(){function e(e,t){for(var n=0;n=i.length)break;s=i[o++]}else{if((o=i.next()).done)break;s=o.value}var s,u=s;if((void 0===e?"undefined":iZ(e))!=="object")return;e=e[u]}return e}},{key:"put",value:function(){for(var e=arguments.length,t=Array(e),n=0;n=o.length)break;c=o[u++]}else{if((u=o.next()).done)break;c=u.value}var c,l=c;"object"!==iZ(a[l])&&(a[l]={}),a=a[l]}return a[i]=r}}]),e}();let i1=iQ;var i0=new i1;function i2(e,t){if(!iq())return function(e){return e.toString()};var n=i4(e),r=JSON.stringify(t),i=i0.get(String(n),r)||i0.put(String(n),r,new Intl.DateTimeFormat(n,t));return function(e){return i.format(e)}}var i3={};function i4(e){var t=e.toString();return i3[t]?i3[t]:i3[t]=iV(e)}var i6="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function i5(e){return i8(e)?e:new Date(e)}function i8(e){return e instanceof Date||i9(e)}function i9(e){return(void 0===e?"undefined":i6(e))==="object"&&"function"==typeof e.getTime}var i7=n(54087),ae=n.n(i7);function at(e,t){if(0===e.length)return 0;for(var n=0,r=e.length-1,i=void 0;n<=r;){var a=t(e[i=Math.floor((r+n)/2)]);if(0===a)return i;if(a<0){if((n=i+1)>r)return n}else if((r=i-1)=t.nextUpdateTime)aa(t,this.instances);else break}},scheduleNextTick:function(){var e=this;this.scheduledTick=ae()(function(){e.tick(),e.scheduleNextTick()})},start:function(){this.scheduleNextTick()},stop:function(){ae().cancel(this.scheduledTick)}};function ai(e){var t=an(e.getNextValue(),2),n=t[0],r=t[1];e.setValue(n),e.nextUpdateTime=r}function aa(e,t){ai(e),as(t,e),ao(t,e)}function ao(e,t){var n=au(e,t);e.splice(n,0,t)}function as(e,t){var n=e.indexOf(t);e.splice(n,1)}function au(e,t){var n=t.nextUpdateTime;return at(e,function(e){return e.nextUpdateTime===n?0:e.nextUpdateTime>n?1:-1})}var ac=(0,ec.oneOfType)([(0,ec.shape)({minTime:ec.number,formatAs:ec.string.isRequired}),(0,ec.shape)({test:ec.func,formatAs:ec.string.isRequired}),(0,ec.shape)({minTime:ec.number,format:ec.func.isRequired}),(0,ec.shape)({test:ec.func,format:ec.func.isRequired})]),al=(0,ec.oneOfType)([ec.string,(0,ec.shape)({steps:(0,ec.arrayOf)(ac).isRequired,labels:(0,ec.oneOfType)([ec.string,(0,ec.arrayOf)(ec.string)]).isRequired,round:ec.string})]),af=Object.assign||function(e){for(var t=1;t=0)&&Object.prototype.hasOwnProperty.call(e,r)&&(n[r]=e[r]);return n}function ap(e){var t=e.date,n=e.future,r=e.timeStyle,i=e.round,a=e.minTimeLeft,o=e.tooltip,s=e.component,u=e.container,c=e.wrapperComponent,f=e.wrapperProps,d=e.locale,h=e.locales,p=e.formatVerboseDate,b=e.verboseDateFormat,m=e.updateInterval,g=e.tick,v=ah(e,["date","future","timeStyle","round","minTimeLeft","tooltip","component","container","wrapperComponent","wrapperProps","locale","locales","formatVerboseDate","verboseDateFormat","updateInterval","tick"]),y=(0,l.useMemo)(function(){return d&&(h=[d]),h.concat(iW.Z.getDefaultLocale())},[d,h]),w=(0,l.useMemo)(function(){return new iW.Z(y)},[y]);t=(0,l.useMemo)(function(){return i5(t)},[t]);var _=(0,l.useCallback)(function(){var e=Date.now(),o=void 0;if(n&&e>=t.getTime()&&(e=t.getTime(),o=!0),void 0!==a){var s=t.getTime()-1e3*a;e>s&&(e=s,o=!0)}var u=w.format(t,r,{getTimeToNextUpdate:!0,now:e,future:n,round:i}),c=ad(u,2),l=c[0],f=c[1];return f=o?ag:m||f||6e4,[l,e+f]},[t,n,r,m,i,a,w]),E=(0,l.useRef)();E.current=_;var S=(0,l.useMemo)(_,[]),k=ad(S,2),x=k[0],T=k[1],M=(0,l.useState)(x),O=ad(M,2),A=O[0],L=O[1],C=ad((0,l.useState)(),2),I=C[0],D=C[1],N=(0,l.useRef)();(0,l.useEffect)(function(){if(g)return N.current=ar.add({getNextValue:function(){return E.current()},setValue:L,nextUpdateTime:T}),function(){return N.current.stop()}},[g]),(0,l.useEffect)(function(){if(N.current)N.current.forceUpdate();else{var e=_(),t=ad(e,1)[0];L(t)}},[_]),(0,l.useEffect)(function(){D(!0)},[]);var P=(0,l.useMemo)(function(){if("undefined"!=typeof window)return i2(y,b)},[y,b]),R=(0,l.useMemo)(function(){if("undefined"!=typeof window)return p?p(t):P(t)},[t,p,P]),j=l.createElement(s,af({date:t,verboseDate:I?R:void 0,tooltip:o},v),A),F=c||u;return F?l.createElement(F,af({},f,{verboseDate:I?R:void 0}),j):j}ap.propTypes={date:el().oneOfType([el().instanceOf(Date),el().number]).isRequired,locale:el().string,locales:el().arrayOf(el().string),future:el().bool,timeStyle:al,round:el().string,minTimeLeft:el().number,component:el().elementType.isRequired,tooltip:el().bool.isRequired,formatVerboseDate:el().func,verboseDateFormat:el().object,updateInterval:el().oneOfType([el().number,el().arrayOf(el().shape({threshold:el().number,interval:el().number.isRequired}))]),tick:el().bool,wrapperComponent:el().func,wrapperProps:el().object},ap.defaultProps={locales:[],component:av,tooltip:!0,verboseDateFormat:{weekday:"long",day:"numeric",month:"long",year:"numeric",hour:"numeric",minute:"2-digit",second:"2-digit"},tick:!0},ap=l.memo(ap);let ab=ap;var am,ag=31536e9;function av(e){var t=e.date,n=e.verboseDate,r=e.tooltip,i=e.children,a=ah(e,["date","verboseDate","tooltip","children"]),o=(0,l.useMemo)(function(){return t.toISOString()},[t]);return l.createElement("time",af({},a,{dateTime:o,title:r?n:void 0}),i)}av.propTypes={date:el().instanceOf(Date).isRequired,verboseDate:el().string,tooltip:el().bool.isRequired,children:el().string.isRequired};var ay=n(30381),aw=n.n(ay),a_=n(31657);function aE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function aS(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0?new rs.cA({graphQLErrors:i}):void 0;if(u===s.current.mutationId&&!c.ignoreResults){var f={called:!0,loading:!1,data:r,error:l,client:a};s.current.isMounted&&!(0,ri.D)(s.current.result,f)&&o(s.current.result=f)}var d=e.onCompleted||(null===(n=s.current.options)||void 0===n?void 0:n.onCompleted);return null==d||d(t.data,c),t}).catch(function(t){if(u===s.current.mutationId&&s.current.isMounted){var n,r={loading:!1,error:t,data:void 0,called:!0,client:a};(0,ri.D)(s.current.result,r)||o(s.current.result=r)}var i=e.onError||(null===(n=s.current.options)||void 0===n?void 0:n.onError);if(i)return i(t,c),{data:void 0,errors:t};throw t})},[]),c=(0,l.useCallback)(function(){s.current.isMounted&&o({called:!1,loading:!1,client:n})},[]);return(0,l.useEffect)(function(){return s.current.isMounted=!0,function(){s.current.isMounted=!1}},[]),[u,(0,t0.pi)({reset:c},a)]}var os=n(59067),ou=n(28428),oc=n(11186),ol=n(78513);function of(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var od=function(e){return(0,b.createStyles)({paper:{display:"flex",margin:"".concat(2.5*e.spacing.unit,"px 0"),padding:"".concat(3*e.spacing.unit,"px ").concat(3.5*e.spacing.unit,"px")},content:{flex:1,width:"100%"},actions:of({marginTop:-(1.5*e.spacing.unit),marginLeft:-(4*e.spacing.unit)},e.breakpoints.up("sm"),{marginLeft:0,marginRight:-(1.5*e.spacing.unit)}),itemBlock:{border:"1px solid rgba(224, 224, 224, 1)",borderRadius:e.shape.borderRadius,padding:2*e.spacing.unit,marginTop:e.spacing.unit},itemBlockText:{overflowWrap:"anywhere"}})},oh=(0,b.withStyles)(od)(function(e){var t=e.actions,n=e.children,r=e.classes;return l.createElement(ii.default,{className:r.paper},l.createElement("div",{className:r.content},n),t&&l.createElement("div",{className:r.actions},t))}),op=function(e){var t=e.title;return l.createElement(x.default,{variant:"subtitle2",gutterBottom:!0},t)},ob=function(e){var t=e.children,n=e.value;return l.createElement(x.default,{variant:"body1",noWrap:!0},t||n)},om=(0,b.withStyles)(od)(function(e){var t=e.children,n=e.classes,r=e.value;return l.createElement("div",{className:n.itemBlock},l.createElement(x.default,{variant:"body1",className:n.itemBlockText},t||r))});function og(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]-1}let sq=sV;function sZ(e,t){var n=this.__data__,r=sH(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}let sX=sZ;function sJ(e){var t=-1,n=null==e?0:e.length;for(this.clear();++t-1&&e%1==0&&e-1&&e%1==0&&e<=cC}let cD=cI;var cN="[object Arguments]",cP="[object Array]",cR="[object Boolean]",cj="[object Date]",cF="[object Error]",cY="[object Function]",cB="[object Map]",cU="[object Number]",cH="[object Object]",c$="[object RegExp]",cz="[object Set]",cG="[object String]",cW="[object WeakMap]",cK="[object ArrayBuffer]",cV="[object DataView]",cq="[object Float64Array]",cZ="[object Int8Array]",cX="[object Int16Array]",cJ="[object Int32Array]",cQ="[object Uint8Array]",c1="[object Uint8ClampedArray]",c0="[object Uint16Array]",c2="[object Uint32Array]",c3={};function c4(e){return eD(e)&&cD(e.length)&&!!c3[eC(e)]}c3["[object Float32Array]"]=c3[cq]=c3[cZ]=c3[cX]=c3[cJ]=c3[cQ]=c3[c1]=c3[c0]=c3[c2]=!0,c3[cN]=c3[cP]=c3[cK]=c3[cR]=c3[cV]=c3[cj]=c3[cF]=c3[cY]=c3[cB]=c3[cU]=c3[cH]=c3[c$]=c3[cz]=c3[cG]=c3[cW]=!1;let c6=c4;function c5(e){return function(t){return e(t)}}let c8=c5;var c9=n(79730),c7=c9.Z&&c9.Z.isTypedArray,le=c7?c8(c7):c6;let lt=le;var ln=Object.prototype.hasOwnProperty;function lr(e,t){var n=cx(e),r=!n&&cS(e),i=!n&&!r&&(0,cT.Z)(e),a=!n&&!r&&!i&<(e),o=n||r||i||a,s=o?cb(e.length,String):[],u=s.length;for(var c in e)(t||ln.call(e,c))&&!(o&&("length"==c||i&&("offset"==c||"parent"==c)||a&&("buffer"==c||"byteLength"==c||"byteOffset"==c)||cL(c,u)))&&s.push(c);return s}let li=lr;var la=Object.prototype;function lo(e){var t=e&&e.constructor;return e===("function"==typeof t&&t.prototype||la)}let ls=lo;var lu=sT(Object.keys,Object);let lc=lu;var ll=Object.prototype.hasOwnProperty;function lf(e){if(!ls(e))return lc(e);var t=[];for(var n in Object(e))ll.call(e,n)&&"constructor"!=n&&t.push(n);return t}let ld=lf;function lh(e){return null!=e&&cD(e.length)&&!ur(e)}let lp=lh;function lb(e){return lp(e)?li(e):ld(e)}let lm=lb;function lg(e,t){return e&&ch(t,lm(t),e)}let lv=lg;function ly(e){var t=[];if(null!=e)for(var n in Object(e))t.push(n);return t}let lw=ly;var l_=Object.prototype.hasOwnProperty;function lE(e){if(!ed(e))return lw(e);var t=ls(e),n=[];for(var r in e)"constructor"==r&&(t||!l_.call(e,r))||n.push(r);return n}let lS=lE;function lk(e){return lp(e)?li(e,!0):lS(e)}let lx=lk;function lT(e,t){return e&&ch(t,lx(t),e)}let lM=lT;var lO=n(42896);function lA(e,t){var n=-1,r=e.length;for(t||(t=Array(r));++n=0||(i[n]=e[n]);return i}function hu(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}var hc=function(e){return Array.isArray(e)&&0===e.length},hl=function(e){return"function"==typeof e},hf=function(e){return null!==e&&"object"==typeof e},hd=function(e){return String(Math.floor(Number(e)))===e},hh=function(e){return"[object String]"===Object.prototype.toString.call(e)},hp=function(e){return 0===l.Children.count(e)},hb=function(e){return hf(e)&&hl(e.then)};function hm(e,t,n,r){void 0===r&&(r=0);for(var i=d8(t);e&&r=0?[]:{}}}return(0===a?e:i)[o[a]]===n?e:(void 0===n?delete i[o[a]]:i[o[a]]=n,0===a&&void 0===n&&delete r[o[a]],r)}function hv(e,t,n,r){void 0===n&&(n=new WeakMap),void 0===r&&(r={});for(var i=0,a=Object.keys(e);i0?t.map(function(t){return x(t,hm(e,t))}):[Promise.resolve("DO_NOT_DELETE_YOU_WILL_BE_FIRED")]).then(function(e){return e.reduce(function(e,n,r){return"DO_NOT_DELETE_YOU_WILL_BE_FIRED"===n||n&&(e=hg(e,t[r],n)),e},{})})},[x]),M=(0,l.useCallback)(function(e){return Promise.all([T(e),h.validationSchema?k(e):{},h.validate?S(e):{}]).then(function(e){var t=e[0],n=e[1],r=e[2];return sk.all([t,n,r],{arrayMerge:hL})})},[h.validate,h.validationSchema,T,S,k]),O=hN(function(e){return void 0===e&&(e=_.values),E({type:"SET_ISVALIDATING",payload:!0}),M(e).then(function(e){return v.current&&(E({type:"SET_ISVALIDATING",payload:!1}),sd()(_.errors,e)||E({type:"SET_ERRORS",payload:e})),e})});(0,l.useEffect)(function(){o&&!0===v.current&&sd()(p.current,h.initialValues)&&O(p.current)},[o,O]);var A=(0,l.useCallback)(function(e){var t=e&&e.values?e.values:p.current,n=e&&e.errors?e.errors:b.current?b.current:h.initialErrors||{},r=e&&e.touched?e.touched:m.current?m.current:h.initialTouched||{},i=e&&e.status?e.status:g.current?g.current:h.initialStatus;p.current=t,b.current=n,m.current=r,g.current=i;var a=function(){E({type:"RESET_FORM",payload:{isSubmitting:!!e&&!!e.isSubmitting,errors:n,touched:r,status:i,values:t,isValidating:!!e&&!!e.isValidating,submitCount:e&&e.submitCount&&"number"==typeof e.submitCount?e.submitCount:0}})};if(h.onReset){var o=h.onReset(_.values,V);hb(o)?o.then(a):a()}else a()},[h.initialErrors,h.initialStatus,h.initialTouched]);(0,l.useEffect)(function(){!0===v.current&&!sd()(p.current,h.initialValues)&&(c&&(p.current=h.initialValues,A()),o&&O(p.current))},[c,h.initialValues,A,o,O]),(0,l.useEffect)(function(){c&&!0===v.current&&!sd()(b.current,h.initialErrors)&&(b.current=h.initialErrors||hS,E({type:"SET_ERRORS",payload:h.initialErrors||hS}))},[c,h.initialErrors]),(0,l.useEffect)(function(){c&&!0===v.current&&!sd()(m.current,h.initialTouched)&&(m.current=h.initialTouched||hk,E({type:"SET_TOUCHED",payload:h.initialTouched||hk}))},[c,h.initialTouched]),(0,l.useEffect)(function(){c&&!0===v.current&&!sd()(g.current,h.initialStatus)&&(g.current=h.initialStatus,E({type:"SET_STATUS",payload:h.initialStatus}))},[c,h.initialStatus,h.initialTouched]);var L=hN(function(e){if(y.current[e]&&hl(y.current[e].validate)){var t=hm(_.values,e),n=y.current[e].validate(t);return hb(n)?(E({type:"SET_ISVALIDATING",payload:!0}),n.then(function(e){return e}).then(function(t){E({type:"SET_FIELD_ERROR",payload:{field:e,value:t}}),E({type:"SET_ISVALIDATING",payload:!1})})):(E({type:"SET_FIELD_ERROR",payload:{field:e,value:n}}),Promise.resolve(n))}return h.validationSchema?(E({type:"SET_ISVALIDATING",payload:!0}),k(_.values,e).then(function(e){return e}).then(function(t){E({type:"SET_FIELD_ERROR",payload:{field:e,value:t[e]}}),E({type:"SET_ISVALIDATING",payload:!1})})):Promise.resolve()}),C=(0,l.useCallback)(function(e,t){var n=t.validate;y.current[e]={validate:n}},[]),I=(0,l.useCallback)(function(e){delete y.current[e]},[]),D=hN(function(e,t){return E({type:"SET_TOUCHED",payload:e}),(void 0===t?i:t)?O(_.values):Promise.resolve()}),N=(0,l.useCallback)(function(e){E({type:"SET_ERRORS",payload:e})},[]),P=hN(function(e,t){var r=hl(e)?e(_.values):e;return E({type:"SET_VALUES",payload:r}),(void 0===t?n:t)?O(r):Promise.resolve()}),R=(0,l.useCallback)(function(e,t){E({type:"SET_FIELD_ERROR",payload:{field:e,value:t}})},[]),j=hN(function(e,t,r){return E({type:"SET_FIELD_VALUE",payload:{field:e,value:t}}),(void 0===r?n:r)?O(hg(_.values,e,t)):Promise.resolve()}),F=(0,l.useCallback)(function(e,t){var n,r=t,i=e;if(!hh(e)){e.persist&&e.persist();var a=e.target?e.target:e.currentTarget,o=a.type,s=a.name,u=a.id,c=a.value,l=a.checked,f=(a.outerHTML,a.options),d=a.multiple;r=t||s||u,i=/number|range/.test(o)?(n=parseFloat(c),isNaN(n)?"":n):/checkbox/.test(o)?hI(hm(_.values,r),l,c):d?hC(f):c}r&&j(r,i)},[j,_.values]),Y=hN(function(e){if(hh(e))return function(t){return F(t,e)};F(e)}),B=hN(function(e,t,n){return void 0===t&&(t=!0),E({type:"SET_FIELD_TOUCHED",payload:{field:e,value:t}}),(void 0===n?i:n)?O(_.values):Promise.resolve()}),U=(0,l.useCallback)(function(e,t){e.persist&&e.persist();var n,r=e.target,i=r.name,a=r.id;r.outerHTML,B(t||i||a,!0)},[B]),H=hN(function(e){if(hh(e))return function(t){return U(t,e)};U(e)}),$=(0,l.useCallback)(function(e){hl(e)?E({type:"SET_FORMIK_STATE",payload:e}):E({type:"SET_FORMIK_STATE",payload:function(){return e}})},[]),z=(0,l.useCallback)(function(e){E({type:"SET_STATUS",payload:e})},[]),G=(0,l.useCallback)(function(e){E({type:"SET_ISSUBMITTING",payload:e})},[]),W=hN(function(){return E({type:"SUBMIT_ATTEMPT"}),O().then(function(e){var t,n=e instanceof Error;if(!n&&0===Object.keys(e).length){try{if(void 0===(t=q()))return}catch(r){throw r}return Promise.resolve(t).then(function(e){return v.current&&E({type:"SUBMIT_SUCCESS"}),e}).catch(function(e){if(v.current)throw E({type:"SUBMIT_FAILURE"}),e})}if(v.current&&(E({type:"SUBMIT_FAILURE"}),n))throw e})}),K=hN(function(e){e&&e.preventDefault&&hl(e.preventDefault)&&e.preventDefault(),e&&e.stopPropagation&&hl(e.stopPropagation)&&e.stopPropagation(),W().catch(function(e){console.warn("Warning: An unhandled error was caught from submitForm()",e)})}),V={resetForm:A,validateForm:O,validateField:L,setErrors:N,setFieldError:R,setFieldTouched:B,setFieldValue:j,setStatus:z,setSubmitting:G,setTouched:D,setValues:P,setFormikState:$,submitForm:W},q=hN(function(){return f(_.values,V)}),Z=hN(function(e){e&&e.preventDefault&&hl(e.preventDefault)&&e.preventDefault(),e&&e.stopPropagation&&hl(e.stopPropagation)&&e.stopPropagation(),A()}),X=(0,l.useCallback)(function(e){return{value:hm(_.values,e),error:hm(_.errors,e),touched:!!hm(_.touched,e),initialValue:hm(p.current,e),initialTouched:!!hm(m.current,e),initialError:hm(b.current,e)}},[_.errors,_.touched,_.values]),J=(0,l.useCallback)(function(e){return{setValue:function(t,n){return j(e,t,n)},setTouched:function(t,n){return B(e,t,n)},setError:function(t){return R(e,t)}}},[j,B,R]),Q=(0,l.useCallback)(function(e){var t=hf(e),n=t?e.name:e,r=hm(_.values,n),i={name:n,value:r,onChange:Y,onBlur:H};if(t){var a=e.type,o=e.value,s=e.as,u=e.multiple;"checkbox"===a?void 0===o?i.checked=!!r:(i.checked=!!(Array.isArray(r)&&~r.indexOf(o)),i.value=o):"radio"===a?(i.checked=r===o,i.value=o):"select"===s&&u&&(i.value=i.value||[],i.multiple=!0)}return i},[H,Y,_.values]),ee=(0,l.useMemo)(function(){return!sd()(p.current,_.values)},[p.current,_.values]),et=(0,l.useMemo)(function(){return void 0!==s?ee?_.errors&&0===Object.keys(_.errors).length:!1!==s&&hl(s)?s(h):s:_.errors&&0===Object.keys(_.errors).length},[s,ee,_.errors,h]);return ha({},_,{initialValues:p.current,initialErrors:b.current,initialTouched:m.current,initialStatus:g.current,handleBlur:H,handleChange:Y,handleReset:Z,handleSubmit:K,resetForm:A,setErrors:N,setFormikState:$,setFieldTouched:B,setFieldValue:j,setFieldError:R,setStatus:z,setSubmitting:G,setTouched:D,setValues:P,submitForm:W,validateForm:O,validateField:L,isValid:et,dirty:ee,unregisterField:I,registerField:C,getFieldProps:Q,getFieldMeta:X,getFieldHelpers:J,validateOnBlur:i,validateOnChange:n,validateOnMount:o})}function hT(e){var t=hx(e),n=e.component,r=e.children,i=e.render,a=e.innerRef;return(0,l.useImperativeHandle)(a,function(){return t}),(0,l.createElement)(hw,{value:t},n?(0,l.createElement)(n,t):i?i(t):r?hl(r)?r(t):hp(r)?null:l.Children.only(r):null)}function hM(e){var t={};if(e.inner){if(0===e.inner.length)return hg(t,e.path,e.message);for(var n=e.inner,r=Array.isArray(n),i=0,n=r?n:n[Symbol.iterator]();;){if(r){if(i>=n.length)break;a=n[i++]}else{if((i=n.next()).done)break;a=i.value}var a,o=a;hm(t,o.path)||(t=hg(t,o.path,o.message))}}return t}function hO(e,t,n,r){void 0===n&&(n=!1),void 0===r&&(r={});var i=hA(e);return t[n?"validateSync":"validate"](i,{abortEarly:!1,context:r})}function hA(e){var t=Array.isArray(e)?[]:{};for(var n in e)if(Object.prototype.hasOwnProperty.call(e,n)){var r=String(n);!0===Array.isArray(e[r])?t[r]=e[r].map(function(e){return!0===Array.isArray(e)||sR(e)?hA(e):""!==e?e:void 0}):sR(e[r])?t[r]=hA(e[r]):t[r]=""!==e[r]?e[r]:void 0}return t}function hL(e,t,n){var r=e.slice();return t.forEach(function(t,i){if(void 0===r[i]){var a=!1!==n.clone&&n.isMergeableObject(t);r[i]=a?sk(Array.isArray(t)?[]:{},t,n):t}else n.isMergeableObject(t)?r[i]=sk(e[i],t,n):-1===e.indexOf(t)&&r.push(t)}),r}function hC(e){return Array.from(e).filter(function(e){return e.selected}).map(function(e){return e.value})}function hI(e,t,n){if("boolean"==typeof e)return Boolean(t);var r=[],i=!1,a=-1;if(Array.isArray(e))r=e,i=(a=e.indexOf(n))>=0;else if(!n||"true"==n||"false"==n)return Boolean(t);return t&&n&&!i?r.concat(n):i?r.slice(0,a).concat(r.slice(a+1)):r}var hD="undefined"!=typeof window&&void 0!==window.document&&void 0!==window.document.createElement?l.useLayoutEffect:l.useEffect;function hN(e){var t=(0,l.useRef)(e);return hD(function(){t.current=e}),(0,l.useCallback)(function(){for(var e=arguments.length,n=Array(e),r=0;re?t:e},0);return Array.from(ha({},e,{length:t+1}))};(function(e){function t(t){var n;return(n=e.call(this,t)||this).updateArrayField=function(e,t,r){var i=n.props,a=i.name;(0,i.formik.setFormikState)(function(n){var i="function"==typeof r?r:e,o="function"==typeof t?t:e,s=hg(n.values,a,e(hm(n.values,a))),u=r?i(hm(n.errors,a)):void 0,c=t?o(hm(n.touched,a)):void 0;return hc(u)&&(u=void 0),hc(c)&&(c=void 0),ha({},n,{values:s,errors:r?hg(n.errors,a,u):n.errors,touched:t?hg(n.touched,a,c):n.touched})})},n.push=function(e){return n.updateArrayField(function(t){return[].concat(hU(t),[hi(e)])},!1,!1)},n.handlePush=function(e){return function(){return n.push(e)}},n.swap=function(e,t){return n.updateArrayField(function(n){return hF(n,e,t)},!0,!0)},n.handleSwap=function(e,t){return function(){return n.swap(e,t)}},n.move=function(e,t){return n.updateArrayField(function(n){return hj(n,e,t)},!0,!0)},n.handleMove=function(e,t){return function(){return n.move(e,t)}},n.insert=function(e,t){return n.updateArrayField(function(n){return hY(n,e,t)},function(t){return hY(t,e,null)},function(t){return hY(t,e,null)})},n.handleInsert=function(e,t){return function(){return n.insert(e,t)}},n.replace=function(e,t){return n.updateArrayField(function(n){return hB(n,e,t)},!1,!1)},n.handleReplace=function(e,t){return function(){return n.replace(e,t)}},n.unshift=function(e){var t=-1;return n.updateArrayField(function(n){var r=n?[e].concat(n):[e];return t<0&&(t=r.length),r},function(e){var n=e?[null].concat(e):[null];return t<0&&(t=n.length),n},function(e){var n=e?[null].concat(e):[null];return t<0&&(t=n.length),n}),t},n.handleUnshift=function(e){return function(){return n.unshift(e)}},n.handleRemove=function(e){return function(){return n.remove(e)}},n.handlePop=function(){return function(){return n.pop()}},n.remove=n.remove.bind(hu(n)),n.pop=n.pop.bind(hu(n)),n}ho(t,e);var n=t.prototype;return n.componentDidUpdate=function(e){this.props.validateOnChange&&this.props.formik.validateOnChange&&!sd()(hm(e.formik.values,e.name),hm(this.props.formik.values,this.props.name))&&this.props.formik.validateForm(this.props.formik.values)},n.remove=function(e){var t;return this.updateArrayField(function(n){var r=n?hU(n):[];return t||(t=r[e]),hl(r.splice)&&r.splice(e,1),r},!0,!0),t},n.pop=function(){var e;return this.updateArrayField(function(t){var n=t;return e||(e=n&&n.pop&&n.pop()),n},!0,!0),e},n.render=function(){var e={push:this.push,pop:this.pop,swap:this.swap,move:this.move,insert:this.insert,replace:this.replace,unshift:this.unshift,remove:this.remove,handlePush:this.handlePush,handlePop:this.handlePop,handleSwap:this.handleSwap,handleMove:this.handleMove,handleInsert:this.handleInsert,handleReplace:this.handleReplace,handleUnshift:this.handleUnshift,handleRemove:this.handleRemove},t=this.props,n=t.component,r=t.render,i=t.children,a=t.name,o=hs(t.formik,["validate","validationSchema"]),s=ha({},e,{form:o,name:a});return n?(0,l.createElement)(n,s):r?r(s):i?"function"==typeof i?i(s):hp(i)?null:l.Children.only(i):null},t})(l.Component).defaultProps={validateOnChange:!0},l.Component,l.Component;var hH=n(24802),h$=n(71209),hz=n(91750),hG=n(11970),hW=n(4689),hK=n(67598),hV=function(){return(hV=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&(n[r[i]]=e[r[i]]);return n}function hZ(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form,o=a.isSubmitting,s=a.touched,u=a.errors,c=e.onBlur,l=e.helperText,f=hq(e,["disabled","field","form","onBlur","helperText"]),d=hm(u,i.name),h=hm(s,i.name)&&!!d;return hV(hV({variant:f.variant,error:h,helperText:h?d:l,disabled:null!=t?t:o,onBlur:null!=c?c:function(e){r(null!=e?e:i.name)}},i),f)}function hX(e){var t=e.children,n=hq(e,["children"]);return(0,l.createElement)(iw.Z,hV({},hZ(n)),t)}function hJ(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form.isSubmitting,o=(e.type,e.onBlur),s=hq(e,["disabled","field","form","type","onBlur"]);return hV(hV({disabled:null!=t?t:a,onBlur:null!=o?o:function(e){r(null!=e?e:i.name)}},i),s)}function hQ(e){return(0,l.createElement)(hH.Z,hV({},hJ(e)))}function h1(e){var t,n=e.disabled,r=e.field,i=r.onBlur,a=hq(r,["onBlur"]),o=e.form.isSubmitting,s=(e.type,e.onBlur),u=hq(e,["disabled","field","form","type","onBlur"]);return hV(hV({disabled:null!=n?n:o,indeterminate:!Array.isArray(a.value)&&null==a.value,onBlur:null!=s?s:function(e){i(null!=e?e:a.name)}},a),u)}function h0(e){return(0,l.createElement)(h$.Z,hV({},h1(e)))}function h2(e){var t=e.Label,n=hq(e,["Label"]);return(0,l.createElement)(hz.Z,hV({control:(0,l.createElement)(h$.Z,hV({},h1(n)))},t))}function h3(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form.isSubmitting,o=e.onBlur,s=hq(e,["disabled","field","form","onBlur"]);return hV(hV({disabled:null!=t?t:a,onBlur:null!=o?o:function(e){r(null!=e?e:i.name)}},i),s)}function h4(e){return(0,l.createElement)(hG.default,hV({},h3(e)))}function h6(e){var t=e.field,n=t.onBlur,r=hq(t,["onBlur"]),i=(e.form,e.onBlur),a=hq(e,["field","form","onBlur"]);return hV(hV({onBlur:null!=i?i:function(e){n(null!=e?e:r.name)}},r),a)}function h5(e){return(0,l.createElement)(hW.Z,hV({},h6(e)))}function h8(e){var t=e.disabled,n=e.field,r=n.onBlur,i=hq(n,["onBlur"]),a=e.form.isSubmitting,o=e.onBlur,s=hq(e,["disabled","field","form","onBlur"]);return hV(hV({disabled:null!=t?t:a,onBlur:null!=o?o:function(e){r(null!=e?e:i.name)}},i),s)}function h9(e){return(0,l.createElement)(hK.default,hV({},h8(e)))}hX.displayName="FormikMaterialUITextField",hQ.displayName="FormikMaterialUISwitch",h0.displayName="FormikMaterialUICheckbox",h2.displayName="FormikMaterialUICheckboxWithLabel",h4.displayName="FormikMaterialUISelect",h5.displayName="FormikMaterialUIRadioGroup",h9.displayName="FormikMaterialUIInputBase";try{a=Map}catch(h7){}try{o=Set}catch(pe){}function pt(e,t,n){if(!e||"object"!=typeof e||"function"==typeof e)return e;if(e.nodeType&&"cloneNode"in e)return e.cloneNode(!0);if(e instanceof Date)return new Date(e.getTime());if(e instanceof RegExp)return RegExp(e);if(Array.isArray(e))return e.map(pn);if(a&&e instanceof a)return new Map(Array.from(e.entries()));if(o&&e instanceof o)return new Set(Array.from(e.values()));if(e instanceof Object){t.push(e);var r=Object.create(e);for(var i in n.push(r),e){var s=t.findIndex(function(t){return t===e[i]});r[i]=s>-1?n[s]:pt(e[i],t,n)}return r}return e}function pn(e){return pt(e,[],[])}let pr=Object.prototype.toString,pi=Error.prototype.toString,pa=RegExp.prototype.toString,po="undefined"!=typeof Symbol?Symbol.prototype.toString:()=>"",ps=/^Symbol\((.*)\)(.*)$/;function pu(e){if(e!=+e)return"NaN";let t=0===e&&1/e<0;return t?"-0":""+e}function pc(e,t=!1){if(null==e||!0===e||!1===e)return""+e;let n=typeof e;if("number"===n)return pu(e);if("string"===n)return t?`"${e}"`:e;if("function"===n)return"[Function "+(e.name||"anonymous")+"]";if("symbol"===n)return po.call(e).replace(ps,"Symbol($1)");let r=pr.call(e).slice(8,-1);return"Date"===r?isNaN(e.getTime())?""+e:e.toISOString(e):"Error"===r||e instanceof Error?"["+pi.call(e)+"]":"RegExp"===r?pa.call(e):null}function pl(e,t){let n=pc(e,t);return null!==n?n:JSON.stringify(e,function(e,n){let r=pc(this[e],t);return null!==r?r:n},2)}let pf={default:"${path} is invalid",required:"${path} is a required field",oneOf:"${path} must be one of the following values: ${values}",notOneOf:"${path} must not be one of the following values: ${values}",notType({path:e,type:t,value:n,originalValue:r}){let i=null!=r&&r!==n,a=`${e} must be a \`${t}\` type, but the final value was: \`${pl(n,!0)}\``+(i?` (cast from the value \`${pl(r,!0)}\`).`:".");return null===n&&(a+='\n If "null" is intended as an empty value be sure to mark the schema as `.nullable()`'),a},defined:"${path} must be defined"},pd={length:"${path} must be exactly ${length} characters",min:"${path} must be at least ${min} characters",max:"${path} must be at most ${max} characters",matches:'${path} must match the following: "${regex}"',email:"${path} must be a valid email",url:"${path} must be a valid URL",uuid:"${path} must be a valid UUID",trim:"${path} must be a trimmed string",lowercase:"${path} must be a lowercase string",uppercase:"${path} must be a upper case string"},ph={min:"${path} must be greater than or equal to ${min}",max:"${path} must be less than or equal to ${max}",lessThan:"${path} must be less than ${less}",moreThan:"${path} must be greater than ${more}",positive:"${path} must be a positive number",negative:"${path} must be a negative number",integer:"${path} must be an integer"},pp={min:"${path} field must be later than ${min}",max:"${path} field must be at earlier than ${max}"},pb={isValue:"${path} field must be ${value}"},pm={noUnknown:"${path} field has unspecified keys: ${unknown}"},pg={min:"${path} field must have at least ${min} items",max:"${path} field must have less than or equal to ${max} items",length:"${path} must be have ${length} items"};Object.assign(Object.create(null),{mixed:pf,string:pd,number:ph,date:pp,object:pm,array:pg,boolean:pb});var pv=n(18721),py=n.n(pv);let pw=e=>e&&e.__isYupSchema__;class p_{constructor(e,t){if(this.refs=e,this.refs=e,"function"==typeof t){this.fn=t;return}if(!py()(t,"is"))throw TypeError("`is:` is required for `when()` conditions");if(!t.then&&!t.otherwise)throw TypeError("either `then:` or `otherwise:` is required for `when()` conditions");let{is:n,then:r,otherwise:i}=t,a="function"==typeof n?n:(...e)=>e.every(e=>e===n);this.fn=function(...e){let t=e.pop(),n=e.pop(),o=a(...e)?r:i;if(o)return"function"==typeof o?o(n):n.concat(o.resolve(t))}}resolve(e,t){let n=this.refs.map(e=>e.getValue(null==t?void 0:t.value,null==t?void 0:t.parent,null==t?void 0:t.context)),r=this.fn.apply(e,n.concat(e,t));if(void 0===r||r===e)return e;if(!pw(r))throw TypeError("conditions must return a schema object");return r.resolve(t)}}let pE=p_;function pS(e){return null==e?[]:[].concat(e)}function pk(){return(pk=Object.assign||function(e){for(var t=1;tpl(t[n])):"function"==typeof e?e(t):e}static isError(e){return e&&"ValidationError"===e.name}constructor(e,t,n,r){super(),this.name="ValidationError",this.value=t,this.path=n,this.type=r,this.errors=[],this.inner=[],pS(e).forEach(e=>{pT.isError(e)?(this.errors.push(...e.errors),this.inner=this.inner.concat(e.inner.length?e.inner:e)):this.errors.push(e)}),this.message=this.errors.length>1?`${this.errors.length} errors occurred`:this.errors[0],Error.captureStackTrace&&Error.captureStackTrace(this,pT)}}let pM=e=>{let t=!1;return(...n)=>{t||(t=!0,e(...n))}};function pO(e,t){let{endEarly:n,tests:r,args:i,value:a,errors:o,sort:s,path:u}=e,c=pM(t),l=r.length,f=[];if(o=o||[],!l)return o.length?c(new pT(o,a,u)):c(null,a);for(let d=0;d=0||(i[n]=e[n]);return i}function pR(e){function t(t,n){let{value:r,path:i="",label:a,options:o,originalValue:s,sync:u}=t,c=pP(t,["value","path","label","options","originalValue","sync"]),{name:l,test:f,params:d,message:h}=e,{parent:p,context:b}=o;function m(e){return pD.isRef(e)?e.getValue(r,p,b):e}function g(e={}){let t=pL()(pN({value:r,originalValue:s,label:a,path:e.path||i},d,e.params),m),n=new pT(pT.formatError(e.message||h,t),r,t.path,e.type||l);return n.params=t,n}let v=pN({path:i,parent:p,type:l,createError:g,resolve:m,options:o,originalValue:s},c);if(!u){try{Promise.resolve(f.call(v,r,v)).then(e=>{pT.isError(e)?n(e):e?n(null,e):n(g())})}catch(y){n(y)}return}let w;try{var _;if(w=f.call(v,r,v),"function"==typeof(null==(_=w)?void 0:_.then))throw Error(`Validation test of type: "${v.type}" returned a Promise during a synchronous validate. This test will finish after the validate call has returned`)}catch(E){n(E);return}pT.isError(w)?n(w):w?n(null,w):n(g())}return t.OPTIONS=e,t}pD.prototype.__isYupRef=!0;let pj=e=>e.substr(0,e.length-1).substr(1);function pF(e,t,n,r=n){let i,a,o;return t?((0,pC.forEach)(t,(s,u,c)=>{let l=u?pj(s):s;if((e=e.resolve({context:r,parent:i,value:n})).innerType){let f=c?parseInt(l,10):0;if(n&&f>=n.length)throw Error(`Yup.reach cannot resolve an array item at index: ${s}, in the path: ${t}. because there is no value at that index. `);i=n,n=n&&n[f],e=e.innerType}if(!c){if(!e.fields||!e.fields[l])throw Error(`The schema does not contain the path: ${t}. (failed at: ${o} which is a type: "${e._type}")`);i=n,n=n&&n[l],e=e.fields[l]}a=l,o=u?"["+s+"]":"."+s}),{schema:e,parent:i,parentPath:a}):{parent:i,parentPath:t,schema:e}}class pY{constructor(){this.list=new Set,this.refs=new Map}get size(){return this.list.size+this.refs.size}describe(){let e=[];for(let t of this.list)e.push(t);for(let[,n]of this.refs)e.push(n.describe());return e}toArray(){return Array.from(this.list).concat(Array.from(this.refs.values()))}add(e){pD.isRef(e)?this.refs.set(e.key,e):this.list.add(e)}delete(e){pD.isRef(e)?this.refs.delete(e.key):this.list.delete(e)}has(e,t){if(this.list.has(e))return!0;let n,r=this.refs.values();for(;!(n=r.next()).done;)if(t(n.value)===e)return!0;return!1}clone(){let e=new pY;return e.list=new Set(this.list),e.refs=new Map(this.refs),e}merge(e,t){let n=this.clone();return e.list.forEach(e=>n.add(e)),e.refs.forEach(e=>n.add(e)),t.list.forEach(e=>n.delete(e)),t.refs.forEach(e=>n.delete(e)),n}}function pB(){return(pB=Object.assign||function(e){for(var t=1;t{this.typeError(pf.notType)}),this.type=(null==e?void 0:e.type)||"mixed",this.spec=pB({strip:!1,strict:!1,abortEarly:!0,recursive:!0,nullable:!1,presence:"optional"},null==e?void 0:e.spec)}get _type(){return this.type}_typeCheck(e){return!0}clone(e){if(this._mutate)return e&&Object.assign(this.spec,e),this;let t=Object.create(Object.getPrototypeOf(this));return t.type=this.type,t._typeError=this._typeError,t._whitelistError=this._whitelistError,t._blacklistError=this._blacklistError,t._whitelist=this._whitelist.clone(),t._blacklist=this._blacklist.clone(),t.exclusiveTests=pB({},this.exclusiveTests),t.deps=[...this.deps],t.conditions=[...this.conditions],t.tests=[...this.tests],t.transforms=[...this.transforms],t.spec=pn(pB({},this.spec,e)),t}label(e){var t=this.clone();return t.spec.label=e,t}meta(...e){if(0===e.length)return this.spec.meta;let t=this.clone();return t.spec.meta=Object.assign(t.spec.meta||{},e[0]),t}withMutation(e){let t=this._mutate;this._mutate=!0;let n=e(this);return this._mutate=t,n}concat(e){if(!e||e===this)return this;if(e.type!==this.type&&"mixed"!==this.type)throw TypeError(`You cannot \`concat()\` schema's of different types: ${this.type} and ${e.type}`);let t=this,n=e.clone(),r=pB({},t.spec,n.spec);return n.spec=r,n._typeError||(n._typeError=t._typeError),n._whitelistError||(n._whitelistError=t._whitelistError),n._blacklistError||(n._blacklistError=t._blacklistError),n._whitelist=t._whitelist.merge(e._whitelist,e._blacklist),n._blacklist=t._blacklist.merge(e._blacklist,e._whitelist),n.tests=t.tests,n.exclusiveTests=t.exclusiveTests,n.withMutation(t=>{e.tests.forEach(e=>{t.test(e.OPTIONS)})}),n}isType(e){return!!this.spec.nullable&&null===e||this._typeCheck(e)}resolve(e){let t=this;if(t.conditions.length){let n=t.conditions;(t=t.clone()).conditions=[],t=(t=n.reduce((t,n)=>n.resolve(t,e),t)).resolve(e)}return t}cast(e,t={}){let n=this.resolve(pB({value:e},t)),r=n._cast(e,t);if(void 0!==e&&!1!==t.assert&&!0!==n.isType(r)){let i=pl(e),a=pl(r);throw TypeError(`The value of ${t.path||"field"} could not be cast to a value that satisfies the schema type: "${n._type}". attempted value: ${i} -`+(a!==i?`result of cast: ${a}`:""))}return r}_cast(e,t){let n=void 0===e?e:this.transforms.reduce((t,n)=>n.call(this,t,e,this),e);return void 0===n&&(n=this.getDefault()),n}_validate(e,t={},n){let{sync:r,path:i,from:a=[],originalValue:o=e,strict:s=this.spec.strict,abortEarly:u=this.spec.abortEarly}=t,c=e;s||(c=this._cast(c,pB({assert:!1},t)));let l={value:c,path:i,options:t,originalValue:o,schema:this,label:this.spec.label,sync:r,from:a},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),pO({args:l,value:c,path:i,sync:r,tests:f,endEarly:u},e=>{if(e)return void n(e,c);pO({tests:this.tests,args:l,path:i,sync:r,value:c,endEarly:u},n)})}validate(e,t,n){let r=this.resolve(pB({},t,{value:e}));return"function"==typeof n?r._validate(e,t,n):new Promise((n,i)=>r._validate(e,t,(e,t)=>{e?i(e):n(t)}))}validateSync(e,t){let n;return this.resolve(pB({},t,{value:e}))._validate(e,pB({},t,{sync:!0}),(e,t)=>{if(e)throw e;n=t}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,e=>{if(pT.isError(e))return!1;throw e})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(n){if(pT.isError(n))return!1;throw n}}_getDefault(){let e=this.spec.default;return null==e?e:"function"==typeof e?e.call(this):pn(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return 0===arguments.length?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return null!=e}defined(e=pf.defined){return this.test({message:e,name:"defined",exclusive:!0,test:e=>void 0!==e})}required(e=pf.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(e){return this.schema._isPresent(e)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(e=>"required"!==e.OPTIONS.name),e}nullable(e=!0){return this.clone({nullable:!1!==e})}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(void 0===(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]}).message&&(t.message=pf.default),"function"!=typeof t.test)throw TypeError("`test` is a required parameters");let n=this.clone(),r=pR(t),i=t.exclusive||t.name&&!0===n.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(n.exclusiveTests[t.name]=!!t.exclusive),n.tests=n.tests.filter(e=>e.OPTIONS.name!==t.name||!i&&e.OPTIONS.test!==r.OPTIONS.test),n.tests.push(r),n}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let n=this.clone(),r=pS(e).map(e=>new pD(e));return r.forEach(e=>{e.isSibling&&n.deps.push(e.key)}),n.conditions.push(new pE(r,t)),n}typeError(e){var t=this.clone();return t._typeError=pR({message:e,name:"typeError",test(e){return!!(void 0===e||this.schema.isType(e))||this.createError({params:{type:this.schema._type}})}}),t}oneOf(e,t=pf.oneOf){var n=this.clone();return e.forEach(e=>{n._whitelist.add(e),n._blacklist.delete(e)}),n._whitelistError=pR({message:t,name:"oneOf",test(e){if(void 0===e)return!0;let t=this.schema._whitelist;return!!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),n}notOneOf(e,t=pf.notOneOf){var n=this.clone();return e.forEach(e=>{n._blacklist.add(e),n._whitelist.delete(e)}),n._blacklistError=pR({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist;return!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),n}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:n}=e.spec,r={meta:n,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(e=>({name:e.OPTIONS.name,params:e.OPTIONS.params})).filter((e,t,n)=>n.findIndex(t=>t.name===e.name)===t)};return r}}for(let pH of(pU.prototype.__isYupSchema__=!0,["validate","validateSync"]))pU.prototype[`${pH}At`]=function(e,t,n={}){let{parent:r,parentPath:i,schema:a}=pF(this,e,t,n.context);return a[pH](r&&r[i],pB({},n,{parent:r,path:e}))};for(let p$ of["equals","is"])pU.prototype[p$]=pU.prototype.oneOf;for(let pz of["not","nope"])pU.prototype[pz]=pU.prototype.notOneOf;pU.prototype.optional=pU.prototype.notRequired;let pG=pU;function pW(){return new pG}pW.prototype=pG.prototype;let pK=e=>null==e;function pV(){return new pq}class pq extends pU{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),"boolean"==typeof e}isTrue(e=pb.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test:e=>pK(e)||!0===e})}isFalse(e=pb.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test:e=>pK(e)||!1===e})}}pV.prototype=pq.prototype;let pZ=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,pX=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,pJ=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,pQ=e=>pK(e)||e===e.trim(),p1=({}).toString();function p0(){return new p2}class p2 extends pU{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=null!=e&&e.toString?e.toString():e;return t===p1?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),"string"==typeof e}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=pd.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(t){return pK(t)||t.length===this.resolve(e)}})}min(e,t=pd.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(t){return pK(t)||t.length>=this.resolve(e)}})}max(e,t=pd.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(t){return pK(t)||t.length<=this.resolve(e)}})}matches(e,t){let n=!1,r,i;return t&&("object"==typeof t?{excludeEmptyString:n=!1,message:r,name:i}=t:r=t),this.test({name:i||"matches",message:r||pd.matches,params:{regex:e},test:t=>pK(t)||""===t&&n||-1!==t.search(e)})}email(e=pd.email){return this.matches(pZ,{name:"email",message:e,excludeEmptyString:!0})}url(e=pd.url){return this.matches(pX,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=pd.uuid){return this.matches(pJ,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>null===e?"":e)}trim(e=pd.trim){return this.transform(e=>null!=e?e.trim():e).test({message:e,name:"trim",test:pQ})}lowercase(e=pd.lowercase){return this.transform(e=>pK(e)?e:e.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:e=>pK(e)||e===e.toLowerCase()})}uppercase(e=pd.uppercase){return this.transform(e=>pK(e)?e:e.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:e=>pK(e)||e===e.toUpperCase()})}}p0.prototype=p2.prototype;let p3=e=>e!=+e;function p4(){return new p6}class p6 extends pU{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if("string"==typeof t){if(""===(t=t.replace(/\s/g,"")))return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),"number"==typeof e&&!p3(e)}min(e,t=ph.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(t){return pK(t)||t>=this.resolve(e)}})}max(e,t=ph.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(t){return pK(t)||t<=this.resolve(e)}})}lessThan(e,t=ph.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(t){return pK(t)||tthis.resolve(e)}})}positive(e=ph.positive){return this.moreThan(0,e)}negative(e=ph.negative){return this.lessThan(0,e)}integer(e=ph.integer){return this.test({name:"integer",message:e,test:e=>pK(e)||Number.isInteger(e)})}truncate(){return this.transform(e=>pK(e)?e:0|e)}round(e){var t,n=["ceil","floor","round","trunc"];if("trunc"===(e=(null==(t=e)?void 0:t.toLowerCase())||"round"))return this.truncate();if(-1===n.indexOf(e.toLowerCase()))throw TypeError("Only valid options for round() are: "+n.join(", "));return this.transform(t=>pK(t)?t:Math[e](t))}}p4.prototype=p6.prototype;var p5=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function p8(e){var t,n,r=[1,4,5,6,7,10,11],i=0;if(n=p5.exec(e)){for(var a,o=0;a=r[o];++o)n[a]=+n[a]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(void 0===n[8]||""===n[8])&&(void 0===n[9]||""===n[9])?t=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):("Z"!==n[8]&&void 0!==n[9]&&(i=60*n[10]+n[11],"+"===n[9]&&(i=0-i)),t=Date.UTC(n[1],n[2],n[3],n[4],n[5]+i,n[6],n[7]))}else t=Date.parse?Date.parse(e):NaN;return t}let p9=new Date(""),p7=e=>"[object Date]"===Object.prototype.toString.call(e);function be(){return new bt}class bt extends pU{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=p8(e),isNaN(e)?p9:new Date(e))})})}_typeCheck(e){return p7(e)&&!isNaN(e.getTime())}prepareParam(e,t){let n;if(pD.isRef(e))n=e;else{let r=this.cast(e);if(!this._typeCheck(r))throw TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);n=r}return n}min(e,t=pp.min){let n=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(e){return pK(e)||e>=this.resolve(n)}})}max(e,t=pp.max){var n=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(e){return pK(e)||e<=this.resolve(n)}})}}bt.INVALID_DATE=p9,be.prototype=bt.prototype,be.INVALID_DATE=p9;var bn=n(11865),br=n.n(bn),bi=n(68929),ba=n.n(bi),bo=n(67523),bs=n.n(bo),bu=n(94633),bc=n.n(bu);function bl(e,t=[]){let n=[],r=[];function i(e,i){var a=(0,pC.split)(e)[0];~r.indexOf(a)||r.push(a),~t.indexOf(`${i}-${a}`)||n.push([i,a])}for(let a in e)if(py()(e,a)){let o=e[a];~r.indexOf(a)||r.push(a),pD.isRef(o)&&o.isSibling?i(o.path,a):pw(o)&&"deps"in o&&o.deps.forEach(e=>i(e,a))}return bc().array(r,n).reverse()}function bf(e,t){let n=1/0;return e.some((e,r)=>{var i;if((null==(i=t.path)?void 0:i.indexOf(e))!==-1)return n=r,!0}),n}function bd(e){return(t,n)=>bf(e,t)-bf(e,n)}function bh(){return(bh=Object.assign||function(e){for(var t=1;t"[object Object]"===Object.prototype.toString.call(e);function bb(e,t){let n=Object.keys(e.fields);return Object.keys(t).filter(e=>-1===n.indexOf(e))}let bm=bd([]);class bg extends pU{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=bm,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null}),e&&this.shape(e)})}_typeCheck(e){return bp(e)||"function"==typeof e}_cast(e,t={}){var n;let r=super._cast(e,t);if(void 0===r)return this.getDefault();if(!this._typeCheck(r))return r;let i=this.fields,a=null!=(n=t.stripUnknown)?n:this.spec.noUnknown,o=this._nodes.concat(Object.keys(r).filter(e=>-1===this._nodes.indexOf(e))),s={},u=bh({},t,{parent:s,__validating:t.__validating||!1}),c=!1;for(let l of o){let f=i[l],d=py()(r,l);if(f){let h,p=r[l];u.path=(t.path?`${t.path}.`:"")+l;let b="spec"in(f=f.resolve({value:p,context:t.context,parent:s}))?f.spec:void 0,m=null==b?void 0:b.strict;if(null==b?void 0:b.strip){c=c||l in r;continue}void 0!==(h=t.__validating&&m?r[l]:f.cast(r[l],u))&&(s[l]=h)}else d&&!a&&(s[l]=r[l]);s[l]!==r[l]&&(c=!0)}return c?s:r}_validate(e,t={},n){let r=[],{sync:i,from:a=[],originalValue:o=e,abortEarly:s=this.spec.abortEarly,recursive:u=this.spec.recursive}=t;a=[{schema:this,value:o},...a],t.__validating=!0,t.originalValue=o,t.from=a,super._validate(e,t,(e,c)=>{if(e){if(!pT.isError(e)||s)return void n(e,c);r.push(e)}if(!u||!bp(c)){n(r[0]||null,c);return}o=o||c;let l=this._nodes.map(e=>(n,r)=>{let i=-1===e.indexOf(".")?(t.path?`${t.path}.`:"")+e:`${t.path||""}["${e}"]`,s=this.fields[e];if(s&&"validate"in s){s.validate(c[e],bh({},t,{path:i,from:a,strict:!0,parent:c,originalValue:o[e]}),r);return}r(null)});pO({sync:i,tests:l,value:c,errors:r,endEarly:s,sort:this._sortErrors,path:t.path},n)})}clone(e){let t=super.clone(e);return t.fields=bh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),n=t.fields;for(let[r,i]of Object.entries(this.fields)){let a=n[r];void 0===a?n[r]=i:a instanceof pU&&i instanceof pU&&(n[r]=i.concat(a))}return t.withMutation(()=>t.shape(n))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let n=this.fields[t];e[t]="default"in n?n.getDefault():void 0}),e}_getDefault(){return"default"in this.spec?super._getDefault():this._nodes.length?this.getDefaultFromShape():void 0}shape(e,t=[]){let n=this.clone(),r=Object.assign(n.fields,e);if(n.fields=r,n._sortErrors=bd(Object.keys(r)),t.length){Array.isArray(t[0])||(t=[t]);let i=t.map(([e,t])=>`${e}-${t}`);n._excludedEdges=n._excludedEdges.concat(i)}return n._nodes=bl(r,n._excludedEdges),n}pick(e){let t={};for(let n of e)this.fields[n]&&(t[n]=this.fields[n]);return this.clone().withMutation(e=>(e.fields={},e.shape(t)))}omit(e){let t=this.clone(),n=t.fields;for(let r of(t.fields={},e))delete n[r];return t.withMutation(()=>t.shape(n))}from(e,t,n){let r=(0,pC.getter)(e,!0);return this.transform(i=>{if(null==i)return i;let a=i;return py()(i,e)&&(a=bh({},i),n||delete a[e],a[t]=r(i)),a})}noUnknown(e=!0,t=pm.noUnknown){"string"==typeof e&&(t=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;let n=bb(this.schema,t);return!e||0===n.length||this.createError({params:{unknown:n.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,t=pm.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&bs()(t,(t,n)=>e(n)))}camelCase(){return this.transformKeys(ba())}snakeCase(){return this.transformKeys(br())}constantCase(){return this.transformKeys(e=>br()(e).toUpperCase())}describe(){let e=super.describe();return e.fields=pL()(this.fields,e=>e.describe()),e}}function bv(e){return new bg(e)}function by(){return(by=Object.assign||function(e){for(var t=1;t{this.transform(function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let n=super._cast(e,t);if(!this._typeCheck(n)||!this.innerType)return n;let r=!1,i=n.map((e,n)=>{let i=this.innerType.cast(e,by({},t,{path:`${t.path||""}[${n}]`}));return i!==e&&(r=!0),i});return r?i:n}_validate(e,t={},n){var r,i;let a=[],o=t.sync,s=t.path,u=this.innerType,c=null!=(r=t.abortEarly)?r:this.spec.abortEarly,l=null!=(i=t.recursive)?i:this.spec.recursive,f=null!=t.originalValue?t.originalValue:e;super._validate(e,t,(e,r)=>{if(e){if(!pT.isError(e)||c)return void n(e,r);a.push(e)}if(!l||!u||!this._typeCheck(r)){n(a[0]||null,r);return}f=f||r;let i=Array(r.length);for(let d=0;du.validate(h,b,t)}pO({sync:o,path:s,value:r,errors:a,endEarly:c,tests:i},n)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!pw(e))throw TypeError("`array.of()` sub-schema must be a valid yup schema not: "+pl(e));return t.innerType=e,t}length(e,t=pg.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(t){return pK(t)||t.length===this.resolve(e)}})}min(e,t){return t=t||pg.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(t){return pK(t)||t.length>=this.resolve(e)}})}max(e,t){return t=t||pg.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(t){return pK(t)||t.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:null==t?[]:[].concat(t))}compact(e){let t=e?(t,n,r)=>!e(t,n,r):e=>!!e;return this.transform(e=>null!=e?e.filter(t):e)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}}bw.prototype=b_.prototype;var bE=bv().shape({name:p0().required("Required"),url:p0().required("Required")}),bS=function(e){var t=e.initialValues,n=e.onSubmit,r=e.submitButtonText,i=e.nameDisabled,a=void 0!==i&&i;return l.createElement(hT,{initialValues:t,validationSchema:bE,onSubmit:n},function(e){var t=e.isSubmitting;return l.createElement(l.Fragment,null,l.createElement(hR,{"data-testid":"bridge-form",noValidate:!0},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(hP,{component:hX,id:"name",name:"name",label:"Name",disabled:a,required:!0,fullWidth:!0,FormHelperTextProps:{"data-testid":"name-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(hP,{component:hX,id:"url",name:"url",label:"Bridge URL",placeholder:"https://",required:!0,fullWidth:!0,FormHelperTextProps:{"data-testid":"url-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:7},l.createElement(hP,{component:hX,id:"minimumContractPayment",name:"minimumContractPayment",label:"Minimum Contract Payment",placeholder:"0",fullWidth:!0,inputProps:{min:0},FormHelperTextProps:{"data-testid":"minimumContractPayment-helper-text"}})),l.createElement(d.Z,{item:!0,xs:7},l.createElement(hP,{component:hX,id:"confirmations",name:"confirmations",label:"Confirmations",placeholder:"0",type:"number",fullWidth:!0,inputProps:{min:0},FormHelperTextProps:{"data-testid":"confirmations-helper-text"}})))),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(ok.default,{variant:"contained",color:"primary",type:"submit",disabled:t,size:"large"},r)))))})},bk=function(e){var t=e.bridge,n=e.onSubmit,r={name:t.name,url:t.url,minimumContractPayment:t.minimumContractPayment,confirmations:t.confirmations};return l.createElement(ig,null,l.createElement(d.Z,{container:!0,spacing:40},l.createElement(d.Z,{item:!0,xs:12,md:11,lg:9},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Edit Bridge",action:l.createElement(aA.Z,{component:tz,href:"/bridges/".concat(t.id)},"Cancel")}),l.createElement(aW.Z,null,l.createElement(bS,{nameDisabled:!0,initialValues:r,onSubmit:n,submitButtonText:"Save Bridge"}))))))};function bx(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]&&arguments[0],t=e?function(){return l.createElement(x.default,{variant:"body1"},"Loading...")}:function(){return null};return{isLoading:e,LoadingPlaceholder:t}},mc=n(76023);function ml(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function mB(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=4?[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]:void 0}var mZ={};function mX(e){if(0===e.length||1===e.length)return e;var t=e.join(".");return mZ[t]||(mZ[t]=mq(e)),mZ[t]}function mJ(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return mX(e.filter(function(e){return"token"!==e})).reduce(function(e,t){return mK({},e,n[t])},t)}function mQ(e){return e.join(" ")}function m1(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return m0({node:r,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(i)})})}}function m0(e){var t=e.node,n=e.stylesheet,r=e.style,i=void 0===r?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,u=t.type,c=t.tagName,f=t.value;if("text"===u)return f;if(c){var d,h=m1(n,a);if(a){var p=Object.keys(n).reduce(function(e,t){return t.split(".").forEach(function(t){e.includes(t)||e.push(t)}),e},[]),b=s.className&&s.className.includes("token")?["token"]:[],m=s.className&&b.concat(s.className.filter(function(e){return!p.includes(e)}));d=mK({},s,{className:mQ(m)||void 0,style:mJ(s.className,Object.assign({},s.style,i),n)})}else d=mK({},s,{className:mQ(s.className)});var g=h(t.children);return l.createElement(c,(0,mV.Z)({key:o},d),g)}}let m2=function(e,t){return -1!==e.listLanguages().indexOf(t)};var m3=/\n/g;function m4(e){return e.match(m3)}function m6(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return l.createElement("span",{key:"line-".concat(t),className:"react-syntax-highlighter-line-number",style:"function"==typeof r?r(i):r},"".concat(i,"\n"))})}function m5(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=void 0===r?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,o=void 0===a?{}:a,s=e.startingLineNumber;return l.createElement("code",{style:Object.assign({},n,i)},m6({lines:t.replace(/\n$/,"").split("\n"),style:o,startingLineNumber:s}))}function m8(e){return"".concat(e.toString().length,".25em")}function m9(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function m7(e,t,n){var r,i={display:"inline-block",minWidth:m8(n),paddingRight:"1em",textAlign:"right",userSelect:"none"};return mK({},i,"function"==typeof e?e(t):e)}function ge(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=void 0===o?{}:o,u=e.className,c=void 0===u?[]:u,l=e.showLineNumbers,f=e.wrapLongLines,d="function"==typeof s?s(n):s;if(d.className=c,n&&a){var h=m7(r,n,i);t.unshift(m9(n,h))}return f&l&&(d.style=mK({},d.style,{display:"flex"})),{type:"element",tagName:"span",properties:d,children:t}}function gt(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=0;r2&&void 0!==arguments[2]?arguments[2]:[];return ge({children:e,lineNumber:t,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:a,showLineNumbers:r,wrapLongLines:u})}function b(e,t){if(r&&t&&i){var n=m7(s,t,o);e.unshift(m9(t,n))}return e}function m(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return t||r.length>0?p(e,n,r):b(e,n)}for(var g=function(){var e=l[h],t=e.children[0].value;if(m4(t)){var n=t.split("\n");n.forEach(function(t,i){var o=r&&f.length+a,s={type:"text",value:"".concat(t,"\n")};if(0===i){var u=l.slice(d+1,h).concat(ge({children:[s],className:e.properties.className})),c=m(u,o);f.push(c)}else if(i===n.length-1){if(l[h+1]&&l[h+1].children&&l[h+1].children[0]){var p={type:"text",value:"".concat(t)},b=ge({children:[p],className:e.properties.className});l.splice(h+1,0,b)}else{var g=[s],v=m(g,o,e.properties.className);f.push(v)}}else{var y=[s],w=m(y,o,e.properties.className);f.push(w)}}),d=h}h++};h code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}};var gu=n(98695),gc=n.n(gu);let gl=["abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apl","applescript","aql","arduino","arff","asciidoc","asm6502","aspnet","autohotkey","autoit","bash","basic","batch","bbcode","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cil","clike","clojure","cmake","coffeescript","concurnas","cpp","crystal","csharp","csp","css-extras","css","cypher","d","dart","dax","dhall","diff","django","dns-zone-file","docker","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excel-formula","factor","firestore-security-rules","flow","fortran","fsharp","ftl","gcode","gdscript","gedcom","gherkin","git","glsl","gml","go","graphql","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hpkp","hsts","http","ichigojam","icon","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jolie","jq","js-extras","js-templates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keyman","kotlin","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","lolcode","lua","makefile","markdown","markup-templating","markup","matlab","mel","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetris-hdl","naniscript","nasm","neon","nginx","nim","nix","nsis","objectivec","ocaml","opencl","oz","parigp","parser","pascal","pascaligo","pcaxis","peoplecode","perl","php-extras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","properties","protobuf","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","r","racket","reason","regex","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shell-session","smali","smalltalk","smarty","sml","solidity","solution-file","soy","sparql","splunk-spl","sqf","sql","stan","stylus","swift","t4-cs","t4-templating","t4-vb","tap","tcl","textile","toml","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","vala","vbnet","velocity","verilog","vhdl","vim","visual-basic","warpscript","wasm","wiki","xeora","xml-doc","xojo","xquery","yaml","yang","zig"];var gf=go(gc(),gs);gf.supportedLanguages=gl;let gd=gf;var gh=n(64566);function gp(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function gb(){var e=gp(["\n query FetchConfigV2 {\n configv2 {\n user\n effective\n }\n }\n"]);return gb=function(){return e},e}var gm=n0(gb()),gg=function(e){var t=e.children;return l.createElement(ir.Z,null,l.createElement(r7.default,{component:"th",scope:"row",colSpan:3},t))},gv=function(){return l.createElement(gg,null,"...")},gy=function(e){var t=e.children;return l.createElement(gg,null,t)},gw=function(e){var t=e.loading,n=e.toml,r=e.error,i=void 0===r?"":r,a=e.title,o=e.expanded;if(i)return l.createElement(gy,null,i);if(t)return l.createElement(gv,null);a||(a="TOML");var s={display:"block"};return l.createElement(x.default,null,l.createElement(mP.Z,{defaultExpanded:o},l.createElement(mR.Z,{expandIcon:l.createElement(gh.Z,null)},a),l.createElement(mj.Z,{style:s},l.createElement(gd,{language:"toml",style:gs},n))))},g_=function(){var e=rv(gm,{fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error;return(null==t?void 0:t.configv2.effective)=="N/A"?l.createElement(l.Fragment,null,l.createElement(d.Z,{item:!0,xs:12},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"TOML Configuration"}),l.createElement(gw,{title:"V2 config dump:",error:null==r?void 0:r.message,loading:n,toml:null==t?void 0:t.configv2.user,showHead:!0})))):l.createElement(l.Fragment,null,l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"TOML Configuration"}),l.createElement(gw,{title:"User specified:",error:null==r?void 0:r.message,loading:n,toml:null==t?void 0:t.configv2.user,showHead:!0,expanded:!0}),l.createElement(gw,{title:"Effective (with defaults):",error:null==r?void 0:r.message,loading:n,toml:null==t?void 0:t.configv2.effective,showHead:!0})))))},gE=n(34823),gS=function(e){return(0,b.createStyles)({cell:{paddingTop:1.5*e.spacing.unit,paddingBottom:1.5*e.spacing.unit}})},gk=(0,b.withStyles)(gS)(function(e){var t=e.classes,n=(0,A.I0)();(0,l.useEffect)(function(){n((0,ty.DQ)())});var r=(0,A.v9)(gE.N,A.wU);return l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Node"}),l.createElement(r8.Z,null,l.createElement(r9.Z,null,l.createElement(ir.Z,null,l.createElement(r7.default,{className:t.cell},l.createElement(x.default,null,"Version"),l.createElement(x.default,{variant:"subtitle1",color:"textSecondary"},r.version))),l.createElement(ir.Z,null,l.createElement(r7.default,{className:t.cell},l.createElement(x.default,null,"SHA"),l.createElement(x.default,{variant:"subtitle1",color:"textSecondary"},r.commitSHA))))))}),gx=function(){return l.createElement(ig,null,l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,sm:12,md:8},l.createElement(d.Z,{container:!0},l.createElement(g_,null))),l.createElement(d.Z,{item:!0,sm:12,md:4},l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(gk,null)),l.createElement(d.Z,{item:!0,xs:12},l.createElement(mN,null)),l.createElement(d.Z,{item:!0,xs:12},l.createElement(mE,null))))))},gT=function(){return l.createElement(gx,null)},gM=function(){return l.createElement(gT,null)},gO=n(44431),gA=1e18,gL=function(e){return new gO.BigNumber(e).dividedBy(gA).toFixed(8)},gC=function(e){var t=e.keys,n=e.chainID,r=e.hideHeaderTitle;return l.createElement(l.Fragment,null,l.createElement(sl.Z,{title:!r&&"Account Balances",subheader:"Chain ID "+n}),l.createElement(aW.Z,null,l.createElement(w.default,{dense:!1,disablePadding:!0},t&&t.map(function(e,r){return l.createElement(l.Fragment,null,l.createElement(_.default,{disableGutters:!0,key:["acc-balance",n.toString(),r.toString()].join("-")},l.createElement(E.Z,{primary:l.createElement(l.Fragment,null,l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12},l.createElement(op,{title:"Address"}),l.createElement(ob,{value:e.address})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(op,{title:"Native Token Balance"}),l.createElement(ob,{value:e.ethBalance||"--"})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(op,{title:"LINK Balance"}),l.createElement(ob,{value:e.linkBalance?gL(e.linkBalance):"--"}))))})),r+1s&&l.createElement(gB.Z,null,l.createElement(ir.Z,null,l.createElement(r7.default,{className:r.footer},l.createElement(aA.Z,{href:"/runs",component:tz},"View More"))))))});function vt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vn(){var e=vt(["\n ","\n query FetchRecentJobRuns($offset: Int, $limit: Int) {\n jobRuns(offset: $offset, limit: $limit) {\n results {\n ...RecentJobRunsPayload_ResultsFields\n }\n metadata {\n total\n }\n }\n }\n"]);return vn=function(){return e},e}var vr=5,vi=n0(vn(),g9),va=function(){var e=rv(vi,{variables:{offset:0,limit:vr},fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error;return l.createElement(ve,{data:t,errorMsg:null==r?void 0:r.message,loading:n,maxRunsSize:vr})},vo=function(e){return(0,b.createStyles)({style:{textAlign:"center",padding:2.5*e.spacing.unit,position:"fixed",left:"0",bottom:"0",width:"100%",borderRadius:0},bareAnchor:{color:e.palette.common.black,textDecoration:"none"}})},vs=(0,b.withStyles)(vo)(function(e){var t=e.classes,n=(0,A.v9)(gE.N,A.wU),r=(0,A.I0)();return(0,l.useEffect)(function(){r((0,ty.DQ)())}),l.createElement(ii.default,{className:t.style},l.createElement(x.default,null,"Chainlink Node ",n.version," at commit"," ",l.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/smartcontractkit/chainlink/commit/".concat(n.commitSHA),className:t.bareAnchor},n.commitSHA)))}),vu=function(e){return(0,b.createStyles)({cell:{borderColor:e.palette.divider,borderTop:"1px solid",borderBottom:"none",paddingTop:2*e.spacing.unit,paddingBottom:2*e.spacing.unit,paddingLeft:2*e.spacing.unit},block:{display:"block"},overflowEllipsis:{textOverflow:"ellipsis",overflow:"hidden"}})},vc=(0,b.withStyles)(vu)(function(e){var t=e.classes,n=e.job;return l.createElement(ir.Z,null,l.createElement(r7.default,{scope:"row",className:t.cell},l.createElement(d.Z,{container:!0,spacing:0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(ih,{href:"/jobs/".concat(n.id),classes:{linkContent:t.block}},l.createElement(x.default,{className:t.overflowEllipsis,variant:"body1",component:"span",color:"primary"},n.name||n.id))),l.createElement(d.Z,{item:!0,xs:12},l.createElement(x.default,{variant:"body1",color:"textSecondary"},"Created ",l.createElement(aO,{tooltip:!0},n.createdAt))))))});function vl(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vf(){var e=vl(["\n fragment RecentJobsPayload_ResultsFields on Job {\n id\n name\n createdAt\n }\n"]);return vf=function(){return e},e}var vd=n0(vf()),vh=function(){return(0,b.createStyles)({cardHeader:{borderBottom:0},table:{tableLayout:"fixed"}})},vp=(0,b.withStyles)(vh)(function(e){var t,n,r=e.classes,i=e.data,a=e.errorMsg,o=e.loading;return l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Recent Jobs",className:r.cardHeader}),l.createElement(r8.Z,{className:r.table},l.createElement(r9.Z,null,l.createElement(g$,{visible:o}),l.createElement(gz,{visible:(null===(t=null==i?void 0:i.jobs.results)||void 0===t?void 0:t.length)===0},"No recently created jobs"),l.createElement(gU,{msg:a}),null===(n=null==i?void 0:i.jobs.results)||void 0===n?void 0:n.map(function(e,t){return l.createElement(vc,{job:e,key:t})}))))});function vb(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vm(){var e=vb(["\n ","\n query FetchRecentJobs($offset: Int, $limit: Int) {\n jobs(offset: $offset, limit: $limit) {\n results {\n ...RecentJobsPayload_ResultsFields\n }\n }\n }\n"]);return vm=function(){return e},e}var vg=5,vv=n0(vm(),vd),vy=function(){var e=rv(vv,{variables:{offset:0,limit:vg},fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error;return l.createElement(vp,{data:t,errorMsg:null==r?void 0:r.message,loading:n})},vw=function(){return l.createElement(ig,null,l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:8},l.createElement(va,null)),l.createElement(d.Z,{item:!0,xs:4},l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(gY,null)),l.createElement(d.Z,{item:!0,xs:12},l.createElement(vy,null))))),l.createElement(vs,null))},v_=function(){return l.createElement(vw,null)},vE=function(){return l.createElement(v_,null)},vS=n(87239),vk=function(e){switch(e){case"DirectRequestSpec":return"Direct Request";case"FluxMonitorSpec":return"Flux Monitor";default:return e.replace(/Spec$/,"")}},vx=n(5022),vT=n(78718),vM=n.n(vT);function vO(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1?t-1:0),r=1;r1?t-1:0),r=1;re.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&n.map(function(e){return l.createElement(ir.Z,{key:e.id,style:{cursor:"pointer"},onClick:function(){return r.push("/runs/".concat(e.id))}},l.createElement(r7.default,{className:t.idCell,scope:"row"},l.createElement("div",{className:t.runDetails},l.createElement(x.default,{variant:"h5",color:"primary",component:"span"},e.id))),l.createElement(r7.default,{className:t.stampCell},l.createElement(x.default,{variant:"body1",color:"textSecondary",className:t.stamp},"Created ",l.createElement(aO,{tooltip:!0},e.createdAt))),l.createElement(r7.default,{className:t.statusCell,scope:"row"},l.createElement(x.default,{variant:"body1",className:O()(t.status,yh(t,e.status))},e.status.toLowerCase())))})))}),yb=n(16839),ym=n.n(yb);function yg(e){var t=e.replace(/\w+\s*=\s*<([^>]|[\r\n])*>/g,""),n=ym().read(t),r=n.edges();return n.nodes().map(function(e){var t={id:e,parentIds:r.filter(function(t){return t.w===e}).map(function(e){return e.v})};return Object.keys(n.node(e)).length>0&&(t.attributes=n.node(e)),t})}var yv=n(94164),yy=function(e){var t=e.data,n=[];return(null==t?void 0:t.attributes)&&Object.keys(t.attributes).forEach(function(e){var r;n.push(l.createElement("div",{key:e},l.createElement(x.default,{variant:"body1",color:"textSecondary",component:"div"},l.createElement("b",null,e,":")," ",null===(r=t.attributes)||void 0===r?void 0:r[e])))}),l.createElement("div",null,t&&l.createElement(x.default,{variant:"body1",color:"textPrimary"},l.createElement("b",null,t.id)),n)},yw=n(73343),y_=n(3379),yE=n.n(y_);function yS(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nwindow.innerWidth?u-r.getBoundingClientRect().width-a:u+a,n=c+r.getBoundingClientRect().height+i>window.innerHeight?c-r.getBoundingClientRect().height-a:c+a,r.style.opacity=String(1),r.style.top="".concat(n,"px"),r.style.left="".concat(t,"px"),r.style.zIndex=String(1)}},h=function(e){var t=document.getElementById("tooltip-d3-chart-".concat(e));t&&(t.style.opacity=String(0),t.style.zIndex=String(-1))};return l.createElement("div",{style:{fontFamily:"sans-serif",fontWeight:"normal"}},l.createElement(yv.kJ,{id:"task-list-graph-d3",data:i,config:s,onMouseOverNode:d,onMouseOutNode:h},"D3 chart"),n.map(function(e){return l.createElement("div",{key:"d3-tooltip-key-".concat(e.id),id:"tooltip-d3-chart-".concat(e.id),style:{position:"absolute",opacity:"0",border:"1px solid rgba(0, 0, 0, 0.1)",padding:yw.r.spacing.unit,background:"white",borderRadius:5,zIndex:-1,inlineSize:"min-content"}},l.createElement(yy,{data:e}))}))};function yL(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nyY&&l.createElement("div",{className:t.runDetails},l.createElement(aA.Z,{href:"/jobs/".concat(n.id,"/runs"),component:tz},"View more")))),l.createElement(d.Z,{item:!0,xs:12,sm:6},l.createElement(yF,{observationSource:n.observationSource})))});function yH(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:"";try{return vx.parse(e),!0}catch(t){return!1}})}),wW=function(e){var t=e.initialValues,n=e.onSubmit,r=e.onTOMLChange;return l.createElement(hT,{initialValues:t,validationSchema:wG,onSubmit:n},function(e){var t=e.isSubmitting,n=e.values;return r&&r(n.toml),l.createElement(hR,{"data-testid":"job-form",noValidate:!0},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:hX,id:"toml",name:"toml",label:"Job Spec (TOML)",required:!0,fullWidth:!0,multiline:!0,rows:10,rowsMax:25,variant:"outlined",autoComplete:"off",FormHelperTextProps:{"data-testid":"toml-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(ok.default,{variant:"contained",color:"primary",type:"submit",disabled:t,size:"large"},"Create Job"))))})},wK=n(50109),wV="persistSpec";function wq(e){var t=e.query,n=new URLSearchParams(t).get("definition");return n?(wK.t8(wV,n),{toml:n}):{toml:wK.U2(wV)||""}}var wZ=function(e){var t=e.onSubmit,n=e.onTOMLChange,r=wq({query:(0,h.TH)().search}),i=function(e){var t=e.replace(/[\u200B-\u200D\uFEFF]/g,"");wK.t8("".concat(wV),t),n&&n(t)};return l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"New Job"}),l.createElement(aW.Z,null,l.createElement(wW,{initialValues:r,onSubmit:t,onTOMLChange:i})))};function wX(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=t.start,r=void 0===n?6:n,i=t.end,a=void 0===i?4:i;return e.substring(0,r)+"..."+e.substring(e.length-a)}function _M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(_W,e)},_V=function(){var e=_K({fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error,i=e.refetch;return l.createElement(_U,{loading:n,data:t,errorMsg:null==r?void 0:r.message,refetch:i})},_q=function(e){var t=e.csaKey;return l.createElement(ir.Z,{hover:!0},l.createElement(r7.default,null,l.createElement(x.default,{variant:"body1"},t.publicKey," ",l.createElement(_x,{data:t.publicKey}))))};function _Z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function _X(){var e=_Z(["\n fragment CSAKeysPayload_ResultsFields on CSAKey {\n id\n publicKey\n }\n"]);return _X=function(){return e},e}var _J=n0(_X()),_Q=function(e){var t,n,r,i=e.data,a=e.errorMsg,o=e.loading,s=e.onCreate;return l.createElement(r5.Z,null,l.createElement(sl.Z,{action:(null===(t=null==i?void 0:i.csaKeys.results)||void 0===t?void 0:t.length)===0&&l.createElement(ok.default,{variant:"outlined",color:"primary",onClick:s},"New CSA Key"),title:"CSA Key",subheader:"Manage your CSA Key"}),l.createElement(r8.Z,null,l.createElement(ie.Z,null,l.createElement(ir.Z,null,l.createElement(r7.default,null,"Public Key"))),l.createElement(r9.Z,null,l.createElement(g$,{visible:o}),l.createElement(gz,{visible:(null===(n=null==i?void 0:i.csaKeys.results)||void 0===n?void 0:n.length)===0}),l.createElement(gU,{msg:a}),null===(r=null==i?void 0:i.csaKeys.results)||void 0===r?void 0:r.map(function(e,t){return l.createElement(_q,{csaKey:e,key:t})}))))};function _1(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(EM,e)};function EA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(EJ,e)},E3=function(){return oo(EQ)},E4=function(){return oo(E1)},E6=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return rv(E0,e)};function E5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(SK,e)};function Sq(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function kV(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}var kq=function(e){var t=e.run,n=l.useMemo(function(){var e=t.inputs,n=t.outputs,r=t.taskRuns,i=kK(t,["inputs","outputs","taskRuns"]),a={};try{a=JSON.parse(e)}catch(o){a={}}return kW(kz({},i),{inputs:a,outputs:n,taskRuns:r})},[t]);return l.createElement(r5.Z,null,l.createElement(aW.Z,null,l.createElement(kH,{object:n})))};function kZ(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kX(e){for(var t=1;t0&&l.createElement(kr,{errors:t.allErrors})),l.createElement(d.Z,{item:!0,xs:12},l.createElement(h.rs,null,l.createElement(h.AW,{path:"".concat(n,"/json")},l.createElement(kq,{run:t})),l.createElement(h.AW,{path:n},t.taskRuns.length>0&&l.createElement(kN,{taskRuns:t.taskRuns,observationSource:t.job.observationSource}))))))))};function k5(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k8(){var e=k5(["\n ","\n query FetchJobRun($id: ID!) {\n jobRun(id: $id) {\n __typename\n ... on JobRun {\n ...JobRunPayload_Fields\n }\n ... on NotFoundError {\n message\n }\n }\n }\n"]);return k8=function(){return e},e}var k9=n0(k8(),k4),k7=function(){var e=rv(k9,{variables:{id:(0,h.UO)().id}}),t=e.data,n=e.loading,r=e.error;if(n)return l.createElement(iR,null);if(r)return l.createElement(iD,{error:r});var i=null==t?void 0:t.jobRun;switch(null==i?void 0:i.__typename){case"JobRun":return l.createElement(k6,{run:i});case"NotFoundError":return l.createElement(oa,null);default:return null}};function xe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function xt(){var e=xe(["\n fragment JobRunsPayload_ResultsFields on JobRun {\n id\n allErrors\n createdAt\n finishedAt\n status\n job {\n id\n }\n }\n"]);return xt=function(){return e},e}var xn=n0(xt()),xr=function(e){var t=e.loading,n=e.data,r=e.page,i=e.pageSize,a=(0,h.k6)(),o=l.useMemo(function(){return null==n?void 0:n.jobRuns.results.map(function(e){var t,n=e.allErrors,r=e.id,i=e.createdAt;return{id:r,createdAt:i,errors:n,finishedAt:e.finishedAt,status:e.status}})},[n]);return l.createElement(ig,null,l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:12},l.createElement(iy,null,"Job Runs")),t&&l.createElement(iR,null),n&&o&&l.createElement(d.Z,{item:!0,xs:12},l.createElement(r5.Z,null,l.createElement(yp,{runs:o}),l.createElement(it.Z,{component:"div",count:n.jobRuns.metadata.total,rowsPerPage:i,rowsPerPageOptions:[i],page:r-1,onChangePage:function(e,t){a.push("/runs?page=".concat(t+1,"&per=").concat(i))},onChangeRowsPerPage:function(){},backIconButtonProps:{"aria-label":"prev-page"},nextIconButtonProps:{"aria-label":"next-page"}})))))};function xi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function xa(){var e=xi(["\n ","\n query FetchJobRuns($offset: Int, $limit: Int) {\n jobRuns(offset: $offset, limit: $limit) {\n results {\n ...JobRunsPayload_ResultsFields\n }\n metadata {\n total\n }\n }\n }\n"]);return xa=function(){return e},e}var xo=n0(xa(),xn),xs=function(){var e=ij(),t=parseInt(e.get("page")||"1",10),n=parseInt(e.get("per")||"25",10),r=rv(xo,{variables:{offset:(t-1)*n,limit:n},fetchPolicy:"cache-and-network"}),i=r.data,a=r.loading,o=r.error;return o?l.createElement(iD,{error:o}):l.createElement(xr,{loading:a,data:i,page:t,pageSize:n})},xu=function(){var e=(0,h.$B)().path;return l.createElement(h.rs,null,l.createElement(h.AW,{exact:!0,path:e},l.createElement(xs,null)),l.createElement(h.AW,{path:"".concat(e,"/:id")},l.createElement(k7,null)))},xc=bv().shape({name:p0().required("Required"),uri:p0().required("Required"),publicKey:p0().required("Required")}),xl=function(e){var t=e.initialValues,n=e.onSubmit;return l.createElement(hT,{initialValues:t,validationSchema:xc,onSubmit:n},function(e){var t=e.isSubmitting,n=e.submitForm;return l.createElement(hR,{"data-testid":"feeds-manager-form"},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"name",name:"name",label:"Name",required:!0,fullWidth:!0,FormHelperTextProps:{"data-testid":"name-helper-text"}})),l.createElement(d.Z,{item:!0,xs:!1,md:6}),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"uri",name:"uri",label:"URI",required:!0,fullWidth:!0,helperText:"Provided by the Feeds Manager operator",FormHelperTextProps:{"data-testid":"uri-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"publicKey",name:"publicKey",label:"Public Key",required:!0,fullWidth:!0,helperText:"Provided by the Feeds Manager operator",FormHelperTextProps:{"data-testid":"publicKey-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12},l.createElement(ok.default,{variant:"contained",color:"primary",disabled:t,onClick:n},"Submit"))))})},xf=function(e){var t=e.data,n=e.onSubmit,r={name:t.name,uri:t.uri,publicKey:t.publicKey};return l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12,md:11,lg:9},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Edit Feeds Manager"}),l.createElement(aW.Z,null,l.createElement(xl,{initialValues:r,onSubmit:n})))))};function xd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function xh(){var e=xd(["\n query FetchFeedsManagers {\n feedsManagers {\n results {\n __typename\n id\n name\n uri\n publicKey\n isConnectionActive\n createdAt\n }\n }\n }\n"]);return xh=function(){return e},e}var xp=n0(xh()),xb=function(){return rv(xp)};function xm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(xq,e)};function xX(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?n.feedsManagers.results[0]:void 0;return n&&a?l.createElement(TU,{manager:a}):l.createElement(h.l_,{to:{pathname:"/feeds_manager/new",state:{from:e}}})},T$={name:"Chainlink Feeds Manager",uri:"",publicKey:""},Tz=function(e){var t=e.onSubmit;return l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12,md:11,lg:9},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Register Feeds Manager"}),l.createElement(aW.Z,null,l.createElement(xl,{initialValues:T$,onSubmit:t})))))};function TG(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);nt.version?e:t})},[o]),g=l.useMemo(function(){return Mh(o).sort(function(e,t){return t.version-e.version})},[o]),v=function(e,t,n){switch(e){case"PENDING":return l.createElement(l.Fragment,null,l.createElement(ok.default,{variant:"text",color:"secondary",onClick:function(){return b("reject",t)}},"Reject"),m.id===t&&"DELETED"!==n.status&&"REVOKED"!==n.status&&l.createElement(ok.default,{variant:"contained",color:"primary",onClick:function(){return b("approve",t)}},"Approve"),m.id===t&&"DELETED"===n.status&&n.pendingUpdate&&l.createElement(l.Fragment,null,l.createElement(ok.default,{variant:"contained",color:"primary",onClick:function(){return b("cancel",t)}},"Cancel"),l.createElement(x.default,{color:"error"},"This proposal was deleted. Cancel the spec to delete any running jobs")));case"APPROVED":return l.createElement(l.Fragment,null,l.createElement(ok.default,{variant:"contained",onClick:function(){return b("cancel",t)}},"Cancel"),"DELETED"===n.status&&n.pendingUpdate&&l.createElement(x.default,{color:"error"},"This proposal was deleted. Cancel the spec to delete any running jobs"));case"CANCELLED":if(m.id===t&&"DELETED"!==n.status&&"REVOKED"!==n.status)return l.createElement(ok.default,{variant:"contained",color:"primary",onClick:function(){return b("approve",t)}},"Approve");return null;default:return null}};return l.createElement("div",null,g.map(function(e,n){return l.createElement(mP.Z,{defaultExpanded:0===n,key:n},l.createElement(mR.Z,{expandIcon:l.createElement(gh.Z,null)},l.createElement(x.default,{className:t.versionText},"Version ",e.version),l.createElement(Es.Z,{label:e.status,color:"APPROVED"===e.status?"primary":"default",variant:"REJECTED"===e.status||"CANCELLED"===e.status?"outlined":"default"}),l.createElement("div",{className:t.proposedAtContainer},l.createElement(x.default,null,"Proposed ",l.createElement(aO,{tooltip:!0},e.createdAt)))),l.createElement(mj.Z,{className:t.expansionPanelDetails},l.createElement("div",{className:t.actions},l.createElement("div",{className:t.editContainer},0===n&&("PENDING"===e.status||"CANCELLED"===e.status)&&"DELETED"!==s.status&&"REVOKED"!==s.status&&l.createElement(ok.default,{variant:"contained",onClick:function(){return p(!0)}},"Edit")),l.createElement("div",{className:t.actionsContainer},v(e.status,e.id,s))),l.createElement(gd,{language:"toml",style:gs,"data-testid":"codeblock"},e.definition)))}),l.createElement(oC,{open:null!=c,title:c?Mv[c.action].title:"",body:c?Mv[c.action].body:"",onConfirm:function(){if(c){switch(c.action){case"approve":n(c.id);break;case"cancel":r(c.id);break;case"reject":i(c.id)}f(null)}},cancelButtonText:"Cancel",onCancel:function(){return f(null)}}),l.createElement(Mr,{open:h,onClose:function(){return p(!1)},initialValues:{definition:m.definition,id:m.id},onSubmit:a}))});function Mw(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function M_(){var e=Mw(["\n ","\n fragment JobProposalPayloadFields on JobProposal {\n id\n externalJobID\n remoteUUID\n jobID\n specs {\n ...JobProposal_SpecsFields\n }\n status\n pendingUpdate\n }\n"]);return M_=function(){return e},e}var ME=n0(M_(),Mm),MS=function(e){var t=e.onApprove,n=e.onCancel,r=e.onReject,i=e.onUpdateSpec,a=e.proposal;return l.createElement(ig,null,l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:9},l.createElement(iy,null,"Job Proposal #",a.id))),l.createElement(T8,{proposal:a}),l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:9},l.createElement(TB,null,"Specs"))),l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:12},l.createElement(My,{proposal:a,specs:a.specs,onReject:r,onApprove:t,onCancel:n,onUpdateSpec:i}))))};function Mk(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);nU,tA:()=>$,KL:()=>H,Iw:()=>V,DQ:()=>W,cB:()=>T,LO:()=>M,t5:()=>k,qt:()=>x,Jc:()=>C,L7:()=>Y,EO:()=>B});var r,i,a=n(66289),o=n(41800),s=n.n(o),u=n(67932);(i=r||(r={})).IN_PROGRESS="in_progress",i.PENDING_INCOMING_CONFIRMATIONS="pending_incoming_confirmations",i.PENDING_CONNECTION="pending_connection",i.PENDING_BRIDGE="pending_bridge",i.PENDING_SLEEP="pending_sleep",i.ERRORED="errored",i.COMPLETED="completed";var c=n(87013),l=n(19084),f=n(34823);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]j,v2:()=>F});var r=n(66289);function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var a="/sessions",o="/sessions",s=function e(t){var n=this;i(this,e),this.api=t,this.createSession=function(e){return n.create(e)},this.destroySession=function(){return n.destroy()},this.create=this.api.createResource(a),this.destroy=this.api.deleteResource(o)};function u(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var c="/v2/bulk_delete_runs",l=function e(t){var n=this;u(this,e),this.api=t,this.bulkDeleteJobRuns=function(e){return n.destroy(e)},this.destroy=this.api.deleteResource(c)};function f(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var d="/v2/chains/evm",h="".concat(d,"/:id"),p=function e(t){var n=this;f(this,e),this.api=t,this.getChains=function(){return n.index()},this.createChain=function(e){return n.create(e)},this.destroyChain=function(e){return n.destroy(void 0,{id:e})},this.updateChain=function(e,t){return n.update(t,{id:e})},this.index=this.api.fetchResource(d),this.create=this.api.createResource(d),this.destroy=this.api.deleteResource(h),this.update=this.api.updateResource(h)};function b(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var m="/v2/keys/evm/chain",g=function e(t){var n=this;b(this,e),this.api=t,this.chain=function(e){var t=new URLSearchParams;t.append("address",e.address),t.append("evmChainID",e.evmChainID),null!==e.nextNonce&&t.append("nextNonce",e.nextNonce),null!==e.abandon&&t.append("abandon",String(e.abandon)),null!==e.enabled&&t.append("enabled",String(e.enabled));var r=m+"?"+t.toString();return n.api.createResource(r)()}};function v(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var y="/v2/jobs",w="".concat(y,"/:specId/runs"),_=function e(t){var n=this;v(this,e),this.api=t,this.createJobRunV2=function(e,t){return n.post(t,{specId:e})},this.post=this.api.createResource(w,!0)};function E(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var S="/v2/log",k=function e(t){var n=this;E(this,e),this.api=t,this.getLogConfig=function(){return n.show()},this.updateLogConfig=function(e){return n.update(e)},this.show=this.api.fetchResource(S),this.update=this.api.updateResource(S)};function x(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var T="/v2/nodes",M=function e(t){var n=this;x(this,e),this.api=t,this.getNodes=function(){return n.index()},this.createNode=function(e){return n.create(e)},this.index=this.api.fetchResource(T),this.create=this.api.createResource(T)};function O(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var A="/v2/enroll_webauthn",L=function e(t){var n=this;O(this,e),this.api=t,this.beginKeyRegistration=function(e){return n.create(e)},this.finishKeyRegistration=function(e){return n.put(e)},this.create=this.api.fetchResource(A),this.put=this.api.createResource(A)};function C(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var I="/v2/build_info",D=function e(t){var n=this;C(this,e),this.api=t,this.show=function(){return n.api.GET(I)()}};function N(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var P=function e(t){N(this,e),this.api=t,this.buildInfo=new D(this.api),this.bulkDeleteRuns=new l(this.api),this.chains=new p(this.api),this.logConfig=new k(this.api),this.nodes=new M(this.api),this.jobs=new _(this.api),this.webauthn=new L(this.api),this.evmKeys=new g(this.api)},R=new r.V0({base:void 0}),j=new s(R),F=new P(R)},1398(e,t,n){"use strict";n.d(t,{Z:()=>d});var r=n(67294),i=n(32316),a=n(83638),o=n(94184),s=n.n(o);function u(){return(u=Object.assign||function(e){for(var t=1;tc});var r=n(67294),i=n(32316);function a(){return(a=Object.assign||function(e){for(var t=1;tx,jK:()=>v});var r=n(67294),i=n(37703),a=n(45697),o=n.n(a),s=n(82204),u=n(71426),c=n(94184),l=n.n(c),f=n(32316),d=function(e){var t=e.palette.success||{},n=e.palette.warning||{};return{base:{paddingLeft:5*e.spacing.unit,paddingRight:5*e.spacing.unit},success:{backgroundColor:t.main,color:t.contrastText},error:{backgroundColor:e.palette.error.dark,color:e.palette.error.contrastText},warning:{backgroundColor:n.contrastText,color:n.main}}},h=function(e){var t,n=e.success,r=e.error,i=e.warning,a=e.classes,o=e.className;return n?t=a.success:r?t=a.error:i&&(t=a.warning),l()(a.base,o,t)},p=function(e){return r.createElement(s.Z,{className:h(e),square:!0},r.createElement(u.default,{variant:"body2",color:"inherit",component:"div"},e.children))};p.defaultProps={success:!1,error:!1,warning:!1},p.propTypes={success:o().bool,error:o().bool,warning:o().bool};let b=(0,f.withStyles)(d)(p);var m=function(){return r.createElement(r.Fragment,null,"Unhandled error. Please help us by opening a"," ",r.createElement("a",{href:"https://github.com/smartcontractkit/chainlink/issues/new"},"bug report"))};let g=m;function v(e){return"string"==typeof e?e:e.component?e.component(e.props):r.createElement(g,null)}function y(e,t){var n;return n="string"==typeof e?e:e.component?e.component(e.props):r.createElement(g,null),r.createElement("p",{key:t},n)}var w=function(e){var t=e.notifications;return r.createElement(b,{error:!0},t.map(y))},_=function(e){var t=e.notifications;return r.createElement(b,{success:!0},t.map(y))},E=function(e){var t=e.errors,n=e.successes;return r.createElement("div",null,(null==t?void 0:t.length)>0&&r.createElement(w,{notifications:t}),n.length>0&&r.createElement(_,{notifications:n}))},S=function(e){return{errors:e.notifications.errors,successes:e.notifications.successes}},k=(0,i.$j)(S)(E);let x=k},9409(e,t,n){"use strict";n.d(t,{ZP:()=>j});var r=n(67294),i=n(37703),a=n(5977),o=n(32316),s=n(1398),u=n(82204),c=n(30060),l=n(71426),f=n(60520),d=n(39814),h=n(57209),p=n(26842),b=n(3950),m=n(5536),g=n(45697),v=n.n(g);let y=n.p+"9f6d832ef97e8493764e.svg";function w(){return(w=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&_.map(function(e,t){return r.createElement(d.Z,{item:!0,xs:12,key:t},r.createElement(u.Z,{raised:!1,className:v.error},r.createElement(c.Z,null,r.createElement(l.default,{variant:"body1",className:v.errorText},(0,b.jK)(e)))))}),r.createElement(d.Z,{item:!0,xs:12},r.createElement(f.Z,{id:"email",label:"Email",margin:"normal",value:n,onChange:m("email"),error:_.length>0,variant:"outlined",fullWidth:!0})),r.createElement(d.Z,{item:!0,xs:12},r.createElement(f.Z,{id:"password",label:"Password",type:"password",autoComplete:"password",margin:"normal",value:h,onChange:m("password"),error:_.length>0,variant:"outlined",fullWidth:!0})),r.createElement(d.Z,{item:!0,xs:12},r.createElement(d.Z,{container:!0,spacing:0,justify:"center"},r.createElement(d.Z,{item:!0},r.createElement(s.Z,{type:"submit",variant:"primary"},"Access Account")))),y&&r.createElement(l.default,{variant:"body1",color:"textSecondary"},"Signing in...")))))))},P=function(e){return{fetching:e.authentication.fetching,authenticated:e.authentication.allowed,errors:e.notifications.errors}},R=(0,i.$j)(P,x({submitSignIn:p.L7}))(N);let j=(0,h.wU)(e)((0,o.withStyles)(D)(R))},16353(e,t,n){"use strict";n.d(t,{ZP:()=>H,rH:()=>U});var r,i=n(37703),a=n(97779),o=n(9541),s=n(19084);function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:h,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case s.Mk.RECEIVE_SIGNOUT_SUCCESS:case s.Mk.RECEIVE_SIGNIN_SUCCESS:var n={allowed:t.authenticated};return o.Ks(n),f(c({},e,n),{errors:[]});case s.Mk.RECEIVE_SIGNIN_FAIL:var r={allowed:!1};return o.Ks(r),f(c({},e,r),{errors:[]});case s.Mk.RECEIVE_SIGNIN_ERROR:case s.Mk.RECEIVE_SIGNOUT_ERROR:var i={allowed:!1};return o.Ks(i),f(c({},e,i),{errors:t.errors||[]});default:return e}};let b=p;function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:_,t=arguments.length>1?arguments[1]:void 0;return t.type?t.type.startsWith(r.REQUEST)?y(g({},e),{count:e.count+1}):t.type.startsWith(r.RECEIVE)?y(g({},e),{count:Math.max(e.count-1,0)}):t.type.startsWith(r.RESPONSE)?y(g({},e),{count:Math.max(e.count-1,0)}):t.type===s.di.REDIRECT?y(g({},e),{count:0}):e:e};let S=E;function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:O,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case s.di.MATCH_ROUTE:return M(x({},O),{currentUrl:t.pathname});case s.Ih.NOTIFY_SUCCESS:var n={component:t.component,props:t.props};return M(x({},e),{successes:[n],errors:[]});case s.Ih.NOTIFY_SUCCESS_MSG:return M(x({},e),{successes:[t.msg],errors:[]});case s.Ih.NOTIFY_ERROR:var r=t.error.errors,i=null==r?void 0:r.map(function(e){return L(t,e)});return M(x({},e),{successes:[],errors:i});case s.Ih.NOTIFY_ERROR_MSG:return M(x({},e),{successes:[],errors:[t.msg]});case s.Mk.RECEIVE_SIGNIN_FAIL:return M(x({},e),{successes:[],errors:["Your email or password is incorrect. Please try again"]});default:return e}};function L(e,t){return{component:e.component,props:{msg:t.detail}}}let C=A;function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function D(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:R,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case s.di.REDIRECT:return P(D({},e),{to:t.to});case s.di.MATCH_ROUTE:return P(D({},e),{to:void 0});default:return e}};let F=j;var Y=n(87013),B=(0,a.UY)({authentication:b,fetching:S,notifications:C,redirect:F,buildInfo:Y.Z});B(void 0,{type:"INITIAL_STATE"});var U=i.v9;let H=B},19084(e,t,n){"use strict";var r,i,a,o,s,u,c,l,f,d;n.d(t,{Ih:()=>i,Mk:()=>a,Y0:()=>s,di:()=>r,jp:()=>o}),n(67294),(u=r||(r={})).REDIRECT="REDIRECT",u.MATCH_ROUTE="MATCH_ROUTE",(c=i||(i={})).NOTIFY_SUCCESS="NOTIFY_SUCCESS",c.NOTIFY_SUCCESS_MSG="NOTIFY_SUCCESS_MSG",c.NOTIFY_ERROR="NOTIFY_ERROR",c.NOTIFY_ERROR_MSG="NOTIFY_ERROR_MSG",(l=a||(a={})).REQUEST_SIGNIN="REQUEST_SIGNIN",l.RECEIVE_SIGNIN_SUCCESS="RECEIVE_SIGNIN_SUCCESS",l.RECEIVE_SIGNIN_FAIL="RECEIVE_SIGNIN_FAIL",l.RECEIVE_SIGNIN_ERROR="RECEIVE_SIGNIN_ERROR",l.RECEIVE_SIGNOUT_SUCCESS="RECEIVE_SIGNOUT_SUCCESS",l.RECEIVE_SIGNOUT_ERROR="RECEIVE_SIGNOUT_ERROR",(f=o||(o={})).RECEIVE_CREATE_ERROR="RECEIVE_CREATE_ERROR",f.RECEIVE_CREATE_SUCCESS="RECEIVE_CREATE_SUCCESS",f.RECEIVE_DELETE_ERROR="RECEIVE_DELETE_ERROR",f.RECEIVE_DELETE_SUCCESS="RECEIVE_DELETE_SUCCESS",f.RECEIVE_UPDATE_ERROR="RECEIVE_UPDATE_ERROR",f.RECEIVE_UPDATE_SUCCESS="RECEIVE_UPDATE_SUCCESS",f.REQUEST_CREATE="REQUEST_CREATE",f.REQUEST_DELETE="REQUEST_DELETE",f.REQUEST_UPDATE="REQUEST_UPDATE",f.UPSERT_CONFIGURATION="UPSERT_CONFIGURATION",f.UPSERT_JOB_RUN="UPSERT_JOB_RUN",f.UPSERT_JOB_RUNS="UPSERT_JOB_RUNS",f.UPSERT_TRANSACTION="UPSERT_TRANSACTION",f.UPSERT_TRANSACTIONS="UPSERT_TRANSACTIONS",f.UPSERT_BUILD_INFO="UPSERT_BUILD_INFO",(d=s||(s={})).FETCH_BUILD_INFO_REQUESTED="FETCH_BUILD_INFO_REQUESTED",d.FETCH_BUILD_INFO_SUCCEEDED="FETCH_BUILD_INFO_SUCCEEDED",d.FETCH_BUILD_INFO_FAILED="FETCH_BUILD_INFO_FAILED"},87013(e,t,n){"use strict";n.d(t,{Y:()=>o,Z:()=>u});var r=n(19084);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:o,t=arguments.length>1?arguments[1]:void 0;return t.type===r.Y0.FETCH_BUILD_INFO_SUCCEEDED?a({},t.buildInfo):e};let u=s},34823(e,t,n){"use strict";n.d(t,{N:()=>r});var r=function(e){return e.buildInfo}},73343(e,t,n){"use strict";n.d(t,{r:()=>u});var r=n(19350),i=n(32316),a=n(59114),o=n(5324),s={props:{MuiGrid:{spacing:3*o.default.unit},MuiCardHeader:{titleTypographyProps:{color:"secondary"}}},palette:{action:{hoverOpacity:.3},primary:{light:"#E5F1FF",main:"#3c40c6",contrastText:"#fff"},secondary:{main:"#3d5170"},success:{light:"#e8faf1",main:r.ek.A700,dark:r.ek[700],contrastText:r.y0.white},warning:{light:"#FFFBF1",main:"#fff6b6",contrastText:"#fad27a"},error:{light:"#ffdada",main:"#f44336",dark:"#d32f2f",contrastText:"#fff"},background:{default:"#f5f6f8",appBar:"#3c40c6"},text:{primary:(0,a.darken)(r.BA.A700,.7),secondary:"#818ea3"},listPendingStatus:{background:"#fef7e5",color:"#fecb4c"},listCompletedStatus:{background:"#e9faf2",color:"#4ed495"}},shape:{borderRadius:o.default.unit},overrides:{MuiButton:{root:{borderRadius:o.default.unit/2,textTransform:"none"},sizeLarge:{padding:void 0,fontSize:void 0,paddingTop:o.default.unit,paddingBottom:o.default.unit,paddingLeft:5*o.default.unit,paddingRight:5*o.default.unit}},MuiTableCell:{body:{fontSize:"1rem"},head:{fontSize:"1rem",fontWeight:400}},MuiCardHeader:{root:{borderBottom:"1px solid rgba(0, 0, 0, 0.12)"},action:{marginTop:-2,marginRight:0,"& >*":{marginLeft:2*o.default.unit}},subheader:{marginTop:.5*o.default.unit}}},typography:{useNextVariants:!0,fontFamily:"-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif",button:{textTransform:"none",fontSize:"1.2em"},body1:{fontSize:"1.0rem",fontWeight:400,lineHeight:"1.46429em",color:"rgba(0, 0, 0, 0.87)",letterSpacing:-.4},body2:{fontSize:"1.0rem",fontWeight:500,lineHeight:"1.71429em",color:"rgba(0, 0, 0, 0.87)",letterSpacing:-.4},body1Next:{color:"rgb(29, 29, 29)",fontWeight:400,fontSize:"1rem",lineHeight:1.5,letterSpacing:-.4},body2Next:{color:"rgb(29, 29, 29)",fontWeight:400,fontSize:"0.875rem",lineHeight:1.5,letterSpacing:-.4},display1:{color:"#818ea3",fontSize:"2.125rem",fontWeight:400,lineHeight:"1.20588em",letterSpacing:-.4},display2:{color:"#818ea3",fontSize:"2.8125rem",fontWeight:400,lineHeight:"1.13333em",marginLeft:"-.02em",letterSpacing:-.4},display3:{color:"#818ea3",fontSize:"3.5rem",fontWeight:400,lineHeight:"1.30357em",marginLeft:"-.02em",letterSpacing:-.4},display4:{fontSize:14,fontWeightLight:300,fontWeightMedium:500,fontWeightRegular:400,letterSpacing:-.4},h1:{color:"rgb(29, 29, 29)",fontSize:"6rem",fontWeight:300,lineHeight:1},h2:{color:"rgb(29, 29, 29)",fontSize:"3.75rem",fontWeight:300,lineHeight:1},h3:{color:"rgb(29, 29, 29)",fontSize:"3rem",fontWeight:400,lineHeight:1.04},h4:{color:"rgb(29, 29, 29)",fontSize:"2.125rem",fontWeight:400,lineHeight:1.17},h5:{color:"rgb(29, 29, 29)",fontSize:"1.5rem",fontWeight:400,lineHeight:1.33,letterSpacing:-.4},h6:{fontSize:"0.8rem",fontWeight:450,lineHeight:"1.71429em",color:"rgba(0, 0, 0, 0.87)",letterSpacing:-.4},subheading:{color:"rgb(29, 29, 29)",fontSize:"1rem",fontWeight:400,lineHeight:"1.5em",letterSpacing:-.4},subtitle1:{color:"rgb(29, 29, 29)",fontSize:"1rem",fontWeight:400,lineHeight:1.75,letterSpacing:-.4},subtitle2:{color:"rgb(29, 29, 29)",fontSize:"0.875rem",fontWeight:500,lineHeight:1.57,letterSpacing:-.4}},shadows:["none","0px 1px 3px 0px rgba(0, 0, 0, 0.1),0px 1px 1px 0px rgba(0, 0, 0, 0.04),0px 2px 1px -1px rgba(0, 0, 0, 0.02)","0px 1px 5px 0px rgba(0, 0, 0, 0.1),0px 2px 2px 0px rgba(0, 0, 0, 0.04),0px 3px 1px -2px rgba(0, 0, 0, 0.02)","0px 1px 8px 0px rgba(0, 0, 0, 0.1),0px 3px 4px 0px rgba(0, 0, 0, 0.04),0px 3px 3px -2px rgba(0, 0, 0, 0.02)","0px 2px 4px -1px rgba(0, 0, 0, 0.1),0px 4px 5px 0px rgba(0, 0, 0, 0.04),0px 1px 10px 0px rgba(0, 0, 0, 0.02)","0px 3px 5px -1px rgba(0, 0, 0, 0.1),0px 5px 8px 0px rgba(0, 0, 0, 0.04),0px 1px 14px 0px rgba(0, 0, 0, 0.02)","0px 3px 5px -1px rgba(0, 0, 0, 0.1),0px 6px 10px 0px rgba(0, 0, 0, 0.04),0px 1px 18px 0px rgba(0, 0, 0, 0.02)","0px 4px 5px -2px rgba(0, 0, 0, 0.1),0px 7px 10px 1px rgba(0, 0, 0, 0.04),0px 2px 16px 1px rgba(0, 0, 0, 0.02)","0px 5px 5px -3px rgba(0, 0, 0, 0.1),0px 8px 10px 1px rgba(0, 0, 0, 0.04),0px 3px 14px 2px rgba(0, 0, 0, 0.02)","0px 5px 6px -3px rgba(0, 0, 0, 0.1),0px 9px 12px 1px rgba(0, 0, 0, 0.04),0px 3px 16px 2px rgba(0, 0, 0, 0.02)","0px 6px 6px -3px rgba(0, 0, 0, 0.1),0px 10px 14px 1px rgba(0, 0, 0, 0.04),0px 4px 18px 3px rgba(0, 0, 0, 0.02)","0px 6px 7px -4px rgba(0, 0, 0, 0.1),0px 11px 15px 1px rgba(0, 0, 0, 0.04),0px 4px 20px 3px rgba(0, 0, 0, 0.02)","0px 7px 8px -4px rgba(0, 0, 0, 0.1),0px 12px 17px 2px rgba(0, 0, 0, 0.04),0px 5px 22px 4px rgba(0, 0, 0, 0.02)","0px 7px 8px -4px rgba(0, 0, 0, 0.1),0px 13px 19px 2px rgba(0, 0, 0, 0.04),0px 5px 24px 4px rgba(0, 0, 0, 0.02)","0px 7px 9px -4px rgba(0, 0, 0, 0.1),0px 14px 21px 2px rgba(0, 0, 0, 0.04),0px 5px 26px 4px rgba(0, 0, 0, 0.02)","0px 8px 9px -5px rgba(0, 0, 0, 0.1),0px 15px 22px 2px rgba(0, 0, 0, 0.04),0px 6px 28px 5px rgba(0, 0, 0, 0.02)","0px 8px 10px -5px rgba(0, 0, 0, 0.1),0px 16px 24px 2px rgba(0, 0, 0, 0.04),0px 6px 30px 5px rgba(0, 0, 0, 0.02)","0px 8px 11px -5px rgba(0, 0, 0, 0.1),0px 17px 26px 2px rgba(0, 0, 0, 0.04),0px 6px 32px 5px rgba(0, 0, 0, 0.02)","0px 9px 11px -5px rgba(0, 0, 0, 0.1),0px 18px 28px 2px rgba(0, 0, 0, 0.04),0px 7px 34px 6px rgba(0, 0, 0, 0.02)","0px 9px 12px -6px rgba(0, 0, 0, 0.1),0px 19px 29px 2px rgba(0, 0, 0, 0.04),0px 7px 36px 6px rgba(0, 0, 0, 0.02)","0px 10px 13px -6px rgba(0, 0, 0, 0.1),0px 20px 31px 3px rgba(0, 0, 0, 0.04),0px 8px 38px 7px rgba(0, 0, 0, 0.02)","0px 10px 13px -6px rgba(0, 0, 0, 0.1),0px 21px 33px 3px rgba(0, 0, 0, 0.04),0px 8px 40px 7px rgba(0, 0, 0, 0.02)","0px 10px 14px -6px rgba(0, 0, 0, 0.1),0px 22px 35px 3px rgba(0, 0, 0, 0.04),0px 8px 42px 7px rgba(0, 0, 0, 0.02)","0px 11px 14px -7px rgba(0, 0, 0, 0.1),0px 23px 36px 3px rgba(0, 0, 0, 0.04),0px 9px 44px 8px rgba(0, 0, 0, 0.02)","0px 11px 15px -7px rgba(0, 0, 0, 0.1),0px 24px 38px 3px rgba(0, 0, 0, 0.04),0px 9px 46px 8px rgba(0, 0, 0, 0.02)",]},u=(0,i.createMuiTheme)(s)},66289(e,t,n){"use strict";function r(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function a(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}function o(e,t,n){return(o=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&f(i,n.prototype),i}).apply(null,arguments)}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}function c(e){return -1!==Function.toString.call(e).indexOf("[native code]")}function l(e,t){return t&&("object"===p(t)||"function"==typeof t)?t:r(e)}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}n.d(t,{V0:()=>B,_7:()=>v});var d,h,p=function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};function b(e){var t="function"==typeof Map?new Map:void 0;return(b=function(e){if(null===e||!c(e))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return o(e,arguments,s(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),f(n,e)})(e)}function m(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function g(e){var t=m();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}var v=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"AuthenticationError(".concat(e.statusText,")"))).errors=[{status:e.status,detail:e},],r}return n}(b(Error)),y=function(e){u(n,e);var t=g(n);function n(e){var r,a=e.errors;return i(this,n),(r=t.call(this,"BadRequestError")).errors=a,r}return n}(b(Error)),w=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"UnprocessableEntityError")).errors=e,r}return n}(b(Error)),_=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"ServerError")).errors=e,r}return n}(b(Error)),E=function(e){u(n,e);var t=g(n);function n(e){var r,a=e.errors;return i(this,n),(r=t.call(this,"ConflictError")).errors=a,r}return n}(b(Error)),S=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"UnknownResponseError(".concat(e.statusText,")"))).errors=[{status:e.status,detail:e.statusText},],r}return n}(b(Error));function k(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2e4;return Promise.race([fetch(e,t),new Promise(function(e,t){return setTimeout(function(){return t(Error("timeout"))},n)}),])}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=200&&e.status<300))return[3,2];return[2,e.json()];case 2:if(400!==e.status)return[3,3];return[2,e.json().then(function(e){throw new y(e)})];case 3:if(401!==e.status)return[3,4];throw new v(e);case 4:if(422!==e.status)return[3,6];return[4,$(e)];case 5:throw n=i.sent(),new w(n);case 6:if(409!==e.status)return[3,7];return[2,e.json().then(function(e){throw new E(e)})];case 7:if(!(e.status>=500))return[3,9];return[4,$(e)];case 8:throw r=i.sent(),new _(r);case 9:throw new S(e);case 10:return[2]}})})).apply(this,arguments)}function $(e){return z.apply(this,arguments)}function z(){return(z=j(function(e){return Y(this,function(t){return[2,e.json().then(function(t){return t.errors?t.errors.map(function(t){return{status:e.status,detail:t.detail}}):G(e)}).catch(function(){return G(e)})]})})).apply(this,arguments)}function G(e){return[{status:e.status,detail:e.statusText},]}},50109(e,t,n){"use strict";n.d(t,{LK:()=>o,U2:()=>i,eT:()=>s,t8:()=>a});var r=n(12795);function i(e){return r.ZP.getItem("chainlink.".concat(e))}function a(e,t){r.ZP.setItem("chainlink.".concat(e),t)}function o(e){var t=i(e),n={};if(t)try{return JSON.parse(t)}catch(r){}return n}function s(e,t){a(e,JSON.stringify(t))}},9541(e,t,n){"use strict";n.d(t,{Ks:()=>u,Tp:()=>a,iR:()=>o,pm:()=>s});var r=n(50109),i="persistURL";function a(){return r.U2(i)||""}function o(e){r.t8(i,e)}function s(){return r.LK("authentication")}function u(e){r.eT("authentication",e)}},67121(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.r(t),n.d(t,{default:()=>o}),e=n.hmd(e),i="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:e;var i,a=r(i);let o=a},2177(e,t,n){"use strict";n.d(t,{Z:()=>o});var r=!0,i="Invariant failed";function a(e,t){if(!e){if(r)throw Error(i);throw Error(i+": "+(t||""))}}let o=a},11742(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;ru,ZT:()=>i,_T:()=>o,ev:()=>c,mG:()=>s,pi:()=>a});var r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function s(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||(n=Promise))(function(n,a){function o(e){try{u(r.next(e))}catch(t){a(t)}}function s(e){try{u(r.throw(e))}catch(t){a(t)}}function u(e){e.done?n(e.value):i(e.value).then(o,s)}u((r=r.apply(e,t||[])).next())})}function u(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return u([e,t])}}function u(a){if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]r})},94927(e,t,n){function r(e,t){if(i("noDeprecation"))return e;var n=!1;function r(){if(!n){if(i("throwDeprecation"))throw Error(t);i("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}return r}function i(e){try{if(!n.g.localStorage)return!1}catch(t){return!1}var r=n.g.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=r},42473(e){"use strict";var t=function(){};e.exports=t},84763(e){e.exports=Worker},47529(e){e.exports=n;var t=Object.prototype.hasOwnProperty;function n(){for(var e={},n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},7071(e){function t(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},94993(e,t,n){var r=n(18698).default,i=n(66115);function a(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return i(e)}e.exports=a,e.exports.__esModule=!0,e.exports.default=e.exports},6015(e){function t(n,r){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},861(e,t,n){var r=n(63405),i=n(79498),a=n(86116),o=n(42281);function s(e){return r(e)||i(e)||a(e)||o()}e.exports=s,e.exports.__esModule=!0,e.exports.default=e.exports},18698(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},86116(e,t,n){var r=n(73897);function i(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},1644(e,t,n){"use strict";var r,i;function a(e){return!!e&&e<7}n.d(t,{I:()=>r,O:()=>a}),(i=r||(r={}))[i.loading=1]="loading",i[i.setVariables=2]="setVariables",i[i.fetchMore=3]="fetchMore",i[i.refetch=4]="refetch",i[i.poll=6]="poll",i[i.ready=7]="ready",i[i.error=8]="error"},30990(e,t,n){"use strict";n.d(t,{MS:()=>s,YG:()=>a,cA:()=>c,ls:()=>o});var r=n(70655);n(83952);var i=n(13154),a=Symbol();function o(e){return!!e.extensions&&Array.isArray(e.extensions[a])}function s(e){return e.hasOwnProperty("graphQLErrors")}var u=function(e){var t=(0,r.ev)((0,r.ev)((0,r.ev)([],e.graphQLErrors,!0),e.clientErrors,!0),e.protocolErrors,!0);return e.networkError&&t.push(e.networkError),t.map(function(e){return(0,i.s)(e)&&e.message||"Error message not found."}).join("\n")},c=function(e){function t(n){var r=n.graphQLErrors,i=n.protocolErrors,a=n.clientErrors,o=n.networkError,s=n.errorMessage,c=n.extraInfo,l=e.call(this,s)||this;return l.name="ApolloError",l.graphQLErrors=r||[],l.protocolErrors=i||[],l.clientErrors=a||[],l.networkError=o||null,l.message=s||u(l),l.extraInfo=c,l.__proto__=t.prototype,l}return(0,r.ZT)(t,e),t}(Error)},85317(e,t,n){"use strict";n.d(t,{K:()=>a});var r=n(67294),i=n(30320).aS?Symbol.for("__APOLLO_CONTEXT__"):"__APOLLO_CONTEXT__";function a(){var e=r.createContext[i];return e||(Object.defineProperty(r.createContext,i,{value:e=r.createContext({}),enumerable:!1,writable:!1,configurable:!0}),e.displayName="ApolloContext"),e}},21436(e,t,n){"use strict";n.d(t,{O:()=>i,k:()=>r});var r=Array.isArray;function i(e){return Array.isArray(e)&&e.length>0}},30320(e,t,n){"use strict";n.d(t,{DN:()=>s,JC:()=>l,aS:()=>o,mr:()=>i,sy:()=>a});var r=n(83952),i="function"==typeof WeakMap&&"ReactNative"!==(0,r.wY)(function(){return navigator.product}),a="function"==typeof WeakSet,o="function"==typeof Symbol&&"function"==typeof Symbol.for,s=o&&Symbol.asyncIterator,u="function"==typeof(0,r.wY)(function(){return window.document.createElement}),c=(0,r.wY)(function(){return navigator.userAgent.indexOf("jsdom")>=0})||!1,l=u&&!c},53712(e,t,n){"use strict";function r(){for(var e=[],t=0;tr})},10542(e,t,n){"use strict";n.d(t,{J:()=>o}),n(83952);var r=n(13154);function i(e){var t=new Set([e]);return t.forEach(function(e){(0,r.s)(e)&&a(e)===e&&Object.getOwnPropertyNames(e).forEach(function(n){(0,r.s)(e[n])&&t.add(e[n])})}),e}function a(e){if(__DEV__&&!Object.isFrozen(e))try{Object.freeze(e)}catch(t){if(t instanceof TypeError)return null;throw t}return e}function o(e){return __DEV__&&i(e),e}},14012(e,t,n){"use strict";n.d(t,{J:()=>a});var r=n(70655),i=n(53712);function a(e,t){return(0,i.o)(e,t,t.variables&&{variables:(0,r.pi)((0,r.pi)({},e&&e.variables),t.variables)})}},13154(e,t,n){"use strict";function r(e){return null!==e&&"object"==typeof e}n.d(t,{s:()=>r})},83952(e,t,n){"use strict";n.d(t,{ej:()=>u,kG:()=>c,wY:()=>h});var r,i=n(70655),a="Invariant Violation",o=Object.setPrototypeOf,s=void 0===o?function(e,t){return e.__proto__=t,e}:o,u=function(e){function t(n){void 0===n&&(n=a);var r=e.call(this,"number"==typeof n?a+": "+n+" (see https://github.com/apollographql/invariant-packages)":n)||this;return r.framesToPop=1,r.name=a,s(r,t.prototype),r}return(0,i.ZT)(t,e),t}(Error);function c(e,t){if(!e)throw new u(t)}var l=["debug","log","warn","error","silent"],f=l.indexOf("log");function d(e){return function(){if(l.indexOf(e)>=f)return(console[e]||console.log).apply(console,arguments)}}function h(e){try{return e()}catch(t){}}(r=c||(c={})).debug=d("debug"),r.log=d("log"),r.warn=d("warn"),r.error=d("error");let p=h(function(){return globalThis})||h(function(){return window})||h(function(){return self})||h(function(){return global})||h(function(){return h.constructor("return this")()});var b="__",m=[b,b].join("DEV");function g(){try{return Boolean(__DEV__)}catch(e){return Object.defineProperty(p,m,{value:"production"!==h(function(){return"production"}),enumerable:!1,configurable:!0,writable:!0}),p[m]}}let v=g();function y(e){try{return e()}catch(t){}}var w=y(function(){return globalThis})||y(function(){return window})||y(function(){return self})||y(function(){return global})||y(function(){return y.constructor("return this")()}),_=!1;function E(){!w||y(function(){return"production"})||y(function(){return process})||(Object.defineProperty(w,"process",{value:{env:{NODE_ENV:"production"}},configurable:!0,enumerable:!1,writable:!0}),_=!0)}function S(){_&&(delete w.process,_=!1)}E();var k=n(10143);function x(){return k.H,S()}function T(){__DEV__?c("boolean"==typeof v,v):c("boolean"==typeof v,39)}x(),T()},4942(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{Z:()=>r})},87462(e,t,n){"use strict";function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},51721(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>i})},63366(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}n.d(t,{Z:()=>r})},25821(e,t,n){"use strict";n.d(t,{Z:()=>s});var r=n(45695);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=10,o=2;function s(e){return u(e,[])}function u(e,t){switch(i(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":if(null===e)return"null";return c(e,t);default:return String(e)}}function c(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]),r=d(e);if(void 0!==r){var i=r.call(e);if(i!==e)return"string"==typeof i?i:u(i,n)}else if(Array.isArray(e))return f(e,n);return l(e,n)}function l(e,t){var n=Object.keys(e);return 0===n.length?"{}":t.length>o?"["+h(e)+"]":"{ "+n.map(function(n){var r=u(e[n],t);return n+": "+r}).join(", ")+" }"}function f(e,t){if(0===e.length)return"[]";if(t.length>o)return"[Array]";for(var n=Math.min(a,e.length),r=e.length-n,i=[],s=0;s1&&i.push("... ".concat(r," more items")),"["+i.join(", ")+"]"}function d(e){var t=e[String(r.Z)];return"function"==typeof t?t:"function"==typeof e.inspect?e.inspect:void 0}function h(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var n=e.constructor.name;if("string"==typeof n&&""!==n)return n}return t}},45695(e,t,n){"use strict";n.d(t,{Z:()=>i});var r="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;let i=r},25217(e,t,n){"use strict";function r(e,t){if(!Boolean(e))throw Error(null!=t?t:"Unexpected invariant triggered.")}n.d(t,{Ye:()=>o,WU:()=>s,UG:()=>u});var i=n(45695);function a(e){var t=e.prototype.toJSON;"function"==typeof t||r(0),e.prototype.inspect=t,i.Z&&(e.prototype[i.Z]=t)}var o=function(){function e(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}return e.prototype.toJSON=function(){return{start:this.start,end:this.end}},e}();a(o);var s=function(){function e(e,t,n,r,i,a,o){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=o,this.prev=a,this.next=null}return e.prototype.toJSON=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}},e}();function u(e){return null!=e&&"string"==typeof e.kind}a(s)},87392(e,t,n){"use strict";function r(e){var t=e.split(/\r\n|[\n\r]/g),n=a(e);if(0!==n)for(var r=1;ro&&i(t[s-1]);)--s;return t.slice(o,s).join("\n")}function i(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),i=" "===e[0]||" "===e[0],a='"'===e[e.length-1],o="\\"===e[e.length-1],s=!r||a||o||n,u="";return s&&!(r&&i)&&(u+="\n"+t),u+=t?e.replace(/\n/g,"\n"+t):e,s&&(u+="\n"),'"""'+u.replace(/"""/g,'\\"""')+'"""'}n.d(t,{LZ:()=>o,W7:()=>r})},97359(e,t,n){"use strict";n.d(t,{h:()=>r});var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"})},10143(e,t,n){"use strict";n.d(t,{H:()=>c,T:()=>l});var r=n(99763),i=n(25821);function a(e,t){if(!Boolean(e))throw Error(t)}let o=function(e,t){return e instanceof t};function s(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"GraphQL request",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};"string"==typeof e||a(0,"Body must be a string. Received: ".concat((0,i.Z)(e),".")),this.body=e,this.name=t,this.locationOffset=n,this.locationOffset.line>0||a(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||a(0,"column in locationOffset is 1-indexed and must be positive.")}return u(e,[{key:r.YF,get:function(){return"Source"}}]),e}();function l(e){return o(e,c)}},99763(e,t,n){"use strict";n.d(t,{YF:()=>r});var r="function"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:"@@toStringTag"},37452(e){"use strict";e.exports=JSON.parse('{"AElig":"\xc6","AMP":"&","Aacute":"\xc1","Acirc":"\xc2","Agrave":"\xc0","Aring":"\xc5","Atilde":"\xc3","Auml":"\xc4","COPY":"\xa9","Ccedil":"\xc7","ETH":"\xd0","Eacute":"\xc9","Ecirc":"\xca","Egrave":"\xc8","Euml":"\xcb","GT":">","Iacute":"\xcd","Icirc":"\xce","Igrave":"\xcc","Iuml":"\xcf","LT":"<","Ntilde":"\xd1","Oacute":"\xd3","Ocirc":"\xd4","Ograve":"\xd2","Oslash":"\xd8","Otilde":"\xd5","Ouml":"\xd6","QUOT":"\\"","REG":"\xae","THORN":"\xde","Uacute":"\xda","Ucirc":"\xdb","Ugrave":"\xd9","Uuml":"\xdc","Yacute":"\xdd","aacute":"\xe1","acirc":"\xe2","acute":"\xb4","aelig":"\xe6","agrave":"\xe0","amp":"&","aring":"\xe5","atilde":"\xe3","auml":"\xe4","brvbar":"\xa6","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","eacute":"\xe9","ecirc":"\xea","egrave":"\xe8","eth":"\xf0","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","iacute":"\xed","icirc":"\xee","iexcl":"\xa1","igrave":"\xec","iquest":"\xbf","iuml":"\xef","laquo":"\xab","lt":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","ntilde":"\xf1","oacute":"\xf3","ocirc":"\xf4","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","oslash":"\xf8","otilde":"\xf5","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","raquo":"\xbb","reg":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","thorn":"\xfe","times":"\xd7","uacute":"\xfa","ucirc":"\xfb","ugrave":"\xf9","uml":"\xa8","uuml":"\xfc","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},93580(e){"use strict";e.exports=JSON.parse('{"0":"�","128":"€","130":"‚","131":"ƒ","132":"„","133":"…","134":"†","135":"‡","136":"ˆ","137":"‰","138":"Š","139":"‹","140":"Œ","142":"Ž","145":"‘","146":"’","147":"“","148":"”","149":"•","150":"–","151":"—","152":"˜","153":"™","154":"š","155":"›","156":"œ","158":"ž","159":"Ÿ"}')},67946(e){"use strict";e.exports=JSON.parse('{"locale":"en","long":{"year":{"previous":"last year","current":"this year","next":"next year","past":{"one":"{0} year ago","other":"{0} years ago"},"future":{"one":"in {0} year","other":"in {0} years"}},"quarter":{"previous":"last quarter","current":"this quarter","next":"next quarter","past":{"one":"{0} quarter ago","other":"{0} quarters ago"},"future":{"one":"in {0} quarter","other":"in {0} quarters"}},"month":{"previous":"last month","current":"this month","next":"next month","past":{"one":"{0} month ago","other":"{0} months ago"},"future":{"one":"in {0} month","other":"in {0} months"}},"week":{"previous":"last week","current":"this week","next":"next week","past":{"one":"{0} week ago","other":"{0} weeks ago"},"future":{"one":"in {0} week","other":"in {0} weeks"}},"day":{"previous":"yesterday","current":"today","next":"tomorrow","past":{"one":"{0} day ago","other":"{0} days ago"},"future":{"one":"in {0} day","other":"in {0} days"}},"hour":{"current":"this hour","past":{"one":"{0} hour ago","other":"{0} hours ago"},"future":{"one":"in {0} hour","other":"in {0} hours"}},"minute":{"current":"this minute","past":{"one":"{0} minute ago","other":"{0} minutes ago"},"future":{"one":"in {0} minute","other":"in {0} minutes"}},"second":{"current":"now","past":{"one":"{0} second ago","other":"{0} seconds ago"},"future":{"one":"in {0} second","other":"in {0} seconds"}}},"short":{"year":{"previous":"last yr.","current":"this yr.","next":"next yr.","past":"{0} yr. ago","future":"in {0} yr."},"quarter":{"previous":"last qtr.","current":"this qtr.","next":"next qtr.","past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"future":{"one":"in {0} qtr.","other":"in {0} qtrs."}},"month":{"previous":"last mo.","current":"this mo.","next":"next mo.","past":"{0} mo. ago","future":"in {0} mo."},"week":{"previous":"last wk.","current":"this wk.","next":"next wk.","past":"{0} wk. ago","future":"in {0} wk."},"day":{"previous":"yesterday","current":"today","next":"tomorrow","past":{"one":"{0} day ago","other":"{0} days ago"},"future":{"one":"in {0} day","other":"in {0} days"}},"hour":{"current":"this hour","past":"{0} hr. ago","future":"in {0} hr."},"minute":{"current":"this minute","past":"{0} min. ago","future":"in {0} min."},"second":{"current":"now","past":"{0} sec. ago","future":"in {0} sec."}},"narrow":{"year":{"previous":"last yr.","current":"this yr.","next":"next yr.","past":"{0} yr. ago","future":"in {0} yr."},"quarter":{"previous":"last qtr.","current":"this qtr.","next":"next qtr.","past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"future":{"one":"in {0} qtr.","other":"in {0} qtrs."}},"month":{"previous":"last mo.","current":"this mo.","next":"next mo.","past":"{0} mo. ago","future":"in {0} mo."},"week":{"previous":"last wk.","current":"this wk.","next":"next wk.","past":"{0} wk. ago","future":"in {0} wk."},"day":{"previous":"yesterday","current":"today","next":"tomorrow","past":{"one":"{0} day ago","other":"{0} days ago"},"future":{"one":"in {0} day","other":"in {0} days"}},"hour":{"current":"this hour","past":"{0} hr. ago","future":"in {0} hr."},"minute":{"current":"this minute","past":"{0} min. ago","future":"in {0} min."},"second":{"current":"now","past":"{0} sec. ago","future":"in {0} sec."}},"now":{"now":{"current":"now","future":"in a moment","past":"just now"}},"mini":{"year":"{0}yr","month":"{0}mo","week":"{0}wk","day":"{0}d","hour":"{0}h","minute":"{0}m","second":"{0}s","now":"now"},"short-time":{"year":"{0} yr.","month":"{0} mo.","week":"{0} wk.","day":{"one":"{0} day","other":"{0} days"},"hour":"{0} hr.","minute":"{0} min.","second":"{0} sec."},"long-time":{"year":{"one":"{0} year","other":"{0} years"},"month":{"one":"{0} month","other":"{0} months"},"week":{"one":"{0} week","other":"{0} weeks"},"day":{"one":"{0} day","other":"{0} days"},"hour":{"one":"{0} hour","other":"{0} hours"},"minute":{"one":"{0} minute","other":"{0} minutes"},"second":{"one":"{0} second","other":"{0} seconds"}}}')}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(n,r){if(1&r&&(n=this(n)),8&r||"object"==typeof n&&n&&(4&r&&n.__esModule||16&r&&"function"==typeof n.then))return n;var i=Object.create(null);__webpack_require__.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var o=2&r&&n;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach(e=>a[e]=()=>n[e]);return a.default=()=>n,__webpack_require__.d(i,a),i}})(),__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set(){throw Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),__webpack_require__.p="/assets/",__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";var e,t,n,r,i=__webpack_require__(32316),a=__webpack_require__(8126),o=__webpack_require__(5690),s=__webpack_require__(30381),u=__webpack_require__.n(s),c=__webpack_require__(67294),l=__webpack_require__(73935),f=__webpack_require__.n(l),d=__webpack_require__(57209),h=__webpack_require__(37703),p=__webpack_require__(97779),b=__webpack_require__(28500);function m(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(i){return"function"==typeof i?i(n,r,e):t(i)}}}}var g=m();g.withExtraArgument=m;let v=g;var y=__webpack_require__(76489);function w(e){return function(t){return function(n){return function(r){n(r);var i=e||document&&document.cookie||"",a=t.getState();if("MATCH_ROUTE"===r.type&&"/signin"!==a.notifications.currentUrl){var o=(0,y.Q)(i);if(o.explorer)try{var s=JSON.parse(o.explorer);if("error"===s.status){var u=_(s.url);n({type:"NOTIFY_ERROR_MSG",msg:u})}}catch(c){n({type:"NOTIFY_ERROR_MSG",msg:"Invalid explorer status"})}}}}}}function _(e){var t="Can't connect to explorer: ".concat(e);return e.match(/^wss?:.+/)?t:"".concat(t,". You must use a websocket.")}var E=__webpack_require__(16353);function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ei(e,t){if(e){if("string"==typeof e)return ea(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ea(e,t)}}function ea(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1,i=!1,a=arguments[1],o=a;return new n(function(n){return t.subscribe({next:function(t){var a=!i;if(i=!0,!a||r)try{o=e(o,t)}catch(s){return n.error(s)}else o=t},error:function(e){n.error(e)},complete:function(){if(!i&&!r)return n.error(TypeError("Cannot reduce an empty sequence"));n.next(o),n.complete()}})})},t.concat=function(){for(var e=this,t=arguments.length,n=Array(t),r=0;r=0&&i.splice(e,1),o()}});i.push(s)},error:function(e){r.error(e)},complete:function(){o()}});function o(){a.closed&&0===i.length&&r.complete()}return function(){i.forEach(function(e){return e.unsubscribe()}),a.unsubscribe()}})},t[ed]=function(){return this},e.from=function(t){var n="function"==typeof this?this:e;if(null==t)throw TypeError(t+" is not an object");var r=ep(t,ed);if(r){var i=r.call(t);if(Object(i)!==i)throw TypeError(i+" is not an object");return em(i)&&i.constructor===n?i:new n(function(e){return i.subscribe(e)})}if(ec("iterator")&&(r=ep(t,ef)))return new n(function(e){ev(function(){if(!e.closed){for(var n,i=er(r.call(t));!(n=i()).done;){var a=n.value;if(e.next(a),e.closed)return}e.complete()}})});if(Array.isArray(t))return new n(function(e){ev(function(){if(!e.closed){for(var n=0;n0))return n.connection.key;var r=n.connection.filter?n.connection.filter:[];r.sort();var i={};return r.forEach(function(e){i[e]=t[e]}),"".concat(n.connection.key,"(").concat(eV(i),")")}var a=e;if(t){var o=eV(t);a+="(".concat(o,")")}return n&&Object.keys(n).forEach(function(e){-1===eW.indexOf(e)&&(n[e]&&Object.keys(n[e]).length?a+="@".concat(e,"(").concat(eV(n[e]),")"):a+="@".concat(e))}),a},{setStringify:function(e){var t=eV;return eV=e,t}}),eV=function(e){return JSON.stringify(e,eq)};function eq(e,t){return(0,eO.s)(t)&&!Array.isArray(t)&&(t=Object.keys(t).sort().reduce(function(e,n){return e[n]=t[n],e},{})),t}function eZ(e,t){if(e.arguments&&e.arguments.length){var n={};return e.arguments.forEach(function(e){var r;return ez(n,e.name,e.value,t)}),n}return null}function eX(e){return e.alias?e.alias.value:e.name.value}function eJ(e,t,n){for(var r,i=0,a=t.selections;it.indexOf(i))throw __DEV__?new Q.ej("illegal argument: ".concat(i)):new Q.ej(27)}return e}function tt(e,t){return t?t(e):eT.of()}function tn(e){return"function"==typeof e?new ta(e):e}function tr(e){return e.request.length<=1}var ti=function(e){function t(t,n){var r=e.call(this,t)||this;return r.link=n,r}return(0,en.ZT)(t,e),t}(Error),ta=function(){function e(e){e&&(this.request=e)}return e.empty=function(){return new e(function(){return eT.of()})},e.from=function(t){return 0===t.length?e.empty():t.map(tn).reduce(function(e,t){return e.concat(t)})},e.split=function(t,n,r){var i=tn(n),a=tn(r||new e(tt));return new e(tr(i)&&tr(a)?function(e){return t(e)?i.request(e)||eT.of():a.request(e)||eT.of()}:function(e,n){return t(e)?i.request(e,n)||eT.of():a.request(e,n)||eT.of()})},e.execute=function(e,t){return e.request(eM(t.context,e7(te(t))))||eT.of()},e.concat=function(t,n){var r=tn(t);if(tr(r))return __DEV__&&Q.kG.warn(new ti("You are calling concat on a terminating link, which will have no effect",r)),r;var i=tn(n);return new e(tr(i)?function(e){return r.request(e,function(e){return i.request(e)||eT.of()})||eT.of()}:function(e,t){return r.request(e,function(e){return i.request(e,t)||eT.of()})||eT.of()})},e.prototype.split=function(t,n,r){return this.concat(e.split(t,n,r||new e(tt)))},e.prototype.concat=function(t){return e.concat(this,t)},e.prototype.request=function(e,t){throw __DEV__?new Q.ej("request is not implemented"):new Q.ej(22)},e.prototype.onError=function(e,t){if(t&&t.error)return t.error(e),!1;throw e},e.prototype.setOnError=function(e){return this.onError=e,this},e}(),to=__webpack_require__(25821),ts=__webpack_require__(25217),tu={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},tc=Object.freeze({});function tl(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:tu,r=void 0,i=Array.isArray(e),a=[e],o=-1,s=[],u=void 0,c=void 0,l=void 0,f=[],d=[],h=e;do{var p,b=++o===a.length,m=b&&0!==s.length;if(b){if(c=0===d.length?void 0:f[f.length-1],u=l,l=d.pop(),m){if(i)u=u.slice();else{for(var g={},v=0,y=Object.keys(u);v1)for(var r=new tB,i=1;i=0;--a){var o=i[a],s=isNaN(+o)?{}:[];s[o]=t,t=s}n=r.merge(n,t)}),n}var tW=Object.prototype.hasOwnProperty;function tK(e,t){var n,r,i,a,o;return(0,en.mG)(this,void 0,void 0,function(){var s,u,c,l,f,d,h,p,b,m,g,v,y,w,_,E,S,k,x,T,M,O,A;return(0,en.Jh)(this,function(L){switch(L.label){case 0:if(void 0===TextDecoder)throw Error("TextDecoder must be defined in the environment: please import a polyfill.");s=new TextDecoder("utf-8"),u=null===(n=e.headers)||void 0===n?void 0:n.get("content-type"),c="boundary=",l=(null==u?void 0:u.includes(c))?null==u?void 0:u.substring((null==u?void 0:u.indexOf(c))+c.length).replace(/['"]/g,"").replace(/\;(.*)/gm,"").trim():"-",f="\r\n--".concat(l),d="",h=tI(e),p=!0,L.label=1;case 1:if(!p)return[3,3];return[4,h.next()];case 2:for(m=(b=L.sent()).value,g=b.done,v="string"==typeof m?m:s.decode(m),y=d.length-f.length+1,p=!g,d+=v,w=d.indexOf(f,y);w>-1;){if(_=void 0,_=(O=[d.slice(0,w),d.slice(w+f.length),])[0],d=O[1],E=_.indexOf("\r\n\r\n"),(k=(S=tV(_.slice(0,E)))["content-type"])&&-1===k.toLowerCase().indexOf("application/json"))throw Error("Unsupported patch content type: application/json is required.");if(x=_.slice(E))try{T=tq(e,x),Object.keys(T).length>1||"data"in T||"incremental"in T||"errors"in T||"payload"in T?tz(T)?(M={},"payload"in T&&(M=(0,en.pi)({},T.payload)),"errors"in T&&(M=(0,en.pi)((0,en.pi)({},M),{extensions:(0,en.pi)((0,en.pi)({},"extensions"in M?M.extensions:null),((A={})[tN.YG]=T.errors,A))})),null===(r=t.next)||void 0===r||r.call(t,M)):null===(i=t.next)||void 0===i||i.call(t,T):1===Object.keys(T).length&&"hasNext"in T&&!T.hasNext&&(null===(a=t.complete)||void 0===a||a.call(t))}catch(C){tZ(C,t)}w=d.indexOf(f)}return[3,1];case 3:return null===(o=t.complete)||void 0===o||o.call(t),[2]}})})}function tV(e){var t={};return e.split("\n").forEach(function(e){var n=e.indexOf(":");if(n>-1){var r=e.slice(0,n).trim().toLowerCase(),i=e.slice(n+1).trim();t[r]=i}}),t}function tq(e,t){e.status>=300&&tD(e,function(){try{return JSON.parse(t)}catch(e){return t}}(),"Response not successful: Received status code ".concat(e.status));try{return JSON.parse(t)}catch(n){var r=n;throw r.name="ServerParseError",r.response=e,r.statusCode=e.status,r.bodyText=t,r}}function tZ(e,t){var n,r;"AbortError"!==e.name&&(e.result&&e.result.errors&&e.result.data&&(null===(n=t.next)||void 0===n||n.call(t,e.result)),null===(r=t.error)||void 0===r||r.call(t,e))}function tX(e,t,n){tJ(t)(e).then(function(e){var t,r;null===(t=n.next)||void 0===t||t.call(n,e),null===(r=n.complete)||void 0===r||r.call(n)}).catch(function(e){return tZ(e,n)})}function tJ(e){return function(t){return t.text().then(function(e){return tq(t,e)}).then(function(n){return t.status>=300&&tD(t,n,"Response not successful: Received status code ".concat(t.status)),Array.isArray(n)||tW.call(n,"data")||tW.call(n,"errors")||tD(t,n,"Server response was missing for query '".concat(Array.isArray(e)?e.map(function(e){return e.operationName}):e.operationName,"'.")),n})}}var tQ=function(e){if(!e&&"undefined"==typeof fetch)throw __DEV__?new Q.ej("\n\"fetch\" has not been found globally and no fetcher has been configured. To fix this, install a fetch package (like https://www.npmjs.com/package/cross-fetch), instantiate the fetcher, and pass it into your HttpLink constructor. For example:\n\nimport fetch from 'cross-fetch';\nimport { ApolloClient, HttpLink } from '@apollo/client';\nconst client = new ApolloClient({\n link: new HttpLink({ uri: '/graphql', fetch })\n});\n "):new Q.ej(23)},t1=__webpack_require__(87392);function t0(e){return tl(e,{leave:t3})}var t2=80,t3={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return t6(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=t8("(",t6(e.variableDefinitions,", "),")"),i=t6(e.directives," "),a=e.selectionSet;return n||i||r||"query"!==t?t6([t,t6([n,r]),i,a]," "):a},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,i=e.directives;return t+": "+n+t8(" = ",r)+t8(" ",t6(i," "))},SelectionSet:function(e){return t5(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,i=e.directives,a=e.selectionSet,o=t8("",t,": ")+n,s=o+t8("(",t6(r,", "),")");return s.length>t2&&(s=o+t8("(\n",t9(t6(r,"\n")),"\n)")),t6([s,t6(i," "),a]," ")},Argument:function(e){var t;return e.name+": "+e.value},FragmentSpread:function(e){var t;return"..."+e.name+t8(" ",t6(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return t6(["...",t8("on ",t),t6(n," "),r]," ")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,i=e.directives,a=e.selectionSet;return"fragment ".concat(t).concat(t8("(",t6(r,", "),")")," ")+"on ".concat(n," ").concat(t8("",t6(i," ")," "))+a},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?(0,t1.LZ)(n,"description"===t?"":" "):JSON.stringify(n)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+t6(e.values,", ")+"]"},ObjectValue:function(e){return"{"+t6(e.fields,", ")+"}"},ObjectField:function(e){var t;return e.name+": "+e.value},Directive:function(e){var t;return"@"+e.name+t8("(",t6(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:t4(function(e){var t=e.directives,n=e.operationTypes;return t6(["schema",t6(t," "),t5(n)]," ")}),OperationTypeDefinition:function(e){var t;return e.operation+": "+e.type},ScalarTypeDefinition:t4(function(e){var t;return t6(["scalar",e.name,t6(e.directives," ")]," ")}),ObjectTypeDefinition:t4(function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["type",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")}),FieldDefinition:t4(function(e){var t=e.name,n=e.arguments,r=e.type,i=e.directives;return t+(ne(n)?t8("(\n",t9(t6(n,"\n")),"\n)"):t8("(",t6(n,", "),")"))+": "+r+t8(" ",t6(i," "))}),InputValueDefinition:t4(function(e){var t=e.name,n=e.type,r=e.defaultValue,i=e.directives;return t6([t+": "+n,t8("= ",r),t6(i," ")]," ")}),InterfaceTypeDefinition:t4(function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["interface",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")}),UnionTypeDefinition:t4(function(e){var t=e.name,n=e.directives,r=e.types;return t6(["union",t,t6(n," "),r&&0!==r.length?"= "+t6(r," | "):""]," ")}),EnumTypeDefinition:t4(function(e){var t=e.name,n=e.directives,r=e.values;return t6(["enum",t,t6(n," "),t5(r)]," ")}),EnumValueDefinition:t4(function(e){var t;return t6([e.name,t6(e.directives," ")]," ")}),InputObjectTypeDefinition:t4(function(e){var t=e.name,n=e.directives,r=e.fields;return t6(["input",t,t6(n," "),t5(r)]," ")}),DirectiveDefinition:t4(function(e){var t=e.name,n=e.arguments,r=e.repeatable,i=e.locations;return"directive @"+t+(ne(n)?t8("(\n",t9(t6(n,"\n")),"\n)"):t8("(",t6(n,", "),")"))+(r?" repeatable":"")+" on "+t6(i," | ")}),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return t6(["extend schema",t6(t," "),t5(n)]," ")},ScalarTypeExtension:function(e){var t;return t6(["extend scalar",e.name,t6(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["extend type",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")},InterfaceTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["extend interface",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return t6(["extend union",t,t6(n," "),r&&0!==r.length?"= "+t6(r," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return t6(["extend enum",t,t6(n," "),t5(r)]," ")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return t6(["extend input",t,t6(n," "),t5(r)]," ")}};function t4(e){return function(t){return t6([t.description,e(t)],"\n")}}function t6(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==(t=null==e?void 0:e.filter(function(e){return e}).join(n))&&void 0!==t?t:""}function t5(e){return t8("{\n",t9(t6(e,"\n")),"\n}")}function t8(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return null!=t&&""!==t?e+t+n:""}function t9(e){return t8(" ",e.replace(/\n/g,"\n "))}function t7(e){return -1!==e.indexOf("\n")}function ne(e){return null!=e&&e.some(t7)}var nt,nn,nr,ni={http:{includeQuery:!0,includeExtensions:!1,preserveHeaderCase:!1},headers:{accept:"*/*","content-type":"application/json"},options:{method:"POST"}},na=function(e,t){return t(e)};function no(e,t){for(var n=[],r=2;rObject.create(null),{forEach:nv,slice:ny}=Array.prototype,{hasOwnProperty:nw}=Object.prototype;class n_{constructor(e=!0,t=ng){this.weakness=e,this.makeData=t}lookup(...e){return this.lookupArray(e)}lookupArray(e){let t=this;return nv.call(e,e=>t=t.getChildTrie(e)),nw.call(t,"data")?t.data:t.data=this.makeData(ny.call(e))}peek(...e){return this.peekArray(e)}peekArray(e){let t=this;for(let n=0,r=e.length;t&&n=0;--o)t.definitions[o].kind===nL.h.OPERATION_DEFINITION&&++a;var s=nN(e),u=e.some(function(e){return e.remove}),c=function(e){return u&&e&&e.some(s)},l=new Map,f=!1,d={enter:function(e){if(c(e.directives))return f=!0,null}},h=tl(t,{Field:d,InlineFragment:d,VariableDefinition:{enter:function(){return!1}},Variable:{enter:function(e,t,n,r,a){var o=i(a);o&&o.variables.add(e.name.value)}},FragmentSpread:{enter:function(e,t,n,r,a){if(c(e.directives))return f=!0,null;var o=i(a);o&&o.fragmentSpreads.add(e.name.value)}},FragmentDefinition:{enter:function(e,t,n,r){l.set(JSON.stringify(r),e)},leave:function(e,t,n,i){return e===l.get(JSON.stringify(i))?e:a>0&&e.selectionSet.selections.every(function(e){return e.kind===nL.h.FIELD&&"__typename"===e.name.value})?(r(e.name.value).removed=!0,f=!0,null):void 0}},Directive:{leave:function(e){if(s(e))return f=!0,null}}});if(!f)return t;var p=function(e){return e.transitiveVars||(e.transitiveVars=new Set(e.variables),e.removed||e.fragmentSpreads.forEach(function(t){p(r(t)).transitiveVars.forEach(function(t){e.transitiveVars.add(t)})})),e},b=new Set;h.definitions.forEach(function(e){e.kind===nL.h.OPERATION_DEFINITION?p(n(e.name&&e.name.value)).fragmentSpreads.forEach(function(e){b.add(e)}):e.kind!==nL.h.FRAGMENT_DEFINITION||0!==a||r(e.name.value).removed||b.add(e.name.value)}),b.forEach(function(e){p(r(e)).fragmentSpreads.forEach(function(e){b.add(e)})});var m=function(e){return!!(!b.has(e)||r(e).removed)},g={enter:function(e){if(m(e.name.value))return null}};return nD(tl(h,{FragmentSpread:g,FragmentDefinition:g,OperationDefinition:{leave:function(e){if(e.variableDefinitions){var t=p(n(e.name&&e.name.value)).transitiveVars;if(t.size0},t.prototype.tearDownQuery=function(){this.isTornDown||(this.concast&&this.observer&&(this.concast.removeObserver(this.observer),delete this.concast,delete this.observer),this.stopPolling(),this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions.clear(),this.queryManager.stopQuery(this.queryId),this.observers.clear(),this.isTornDown=!0)},t}(eT);function n4(e){var t=e.options,n=t.fetchPolicy,r=t.nextFetchPolicy;return"cache-and-network"===n||"network-only"===n?e.reobserve({fetchPolicy:"cache-first",nextFetchPolicy:function(){return(this.nextFetchPolicy=r,"function"==typeof r)?r.apply(this,arguments):n}}):e.reobserve()}function n6(e){__DEV__&&Q.kG.error("Unhandled error",e.message,e.stack)}function n5(e){__DEV__&&e&&__DEV__&&Q.kG.debug("Missing cache result fields: ".concat(JSON.stringify(e)),e)}function n8(e){return"network-only"===e||"no-cache"===e||"standby"===e}nK(n3);function n9(e){return e.kind===nL.h.FIELD||e.kind===nL.h.FRAGMENT_SPREAD||e.kind===nL.h.INLINE_FRAGMENT}function n7(e){return e.kind===Kind.SCALAR_TYPE_DEFINITION||e.kind===Kind.OBJECT_TYPE_DEFINITION||e.kind===Kind.INTERFACE_TYPE_DEFINITION||e.kind===Kind.UNION_TYPE_DEFINITION||e.kind===Kind.ENUM_TYPE_DEFINITION||e.kind===Kind.INPUT_OBJECT_TYPE_DEFINITION}function re(e){return e.kind===Kind.SCALAR_TYPE_EXTENSION||e.kind===Kind.OBJECT_TYPE_EXTENSION||e.kind===Kind.INTERFACE_TYPE_EXTENSION||e.kind===Kind.UNION_TYPE_EXTENSION||e.kind===Kind.ENUM_TYPE_EXTENSION||e.kind===Kind.INPUT_OBJECT_TYPE_EXTENSION}var rt=function(){return Object.create(null)},rn=Array.prototype,rr=rn.forEach,ri=rn.slice,ra=function(){function e(e,t){void 0===e&&(e=!0),void 0===t&&(t=rt),this.weakness=e,this.makeData=t}return e.prototype.lookup=function(){for(var e=[],t=0;tclass{constructor(){this.id=["slot",rc++,Date.now(),Math.random().toString(36).slice(2),].join(":")}hasValue(){for(let e=rs;e;e=e.parent)if(this.id in e.slots){let t=e.slots[this.id];if(t===ru)break;return e!==rs&&(rs.slots[this.id]=t),!0}return rs&&(rs.slots[this.id]=ru),!1}getValue(){if(this.hasValue())return rs.slots[this.id]}withValue(e,t,n,r){let i={__proto__:null,[this.id]:e},a=rs;rs={parent:a,slots:i};try{return t.apply(r,n)}finally{rs=a}}static bind(e){let t=rs;return function(){let n=rs;try{return rs=t,e.apply(this,arguments)}finally{rs=n}}}static noContext(e,t,n){if(!rs)return e.apply(n,t);{let r=rs;try{return rs=null,e.apply(n,t)}finally{rs=r}}}};function rf(e){try{return e()}catch(t){}}let rd="@wry/context:Slot",rh=rf(()=>globalThis)||rf(()=>global)||Object.create(null),rp=rh,rb=rp[rd]||Array[rd]||function(e){try{Object.defineProperty(rp,rd,{value:e,enumerable:!1,writable:!1,configurable:!0})}finally{return e}}(rl()),{bind:rm,noContext:rg}=rb;function rv(){}var ry=function(){function e(e,t){void 0===e&&(e=1/0),void 0===t&&(t=rv),this.max=e,this.dispose=t,this.map=new Map,this.newest=null,this.oldest=null}return e.prototype.has=function(e){return this.map.has(e)},e.prototype.get=function(e){var t=this.getNode(e);return t&&t.value},e.prototype.getNode=function(e){var t=this.map.get(e);if(t&&t!==this.newest){var n=t.older,r=t.newer;r&&(r.older=n),n&&(n.newer=r),t.older=this.newest,t.older.newer=t,t.newer=null,this.newest=t,t===this.oldest&&(this.oldest=r)}return t},e.prototype.set=function(e,t){var n=this.getNode(e);return n?n.value=t:(n={key:e,value:t,newer:null,older:this.newest},this.newest&&(this.newest.newer=n),this.newest=n,this.oldest=this.oldest||n,this.map.set(e,n),n.value)},e.prototype.clean=function(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)},e.prototype.delete=function(e){var t=this.map.get(e);return!!t&&(t===this.newest&&(this.newest=t.older),t===this.oldest&&(this.oldest=t.newer),t.newer&&(t.newer.older=t.older),t.older&&(t.older.newer=t.newer),this.map.delete(e),this.dispose(t.value,e),!0)},e}(),rw=new rb,r_=Object.prototype.hasOwnProperty,rE=void 0===(n=Array.from)?function(e){var t=[];return e.forEach(function(e){return t.push(e)}),t}:n;function rS(e){var t=e.unsubscribe;"function"==typeof t&&(e.unsubscribe=void 0,t())}var rk=[],rx=100;function rT(e,t){if(!e)throw Error(t||"assertion failure")}function rM(e,t){var n=e.length;return n>0&&n===t.length&&e[n-1]===t[n-1]}function rO(e){switch(e.length){case 0:throw Error("unknown value");case 1:return e[0];case 2:throw e[1]}}function rA(e){return e.slice(0)}var rL=function(){function e(t){this.fn=t,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++e.count}return e.prototype.peek=function(){if(1===this.value.length&&!rN(this))return rC(this),this.value[0]},e.prototype.recompute=function(e){return rT(!this.recomputing,"already recomputing"),rC(this),rN(this)?rI(this,e):rO(this.value)},e.prototype.setDirty=function(){this.dirty||(this.dirty=!0,this.value.length=0,rR(this),rS(this))},e.prototype.dispose=function(){var e=this;this.setDirty(),rH(this),rF(this,function(t,n){t.setDirty(),r$(t,e)})},e.prototype.forget=function(){this.dispose()},e.prototype.dependOn=function(e){e.add(this),this.deps||(this.deps=rk.pop()||new Set),this.deps.add(e)},e.prototype.forgetDeps=function(){var e=this;this.deps&&(rE(this.deps).forEach(function(t){return t.delete(e)}),this.deps.clear(),rk.push(this.deps),this.deps=null)},e.count=0,e}();function rC(e){var t=rw.getValue();if(t)return e.parents.add(t),t.childValues.has(e)||t.childValues.set(e,[]),rN(e)?rY(t,e):rB(t,e),t}function rI(e,t){return rH(e),rw.withValue(e,rD,[e,t]),rz(e,t)&&rP(e),rO(e.value)}function rD(e,t){e.recomputing=!0,e.value.length=0;try{e.value[0]=e.fn.apply(null,t)}catch(n){e.value[1]=n}e.recomputing=!1}function rN(e){return e.dirty||!!(e.dirtyChildren&&e.dirtyChildren.size)}function rP(e){e.dirty=!1,!rN(e)&&rj(e)}function rR(e){rF(e,rY)}function rj(e){rF(e,rB)}function rF(e,t){var n=e.parents.size;if(n)for(var r=rE(e.parents),i=0;i0&&e.childValues.forEach(function(t,n){r$(e,n)}),e.forgetDeps(),rT(null===e.dirtyChildren)}function r$(e,t){t.parents.delete(e),e.childValues.delete(t),rU(e,t)}function rz(e,t){if("function"==typeof e.subscribe)try{rS(e),e.unsubscribe=e.subscribe.apply(null,t)}catch(n){return e.setDirty(),!1}return!0}var rG={setDirty:!0,dispose:!0,forget:!0};function rW(e){var t=new Map,n=e&&e.subscribe;function r(e){var r=rw.getValue();if(r){var i=t.get(e);i||t.set(e,i=new Set),r.dependOn(i),"function"==typeof n&&(rS(i),i.unsubscribe=n(e))}}return r.dirty=function(e,n){var r=t.get(e);if(r){var i=n&&r_.call(rG,n)?n:"setDirty";rE(r).forEach(function(e){return e[i]()}),t.delete(e),rS(r)}},r}function rK(){var e=new ra("function"==typeof WeakMap);return function(){return e.lookupArray(arguments)}}var rV=rK(),rq=new Set;function rZ(e,t){void 0===t&&(t=Object.create(null));var n=new ry(t.max||65536,function(e){return e.dispose()}),r=t.keyArgs,i=t.makeCacheKey||rK(),a=function(){var a=i.apply(null,r?r.apply(null,arguments):arguments);if(void 0===a)return e.apply(null,arguments);var o=n.get(a);o||(n.set(a,o=new rL(e)),o.subscribe=t.subscribe,o.forget=function(){return n.delete(a)});var s=o.recompute(Array.prototype.slice.call(arguments));return n.set(a,o),rq.add(n),rw.hasValue()||(rq.forEach(function(e){return e.clean()}),rq.clear()),s};function o(e){var t=n.get(e);t&&t.setDirty()}function s(e){var t=n.get(e);if(t)return t.peek()}function u(e){return n.delete(e)}return Object.defineProperty(a,"size",{get:function(){return n.map.size},configurable:!1,enumerable:!1}),a.dirtyKey=o,a.dirty=function(){o(i.apply(null,arguments))},a.peekKey=s,a.peek=function(){return s(i.apply(null,arguments))},a.forgetKey=u,a.forget=function(){return u(i.apply(null,arguments))},a.makeCacheKey=i,a.getKey=r?function(){return i.apply(null,r.apply(null,arguments))}:i,Object.freeze(a)}var rX=new rb,rJ=new WeakMap;function rQ(e){var t=rJ.get(e);return t||rJ.set(e,t={vars:new Set,dep:rW()}),t}function r1(e){rQ(e).vars.forEach(function(t){return t.forgetCache(e)})}function r0(e){rQ(e).vars.forEach(function(t){return t.attachCache(e)})}function r2(e){var t=new Set,n=new Set,r=function(a){if(arguments.length>0){if(e!==a){e=a,t.forEach(function(e){rQ(e).dep.dirty(r),r3(e)});var o=Array.from(n);n.clear(),o.forEach(function(t){return t(e)})}}else{var s=rX.getValue();s&&(i(s),rQ(s).dep(r))}return e};r.onNextChange=function(e){return n.add(e),function(){n.delete(e)}};var i=r.attachCache=function(e){return t.add(e),rQ(e).vars.add(r),r};return r.forgetCache=function(e){return t.delete(e)},r}function r3(e){e.broadcastWatches&&e.broadcastWatches()}var r4=function(){function e(e){var t=e.cache,n=e.client,r=e.resolvers,i=e.fragmentMatcher;this.selectionsToResolveCache=new WeakMap,this.cache=t,n&&(this.client=n),r&&this.addResolvers(r),i&&this.setFragmentMatcher(i)}return e.prototype.addResolvers=function(e){var t=this;this.resolvers=this.resolvers||{},Array.isArray(e)?e.forEach(function(e){t.resolvers=tj(t.resolvers,e)}):this.resolvers=tj(this.resolvers,e)},e.prototype.setResolvers=function(e){this.resolvers={},this.addResolvers(e)},e.prototype.getResolvers=function(){return this.resolvers||{}},e.prototype.runResolvers=function(e){var t=e.document,n=e.remoteResult,r=e.context,i=e.variables,a=e.onlyRunForcedResolvers,o=void 0!==a&&a;return(0,en.mG)(this,void 0,void 0,function(){return(0,en.Jh)(this,function(e){return t?[2,this.resolveDocument(t,n.data,r,i,this.fragmentMatcher,o).then(function(e){return(0,en.pi)((0,en.pi)({},n),{data:e.result})})]:[2,n]})})},e.prototype.setFragmentMatcher=function(e){this.fragmentMatcher=e},e.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},e.prototype.clientQuery=function(e){return tb(["client"],e)&&this.resolvers?e:null},e.prototype.serverQuery=function(e){return n$(e)},e.prototype.prepareContext=function(e){var t=this.cache;return(0,en.pi)((0,en.pi)({},e),{cache:t,getCacheKey:function(e){return t.identify(e)}})},e.prototype.addExportedVariables=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),(0,en.mG)(this,void 0,void 0,function(){return(0,en.Jh)(this,function(r){return e?[2,this.resolveDocument(e,this.buildRootValueFromCache(e,t)||{},this.prepareContext(n),t).then(function(e){return(0,en.pi)((0,en.pi)({},t),e.exportedVariables)})]:[2,(0,en.pi)({},t)]})})},e.prototype.shouldForceResolvers=function(e){var t=!1;return tl(e,{Directive:{enter:function(e){if("client"===e.name.value&&e.arguments&&(t=e.arguments.some(function(e){return"always"===e.name.value&&"BooleanValue"===e.value.kind&&!0===e.value.value})))return tc}}}),t},e.prototype.buildRootValueFromCache=function(e,t){return this.cache.diff({query:nH(e),variables:t,returnPartialData:!0,optimistic:!1}).result},e.prototype.resolveDocument=function(e,t,n,r,i,a){return void 0===n&&(n={}),void 0===r&&(r={}),void 0===i&&(i=function(){return!0}),void 0===a&&(a=!1),(0,en.mG)(this,void 0,void 0,function(){var o,s,u,c,l,f,d,h,p,b,m;return(0,en.Jh)(this,function(g){return o=e8(e),s=e4(e),u=eL(s),c=this.collectSelectionsToResolve(o,u),f=(l=o.operation)?l.charAt(0).toUpperCase()+l.slice(1):"Query",d=this,h=d.cache,p=d.client,b={fragmentMap:u,context:(0,en.pi)((0,en.pi)({},n),{cache:h,client:p}),variables:r,fragmentMatcher:i,defaultOperationType:f,exportedVariables:{},selectionsToResolve:c,onlyRunForcedResolvers:a},m=!1,[2,this.resolveSelectionSet(o.selectionSet,m,t,b).then(function(e){return{result:e,exportedVariables:b.exportedVariables}})]})})},e.prototype.resolveSelectionSet=function(e,t,n,r){return(0,en.mG)(this,void 0,void 0,function(){var i,a,o,s,u,c=this;return(0,en.Jh)(this,function(l){return i=r.fragmentMap,a=r.context,o=r.variables,s=[n],u=function(e){return(0,en.mG)(c,void 0,void 0,function(){var u,c;return(0,en.Jh)(this,function(l){return(t||r.selectionsToResolve.has(e))&&td(e,o)?eQ(e)?[2,this.resolveField(e,t,n,r).then(function(t){var n;void 0!==t&&s.push(((n={})[eX(e)]=t,n))})]:(e1(e)?u=e:(u=i[e.name.value],__DEV__?(0,Q.kG)(u,"No fragment named ".concat(e.name.value)):(0,Q.kG)(u,11)),u&&u.typeCondition&&(c=u.typeCondition.name.value,r.fragmentMatcher(n,c,a)))?[2,this.resolveSelectionSet(u.selectionSet,t,n,r).then(function(e){s.push(e)})]:[2]:[2]})})},[2,Promise.all(e.selections.map(u)).then(function(){return tF(s)})]})})},e.prototype.resolveField=function(e,t,n,r){return(0,en.mG)(this,void 0,void 0,function(){var i,a,o,s,u,c,l,f,d,h=this;return(0,en.Jh)(this,function(p){return n?(i=r.variables,a=e.name.value,o=eX(e),s=a!==o,c=Promise.resolve(u=n[o]||n[a]),(!r.onlyRunForcedResolvers||this.shouldForceResolvers(e))&&(l=n.__typename||r.defaultOperationType,(f=this.resolvers&&this.resolvers[l])&&(d=f[s?a:o])&&(c=Promise.resolve(rX.withValue(this.cache,d,[n,eZ(e,i),r.context,{field:e,fragmentMap:r.fragmentMap},])))),[2,c.then(function(n){if(void 0===n&&(n=u),e.directives&&e.directives.forEach(function(e){"export"===e.name.value&&e.arguments&&e.arguments.forEach(function(e){"as"===e.name.value&&"StringValue"===e.value.kind&&(r.exportedVariables[e.value.value]=n)})}),!e.selectionSet||null==n)return n;var i,a,o=null!==(a=null===(i=e.directives)||void 0===i?void 0:i.some(function(e){return"client"===e.name.value}))&&void 0!==a&&a;return Array.isArray(n)?h.resolveSubSelectedArray(e,t||o,n,r):e.selectionSet?h.resolveSelectionSet(e.selectionSet,t||o,n,r):void 0})]):[2,null]})})},e.prototype.resolveSubSelectedArray=function(e,t,n,r){var i=this;return Promise.all(n.map(function(n){return null===n?null:Array.isArray(n)?i.resolveSubSelectedArray(e,t,n,r):e.selectionSet?i.resolveSelectionSet(e.selectionSet,t,n,r):void 0}))},e.prototype.collectSelectionsToResolve=function(e,t){var n=function(e){return!Array.isArray(e)},r=this.selectionsToResolveCache;function i(e){if(!r.has(e)){var a=new Set;r.set(e,a),tl(e,{Directive:function(e,t,r,i,o){"client"===e.name.value&&o.forEach(function(e){n(e)&&n9(e)&&a.add(e)})},FragmentSpread:function(e,r,o,s,u){var c=t[e.name.value];__DEV__?(0,Q.kG)(c,"No fragment named ".concat(e.name.value)):(0,Q.kG)(c,12);var l=i(c);l.size>0&&(u.forEach(function(e){n(e)&&n9(e)&&a.add(e)}),a.add(e),l.forEach(function(e){a.add(e)}))}})}return r.get(e)}return i(e)},e}(),r6=new(t_.mr?WeakMap:Map);function r5(e,t){var n=e[t];"function"==typeof n&&(e[t]=function(){return r6.set(e,(r6.get(e)+1)%1e15),n.apply(this,arguments)})}function r8(e){e.notifyTimeout&&(clearTimeout(e.notifyTimeout),e.notifyTimeout=void 0)}var r9=function(){function e(e,t){void 0===t&&(t=e.generateQueryId()),this.queryId=t,this.listeners=new Set,this.document=null,this.lastRequestId=1,this.subscriptions=new Set,this.stopped=!1,this.dirty=!1,this.observableQuery=null;var n=this.cache=e.cache;r6.has(n)||(r6.set(n,0),r5(n,"evict"),r5(n,"modify"),r5(n,"reset"))}return e.prototype.init=function(e){var t=e.networkStatus||nZ.I.loading;return this.variables&&this.networkStatus!==nZ.I.loading&&!(0,nm.D)(this.variables,e.variables)&&(t=nZ.I.setVariables),(0,nm.D)(e.variables,this.variables)||(this.lastDiff=void 0),Object.assign(this,{document:e.document,variables:e.variables,networkError:null,graphQLErrors:this.graphQLErrors||[],networkStatus:t}),e.observableQuery&&this.setObservableQuery(e.observableQuery),e.lastRequestId&&(this.lastRequestId=e.lastRequestId),this},e.prototype.reset=function(){r8(this),this.dirty=!1},e.prototype.getDiff=function(e){void 0===e&&(e=this.variables);var t=this.getDiffOptions(e);if(this.lastDiff&&(0,nm.D)(t,this.lastDiff.options))return this.lastDiff.diff;this.updateWatch(this.variables=e);var n=this.observableQuery;if(n&&"no-cache"===n.options.fetchPolicy)return{complete:!1};var r=this.cache.diff(t);return this.updateLastDiff(r,t),r},e.prototype.updateLastDiff=function(e,t){this.lastDiff=e?{diff:e,options:t||this.getDiffOptions()}:void 0},e.prototype.getDiffOptions=function(e){var t;return void 0===e&&(e=this.variables),{query:this.document,variables:e,returnPartialData:!0,optimistic:!0,canonizeResults:null===(t=this.observableQuery)||void 0===t?void 0:t.options.canonizeResults}},e.prototype.setDiff=function(e){var t=this,n=this.lastDiff&&this.lastDiff.diff;this.updateLastDiff(e),this.dirty||(0,nm.D)(n&&n.result,e&&e.result)||(this.dirty=!0,this.notifyTimeout||(this.notifyTimeout=setTimeout(function(){return t.notify()},0)))},e.prototype.setObservableQuery=function(e){var t=this;e!==this.observableQuery&&(this.oqListener&&this.listeners.delete(this.oqListener),this.observableQuery=e,e?(e.queryInfo=this,this.listeners.add(this.oqListener=function(){t.getDiff().fromOptimisticTransaction?e.observe():n4(e)})):delete this.oqListener)},e.prototype.notify=function(){var e=this;r8(this),this.shouldNotify()&&this.listeners.forEach(function(t){return t(e)}),this.dirty=!1},e.prototype.shouldNotify=function(){if(!this.dirty||!this.listeners.size)return!1;if((0,nZ.O)(this.networkStatus)&&this.observableQuery){var e=this.observableQuery.options.fetchPolicy;if("cache-only"!==e&&"cache-and-network"!==e)return!1}return!0},e.prototype.stop=function(){if(!this.stopped){this.stopped=!0,this.reset(),this.cancel(),this.cancel=e.prototype.cancel,this.subscriptions.forEach(function(e){return e.unsubscribe()});var t=this.observableQuery;t&&t.stopPolling()}},e.prototype.cancel=function(){},e.prototype.updateWatch=function(e){var t=this;void 0===e&&(e=this.variables);var n=this.observableQuery;if(!n||"no-cache"!==n.options.fetchPolicy){var r=(0,en.pi)((0,en.pi)({},this.getDiffOptions(e)),{watcher:this,callback:function(e){return t.setDiff(e)}});this.lastWatch&&(0,nm.D)(r,this.lastWatch)||(this.cancel(),this.cancel=this.cache.watch(this.lastWatch=r))}},e.prototype.resetLastWrite=function(){this.lastWrite=void 0},e.prototype.shouldWrite=function(e,t){var n=this.lastWrite;return!(n&&n.dmCount===r6.get(this.cache)&&(0,nm.D)(t,n.variables)&&(0,nm.D)(e.data,n.result.data))},e.prototype.markResult=function(e,t,n,r){var i=this,a=new tB,o=(0,tP.O)(e.errors)?e.errors.slice(0):[];if(this.reset(),"incremental"in e&&(0,tP.O)(e.incremental)){var s=tG(this.getDiff().result,e);e.data=s}else if("hasNext"in e&&e.hasNext){var u=this.getDiff();e.data=a.merge(u.result,e.data)}this.graphQLErrors=o,"no-cache"===n.fetchPolicy?this.updateLastDiff({result:e.data,complete:!0},this.getDiffOptions(n.variables)):0!==r&&(r7(e,n.errorPolicy)?this.cache.performTransaction(function(a){if(i.shouldWrite(e,n.variables))a.writeQuery({query:t,data:e.data,variables:n.variables,overwrite:1===r}),i.lastWrite={result:e,variables:n.variables,dmCount:r6.get(i.cache)};else if(i.lastDiff&&i.lastDiff.diff.complete){e.data=i.lastDiff.diff.result;return}var o=i.getDiffOptions(n.variables),s=a.diff(o);i.stopped||i.updateWatch(n.variables),i.updateLastDiff(s,o),s.complete&&(e.data=s.result)}):this.lastWrite=void 0)},e.prototype.markReady=function(){return this.networkError=null,this.networkStatus=nZ.I.ready},e.prototype.markError=function(e){return this.networkStatus=nZ.I.error,this.lastWrite=void 0,this.reset(),e.graphQLErrors&&(this.graphQLErrors=e.graphQLErrors),e.networkError&&(this.networkError=e.networkError),e},e}();function r7(e,t){void 0===t&&(t="none");var n="ignore"===t||"all"===t,r=!nO(e);return!r&&n&&e.data&&(r=!0),r}var ie=Object.prototype.hasOwnProperty,it=function(){function e(e){var t=e.cache,n=e.link,r=e.defaultOptions,i=e.queryDeduplication,a=void 0!==i&&i,o=e.onBroadcast,s=e.ssrMode,u=void 0!==s&&s,c=e.clientAwareness,l=void 0===c?{}:c,f=e.localState,d=e.assumeImmutableResults;this.clientAwareness={},this.queries=new Map,this.fetchCancelFns=new Map,this.transformCache=new(t_.mr?WeakMap:Map),this.queryIdCounter=1,this.requestIdCounter=1,this.mutationIdCounter=1,this.inFlightLinkObservables=new Map,this.cache=t,this.link=n,this.defaultOptions=r||Object.create(null),this.queryDeduplication=a,this.clientAwareness=l,this.localState=f||new r4({cache:t}),this.ssrMode=u,this.assumeImmutableResults=!!d,(this.onBroadcast=o)&&(this.mutationStore=Object.create(null))}return e.prototype.stop=function(){var e=this;this.queries.forEach(function(t,n){e.stopQueryNoBroadcast(n)}),this.cancelPendingFetches(__DEV__?new Q.ej("QueryManager stopped while query was in flight"):new Q.ej(14))},e.prototype.cancelPendingFetches=function(e){this.fetchCancelFns.forEach(function(t){return t(e)}),this.fetchCancelFns.clear()},e.prototype.mutate=function(e){var t,n,r=e.mutation,i=e.variables,a=e.optimisticResponse,o=e.updateQueries,s=e.refetchQueries,u=void 0===s?[]:s,c=e.awaitRefetchQueries,l=void 0!==c&&c,f=e.update,d=e.onQueryUpdated,h=e.fetchPolicy,p=void 0===h?(null===(t=this.defaultOptions.mutate)||void 0===t?void 0:t.fetchPolicy)||"network-only":h,b=e.errorPolicy,m=void 0===b?(null===(n=this.defaultOptions.mutate)||void 0===n?void 0:n.errorPolicy)||"none":b,g=e.keepRootFields,v=e.context;return(0,en.mG)(this,void 0,void 0,function(){var e,t,n,s,c,h;return(0,en.Jh)(this,function(b){switch(b.label){case 0:if(__DEV__?(0,Q.kG)(r,"mutation option is required. You must specify your GraphQL document in the mutation option."):(0,Q.kG)(r,15),__DEV__?(0,Q.kG)("network-only"===p||"no-cache"===p,"Mutations support only 'network-only' or 'no-cache' fetchPolicy strings. The default `network-only` behavior automatically writes mutation results to the cache. Passing `no-cache` skips the cache write."):(0,Q.kG)("network-only"===p||"no-cache"===p,16),e=this.generateMutationId(),n=(t=this.transform(r)).document,s=t.hasClientExports,r=this.cache.transformForLink(n),i=this.getVariables(r,i),!s)return[3,2];return[4,this.localState.addExportedVariables(r,i,v)];case 1:i=b.sent(),b.label=2;case 2:return c=this.mutationStore&&(this.mutationStore[e]={mutation:r,variables:i,loading:!0,error:null}),a&&this.markMutationOptimistic(a,{mutationId:e,document:r,variables:i,fetchPolicy:p,errorPolicy:m,context:v,updateQueries:o,update:f,keepRootFields:g}),this.broadcastQueries(),h=this,[2,new Promise(function(t,n){return nM(h.getObservableFromLink(r,(0,en.pi)((0,en.pi)({},v),{optimisticResponse:a}),i,!1),function(t){if(nO(t)&&"none"===m)throw new tN.cA({graphQLErrors:nA(t)});c&&(c.loading=!1,c.error=null);var n=(0,en.pi)({},t);return"function"==typeof u&&(u=u(n)),"ignore"===m&&nO(n)&&delete n.errors,h.markMutationResult({mutationId:e,result:n,document:r,variables:i,fetchPolicy:p,errorPolicy:m,context:v,update:f,updateQueries:o,awaitRefetchQueries:l,refetchQueries:u,removeOptimistic:a?e:void 0,onQueryUpdated:d,keepRootFields:g})}).subscribe({next:function(e){h.broadcastQueries(),"hasNext"in e&&!1!==e.hasNext||t(e)},error:function(t){c&&(c.loading=!1,c.error=t),a&&h.cache.removeOptimistic(e),h.broadcastQueries(),n(t instanceof tN.cA?t:new tN.cA({networkError:t}))}})})]}})})},e.prototype.markMutationResult=function(e,t){var n=this;void 0===t&&(t=this.cache);var r=e.result,i=[],a="no-cache"===e.fetchPolicy;if(!a&&r7(r,e.errorPolicy)){if(tU(r)||i.push({result:r.data,dataId:"ROOT_MUTATION",query:e.document,variables:e.variables}),tU(r)&&(0,tP.O)(r.incremental)){var o=t.diff({id:"ROOT_MUTATION",query:this.transform(e.document).asQuery,variables:e.variables,optimistic:!1,returnPartialData:!0}),s=void 0;o.result&&(s=tG(o.result,r)),void 0!==s&&(r.data=s,i.push({result:s,dataId:"ROOT_MUTATION",query:e.document,variables:e.variables}))}var u=e.updateQueries;u&&this.queries.forEach(function(e,a){var o=e.observableQuery,s=o&&o.queryName;if(s&&ie.call(u,s)){var c,l=u[s],f=n.queries.get(a),d=f.document,h=f.variables,p=t.diff({query:d,variables:h,returnPartialData:!0,optimistic:!1}),b=p.result;if(p.complete&&b){var m=l(b,{mutationResult:r,queryName:d&&e3(d)||void 0,queryVariables:h});m&&i.push({result:m,dataId:"ROOT_QUERY",query:d,variables:h})}}})}if(i.length>0||e.refetchQueries||e.update||e.onQueryUpdated||e.removeOptimistic){var c=[];if(this.refetchQueries({updateCache:function(t){a||i.forEach(function(e){return t.write(e)});var o=e.update,s=!t$(r)||tU(r)&&!r.hasNext;if(o){if(!a){var u=t.diff({id:"ROOT_MUTATION",query:n.transform(e.document).asQuery,variables:e.variables,optimistic:!1,returnPartialData:!0});u.complete&&("incremental"in(r=(0,en.pi)((0,en.pi)({},r),{data:u.result}))&&delete r.incremental,"hasNext"in r&&delete r.hasNext)}s&&o(t,r,{context:e.context,variables:e.variables})}a||e.keepRootFields||!s||t.modify({id:"ROOT_MUTATION",fields:function(e,t){var n=t.fieldName,r=t.DELETE;return"__typename"===n?e:r}})},include:e.refetchQueries,optimistic:!1,removeOptimistic:e.removeOptimistic,onQueryUpdated:e.onQueryUpdated||null}).forEach(function(e){return c.push(e)}),e.awaitRefetchQueries||e.onQueryUpdated)return Promise.all(c).then(function(){return r})}return Promise.resolve(r)},e.prototype.markMutationOptimistic=function(e,t){var n=this,r="function"==typeof e?e(t.variables):e;return this.cache.recordOptimisticTransaction(function(e){try{n.markMutationResult((0,en.pi)((0,en.pi)({},t),{result:{data:r}}),e)}catch(i){__DEV__&&Q.kG.error(i)}},t.mutationId)},e.prototype.fetchQuery=function(e,t,n){return this.fetchQueryObservable(e,t,n).promise},e.prototype.getQueryStore=function(){var e=Object.create(null);return this.queries.forEach(function(t,n){e[n]={variables:t.variables,networkStatus:t.networkStatus,networkError:t.networkError,graphQLErrors:t.graphQLErrors}}),e},e.prototype.resetErrors=function(e){var t=this.queries.get(e);t&&(t.networkError=void 0,t.graphQLErrors=[])},e.prototype.transform=function(e){var t=this.transformCache;if(!t.has(e)){var n=this.cache.transformDocument(e),r=nY(n),i=this.localState.clientQuery(n),a=r&&this.localState.serverQuery(r),o={document:n,hasClientExports:tm(n),hasForcedResolvers:this.localState.shouldForceResolvers(n),clientQuery:i,serverQuery:a,defaultVars:e9(e2(n)),asQuery:(0,en.pi)((0,en.pi)({},n),{definitions:n.definitions.map(function(e){return"OperationDefinition"===e.kind&&"query"!==e.operation?(0,en.pi)((0,en.pi)({},e),{operation:"query"}):e})})},s=function(e){e&&!t.has(e)&&t.set(e,o)};s(e),s(n),s(i),s(a)}return t.get(e)},e.prototype.getVariables=function(e,t){return(0,en.pi)((0,en.pi)({},this.transform(e).defaultVars),t)},e.prototype.watchQuery=function(e){void 0===(e=(0,en.pi)((0,en.pi)({},e),{variables:this.getVariables(e.query,e.variables)})).notifyOnNetworkStatusChange&&(e.notifyOnNetworkStatusChange=!1);var t=new r9(this),n=new n3({queryManager:this,queryInfo:t,options:e});return this.queries.set(n.queryId,t),t.init({document:n.query,observableQuery:n,variables:n.variables}),n},e.prototype.query=function(e,t){var n=this;return void 0===t&&(t=this.generateQueryId()),__DEV__?(0,Q.kG)(e.query,"query option is required. You must specify your GraphQL document in the query option."):(0,Q.kG)(e.query,17),__DEV__?(0,Q.kG)("Document"===e.query.kind,'You must wrap the query string in a "gql" tag.'):(0,Q.kG)("Document"===e.query.kind,18),__DEV__?(0,Q.kG)(!e.returnPartialData,"returnPartialData option only supported on watchQuery."):(0,Q.kG)(!e.returnPartialData,19),__DEV__?(0,Q.kG)(!e.pollInterval,"pollInterval option only supported on watchQuery."):(0,Q.kG)(!e.pollInterval,20),this.fetchQuery(t,e).finally(function(){return n.stopQuery(t)})},e.prototype.generateQueryId=function(){return String(this.queryIdCounter++)},e.prototype.generateRequestId=function(){return this.requestIdCounter++},e.prototype.generateMutationId=function(){return String(this.mutationIdCounter++)},e.prototype.stopQueryInStore=function(e){this.stopQueryInStoreNoBroadcast(e),this.broadcastQueries()},e.prototype.stopQueryInStoreNoBroadcast=function(e){var t=this.queries.get(e);t&&t.stop()},e.prototype.clearStore=function(e){return void 0===e&&(e={discardWatches:!0}),this.cancelPendingFetches(__DEV__?new Q.ej("Store reset while query was in flight (not completed in link chain)"):new Q.ej(21)),this.queries.forEach(function(e){e.observableQuery?e.networkStatus=nZ.I.loading:e.stop()}),this.mutationStore&&(this.mutationStore=Object.create(null)),this.cache.reset(e)},e.prototype.getObservableQueries=function(e){var t=this;void 0===e&&(e="active");var n=new Map,r=new Map,i=new Set;return Array.isArray(e)&&e.forEach(function(e){"string"==typeof e?r.set(e,!1):eN(e)?r.set(t.transform(e).document,!1):(0,eO.s)(e)&&e.query&&i.add(e)}),this.queries.forEach(function(t,i){var a=t.observableQuery,o=t.document;if(a){if("all"===e){n.set(i,a);return}var s=a.queryName;if("standby"===a.options.fetchPolicy||"active"===e&&!a.hasObservers())return;("active"===e||s&&r.has(s)||o&&r.has(o))&&(n.set(i,a),s&&r.set(s,!0),o&&r.set(o,!0))}}),i.size&&i.forEach(function(e){var r=nG("legacyOneTimeQuery"),i=t.getQuery(r).init({document:e.query,variables:e.variables}),a=new n3({queryManager:t,queryInfo:i,options:(0,en.pi)((0,en.pi)({},e),{fetchPolicy:"network-only"})});(0,Q.kG)(a.queryId===r),i.setObservableQuery(a),n.set(r,a)}),__DEV__&&r.size&&r.forEach(function(e,t){!e&&__DEV__&&Q.kG.warn("Unknown query ".concat("string"==typeof t?"named ":"").concat(JSON.stringify(t,null,2)," requested in refetchQueries options.include array"))}),n},e.prototype.reFetchObservableQueries=function(e){var t=this;void 0===e&&(e=!1);var n=[];return this.getObservableQueries(e?"all":"active").forEach(function(r,i){var a=r.options.fetchPolicy;r.resetLastResults(),(e||"standby"!==a&&"cache-only"!==a)&&n.push(r.refetch()),t.getQuery(i).setDiff(null)}),this.broadcastQueries(),Promise.all(n)},e.prototype.setObservableQuery=function(e){this.getQuery(e.queryId).setObservableQuery(e)},e.prototype.startGraphQLSubscription=function(e){var t=this,n=e.query,r=e.fetchPolicy,i=e.errorPolicy,a=e.variables,o=e.context,s=void 0===o?{}:o;n=this.transform(n).document,a=this.getVariables(n,a);var u=function(e){return t.getObservableFromLink(n,s,e).map(function(a){"no-cache"!==r&&(r7(a,i)&&t.cache.write({query:n,result:a.data,dataId:"ROOT_SUBSCRIPTION",variables:e}),t.broadcastQueries());var o=nO(a),s=(0,tN.ls)(a);if(o||s){var u={};throw o&&(u.graphQLErrors=a.errors),s&&(u.protocolErrors=a.extensions[tN.YG]),new tN.cA(u)}return a})};if(this.transform(n).hasClientExports){var c=this.localState.addExportedVariables(n,a,s).then(u);return new eT(function(e){var t=null;return c.then(function(n){return t=n.subscribe(e)},e.error),function(){return t&&t.unsubscribe()}})}return u(a)},e.prototype.stopQuery=function(e){this.stopQueryNoBroadcast(e),this.broadcastQueries()},e.prototype.stopQueryNoBroadcast=function(e){this.stopQueryInStoreNoBroadcast(e),this.removeQuery(e)},e.prototype.removeQuery=function(e){this.fetchCancelFns.delete(e),this.queries.has(e)&&(this.getQuery(e).stop(),this.queries.delete(e))},e.prototype.broadcastQueries=function(){this.onBroadcast&&this.onBroadcast(),this.queries.forEach(function(e){return e.notify()})},e.prototype.getLocalState=function(){return this.localState},e.prototype.getObservableFromLink=function(e,t,n,r){var i,a,o=this;void 0===r&&(r=null!==(i=null==t?void 0:t.queryDeduplication)&&void 0!==i?i:this.queryDeduplication);var s=this.transform(e).serverQuery;if(s){var u=this,c=u.inFlightLinkObservables,l=u.link,f={query:s,variables:n,operationName:e3(s)||void 0,context:this.prepareContext((0,en.pi)((0,en.pi)({},t),{forceFetch:!r}))};if(t=f.context,r){var d=c.get(s)||new Map;c.set(s,d);var h=nx(n);if(!(a=d.get(h))){var p=new nq([np(l,f)]);d.set(h,a=p),p.beforeNext(function(){d.delete(h)&&d.size<1&&c.delete(s)})}}else a=new nq([np(l,f)])}else a=new nq([eT.of({data:{}})]),t=this.prepareContext(t);var b=this.transform(e).clientQuery;return b&&(a=nM(a,function(e){return o.localState.runResolvers({document:b,remoteResult:e,context:t,variables:n})})),a},e.prototype.getResultsFromLink=function(e,t,n){var r=e.lastRequestId=this.generateRequestId(),i=this.cache.transformForLink(this.transform(e.document).document);return nM(this.getObservableFromLink(i,n.context,n.variables),function(a){var o=nA(a),s=o.length>0;if(r>=e.lastRequestId){if(s&&"none"===n.errorPolicy)throw e.markError(new tN.cA({graphQLErrors:o}));e.markResult(a,i,n,t),e.markReady()}var u={data:a.data,loading:!1,networkStatus:nZ.I.ready};return s&&"ignore"!==n.errorPolicy&&(u.errors=o,u.networkStatus=nZ.I.error),u},function(t){var n=(0,tN.MS)(t)?t:new tN.cA({networkError:t});throw r>=e.lastRequestId&&e.markError(n),n})},e.prototype.fetchQueryObservable=function(e,t,n){return this.fetchConcastWithInfo(e,t,n).concast},e.prototype.fetchConcastWithInfo=function(e,t,n){var r,i,a=this;void 0===n&&(n=nZ.I.loading);var o=this.transform(t.query).document,s=this.getVariables(o,t.variables),u=this.getQuery(e),c=this.defaultOptions.watchQuery,l=t.fetchPolicy,f=void 0===l?c&&c.fetchPolicy||"cache-first":l,d=t.errorPolicy,h=void 0===d?c&&c.errorPolicy||"none":d,p=t.returnPartialData,b=void 0!==p&&p,m=t.notifyOnNetworkStatusChange,g=void 0!==m&&m,v=t.context,y=void 0===v?{}:v,w=Object.assign({},t,{query:o,variables:s,fetchPolicy:f,errorPolicy:h,returnPartialData:b,notifyOnNetworkStatusChange:g,context:y}),_=function(e){w.variables=e;var r=a.fetchQueryByPolicy(u,w,n);return"standby"!==w.fetchPolicy&&r.sources.length>0&&u.observableQuery&&u.observableQuery.applyNextFetchPolicy("after-fetch",t),r},E=function(){return a.fetchCancelFns.delete(e)};if(this.fetchCancelFns.set(e,function(e){E(),setTimeout(function(){return r.cancel(e)})}),this.transform(w.query).hasClientExports)r=new nq(this.localState.addExportedVariables(w.query,w.variables,w.context).then(_).then(function(e){return e.sources})),i=!0;else{var S=_(w.variables);i=S.fromLink,r=new nq(S.sources)}return r.promise.then(E,E),{concast:r,fromLink:i}},e.prototype.refetchQueries=function(e){var t=this,n=e.updateCache,r=e.include,i=e.optimistic,a=void 0!==i&&i,o=e.removeOptimistic,s=void 0===o?a?nG("refetchQueries"):void 0:o,u=e.onQueryUpdated,c=new Map;r&&this.getObservableQueries(r).forEach(function(e,n){c.set(n,{oq:e,lastDiff:t.getQuery(n).getDiff()})});var l=new Map;return n&&this.cache.batch({update:n,optimistic:a&&s||!1,removeOptimistic:s,onWatchUpdated:function(e,t,n){var r=e.watcher instanceof r9&&e.watcher.observableQuery;if(r){if(u){c.delete(r.queryId);var i=u(r,t,n);return!0===i&&(i=r.refetch()),!1!==i&&l.set(r,i),i}null!==u&&c.set(r.queryId,{oq:r,lastDiff:n,diff:t})}}}),c.size&&c.forEach(function(e,n){var r,i=e.oq,a=e.lastDiff,o=e.diff;if(u){if(!o){var s=i.queryInfo;s.reset(),o=s.getDiff()}r=u(i,o,a)}u&&!0!==r||(r=i.refetch()),!1!==r&&l.set(i,r),n.indexOf("legacyOneTimeQuery")>=0&&t.stopQueryNoBroadcast(n)}),s&&this.cache.removeOptimistic(s),l},e.prototype.fetchQueryByPolicy=function(e,t,n){var r=this,i=t.query,a=t.variables,o=t.fetchPolicy,s=t.refetchWritePolicy,u=t.errorPolicy,c=t.returnPartialData,l=t.context,f=t.notifyOnNetworkStatusChange,d=e.networkStatus;e.init({document:this.transform(i).document,variables:a,networkStatus:n});var h=function(){return e.getDiff(a)},p=function(t,n){void 0===n&&(n=e.networkStatus||nZ.I.loading);var o=t.result;!__DEV__||c||(0,nm.D)(o,{})||n5(t.missing);var s=function(e){return eT.of((0,en.pi)({data:e,loading:(0,nZ.O)(n),networkStatus:n},t.complete?null:{partial:!0}))};return o&&r.transform(i).hasForcedResolvers?r.localState.runResolvers({document:i,remoteResult:{data:o},context:l,variables:a,onlyRunForcedResolvers:!0}).then(function(e){return s(e.data||void 0)}):"none"===u&&n===nZ.I.refetch&&Array.isArray(t.missing)?s(void 0):s(o)},b="no-cache"===o?0:n===nZ.I.refetch&&"merge"!==s?1:2,m=function(){return r.getResultsFromLink(e,b,{variables:a,context:l,fetchPolicy:o,errorPolicy:u})},g=f&&"number"==typeof d&&d!==n&&(0,nZ.O)(n);switch(o){default:case"cache-first":var v=h();if(v.complete)return{fromLink:!1,sources:[p(v,e.markReady())]};if(c||g)return{fromLink:!0,sources:[p(v),m()]};return{fromLink:!0,sources:[m()]};case"cache-and-network":var v=h();if(v.complete||c||g)return{fromLink:!0,sources:[p(v),m()]};return{fromLink:!0,sources:[m()]};case"cache-only":return{fromLink:!1,sources:[p(h(),e.markReady())]};case"network-only":if(g)return{fromLink:!0,sources:[p(h()),m()]};return{fromLink:!0,sources:[m()]};case"no-cache":if(g)return{fromLink:!0,sources:[p(e.getDiff()),m(),]};return{fromLink:!0,sources:[m()]};case"standby":return{fromLink:!1,sources:[]}}},e.prototype.getQuery=function(e){return e&&!this.queries.has(e)&&this.queries.set(e,new r9(this,e)),this.queries.get(e)},e.prototype.prepareContext=function(e){void 0===e&&(e={});var t=this.localState.prepareContext(e);return(0,en.pi)((0,en.pi)({},t),{clientAwareness:this.clientAwareness})},e}(),ir=__webpack_require__(14012),ii=!1,ia=function(){function e(e){var t=this;this.resetStoreCallbacks=[],this.clearStoreCallbacks=[];var n=e.uri,r=e.credentials,i=e.headers,a=e.cache,o=e.ssrMode,s=void 0!==o&&o,u=e.ssrForceFetchDelay,c=void 0===u?0:u,l=e.connectToDevTools,f=void 0===l?"object"==typeof window&&!window.__APOLLO_CLIENT__&&__DEV__:l,d=e.queryDeduplication,h=void 0===d||d,p=e.defaultOptions,b=e.assumeImmutableResults,m=void 0!==b&&b,g=e.resolvers,v=e.typeDefs,y=e.fragmentMatcher,w=e.name,_=e.version,E=e.link;if(E||(E=n?new nh({uri:n,credentials:r,headers:i}):ta.empty()),!a)throw __DEV__?new Q.ej("To initialize Apollo Client, you must specify a 'cache' property in the options object. \nFor more information, please visit: https://go.apollo.dev/c/docs"):new Q.ej(9);if(this.link=E,this.cache=a,this.disableNetworkFetches=s||c>0,this.queryDeduplication=h,this.defaultOptions=p||Object.create(null),this.typeDefs=v,c&&setTimeout(function(){return t.disableNetworkFetches=!1},c),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),f&&"object"==typeof window&&(window.__APOLLO_CLIENT__=this),!ii&&f&&__DEV__&&(ii=!0,"undefined"!=typeof window&&window.document&&window.top===window.self&&!window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__)){var S=window.navigator,k=S&&S.userAgent,x=void 0;"string"==typeof k&&(k.indexOf("Chrome/")>-1?x="https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm":k.indexOf("Firefox/")>-1&&(x="https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/")),x&&__DEV__&&Q.kG.log("Download the Apollo DevTools for a better development experience: "+x)}this.version=nb,this.localState=new r4({cache:a,client:this,resolvers:g,fragmentMatcher:y}),this.queryManager=new it({cache:this.cache,link:this.link,defaultOptions:this.defaultOptions,queryDeduplication:h,ssrMode:s,clientAwareness:{name:w,version:_},localState:this.localState,assumeImmutableResults:m,onBroadcast:f?function(){t.devToolsHookCb&&t.devToolsHookCb({action:{},state:{queries:t.queryManager.getQueryStore(),mutations:t.queryManager.mutationStore||{}},dataWithOptimisticResults:t.cache.extract(!0)})}:void 0})}return e.prototype.stop=function(){this.queryManager.stop()},e.prototype.watchQuery=function(e){return this.defaultOptions.watchQuery&&(e=(0,ir.J)(this.defaultOptions.watchQuery,e)),this.disableNetworkFetches&&("network-only"===e.fetchPolicy||"cache-and-network"===e.fetchPolicy)&&(e=(0,en.pi)((0,en.pi)({},e),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(e)},e.prototype.query=function(e){return this.defaultOptions.query&&(e=(0,ir.J)(this.defaultOptions.query,e)),__DEV__?(0,Q.kG)("cache-and-network"!==e.fetchPolicy,"The cache-and-network fetchPolicy does not work with client.query, because client.query can only return a single result. Please use client.watchQuery to receive multiple results from the cache and the network, or consider using a different fetchPolicy, such as cache-first or network-only."):(0,Q.kG)("cache-and-network"!==e.fetchPolicy,10),this.disableNetworkFetches&&"network-only"===e.fetchPolicy&&(e=(0,en.pi)((0,en.pi)({},e),{fetchPolicy:"cache-first"})),this.queryManager.query(e)},e.prototype.mutate=function(e){return this.defaultOptions.mutate&&(e=(0,ir.J)(this.defaultOptions.mutate,e)),this.queryManager.mutate(e)},e.prototype.subscribe=function(e){return this.queryManager.startGraphQLSubscription(e)},e.prototype.readQuery=function(e,t){return void 0===t&&(t=!1),this.cache.readQuery(e,t)},e.prototype.readFragment=function(e,t){return void 0===t&&(t=!1),this.cache.readFragment(e,t)},e.prototype.writeQuery=function(e){var t=this.cache.writeQuery(e);return!1!==e.broadcast&&this.queryManager.broadcastQueries(),t},e.prototype.writeFragment=function(e){var t=this.cache.writeFragment(e);return!1!==e.broadcast&&this.queryManager.broadcastQueries(),t},e.prototype.__actionHookForDevTools=function(e){this.devToolsHookCb=e},e.prototype.__requestRaw=function(e){return np(this.link,e)},e.prototype.resetStore=function(){var e=this;return Promise.resolve().then(function(){return e.queryManager.clearStore({discardWatches:!1})}).then(function(){return Promise.all(e.resetStoreCallbacks.map(function(e){return e()}))}).then(function(){return e.reFetchObservableQueries()})},e.prototype.clearStore=function(){var e=this;return Promise.resolve().then(function(){return e.queryManager.clearStore({discardWatches:!0})}).then(function(){return Promise.all(e.clearStoreCallbacks.map(function(e){return e()}))})},e.prototype.onResetStore=function(e){var t=this;return this.resetStoreCallbacks.push(e),function(){t.resetStoreCallbacks=t.resetStoreCallbacks.filter(function(t){return t!==e})}},e.prototype.onClearStore=function(e){var t=this;return this.clearStoreCallbacks.push(e),function(){t.clearStoreCallbacks=t.clearStoreCallbacks.filter(function(t){return t!==e})}},e.prototype.reFetchObservableQueries=function(e){return this.queryManager.reFetchObservableQueries(e)},e.prototype.refetchQueries=function(e){var t=this.queryManager.refetchQueries(e),n=[],r=[];t.forEach(function(e,t){n.push(t),r.push(e)});var i=Promise.all(r);return i.queries=n,i.results=r,i.catch(function(e){__DEV__&&Q.kG.debug("In client.refetchQueries, Promise.all promise rejected with error ".concat(e))}),i},e.prototype.getObservableQueries=function(e){return void 0===e&&(e="active"),this.queryManager.getObservableQueries(e)},e.prototype.extract=function(e){return this.cache.extract(e)},e.prototype.restore=function(e){return this.cache.restore(e)},e.prototype.addResolvers=function(e){this.localState.addResolvers(e)},e.prototype.setResolvers=function(e){this.localState.setResolvers(e)},e.prototype.getResolvers=function(){return this.localState.getResolvers()},e.prototype.setLocalStateFragmentMatcher=function(e){this.localState.setFragmentMatcher(e)},e.prototype.setLink=function(e){this.link=this.queryManager.link=e},e}(),io=function(){function e(){this.getFragmentDoc=rZ(eA)}return e.prototype.batch=function(e){var t,n=this,r="string"==typeof e.optimistic?e.optimistic:!1===e.optimistic?null:void 0;return this.performTransaction(function(){return t=e.update(n)},r),t},e.prototype.recordOptimisticTransaction=function(e,t){this.performTransaction(e,t)},e.prototype.transformDocument=function(e){return e},e.prototype.transformForLink=function(e){return e},e.prototype.identify=function(e){},e.prototype.gc=function(){return[]},e.prototype.modify=function(e){return!1},e.prototype.readQuery=function(e,t){return void 0===t&&(t=!!e.optimistic),this.read((0,en.pi)((0,en.pi)({},e),{rootId:e.id||"ROOT_QUERY",optimistic:t}))},e.prototype.readFragment=function(e,t){return void 0===t&&(t=!!e.optimistic),this.read((0,en.pi)((0,en.pi)({},e),{query:this.getFragmentDoc(e.fragment,e.fragmentName),rootId:e.id,optimistic:t}))},e.prototype.writeQuery=function(e){var t=e.id,n=e.data,r=(0,en._T)(e,["id","data"]);return this.write(Object.assign(r,{dataId:t||"ROOT_QUERY",result:n}))},e.prototype.writeFragment=function(e){var t=e.id,n=e.data,r=e.fragment,i=e.fragmentName,a=(0,en._T)(e,["id","data","fragment","fragmentName"]);return this.write(Object.assign(a,{query:this.getFragmentDoc(r,i),dataId:t,result:n}))},e.prototype.updateQuery=function(e,t){return this.batch({update:function(n){var r=n.readQuery(e),i=t(r);return null==i?r:(n.writeQuery((0,en.pi)((0,en.pi)({},e),{data:i})),i)}})},e.prototype.updateFragment=function(e,t){return this.batch({update:function(n){var r=n.readFragment(e),i=t(r);return null==i?r:(n.writeFragment((0,en.pi)((0,en.pi)({},e),{data:i})),i)}})},e}(),is=function(e){function t(n,r,i,a){var o,s=e.call(this,n)||this;if(s.message=n,s.path=r,s.query=i,s.variables=a,Array.isArray(s.path)){s.missing=s.message;for(var u=s.path.length-1;u>=0;--u)s.missing=((o={})[s.path[u]]=s.missing,o)}else s.missing=s.path;return s.__proto__=t.prototype,s}return(0,en.ZT)(t,e),t}(Error),iu=__webpack_require__(10542),ic=Object.prototype.hasOwnProperty;function il(e){return null==e}function id(e,t){var n=e.__typename,r=e.id,i=e._id;if("string"==typeof n&&(t&&(t.keyObject=il(r)?il(i)?void 0:{_id:i}:{id:r}),il(r)&&!il(i)&&(r=i),!il(r)))return"".concat(n,":").concat("number"==typeof r||"string"==typeof r?r:JSON.stringify(r))}var ih={dataIdFromObject:id,addTypename:!0,resultCaching:!0,canonizeResults:!1};function ip(e){return(0,n1.o)(ih,e)}function ib(e){var t=e.canonizeResults;return void 0===t?ih.canonizeResults:t}function im(e,t){return eD(t)?e.get(t.__ref,"__typename"):t&&t.__typename}var ig=/^[_a-z][_0-9a-z]*/i;function iv(e){var t=e.match(ig);return t?t[0]:e}function iy(e,t,n){return!!(0,eO.s)(t)&&((0,tP.k)(t)?t.every(function(t){return iy(e,t,n)}):e.selections.every(function(e){if(eQ(e)&&td(e,n)){var r=eX(e);return ic.call(t,r)&&(!e.selectionSet||iy(e.selectionSet,t[r],n))}return!0}))}function iw(e){return(0,eO.s)(e)&&!eD(e)&&!(0,tP.k)(e)}function i_(){return new tB}function iE(e,t){var n=eL(e4(e));return{fragmentMap:n,lookupFragment:function(e){var r=n[e];return!r&&t&&(r=t.lookup(e)),r||null}}}var iS=Object.create(null),ik=function(){return iS},ix=Object.create(null),iT=function(){function e(e,t){var n=this;this.policies=e,this.group=t,this.data=Object.create(null),this.rootIds=Object.create(null),this.refs=Object.create(null),this.getFieldValue=function(e,t){return(0,iu.J)(eD(e)?n.get(e.__ref,t):e&&e[t])},this.canRead=function(e){return eD(e)?n.has(e.__ref):"object"==typeof e},this.toReference=function(e,t){if("string"==typeof e)return eI(e);if(eD(e))return e;var r=n.policies.identify(e)[0];if(r){var i=eI(r);return t&&n.merge(r,e),i}}}return e.prototype.toObject=function(){return(0,en.pi)({},this.data)},e.prototype.has=function(e){return void 0!==this.lookup(e,!0)},e.prototype.get=function(e,t){if(this.group.depend(e,t),ic.call(this.data,e)){var n=this.data[e];if(n&&ic.call(n,t))return n[t]}return"__typename"===t&&ic.call(this.policies.rootTypenamesById,e)?this.policies.rootTypenamesById[e]:this instanceof iL?this.parent.get(e,t):void 0},e.prototype.lookup=function(e,t){return(t&&this.group.depend(e,"__exists"),ic.call(this.data,e))?this.data[e]:this instanceof iL?this.parent.lookup(e,t):this.policies.rootTypenamesById[e]?Object.create(null):void 0},e.prototype.merge=function(e,t){var n,r=this;eD(e)&&(e=e.__ref),eD(t)&&(t=t.__ref);var i="string"==typeof e?this.lookup(n=e):e,a="string"==typeof t?this.lookup(n=t):t;if(a){__DEV__?(0,Q.kG)("string"==typeof n,"store.merge expects a string ID"):(0,Q.kG)("string"==typeof n,1);var o=new tB(iI).merge(i,a);if(this.data[n]=o,o!==i&&(delete this.refs[n],this.group.caching)){var s=Object.create(null);i||(s.__exists=1),Object.keys(a).forEach(function(e){if(!i||i[e]!==o[e]){s[e]=1;var t=iv(e);t===e||r.policies.hasKeyArgs(o.__typename,t)||(s[t]=1),void 0!==o[e]||r instanceof iL||delete o[e]}}),s.__typename&&!(i&&i.__typename)&&this.policies.rootTypenamesById[n]===o.__typename&&delete s.__typename,Object.keys(s).forEach(function(e){return r.group.dirty(n,e)})}}},e.prototype.modify=function(e,t){var n=this,r=this.lookup(e);if(r){var i=Object.create(null),a=!1,o=!0,s={DELETE:iS,INVALIDATE:ix,isReference:eD,toReference:this.toReference,canRead:this.canRead,readField:function(t,r){return n.policies.readField("string"==typeof t?{fieldName:t,from:r||eI(e)}:t,{store:n})}};if(Object.keys(r).forEach(function(u){var c=iv(u),l=r[u];if(void 0!==l){var f="function"==typeof t?t:t[u]||t[c];if(f){var d=f===ik?iS:f((0,iu.J)(l),(0,en.pi)((0,en.pi)({},s),{fieldName:c,storeFieldName:u,storage:n.getStorage(e,u)}));d===ix?n.group.dirty(e,u):(d===iS&&(d=void 0),d!==l&&(i[u]=d,a=!0,l=d))}void 0!==l&&(o=!1)}}),a)return this.merge(e,i),o&&(this instanceof iL?this.data[e]=void 0:delete this.data[e],this.group.dirty(e,"__exists")),!0}return!1},e.prototype.delete=function(e,t,n){var r,i=this.lookup(e);if(i){var a=this.getFieldValue(i,"__typename"),o=t&&n?this.policies.getStoreFieldName({typename:a,fieldName:t,args:n}):t;return this.modify(e,o?((r={})[o]=ik,r):ik)}return!1},e.prototype.evict=function(e,t){var n=!1;return e.id&&(ic.call(this.data,e.id)&&(n=this.delete(e.id,e.fieldName,e.args)),this instanceof iL&&this!==t&&(n=this.parent.evict(e,t)||n),(e.fieldName||n)&&this.group.dirty(e.id,e.fieldName||"__exists")),n},e.prototype.clear=function(){this.replace(null)},e.prototype.extract=function(){var e=this,t=this.toObject(),n=[];return this.getRootIdSet().forEach(function(t){ic.call(e.policies.rootTypenamesById,t)||n.push(t)}),n.length&&(t.__META={extraRootIds:n.sort()}),t},e.prototype.replace=function(e){var t=this;if(Object.keys(this.data).forEach(function(n){e&&ic.call(e,n)||t.delete(n)}),e){var n=e.__META,r=(0,en._T)(e,["__META"]);Object.keys(r).forEach(function(e){t.merge(e,r[e])}),n&&n.extraRootIds.forEach(this.retain,this)}},e.prototype.retain=function(e){return this.rootIds[e]=(this.rootIds[e]||0)+1},e.prototype.release=function(e){if(this.rootIds[e]>0){var t=--this.rootIds[e];return t||delete this.rootIds[e],t}return 0},e.prototype.getRootIdSet=function(e){return void 0===e&&(e=new Set),Object.keys(this.rootIds).forEach(e.add,e),this instanceof iL?this.parent.getRootIdSet(e):Object.keys(this.policies.rootTypenamesById).forEach(e.add,e),e},e.prototype.gc=function(){var e=this,t=this.getRootIdSet(),n=this.toObject();t.forEach(function(r){ic.call(n,r)&&(Object.keys(e.findChildRefIds(r)).forEach(t.add,t),delete n[r])});var r=Object.keys(n);if(r.length){for(var i=this;i instanceof iL;)i=i.parent;r.forEach(function(e){return i.delete(e)})}return r},e.prototype.findChildRefIds=function(e){if(!ic.call(this.refs,e)){var t=this.refs[e]=Object.create(null),n=this.data[e];if(!n)return t;var r=new Set([n]);r.forEach(function(e){eD(e)&&(t[e.__ref]=!0),(0,eO.s)(e)&&Object.keys(e).forEach(function(t){var n=e[t];(0,eO.s)(n)&&r.add(n)})})}return this.refs[e]},e.prototype.makeCacheKey=function(){return this.group.keyMaker.lookupArray(arguments)},e}(),iM=function(){function e(e,t){void 0===t&&(t=null),this.caching=e,this.parent=t,this.d=null,this.resetCaching()}return e.prototype.resetCaching=function(){this.d=this.caching?rW():null,this.keyMaker=new n_(t_.mr)},e.prototype.depend=function(e,t){if(this.d){this.d(iO(e,t));var n=iv(t);n!==t&&this.d(iO(e,n)),this.parent&&this.parent.depend(e,t)}},e.prototype.dirty=function(e,t){this.d&&this.d.dirty(iO(e,t),"__exists"===t?"forget":"setDirty")},e}();function iO(e,t){return t+"#"+e}function iA(e,t){iD(e)&&e.group.depend(t,"__exists")}!function(e){var t=function(e){function t(t){var n=t.policies,r=t.resultCaching,i=void 0===r||r,a=t.seed,o=e.call(this,n,new iM(i))||this;return o.stump=new iC(o),o.storageTrie=new n_(t_.mr),a&&o.replace(a),o}return(0,en.ZT)(t,e),t.prototype.addLayer=function(e,t){return this.stump.addLayer(e,t)},t.prototype.removeLayer=function(){return this},t.prototype.getStorage=function(){return this.storageTrie.lookupArray(arguments)},t}(e);e.Root=t}(iT||(iT={}));var iL=function(e){function t(t,n,r,i){var a=e.call(this,n.policies,i)||this;return a.id=t,a.parent=n,a.replay=r,a.group=i,r(a),a}return(0,en.ZT)(t,e),t.prototype.addLayer=function(e,n){return new t(e,this,n,this.group)},t.prototype.removeLayer=function(e){var t=this,n=this.parent.removeLayer(e);return e===this.id?(this.group.caching&&Object.keys(this.data).forEach(function(e){var r=t.data[e],i=n.lookup(e);i?r?r!==i&&Object.keys(r).forEach(function(n){(0,nm.D)(r[n],i[n])||t.group.dirty(e,n)}):(t.group.dirty(e,"__exists"),Object.keys(i).forEach(function(n){t.group.dirty(e,n)})):t.delete(e)}),n):n===this.parent?this:n.addLayer(this.id,this.replay)},t.prototype.toObject=function(){return(0,en.pi)((0,en.pi)({},this.parent.toObject()),this.data)},t.prototype.findChildRefIds=function(t){var n=this.parent.findChildRefIds(t);return ic.call(this.data,t)?(0,en.pi)((0,en.pi)({},n),e.prototype.findChildRefIds.call(this,t)):n},t.prototype.getStorage=function(){for(var e=this.parent;e.parent;)e=e.parent;return e.getStorage.apply(e,arguments)},t}(iT),iC=function(e){function t(t){return e.call(this,"EntityStore.Stump",t,function(){},new iM(t.group.caching,t.group))||this}return(0,en.ZT)(t,e),t.prototype.removeLayer=function(){return this},t.prototype.merge=function(){return this.parent.merge.apply(this.parent,arguments)},t}(iL);function iI(e,t,n){var r=e[n],i=t[n];return(0,nm.D)(r,i)?r:i}function iD(e){return!!(e instanceof iT&&e.group.caching)}function iN(e){return[e.selectionSet,e.objectOrReference,e.context,e.context.canonizeResults,]}var iP=function(){function e(e){var t=this;this.knownResults=new(t_.mr?WeakMap:Map),this.config=(0,n1.o)(e,{addTypename:!1!==e.addTypename,canonizeResults:ib(e)}),this.canon=e.canon||new nk,this.executeSelectionSet=rZ(function(e){var n,r=e.context.canonizeResults,i=iN(e);i[3]=!r;var a=(n=t.executeSelectionSet).peek.apply(n,i);return a?r?(0,en.pi)((0,en.pi)({},a),{result:t.canon.admit(a.result)}):a:(iA(e.context.store,e.enclosingRef.__ref),t.execSelectionSetImpl(e))},{max:this.config.resultCacheMaxSize,keyArgs:iN,makeCacheKey:function(e,t,n,r){if(iD(n.store))return n.store.makeCacheKey(e,eD(t)?t.__ref:t,n.varString,r)}}),this.executeSubSelectedArray=rZ(function(e){return iA(e.context.store,e.enclosingRef.__ref),t.execSubSelectedArrayImpl(e)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(e){var t=e.field,n=e.array,r=e.context;if(iD(r.store))return r.store.makeCacheKey(t,n,r.varString)}})}return e.prototype.resetCanon=function(){this.canon=new nk},e.prototype.diffQueryAgainstStore=function(e){var t,n=e.store,r=e.query,i=e.rootId,a=void 0===i?"ROOT_QUERY":i,o=e.variables,s=e.returnPartialData,u=void 0===s||s,c=e.canonizeResults,l=void 0===c?this.config.canonizeResults:c,f=this.config.cache.policies;o=(0,en.pi)((0,en.pi)({},e9(e6(r))),o);var d=eI(a),h=this.executeSelectionSet({selectionSet:e8(r).selectionSet,objectOrReference:d,enclosingRef:d,context:(0,en.pi)({store:n,query:r,policies:f,variables:o,varString:nx(o),canonizeResults:l},iE(r,this.config.fragments))});if(h.missing&&(t=[new is(iR(h.missing),h.missing,r,o)],!u))throw t[0];return{result:h.result,complete:!t,missing:t}},e.prototype.isFresh=function(e,t,n,r){if(iD(r.store)&&this.knownResults.get(e)===n){var i=this.executeSelectionSet.peek(n,t,r,this.canon.isKnown(e));if(i&&e===i.result)return!0}return!1},e.prototype.execSelectionSetImpl=function(e){var t,n=this,r=e.selectionSet,i=e.objectOrReference,a=e.enclosingRef,o=e.context;if(eD(i)&&!o.policies.rootTypenamesById[i.__ref]&&!o.store.has(i.__ref))return{result:this.canon.empty,missing:"Dangling reference to missing ".concat(i.__ref," object")};var s=o.variables,u=o.policies,c=o.store.getFieldValue(i,"__typename"),l=[],f=new tB;function d(e,n){var r;return e.missing&&(t=f.merge(t,((r={})[n]=e.missing,r))),e.result}this.config.addTypename&&"string"==typeof c&&!u.rootIdsByTypename[c]&&l.push({__typename:c});var h=new Set(r.selections);h.forEach(function(e){var r,p;if(td(e,s)){if(eQ(e)){var b=u.readField({fieldName:e.name.value,field:e,variables:o.variables,from:i},o),m=eX(e);void 0===b?nj.added(e)||(t=f.merge(t,((r={})[m]="Can't find field '".concat(e.name.value,"' on ").concat(eD(i)?i.__ref+" object":"object "+JSON.stringify(i,null,2)),r))):(0,tP.k)(b)?b=d(n.executeSubSelectedArray({field:e,array:b,enclosingRef:a,context:o}),m):e.selectionSet?null!=b&&(b=d(n.executeSelectionSet({selectionSet:e.selectionSet,objectOrReference:b,enclosingRef:eD(b)?b:a,context:o}),m)):o.canonizeResults&&(b=n.canon.pass(b)),void 0!==b&&l.push(((p={})[m]=b,p))}else{var g=eC(e,o.lookupFragment);if(!g&&e.kind===nL.h.FRAGMENT_SPREAD)throw __DEV__?new Q.ej("No fragment named ".concat(e.name.value)):new Q.ej(5);g&&u.fragmentMatches(g,c)&&g.selectionSet.selections.forEach(h.add,h)}}});var p={result:tF(l),missing:t},b=o.canonizeResults?this.canon.admit(p):(0,iu.J)(p);return b.result&&this.knownResults.set(b.result,r),b},e.prototype.execSubSelectedArrayImpl=function(e){var t,n=this,r=e.field,i=e.array,a=e.enclosingRef,o=e.context,s=new tB;function u(e,n){var r;return e.missing&&(t=s.merge(t,((r={})[n]=e.missing,r))),e.result}return r.selectionSet&&(i=i.filter(o.store.canRead)),i=i.map(function(e,t){return null===e?null:(0,tP.k)(e)?u(n.executeSubSelectedArray({field:r,array:e,enclosingRef:a,context:o}),t):r.selectionSet?u(n.executeSelectionSet({selectionSet:r.selectionSet,objectOrReference:e,enclosingRef:eD(e)?e:a,context:o}),t):(__DEV__&&ij(o.store,r,e),e)}),{result:o.canonizeResults?this.canon.admit(i):i,missing:t}},e}();function iR(e){try{JSON.stringify(e,function(e,t){if("string"==typeof t)throw t;return t})}catch(t){return t}}function ij(e,t,n){if(!t.selectionSet){var r=new Set([n]);r.forEach(function(n){(0,eO.s)(n)&&(__DEV__?(0,Q.kG)(!eD(n),"Missing selection set for object of type ".concat(im(e,n)," returned for query field ").concat(t.name.value)):(0,Q.kG)(!eD(n),6),Object.values(n).forEach(r.add,r))})}}function iF(e){var t=nG("stringifyForDisplay");return JSON.stringify(e,function(e,n){return void 0===n?t:n}).split(JSON.stringify(t)).join("")}var iY=Object.create(null);function iB(e){var t=JSON.stringify(e);return iY[t]||(iY[t]=Object.create(null))}function iU(e){var t=iB(e);return t.keyFieldsFn||(t.keyFieldsFn=function(t,n){var r=function(e,t){return n.readField(t,e)},i=n.keyObject=i$(e,function(e){var i=iW(n.storeObject,e,r);return void 0===i&&t!==n.storeObject&&ic.call(t,e[0])&&(i=iW(t,e,iG)),__DEV__?(0,Q.kG)(void 0!==i,"Missing field '".concat(e.join("."),"' while extracting keyFields from ").concat(JSON.stringify(t))):(0,Q.kG)(void 0!==i,2),i});return"".concat(n.typename,":").concat(JSON.stringify(i))})}function iH(e){var t=iB(e);return t.keyArgsFn||(t.keyArgsFn=function(t,n){var r=n.field,i=n.variables,a=n.fieldName,o=JSON.stringify(i$(e,function(e){var n=e[0],a=n.charAt(0);if("@"===a){if(r&&(0,tP.O)(r.directives)){var o=n.slice(1),s=r.directives.find(function(e){return e.name.value===o}),u=s&&eZ(s,i);return u&&iW(u,e.slice(1))}return}if("$"===a){var c=n.slice(1);if(i&&ic.call(i,c)){var l=e.slice(0);return l[0]=c,iW(i,l)}return}if(t)return iW(t,e)}));return(t||"{}"!==o)&&(a+=":"+o),a})}function i$(e,t){var n=new tB;return iz(e).reduce(function(e,r){var i,a=t(r);if(void 0!==a){for(var o=r.length-1;o>=0;--o)a=((i={})[r[o]]=a,i);e=n.merge(e,a)}return e},Object.create(null))}function iz(e){var t=iB(e);if(!t.paths){var n=t.paths=[],r=[];e.forEach(function(t,i){(0,tP.k)(t)?(iz(t).forEach(function(e){return n.push(r.concat(e))}),r.length=0):(r.push(t),(0,tP.k)(e[i+1])||(n.push(r.slice(0)),r.length=0))})}return t.paths}function iG(e,t){return e[t]}function iW(e,t,n){return n=n||iG,iK(t.reduce(function e(t,r){return(0,tP.k)(t)?t.map(function(t){return e(t,r)}):t&&n(t,r)},e))}function iK(e){return(0,eO.s)(e)?(0,tP.k)(e)?e.map(iK):i$(Object.keys(e).sort(),function(t){return iW(e,t)}):e}function iV(e){return void 0!==e.args?e.args:e.field?eZ(e.field,e.variables):null}eK.setStringify(nx);var iq=function(){},iZ=function(e,t){return t.fieldName},iX=function(e,t,n){return(0,n.mergeObjects)(e,t)},iJ=function(e,t){return t},iQ=function(){function e(e){this.config=e,this.typePolicies=Object.create(null),this.toBeAdded=Object.create(null),this.supertypeMap=new Map,this.fuzzySubtypes=new Map,this.rootIdsByTypename=Object.create(null),this.rootTypenamesById=Object.create(null),this.usingPossibleTypes=!1,this.config=(0,en.pi)({dataIdFromObject:id},e),this.cache=this.config.cache,this.setRootTypename("Query"),this.setRootTypename("Mutation"),this.setRootTypename("Subscription"),e.possibleTypes&&this.addPossibleTypes(e.possibleTypes),e.typePolicies&&this.addTypePolicies(e.typePolicies)}return e.prototype.identify=function(e,t){var n,r,i=this,a=t&&(t.typename||(null===(n=t.storeObject)||void 0===n?void 0:n.__typename))||e.__typename;if(a===this.rootTypenamesById.ROOT_QUERY)return["ROOT_QUERY"];for(var o=t&&t.storeObject||e,s=(0,en.pi)((0,en.pi)({},t),{typename:a,storeObject:o,readField:t&&t.readField||function(){var e=i0(arguments,o);return i.readField(e,{store:i.cache.data,variables:e.variables})}}),u=a&&this.getTypePolicy(a),c=u&&u.keyFn||this.config.dataIdFromObject;c;){var l=c((0,en.pi)((0,en.pi)({},e),o),s);if((0,tP.k)(l))c=iU(l);else{r=l;break}}return r=r?String(r):void 0,s.keyObject?[r,s.keyObject]:[r]},e.prototype.addTypePolicies=function(e){var t=this;Object.keys(e).forEach(function(n){var r=e[n],i=r.queryType,a=r.mutationType,o=r.subscriptionType,s=(0,en._T)(r,["queryType","mutationType","subscriptionType"]);i&&t.setRootTypename("Query",n),a&&t.setRootTypename("Mutation",n),o&&t.setRootTypename("Subscription",n),ic.call(t.toBeAdded,n)?t.toBeAdded[n].push(s):t.toBeAdded[n]=[s]})},e.prototype.updateTypePolicy=function(e,t){var n=this,r=this.getTypePolicy(e),i=t.keyFields,a=t.fields;function o(e,t){e.merge="function"==typeof t?t:!0===t?iX:!1===t?iJ:e.merge}o(r,t.merge),r.keyFn=!1===i?iq:(0,tP.k)(i)?iU(i):"function"==typeof i?i:r.keyFn,a&&Object.keys(a).forEach(function(t){var r=n.getFieldPolicy(e,t,!0),i=a[t];if("function"==typeof i)r.read=i;else{var s=i.keyArgs,u=i.read,c=i.merge;r.keyFn=!1===s?iZ:(0,tP.k)(s)?iH(s):"function"==typeof s?s:r.keyFn,"function"==typeof u&&(r.read=u),o(r,c)}r.read&&r.merge&&(r.keyFn=r.keyFn||iZ)})},e.prototype.setRootTypename=function(e,t){void 0===t&&(t=e);var n="ROOT_"+e.toUpperCase(),r=this.rootTypenamesById[n];t!==r&&(__DEV__?(0,Q.kG)(!r||r===e,"Cannot change root ".concat(e," __typename more than once")):(0,Q.kG)(!r||r===e,3),r&&delete this.rootIdsByTypename[r],this.rootIdsByTypename[t]=n,this.rootTypenamesById[n]=t)},e.prototype.addPossibleTypes=function(e){var t=this;this.usingPossibleTypes=!0,Object.keys(e).forEach(function(n){t.getSupertypeSet(n,!0),e[n].forEach(function(e){t.getSupertypeSet(e,!0).add(n);var r=e.match(ig);r&&r[0]===e||t.fuzzySubtypes.set(e,RegExp(e))})})},e.prototype.getTypePolicy=function(e){var t=this;if(!ic.call(this.typePolicies,e)){var n=this.typePolicies[e]=Object.create(null);n.fields=Object.create(null);var r=this.supertypeMap.get(e);r&&r.size&&r.forEach(function(e){var r=t.getTypePolicy(e),i=r.fields;Object.assign(n,(0,en._T)(r,["fields"])),Object.assign(n.fields,i)})}var i=this.toBeAdded[e];return i&&i.length&&i.splice(0).forEach(function(n){t.updateTypePolicy(e,n)}),this.typePolicies[e]},e.prototype.getFieldPolicy=function(e,t,n){if(e){var r=this.getTypePolicy(e).fields;return r[t]||n&&(r[t]=Object.create(null))}},e.prototype.getSupertypeSet=function(e,t){var n=this.supertypeMap.get(e);return!n&&t&&this.supertypeMap.set(e,n=new Set),n},e.prototype.fragmentMatches=function(e,t,n,r){var i=this;if(!e.typeCondition)return!0;if(!t)return!1;var a=e.typeCondition.name.value;if(t===a)return!0;if(this.usingPossibleTypes&&this.supertypeMap.has(a))for(var o=this.getSupertypeSet(t,!0),s=[o],u=function(e){var t=i.getSupertypeSet(e,!1);t&&t.size&&0>s.indexOf(t)&&s.push(t)},c=!!(n&&this.fuzzySubtypes.size),l=!1,f=0;f1?a:t}:(r=(0,en.pi)({},i),ic.call(r,"from")||(r.from=t)),__DEV__&&void 0===r.from&&__DEV__&&Q.kG.warn("Undefined 'from' passed to readField with arguments ".concat(iF(Array.from(e)))),void 0===r.variables&&(r.variables=n),r}function i2(e){return function(t,n){if((0,tP.k)(t)||(0,tP.k)(n))throw __DEV__?new Q.ej("Cannot automatically merge arrays"):new Q.ej(4);if((0,eO.s)(t)&&(0,eO.s)(n)){var r=e.getFieldValue(t,"__typename"),i=e.getFieldValue(n,"__typename");if(r&&i&&r!==i)return n;if(eD(t)&&iw(n))return e.merge(t.__ref,n),t;if(iw(t)&&eD(n))return e.merge(t,n.__ref),n;if(iw(t)&&iw(n))return(0,en.pi)((0,en.pi)({},t),n)}return n}}function i3(e,t,n){var r="".concat(t).concat(n),i=e.flavors.get(r);return i||e.flavors.set(r,i=e.clientOnly===t&&e.deferred===n?e:(0,en.pi)((0,en.pi)({},e),{clientOnly:t,deferred:n})),i}var i4=function(){function e(e,t,n){this.cache=e,this.reader=t,this.fragments=n}return e.prototype.writeToStore=function(e,t){var n=this,r=t.query,i=t.result,a=t.dataId,o=t.variables,s=t.overwrite,u=e2(r),c=i_();o=(0,en.pi)((0,en.pi)({},e9(u)),o);var l=(0,en.pi)((0,en.pi)({store:e,written:Object.create(null),merge:function(e,t){return c.merge(e,t)},variables:o,varString:nx(o)},iE(r,this.fragments)),{overwrite:!!s,incomingById:new Map,clientOnly:!1,deferred:!1,flavors:new Map}),f=this.processSelectionSet({result:i||Object.create(null),dataId:a,selectionSet:u.selectionSet,mergeTree:{map:new Map},context:l});if(!eD(f))throw __DEV__?new Q.ej("Could not identify object ".concat(JSON.stringify(i))):new Q.ej(7);return l.incomingById.forEach(function(t,r){var i=t.storeObject,a=t.mergeTree,o=t.fieldNodeSet,s=eI(r);if(a&&a.map.size){var u=n.applyMerges(a,s,i,l);if(eD(u))return;i=u}if(__DEV__&&!l.overwrite){var c=Object.create(null);o.forEach(function(e){e.selectionSet&&(c[e.name.value]=!0)});var f=function(e){return!0===c[iv(e)]},d=function(e){var t=a&&a.map.get(e);return Boolean(t&&t.info&&t.info.merge)};Object.keys(i).forEach(function(e){f(e)&&!d(e)&&at(s,i,e,l.store)})}e.merge(r,i)}),e.retain(f.__ref),f},e.prototype.processSelectionSet=function(e){var t=this,n=e.dataId,r=e.result,i=e.selectionSet,a=e.context,o=e.mergeTree,s=this.cache.policies,u=Object.create(null),c=n&&s.rootTypenamesById[n]||eJ(r,i,a.fragmentMap)||n&&a.store.get(n,"__typename");"string"==typeof c&&(u.__typename=c);var l=function(){var e=i0(arguments,u,a.variables);if(eD(e.from)){var t=a.incomingById.get(e.from.__ref);if(t){var n=s.readField((0,en.pi)((0,en.pi)({},e),{from:t.storeObject}),a);if(void 0!==n)return n}}return s.readField(e,a)},f=new Set;this.flattenFields(i,r,a,c).forEach(function(e,n){var i,a=r[eX(n)];if(f.add(n),void 0!==a){var d=s.getStoreFieldName({typename:c,fieldName:n.name.value,field:n,variables:e.variables}),h=i5(o,d),p=t.processFieldValue(a,n,n.selectionSet?i3(e,!1,!1):e,h),b=void 0;n.selectionSet&&(eD(p)||iw(p))&&(b=l("__typename",p));var m=s.getMergeFunction(c,n.name.value,b);m?h.info={field:n,typename:c,merge:m}:i7(o,d),u=e.merge(u,((i={})[d]=p,i))}else __DEV__&&!e.clientOnly&&!e.deferred&&!nj.added(n)&&!s.getReadFunction(c,n.name.value)&&__DEV__&&Q.kG.error("Missing field '".concat(eX(n),"' while writing result ").concat(JSON.stringify(r,null,2)).substring(0,1e3))});try{var d=s.identify(r,{typename:c,selectionSet:i,fragmentMap:a.fragmentMap,storeObject:u,readField:l}),h=d[0],p=d[1];n=n||h,p&&(u=a.merge(u,p))}catch(b){if(!n)throw b}if("string"==typeof n){var m=eI(n),g=a.written[n]||(a.written[n]=[]);if(g.indexOf(i)>=0||(g.push(i),this.reader&&this.reader.isFresh(r,m,i,a)))return m;var v=a.incomingById.get(n);return v?(v.storeObject=a.merge(v.storeObject,u),v.mergeTree=i8(v.mergeTree,o),f.forEach(function(e){return v.fieldNodeSet.add(e)})):a.incomingById.set(n,{storeObject:u,mergeTree:i9(o)?void 0:o,fieldNodeSet:f}),m}return u},e.prototype.processFieldValue=function(e,t,n,r){var i=this;return t.selectionSet&&null!==e?(0,tP.k)(e)?e.map(function(e,a){var o=i.processFieldValue(e,t,n,i5(r,a));return i7(r,a),o}):this.processSelectionSet({result:e,selectionSet:t.selectionSet,context:n,mergeTree:r}):__DEV__?nJ(e):e},e.prototype.flattenFields=function(e,t,n,r){void 0===r&&(r=eJ(t,e,n.fragmentMap));var i=new Map,a=this.cache.policies,o=new n_(!1);return function e(s,u){var c=o.lookup(s,u.clientOnly,u.deferred);c.visited||(c.visited=!0,s.selections.forEach(function(o){if(td(o,n.variables)){var s=u.clientOnly,c=u.deferred;if(!(s&&c)&&(0,tP.O)(o.directives)&&o.directives.forEach(function(e){var t=e.name.value;if("client"===t&&(s=!0),"defer"===t){var r=eZ(e,n.variables);r&&!1===r.if||(c=!0)}}),eQ(o)){var l=i.get(o);l&&(s=s&&l.clientOnly,c=c&&l.deferred),i.set(o,i3(n,s,c))}else{var f=eC(o,n.lookupFragment);if(!f&&o.kind===nL.h.FRAGMENT_SPREAD)throw __DEV__?new Q.ej("No fragment named ".concat(o.name.value)):new Q.ej(8);f&&a.fragmentMatches(f,r,t,n.variables)&&e(f.selectionSet,i3(n,s,c))}}}))}(e,n),i},e.prototype.applyMerges=function(e,t,n,r,i){var a=this;if(e.map.size&&!eD(n)){var o,s,u=!(0,tP.k)(n)&&(eD(t)||iw(t))?t:void 0,c=n;u&&!i&&(i=[eD(u)?u.__ref:u]);var l=function(e,t){return(0,tP.k)(e)?"number"==typeof t?e[t]:void 0:r.store.getFieldValue(e,String(t))};e.map.forEach(function(e,t){var n=l(u,t),o=l(c,t);if(void 0!==o){i&&i.push(t);var f=a.applyMerges(e,n,o,r,i);f!==o&&(s=s||new Map).set(t,f),i&&(0,Q.kG)(i.pop()===t)}}),s&&(n=(0,tP.k)(c)?c.slice(0):(0,en.pi)({},c),s.forEach(function(e,t){n[t]=e}))}return e.info?this.cache.policies.runMergeFunction(t,n,e.info,r,i&&(o=r.store).getStorage.apply(o,i)):n},e}(),i6=[];function i5(e,t){var n=e.map;return n.has(t)||n.set(t,i6.pop()||{map:new Map}),n.get(t)}function i8(e,t){if(e===t||!t||i9(t))return e;if(!e||i9(e))return t;var n=e.info&&t.info?(0,en.pi)((0,en.pi)({},e.info),t.info):e.info||t.info,r=e.map.size&&t.map.size,i=r?new Map:e.map.size?e.map:t.map,a={info:n,map:i};if(r){var o=new Set(t.map.keys());e.map.forEach(function(e,n){a.map.set(n,i8(e,t.map.get(n))),o.delete(n)}),o.forEach(function(n){a.map.set(n,i8(t.map.get(n),e.map.get(n)))})}return a}function i9(e){return!e||!(e.info||e.map.size)}function i7(e,t){var n=e.map,r=n.get(t);r&&i9(r)&&(i6.push(r),n.delete(t))}var ae=new Set;function at(e,t,n,r){var i=function(e){var t=r.getFieldValue(e,n);return"object"==typeof t&&t},a=i(e);if(a){var o=i(t);if(!(!o||eD(a)||(0,nm.D)(a,o)||Object.keys(a).every(function(e){return void 0!==r.getFieldValue(o,e)}))){var s=r.getFieldValue(e,"__typename")||r.getFieldValue(t,"__typename"),u=iv(n),c="".concat(s,".").concat(u);if(!ae.has(c)){ae.add(c);var l=[];(0,tP.k)(a)||(0,tP.k)(o)||[a,o].forEach(function(e){var t=r.getFieldValue(e,"__typename");"string"!=typeof t||l.includes(t)||l.push(t)}),__DEV__&&Q.kG.warn("Cache data may be lost when replacing the ".concat(u," field of a ").concat(s," object.\n\nThis could cause additional (usually avoidable) network requests to fetch data that were otherwise cached.\n\nTo address this problem (which is not a bug in Apollo Client), ").concat(l.length?"either ensure all objects of type "+l.join(" and ")+" have an ID or a custom merge function, or ":"","define a custom merge function for the ").concat(c," field, so InMemoryCache can safely merge these objects:\n\n existing: ").concat(JSON.stringify(a).slice(0,1e3),"\n incoming: ").concat(JSON.stringify(o).slice(0,1e3),"\n\nFor more information about these options, please refer to the documentation:\n\n * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\n * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\n"))}}}}var an=function(e){function t(t){void 0===t&&(t={});var n=e.call(this)||this;return n.watches=new Set,n.typenameDocumentCache=new Map,n.makeVar=r2,n.txCount=0,n.config=ip(t),n.addTypename=!!n.config.addTypename,n.policies=new iQ({cache:n,dataIdFromObject:n.config.dataIdFromObject,possibleTypes:n.config.possibleTypes,typePolicies:n.config.typePolicies}),n.init(),n}return(0,en.ZT)(t,e),t.prototype.init=function(){var e=this.data=new iT.Root({policies:this.policies,resultCaching:this.config.resultCaching});this.optimisticData=e.stump,this.resetResultCache()},t.prototype.resetResultCache=function(e){var t=this,n=this.storeReader,r=this.config.fragments;this.storeWriter=new i4(this,this.storeReader=new iP({cache:this,addTypename:this.addTypename,resultCacheMaxSize:this.config.resultCacheMaxSize,canonizeResults:ib(this.config),canon:e?void 0:n&&n.canon,fragments:r}),r),this.maybeBroadcastWatch=rZ(function(e,n){return t.broadcastWatch(e,n)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(e){var n=e.optimistic?t.optimisticData:t.data;if(iD(n)){var r=e.optimistic,i=e.id,a=e.variables;return n.makeCacheKey(e.query,e.callback,nx({optimistic:r,id:i,variables:a}))}}}),new Set([this.data.group,this.optimisticData.group,]).forEach(function(e){return e.resetCaching()})},t.prototype.restore=function(e){return this.init(),e&&this.data.replace(e),this},t.prototype.extract=function(e){return void 0===e&&(e=!1),(e?this.optimisticData:this.data).extract()},t.prototype.read=function(e){var t=e.returnPartialData,n=void 0!==t&&t;try{return this.storeReader.diffQueryAgainstStore((0,en.pi)((0,en.pi)({},e),{store:e.optimistic?this.optimisticData:this.data,config:this.config,returnPartialData:n})).result||null}catch(r){if(r instanceof is)return null;throw r}},t.prototype.write=function(e){try{return++this.txCount,this.storeWriter.writeToStore(this.data,e)}finally{--this.txCount||!1===e.broadcast||this.broadcastWatches()}},t.prototype.modify=function(e){if(ic.call(e,"id")&&!e.id)return!1;var t=e.optimistic?this.optimisticData:this.data;try{return++this.txCount,t.modify(e.id||"ROOT_QUERY",e.fields)}finally{--this.txCount||!1===e.broadcast||this.broadcastWatches()}},t.prototype.diff=function(e){return this.storeReader.diffQueryAgainstStore((0,en.pi)((0,en.pi)({},e),{store:e.optimistic?this.optimisticData:this.data,rootId:e.id||"ROOT_QUERY",config:this.config}))},t.prototype.watch=function(e){var t=this;return this.watches.size||r0(this),this.watches.add(e),e.immediate&&this.maybeBroadcastWatch(e),function(){t.watches.delete(e)&&!t.watches.size&&r1(t),t.maybeBroadcastWatch.forget(e)}},t.prototype.gc=function(e){nx.reset();var t=this.optimisticData.gc();return e&&!this.txCount&&(e.resetResultCache?this.resetResultCache(e.resetResultIdentities):e.resetResultIdentities&&this.storeReader.resetCanon()),t},t.prototype.retain=function(e,t){return(t?this.optimisticData:this.data).retain(e)},t.prototype.release=function(e,t){return(t?this.optimisticData:this.data).release(e)},t.prototype.identify=function(e){if(eD(e))return e.__ref;try{return this.policies.identify(e)[0]}catch(t){__DEV__&&Q.kG.warn(t)}},t.prototype.evict=function(e){if(!e.id){if(ic.call(e,"id"))return!1;e=(0,en.pi)((0,en.pi)({},e),{id:"ROOT_QUERY"})}try{return++this.txCount,this.optimisticData.evict(e,this.data)}finally{--this.txCount||!1===e.broadcast||this.broadcastWatches()}},t.prototype.reset=function(e){var t=this;return this.init(),nx.reset(),e&&e.discardWatches?(this.watches.forEach(function(e){return t.maybeBroadcastWatch.forget(e)}),this.watches.clear(),r1(this)):this.broadcastWatches(),Promise.resolve()},t.prototype.removeOptimistic=function(e){var t=this.optimisticData.removeLayer(e);t!==this.optimisticData&&(this.optimisticData=t,this.broadcastWatches())},t.prototype.batch=function(e){var t,n=this,r=e.update,i=e.optimistic,a=void 0===i||i,o=e.removeOptimistic,s=e.onWatchUpdated,u=function(e){var i=n,a=i.data,o=i.optimisticData;++n.txCount,e&&(n.data=n.optimisticData=e);try{return t=r(n)}finally{--n.txCount,n.data=a,n.optimisticData=o}},c=new Set;return s&&!this.txCount&&this.broadcastWatches((0,en.pi)((0,en.pi)({},e),{onWatchUpdated:function(e){return c.add(e),!1}})),"string"==typeof a?this.optimisticData=this.optimisticData.addLayer(a,u):!1===a?u(this.data):u(),"string"==typeof o&&(this.optimisticData=this.optimisticData.removeLayer(o)),s&&c.size?(this.broadcastWatches((0,en.pi)((0,en.pi)({},e),{onWatchUpdated:function(e,t){var n=s.call(this,e,t);return!1!==n&&c.delete(e),n}})),c.size&&c.forEach(function(e){return n.maybeBroadcastWatch.dirty(e)})):this.broadcastWatches(e),t},t.prototype.performTransaction=function(e,t){return this.batch({update:e,optimistic:t||null!==t})},t.prototype.transformDocument=function(e){if(this.addTypename){var t=this.typenameDocumentCache.get(e);return t||(t=nj(e),this.typenameDocumentCache.set(e,t),this.typenameDocumentCache.set(t,t)),t}return e},t.prototype.transformForLink=function(e){var t=this.config.fragments;return t?t.transform(e):e},t.prototype.broadcastWatches=function(e){var t=this;this.txCount||this.watches.forEach(function(n){return t.maybeBroadcastWatch(n,e)})},t.prototype.broadcastWatch=function(e,t){var n=e.lastDiff,r=this.diff(e);(!t||(e.optimistic&&"string"==typeof t.optimistic&&(r.fromOptimisticTransaction=!0),!t.onWatchUpdated||!1!==t.onWatchUpdated.call(this,e,r,n)))&&(n&&(0,nm.D)(n.result,r.result)||e.callback(e.lastDiff=r,n))},t}(io),ar={possibleTypes:{ApproveJobProposalSpecPayload:["ApproveJobProposalSpecSuccess","JobAlreadyExistsError","NotFoundError"],BridgePayload:["Bridge","NotFoundError"],CancelJobProposalSpecPayload:["CancelJobProposalSpecSuccess","NotFoundError"],ChainPayload:["Chain","NotFoundError"],CreateAPITokenPayload:["CreateAPITokenSuccess","InputErrors"],CreateBridgePayload:["CreateBridgeSuccess"],CreateCSAKeyPayload:["CSAKeyExistsError","CreateCSAKeySuccess"],CreateFeedsManagerChainConfigPayload:["CreateFeedsManagerChainConfigSuccess","InputErrors","NotFoundError"],CreateFeedsManagerPayload:["CreateFeedsManagerSuccess","InputErrors","NotFoundError","SingleFeedsManagerError"],CreateJobPayload:["CreateJobSuccess","InputErrors"],CreateOCR2KeyBundlePayload:["CreateOCR2KeyBundleSuccess"],CreateOCRKeyBundlePayload:["CreateOCRKeyBundleSuccess"],CreateP2PKeyPayload:["CreateP2PKeySuccess"],DeleteAPITokenPayload:["DeleteAPITokenSuccess","InputErrors"],DeleteBridgePayload:["DeleteBridgeConflictError","DeleteBridgeInvalidNameError","DeleteBridgeSuccess","NotFoundError"],DeleteCSAKeyPayload:["DeleteCSAKeySuccess","NotFoundError"],DeleteFeedsManagerChainConfigPayload:["DeleteFeedsManagerChainConfigSuccess","NotFoundError"],DeleteJobPayload:["DeleteJobSuccess","NotFoundError"],DeleteOCR2KeyBundlePayload:["DeleteOCR2KeyBundleSuccess","NotFoundError"],DeleteOCRKeyBundlePayload:["DeleteOCRKeyBundleSuccess","NotFoundError"],DeleteP2PKeyPayload:["DeleteP2PKeySuccess","NotFoundError"],DeleteVRFKeyPayload:["DeleteVRFKeySuccess","NotFoundError"],DismissJobErrorPayload:["DismissJobErrorSuccess","NotFoundError"],Error:["CSAKeyExistsError","DeleteBridgeConflictError","DeleteBridgeInvalidNameError","InputError","JobAlreadyExistsError","NotFoundError","RunJobCannotRunError","SingleFeedsManagerError"],EthTransactionPayload:["EthTransaction","NotFoundError"],FeaturesPayload:["Features"],FeedsManagerPayload:["FeedsManager","NotFoundError"],GetSQLLoggingPayload:["SQLLogging"],GlobalLogLevelPayload:["GlobalLogLevel"],JobPayload:["Job","NotFoundError"],JobProposalPayload:["JobProposal","NotFoundError"],JobRunPayload:["JobRun","NotFoundError"],JobSpec:["BlockHeaderFeederSpec","BlockhashStoreSpec","BootstrapSpec","CronSpec","DirectRequestSpec","FluxMonitorSpec","GatewaySpec","KeeperSpec","OCR2Spec","OCRSpec","StandardCapabilitiesSpec","VRFSpec","WebhookSpec","WorkflowSpec"],NodePayload:["Node","NotFoundError"],PaginatedPayload:["BridgesPayload","ChainsPayload","EthTransactionAttemptsPayload","EthTransactionsPayload","JobRunsPayload","JobsPayload","NodesPayload"],RejectJobProposalSpecPayload:["NotFoundError","RejectJobProposalSpecSuccess"],RunJobPayload:["NotFoundError","RunJobCannotRunError","RunJobSuccess"],SetGlobalLogLevelPayload:["InputErrors","SetGlobalLogLevelSuccess"],SetSQLLoggingPayload:["SetSQLLoggingSuccess"],SetServicesLogLevelsPayload:["InputErrors","SetServicesLogLevelsSuccess"],UpdateBridgePayload:["NotFoundError","UpdateBridgeSuccess"],UpdateFeedsManagerChainConfigPayload:["InputErrors","NotFoundError","UpdateFeedsManagerChainConfigSuccess"],UpdateFeedsManagerPayload:["InputErrors","NotFoundError","UpdateFeedsManagerSuccess"],UpdateJobProposalSpecDefinitionPayload:["NotFoundError","UpdateJobProposalSpecDefinitionSuccess"],UpdatePasswordPayload:["InputErrors","UpdatePasswordSuccess"],VRFKeyPayload:["NotFoundError","VRFKeySuccess"]}};let ai=ar;var aa=(r=void 0,location.origin),ao=new nh({uri:"".concat(aa,"/query"),credentials:"include"}),as=new ia({cache:new an({possibleTypes:ai.possibleTypes}),link:ao});if(a.Z.locale(o),u().defaultFormat="YYYY-MM-DD h:mm:ss A","undefined"!=typeof document){var au,ac,al=f().hydrate;ac=X,al(c.createElement(et,{client:as},c.createElement(d.zj,null,c.createElement(i.MuiThemeProvider,{theme:J.r},c.createElement(ac,null)))),document.getElementById("root"))}})()})(); \ No newline at end of file +`+(a!==i?`result of cast: ${a}`:""))}return r}_cast(e,t){let n=void 0===e?e:this.transforms.reduce((t,n)=>n.call(this,t,e,this),e);return void 0===n&&(n=this.getDefault()),n}_validate(e,t={},n){let{sync:r,path:i,from:a=[],originalValue:o=e,strict:s=this.spec.strict,abortEarly:u=this.spec.abortEarly}=t,c=e;s||(c=this._cast(c,pB({assert:!1},t)));let l={value:c,path:i,options:t,originalValue:o,schema:this,label:this.spec.label,sync:r,from:a},f=[];this._typeError&&f.push(this._typeError),this._whitelistError&&f.push(this._whitelistError),this._blacklistError&&f.push(this._blacklistError),pO({args:l,value:c,path:i,sync:r,tests:f,endEarly:u},e=>{if(e)return void n(e,c);pO({tests:this.tests,args:l,path:i,sync:r,value:c,endEarly:u},n)})}validate(e,t,n){let r=this.resolve(pB({},t,{value:e}));return"function"==typeof n?r._validate(e,t,n):new Promise((n,i)=>r._validate(e,t,(e,t)=>{e?i(e):n(t)}))}validateSync(e,t){let n;return this.resolve(pB({},t,{value:e}))._validate(e,pB({},t,{sync:!0}),(e,t)=>{if(e)throw e;n=t}),n}isValid(e,t){return this.validate(e,t).then(()=>!0,e=>{if(pT.isError(e))return!1;throw e})}isValidSync(e,t){try{return this.validateSync(e,t),!0}catch(n){if(pT.isError(n))return!1;throw n}}_getDefault(){let e=this.spec.default;return null==e?e:"function"==typeof e?e.call(this):pn(e)}getDefault(e){return this.resolve(e||{})._getDefault()}default(e){return 0===arguments.length?this._getDefault():this.clone({default:e})}strict(e=!0){var t=this.clone();return t.spec.strict=e,t}_isPresent(e){return null!=e}defined(e=pf.defined){return this.test({message:e,name:"defined",exclusive:!0,test:e=>void 0!==e})}required(e=pf.required){return this.clone({presence:"required"}).withMutation(t=>t.test({message:e,name:"required",exclusive:!0,test(e){return this.schema._isPresent(e)}}))}notRequired(){var e=this.clone({presence:"optional"});return e.tests=e.tests.filter(e=>"required"!==e.OPTIONS.name),e}nullable(e=!0){return this.clone({nullable:!1!==e})}transform(e){var t=this.clone();return t.transforms.push(e),t}test(...e){let t;if(void 0===(t=1===e.length?"function"==typeof e[0]?{test:e[0]}:e[0]:2===e.length?{name:e[0],test:e[1]}:{name:e[0],message:e[1],test:e[2]}).message&&(t.message=pf.default),"function"!=typeof t.test)throw TypeError("`test` is a required parameters");let n=this.clone(),r=pR(t),i=t.exclusive||t.name&&!0===n.exclusiveTests[t.name];if(t.exclusive&&!t.name)throw TypeError("Exclusive tests must provide a unique `name` identifying the test");return t.name&&(n.exclusiveTests[t.name]=!!t.exclusive),n.tests=n.tests.filter(e=>e.OPTIONS.name!==t.name||!i&&e.OPTIONS.test!==r.OPTIONS.test),n.tests.push(r),n}when(e,t){Array.isArray(e)||"string"==typeof e||(t=e,e=".");let n=this.clone(),r=pS(e).map(e=>new pD(e));return r.forEach(e=>{e.isSibling&&n.deps.push(e.key)}),n.conditions.push(new pE(r,t)),n}typeError(e){var t=this.clone();return t._typeError=pR({message:e,name:"typeError",test(e){return!!(void 0===e||this.schema.isType(e))||this.createError({params:{type:this.schema._type}})}}),t}oneOf(e,t=pf.oneOf){var n=this.clone();return e.forEach(e=>{n._whitelist.add(e),n._blacklist.delete(e)}),n._whitelistError=pR({message:t,name:"oneOf",test(e){if(void 0===e)return!0;let t=this.schema._whitelist;return!!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),n}notOneOf(e,t=pf.notOneOf){var n=this.clone();return e.forEach(e=>{n._blacklist.add(e),n._whitelist.delete(e)}),n._blacklistError=pR({message:t,name:"notOneOf",test(e){let t=this.schema._blacklist;return!t.has(e,this.resolve)||this.createError({params:{values:t.toArray().join(", ")}})}}),n}strip(e=!0){let t=this.clone();return t.spec.strip=e,t}describe(){let e=this.clone(),{label:t,meta:n}=e.spec,r={meta:n,label:t,type:e.type,oneOf:e._whitelist.describe(),notOneOf:e._blacklist.describe(),tests:e.tests.map(e=>({name:e.OPTIONS.name,params:e.OPTIONS.params})).filter((e,t,n)=>n.findIndex(t=>t.name===e.name)===t)};return r}}for(let pH of(pU.prototype.__isYupSchema__=!0,["validate","validateSync"]))pU.prototype[`${pH}At`]=function(e,t,n={}){let{parent:r,parentPath:i,schema:a}=pF(this,e,t,n.context);return a[pH](r&&r[i],pB({},n,{parent:r,path:e}))};for(let p$ of["equals","is"])pU.prototype[p$]=pU.prototype.oneOf;for(let pz of["not","nope"])pU.prototype[pz]=pU.prototype.notOneOf;pU.prototype.optional=pU.prototype.notRequired;let pG=pU;function pW(){return new pG}pW.prototype=pG.prototype;let pK=e=>null==e;function pV(){return new pq}class pq extends pU{constructor(){super({type:"boolean"}),this.withMutation(()=>{this.transform(function(e){if(!this.isType(e)){if(/^(true|1)$/i.test(String(e)))return!0;if(/^(false|0)$/i.test(String(e)))return!1}return e})})}_typeCheck(e){return e instanceof Boolean&&(e=e.valueOf()),"boolean"==typeof e}isTrue(e=pb.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"true"},test:e=>pK(e)||!0===e})}isFalse(e=pb.isValue){return this.test({message:e,name:"is-value",exclusive:!0,params:{value:"false"},test:e=>pK(e)||!1===e})}}pV.prototype=pq.prototype;let pZ=/^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))$/i,pX=/^((https?|ftp):)?\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?(((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?)(:\d*)?)(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)?(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i,pJ=/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i,pQ=e=>pK(e)||e===e.trim(),p1=({}).toString();function p0(){return new p2}class p2 extends pU{constructor(){super({type:"string"}),this.withMutation(()=>{this.transform(function(e){if(this.isType(e)||Array.isArray(e))return e;let t=null!=e&&e.toString?e.toString():e;return t===p1?e:t})})}_typeCheck(e){return e instanceof String&&(e=e.valueOf()),"string"==typeof e}_isPresent(e){return super._isPresent(e)&&!!e.length}length(e,t=pd.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(t){return pK(t)||t.length===this.resolve(e)}})}min(e,t=pd.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(t){return pK(t)||t.length>=this.resolve(e)}})}max(e,t=pd.max){return this.test({name:"max",exclusive:!0,message:t,params:{max:e},test(t){return pK(t)||t.length<=this.resolve(e)}})}matches(e,t){let n=!1,r,i;return t&&("object"==typeof t?{excludeEmptyString:n=!1,message:r,name:i}=t:r=t),this.test({name:i||"matches",message:r||pd.matches,params:{regex:e},test:t=>pK(t)||""===t&&n||-1!==t.search(e)})}email(e=pd.email){return this.matches(pZ,{name:"email",message:e,excludeEmptyString:!0})}url(e=pd.url){return this.matches(pX,{name:"url",message:e,excludeEmptyString:!0})}uuid(e=pd.uuid){return this.matches(pJ,{name:"uuid",message:e,excludeEmptyString:!1})}ensure(){return this.default("").transform(e=>null===e?"":e)}trim(e=pd.trim){return this.transform(e=>null!=e?e.trim():e).test({message:e,name:"trim",test:pQ})}lowercase(e=pd.lowercase){return this.transform(e=>pK(e)?e:e.toLowerCase()).test({message:e,name:"string_case",exclusive:!0,test:e=>pK(e)||e===e.toLowerCase()})}uppercase(e=pd.uppercase){return this.transform(e=>pK(e)?e:e.toUpperCase()).test({message:e,name:"string_case",exclusive:!0,test:e=>pK(e)||e===e.toUpperCase()})}}p0.prototype=p2.prototype;let p3=e=>e!=+e;function p4(){return new p6}class p6 extends pU{constructor(){super({type:"number"}),this.withMutation(()=>{this.transform(function(e){let t=e;if("string"==typeof t){if(""===(t=t.replace(/\s/g,"")))return NaN;t=+t}return this.isType(t)?t:parseFloat(t)})})}_typeCheck(e){return e instanceof Number&&(e=e.valueOf()),"number"==typeof e&&!p3(e)}min(e,t=ph.min){return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(t){return pK(t)||t>=this.resolve(e)}})}max(e,t=ph.max){return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(t){return pK(t)||t<=this.resolve(e)}})}lessThan(e,t=ph.lessThan){return this.test({message:t,name:"max",exclusive:!0,params:{less:e},test(t){return pK(t)||tthis.resolve(e)}})}positive(e=ph.positive){return this.moreThan(0,e)}negative(e=ph.negative){return this.lessThan(0,e)}integer(e=ph.integer){return this.test({name:"integer",message:e,test:e=>pK(e)||Number.isInteger(e)})}truncate(){return this.transform(e=>pK(e)?e:0|e)}round(e){var t,n=["ceil","floor","round","trunc"];if("trunc"===(e=(null==(t=e)?void 0:t.toLowerCase())||"round"))return this.truncate();if(-1===n.indexOf(e.toLowerCase()))throw TypeError("Only valid options for round() are: "+n.join(", "));return this.transform(t=>pK(t)?t:Math[e](t))}}p4.prototype=p6.prototype;var p5=/^(\d{4}|[+\-]\d{6})(?:-?(\d{2})(?:-?(\d{2}))?)?(?:[ T]?(\d{2}):?(\d{2})(?::?(\d{2})(?:[,\.](\d{1,}))?)?(?:(Z)|([+\-])(\d{2})(?::?(\d{2}))?)?)?$/;function p8(e){var t,n,r=[1,4,5,6,7,10,11],i=0;if(n=p5.exec(e)){for(var a,o=0;a=r[o];++o)n[a]=+n[a]||0;n[2]=(+n[2]||1)-1,n[3]=+n[3]||1,n[7]=n[7]?String(n[7]).substr(0,3):0,(void 0===n[8]||""===n[8])&&(void 0===n[9]||""===n[9])?t=+new Date(n[1],n[2],n[3],n[4],n[5],n[6],n[7]):("Z"!==n[8]&&void 0!==n[9]&&(i=60*n[10]+n[11],"+"===n[9]&&(i=0-i)),t=Date.UTC(n[1],n[2],n[3],n[4],n[5]+i,n[6],n[7]))}else t=Date.parse?Date.parse(e):NaN;return t}let p9=new Date(""),p7=e=>"[object Date]"===Object.prototype.toString.call(e);function be(){return new bt}class bt extends pU{constructor(){super({type:"date"}),this.withMutation(()=>{this.transform(function(e){return this.isType(e)?e:(e=p8(e),isNaN(e)?p9:new Date(e))})})}_typeCheck(e){return p7(e)&&!isNaN(e.getTime())}prepareParam(e,t){let n;if(pD.isRef(e))n=e;else{let r=this.cast(e);if(!this._typeCheck(r))throw TypeError(`\`${t}\` must be a Date or a value that can be \`cast()\` to a Date`);n=r}return n}min(e,t=pp.min){let n=this.prepareParam(e,"min");return this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(e){return pK(e)||e>=this.resolve(n)}})}max(e,t=pp.max){var n=this.prepareParam(e,"max");return this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(e){return pK(e)||e<=this.resolve(n)}})}}bt.INVALID_DATE=p9,be.prototype=bt.prototype,be.INVALID_DATE=p9;var bn=n(11865),br=n.n(bn),bi=n(68929),ba=n.n(bi),bo=n(67523),bs=n.n(bo),bu=n(94633),bc=n.n(bu);function bl(e,t=[]){let n=[],r=[];function i(e,i){var a=(0,pC.split)(e)[0];~r.indexOf(a)||r.push(a),~t.indexOf(`${i}-${a}`)||n.push([i,a])}for(let a in e)if(py()(e,a)){let o=e[a];~r.indexOf(a)||r.push(a),pD.isRef(o)&&o.isSibling?i(o.path,a):pw(o)&&"deps"in o&&o.deps.forEach(e=>i(e,a))}return bc().array(r,n).reverse()}function bf(e,t){let n=1/0;return e.some((e,r)=>{var i;if((null==(i=t.path)?void 0:i.indexOf(e))!==-1)return n=r,!0}),n}function bd(e){return(t,n)=>bf(e,t)-bf(e,n)}function bh(){return(bh=Object.assign||function(e){for(var t=1;t"[object Object]"===Object.prototype.toString.call(e);function bb(e,t){let n=Object.keys(e.fields);return Object.keys(t).filter(e=>-1===n.indexOf(e))}let bm=bd([]);class bg extends pU{constructor(e){super({type:"object"}),this.fields=Object.create(null),this._sortErrors=bm,this._nodes=[],this._excludedEdges=[],this.withMutation(()=>{this.transform(function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null}),e&&this.shape(e)})}_typeCheck(e){return bp(e)||"function"==typeof e}_cast(e,t={}){var n;let r=super._cast(e,t);if(void 0===r)return this.getDefault();if(!this._typeCheck(r))return r;let i=this.fields,a=null!=(n=t.stripUnknown)?n:this.spec.noUnknown,o=this._nodes.concat(Object.keys(r).filter(e=>-1===this._nodes.indexOf(e))),s={},u=bh({},t,{parent:s,__validating:t.__validating||!1}),c=!1;for(let l of o){let f=i[l],d=py()(r,l);if(f){let h,p=r[l];u.path=(t.path?`${t.path}.`:"")+l;let b="spec"in(f=f.resolve({value:p,context:t.context,parent:s}))?f.spec:void 0,m=null==b?void 0:b.strict;if(null==b?void 0:b.strip){c=c||l in r;continue}void 0!==(h=t.__validating&&m?r[l]:f.cast(r[l],u))&&(s[l]=h)}else d&&!a&&(s[l]=r[l]);s[l]!==r[l]&&(c=!0)}return c?s:r}_validate(e,t={},n){let r=[],{sync:i,from:a=[],originalValue:o=e,abortEarly:s=this.spec.abortEarly,recursive:u=this.spec.recursive}=t;a=[{schema:this,value:o},...a],t.__validating=!0,t.originalValue=o,t.from=a,super._validate(e,t,(e,c)=>{if(e){if(!pT.isError(e)||s)return void n(e,c);r.push(e)}if(!u||!bp(c)){n(r[0]||null,c);return}o=o||c;let l=this._nodes.map(e=>(n,r)=>{let i=-1===e.indexOf(".")?(t.path?`${t.path}.`:"")+e:`${t.path||""}["${e}"]`,s=this.fields[e];if(s&&"validate"in s){s.validate(c[e],bh({},t,{path:i,from:a,strict:!0,parent:c,originalValue:o[e]}),r);return}r(null)});pO({sync:i,tests:l,value:c,errors:r,endEarly:s,sort:this._sortErrors,path:t.path},n)})}clone(e){let t=super.clone(e);return t.fields=bh({},this.fields),t._nodes=this._nodes,t._excludedEdges=this._excludedEdges,t._sortErrors=this._sortErrors,t}concat(e){let t=super.concat(e),n=t.fields;for(let[r,i]of Object.entries(this.fields)){let a=n[r];void 0===a?n[r]=i:a instanceof pU&&i instanceof pU&&(n[r]=i.concat(a))}return t.withMutation(()=>t.shape(n))}getDefaultFromShape(){let e={};return this._nodes.forEach(t=>{let n=this.fields[t];e[t]="default"in n?n.getDefault():void 0}),e}_getDefault(){return"default"in this.spec?super._getDefault():this._nodes.length?this.getDefaultFromShape():void 0}shape(e,t=[]){let n=this.clone(),r=Object.assign(n.fields,e);if(n.fields=r,n._sortErrors=bd(Object.keys(r)),t.length){Array.isArray(t[0])||(t=[t]);let i=t.map(([e,t])=>`${e}-${t}`);n._excludedEdges=n._excludedEdges.concat(i)}return n._nodes=bl(r,n._excludedEdges),n}pick(e){let t={};for(let n of e)this.fields[n]&&(t[n]=this.fields[n]);return this.clone().withMutation(e=>(e.fields={},e.shape(t)))}omit(e){let t=this.clone(),n=t.fields;for(let r of(t.fields={},e))delete n[r];return t.withMutation(()=>t.shape(n))}from(e,t,n){let r=(0,pC.getter)(e,!0);return this.transform(i=>{if(null==i)return i;let a=i;return py()(i,e)&&(a=bh({},i),n||delete a[e],a[t]=r(i)),a})}noUnknown(e=!0,t=pm.noUnknown){"string"==typeof e&&(t=e,e=!0);let n=this.test({name:"noUnknown",exclusive:!0,message:t,test(t){if(null==t)return!0;let n=bb(this.schema,t);return!e||0===n.length||this.createError({params:{unknown:n.join(", ")}})}});return n.spec.noUnknown=e,n}unknown(e=!0,t=pm.noUnknown){return this.noUnknown(!e,t)}transformKeys(e){return this.transform(t=>t&&bs()(t,(t,n)=>e(n)))}camelCase(){return this.transformKeys(ba())}snakeCase(){return this.transformKeys(br())}constantCase(){return this.transformKeys(e=>br()(e).toUpperCase())}describe(){let e=super.describe();return e.fields=pL()(this.fields,e=>e.describe()),e}}function bv(e){return new bg(e)}function by(){return(by=Object.assign||function(e){for(var t=1;t{this.transform(function(e){if("string"==typeof e)try{e=JSON.parse(e)}catch(t){e=null}return this.isType(e)?e:null})})}_typeCheck(e){return Array.isArray(e)}get _subType(){return this.innerType}_cast(e,t){let n=super._cast(e,t);if(!this._typeCheck(n)||!this.innerType)return n;let r=!1,i=n.map((e,n)=>{let i=this.innerType.cast(e,by({},t,{path:`${t.path||""}[${n}]`}));return i!==e&&(r=!0),i});return r?i:n}_validate(e,t={},n){var r,i;let a=[],o=t.sync,s=t.path,u=this.innerType,c=null!=(r=t.abortEarly)?r:this.spec.abortEarly,l=null!=(i=t.recursive)?i:this.spec.recursive,f=null!=t.originalValue?t.originalValue:e;super._validate(e,t,(e,r)=>{if(e){if(!pT.isError(e)||c)return void n(e,r);a.push(e)}if(!l||!u||!this._typeCheck(r)){n(a[0]||null,r);return}f=f||r;let i=Array(r.length);for(let d=0;du.validate(h,b,t)}pO({sync:o,path:s,value:r,errors:a,endEarly:c,tests:i},n)})}clone(e){let t=super.clone(e);return t.innerType=this.innerType,t}concat(e){let t=super.concat(e);return t.innerType=this.innerType,e.innerType&&(t.innerType=t.innerType?t.innerType.concat(e.innerType):e.innerType),t}of(e){let t=this.clone();if(!pw(e))throw TypeError("`array.of()` sub-schema must be a valid yup schema not: "+pl(e));return t.innerType=e,t}length(e,t=pg.length){return this.test({message:t,name:"length",exclusive:!0,params:{length:e},test(t){return pK(t)||t.length===this.resolve(e)}})}min(e,t){return t=t||pg.min,this.test({message:t,name:"min",exclusive:!0,params:{min:e},test(t){return pK(t)||t.length>=this.resolve(e)}})}max(e,t){return t=t||pg.max,this.test({message:t,name:"max",exclusive:!0,params:{max:e},test(t){return pK(t)||t.length<=this.resolve(e)}})}ensure(){return this.default(()=>[]).transform((e,t)=>this._typeCheck(e)?e:null==t?[]:[].concat(t))}compact(e){let t=e?(t,n,r)=>!e(t,n,r):e=>!!e;return this.transform(e=>null!=e?e.filter(t):e)}describe(){let e=super.describe();return this.innerType&&(e.innerType=this.innerType.describe()),e}nullable(e=!0){return super.nullable(e)}defined(){return super.defined()}required(e){return super.required(e)}}bw.prototype=b_.prototype;var bE=bv().shape({name:p0().required("Required"),url:p0().required("Required")}),bS=function(e){var t=e.initialValues,n=e.onSubmit,r=e.submitButtonText,i=e.nameDisabled,a=void 0!==i&&i;return l.createElement(hT,{initialValues:t,validationSchema:bE,onSubmit:n},function(e){var t=e.isSubmitting;return l.createElement(l.Fragment,null,l.createElement(hR,{"data-testid":"bridge-form",noValidate:!0},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(hP,{component:hX,id:"name",name:"name",label:"Name",disabled:a,required:!0,fullWidth:!0,FormHelperTextProps:{"data-testid":"name-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(hP,{component:hX,id:"url",name:"url",label:"Bridge URL",placeholder:"https://",required:!0,fullWidth:!0,FormHelperTextProps:{"data-testid":"url-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:7},l.createElement(hP,{component:hX,id:"minimumContractPayment",name:"minimumContractPayment",label:"Minimum Contract Payment",placeholder:"0",fullWidth:!0,inputProps:{min:0},FormHelperTextProps:{"data-testid":"minimumContractPayment-helper-text"}})),l.createElement(d.Z,{item:!0,xs:7},l.createElement(hP,{component:hX,id:"confirmations",name:"confirmations",label:"Confirmations",placeholder:"0",type:"number",fullWidth:!0,inputProps:{min:0},FormHelperTextProps:{"data-testid":"confirmations-helper-text"}})))),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(ok.default,{variant:"contained",color:"primary",type:"submit",disabled:t,size:"large"},r)))))})},bk=function(e){var t=e.bridge,n=e.onSubmit,r={name:t.name,url:t.url,minimumContractPayment:t.minimumContractPayment,confirmations:t.confirmations};return l.createElement(ig,null,l.createElement(d.Z,{container:!0,spacing:40},l.createElement(d.Z,{item:!0,xs:12,md:11,lg:9},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Edit Bridge",action:l.createElement(aA.Z,{component:tz,href:"/bridges/".concat(t.id)},"Cancel")}),l.createElement(aW.Z,null,l.createElement(bS,{nameDisabled:!0,initialValues:r,onSubmit:n,submitButtonText:"Save Bridge"}))))))};function bx(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]&&arguments[0],t=e?function(){return l.createElement(x.default,{variant:"body1"},"Loading...")}:function(){return null};return{isLoading:e,LoadingPlaceholder:t}},mc=n(76023);function ml(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function mB(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=4?[e[0],e[1],e[2],e[3],"".concat(e[0],".").concat(e[1]),"".concat(e[0],".").concat(e[2]),"".concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[0]),"".concat(e[1],".").concat(e[2]),"".concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[1]),"".concat(e[2],".").concat(e[3]),"".concat(e[3],".").concat(e[0]),"".concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[0]),"".concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[0],".").concat(e[1],".").concat(e[2],".").concat(e[3]),"".concat(e[0],".").concat(e[1],".").concat(e[3],".").concat(e[2]),"".concat(e[0],".").concat(e[2],".").concat(e[1],".").concat(e[3]),"".concat(e[0],".").concat(e[2],".").concat(e[3],".").concat(e[1]),"".concat(e[0],".").concat(e[3],".").concat(e[1],".").concat(e[2]),"".concat(e[0],".").concat(e[3],".").concat(e[2],".").concat(e[1]),"".concat(e[1],".").concat(e[0],".").concat(e[2],".").concat(e[3]),"".concat(e[1],".").concat(e[0],".").concat(e[3],".").concat(e[2]),"".concat(e[1],".").concat(e[2],".").concat(e[0],".").concat(e[3]),"".concat(e[1],".").concat(e[2],".").concat(e[3],".").concat(e[0]),"".concat(e[1],".").concat(e[3],".").concat(e[0],".").concat(e[2]),"".concat(e[1],".").concat(e[3],".").concat(e[2],".").concat(e[0]),"".concat(e[2],".").concat(e[0],".").concat(e[1],".").concat(e[3]),"".concat(e[2],".").concat(e[0],".").concat(e[3],".").concat(e[1]),"".concat(e[2],".").concat(e[1],".").concat(e[0],".").concat(e[3]),"".concat(e[2],".").concat(e[1],".").concat(e[3],".").concat(e[0]),"".concat(e[2],".").concat(e[3],".").concat(e[0],".").concat(e[1]),"".concat(e[2],".").concat(e[3],".").concat(e[1],".").concat(e[0]),"".concat(e[3],".").concat(e[0],".").concat(e[1],".").concat(e[2]),"".concat(e[3],".").concat(e[0],".").concat(e[2],".").concat(e[1]),"".concat(e[3],".").concat(e[1],".").concat(e[0],".").concat(e[2]),"".concat(e[3],".").concat(e[1],".").concat(e[2],".").concat(e[0]),"".concat(e[3],".").concat(e[2],".").concat(e[0],".").concat(e[1]),"".concat(e[3],".").concat(e[2],".").concat(e[1],".").concat(e[0])]:void 0}var mZ={};function mX(e){if(0===e.length||1===e.length)return e;var t=e.join(".");return mZ[t]||(mZ[t]=mq(e)),mZ[t]}function mJ(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2?arguments[2]:void 0;return mX(e.filter(function(e){return"token"!==e})).reduce(function(e,t){return mK({},e,n[t])},t)}function mQ(e){return e.join(" ")}function m1(e,t){var n=0;return function(r){return n+=1,r.map(function(r,i){return m0({node:r,stylesheet:e,useInlineStyles:t,key:"code-segment-".concat(n,"-").concat(i)})})}}function m0(e){var t=e.node,n=e.stylesheet,r=e.style,i=void 0===r?{}:r,a=e.useInlineStyles,o=e.key,s=t.properties,u=t.type,c=t.tagName,f=t.value;if("text"===u)return f;if(c){var d,h=m1(n,a);if(a){var p=Object.keys(n).reduce(function(e,t){return t.split(".").forEach(function(t){e.includes(t)||e.push(t)}),e},[]),b=s.className&&s.className.includes("token")?["token"]:[],m=s.className&&b.concat(s.className.filter(function(e){return!p.includes(e)}));d=mK({},s,{className:mQ(m)||void 0,style:mJ(s.className,Object.assign({},s.style,i),n)})}else d=mK({},s,{className:mQ(s.className)});var g=h(t.children);return l.createElement(c,(0,mV.Z)({key:o},d),g)}}let m2=function(e,t){return -1!==e.listLanguages().indexOf(t)};var m3=/\n/g;function m4(e){return e.match(m3)}function m6(e){var t=e.lines,n=e.startingLineNumber,r=e.style;return t.map(function(e,t){var i=t+n;return l.createElement("span",{key:"line-".concat(t),className:"react-syntax-highlighter-line-number",style:"function"==typeof r?r(i):r},"".concat(i,"\n"))})}function m5(e){var t=e.codeString,n=e.codeStyle,r=e.containerStyle,i=void 0===r?{float:"left",paddingRight:"10px"}:r,a=e.numberStyle,o=void 0===a?{}:a,s=e.startingLineNumber;return l.createElement("code",{style:Object.assign({},n,i)},m6({lines:t.replace(/\n$/,"").split("\n"),style:o,startingLineNumber:s}))}function m8(e){return"".concat(e.toString().length,".25em")}function m9(e,t){return{type:"element",tagName:"span",properties:{key:"line-number--".concat(e),className:["comment","linenumber","react-syntax-highlighter-line-number"],style:t},children:[{type:"text",value:e}]}}function m7(e,t,n){var r,i={display:"inline-block",minWidth:m8(n),paddingRight:"1em",textAlign:"right",userSelect:"none"};return mK({},i,"function"==typeof e?e(t):e)}function ge(e){var t=e.children,n=e.lineNumber,r=e.lineNumberStyle,i=e.largestLineNumber,a=e.showInlineLineNumbers,o=e.lineProps,s=void 0===o?{}:o,u=e.className,c=void 0===u?[]:u,l=e.showLineNumbers,f=e.wrapLongLines,d="function"==typeof s?s(n):s;if(d.className=c,n&&a){var h=m7(r,n,i);t.unshift(m9(n,h))}return f&l&&(d.style=mK({},d.style,{display:"flex"})),{type:"element",tagName:"span",properties:d,children:t}}function gt(e){for(var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[],r=0;r2&&void 0!==arguments[2]?arguments[2]:[];return ge({children:e,lineNumber:t,lineNumberStyle:s,largestLineNumber:o,showInlineLineNumbers:i,lineProps:n,className:a,showLineNumbers:r,wrapLongLines:u})}function b(e,t){if(r&&t&&i){var n=m7(s,t,o);e.unshift(m9(t,n))}return e}function m(e,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:[];return t||r.length>0?p(e,n,r):b(e,n)}for(var g=function(){var e=l[h],t=e.children[0].value;if(m4(t)){var n=t.split("\n");n.forEach(function(t,i){var o=r&&f.length+a,s={type:"text",value:"".concat(t,"\n")};if(0===i){var u=l.slice(d+1,h).concat(ge({children:[s],className:e.properties.className})),c=m(u,o);f.push(c)}else if(i===n.length-1){if(l[h+1]&&l[h+1].children&&l[h+1].children[0]){var p={type:"text",value:"".concat(t)},b=ge({children:[p],className:e.properties.className});l.splice(h+1,0,b)}else{var g=[s],v=m(g,o,e.properties.className);f.push(v)}}else{var y=[s],w=m(y,o,e.properties.className);f.push(w)}}),d=h}h++};h code[class*="language-"]':{background:"#f5f2f0",padding:".1em",borderRadius:".3em",whiteSpace:"normal"},comment:{color:"slategray"},prolog:{color:"slategray"},doctype:{color:"slategray"},cdata:{color:"slategray"},punctuation:{color:"#999"},namespace:{Opacity:".7"},property:{color:"#905"},tag:{color:"#905"},boolean:{color:"#905"},number:{color:"#905"},constant:{color:"#905"},symbol:{color:"#905"},deleted:{color:"#905"},selector:{color:"#690"},"attr-name":{color:"#690"},string:{color:"#690"},char:{color:"#690"},builtin:{color:"#690"},inserted:{color:"#690"},operator:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},entity:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)",cursor:"help"},url:{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".language-css .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},".style .token.string":{color:"#9a6e3a",background:"hsla(0, 0%, 100%, .5)"},atrule:{color:"#07a"},"attr-value":{color:"#07a"},keyword:{color:"#07a"},function:{color:"#DD4A68"},"class-name":{color:"#DD4A68"},regex:{color:"#e90"},important:{color:"#e90",fontWeight:"bold"},variable:{color:"#e90"},bold:{fontWeight:"bold"},italic:{fontStyle:"italic"}};var gu=n(98695),gc=n.n(gu);let gl=["abap","abnf","actionscript","ada","agda","al","antlr4","apacheconf","apl","applescript","aql","arduino","arff","asciidoc","asm6502","aspnet","autohotkey","autoit","bash","basic","batch","bbcode","birb","bison","bnf","brainfuck","brightscript","bro","bsl","c","cil","clike","clojure","cmake","coffeescript","concurnas","cpp","crystal","csharp","csp","css-extras","css","cypher","d","dart","dax","dhall","diff","django","dns-zone-file","docker","ebnf","editorconfig","eiffel","ejs","elixir","elm","erb","erlang","etlua","excel-formula","factor","firestore-security-rules","flow","fortran","fsharp","ftl","gcode","gdscript","gedcom","gherkin","git","glsl","gml","go","graphql","groovy","haml","handlebars","haskell","haxe","hcl","hlsl","hpkp","hsts","http","ichigojam","icon","iecst","ignore","inform7","ini","io","j","java","javadoc","javadoclike","javascript","javastacktrace","jolie","jq","js-extras","js-templates","jsdoc","json","json5","jsonp","jsstacktrace","jsx","julia","keyman","kotlin","latex","latte","less","lilypond","liquid","lisp","livescript","llvm","lolcode","lua","makefile","markdown","markup-templating","markup","matlab","mel","mizar","mongodb","monkey","moonscript","n1ql","n4js","nand2tetris-hdl","naniscript","nasm","neon","nginx","nim","nix","nsis","objectivec","ocaml","opencl","oz","parigp","parser","pascal","pascaligo","pcaxis","peoplecode","perl","php-extras","php","phpdoc","plsql","powerquery","powershell","processing","prolog","properties","protobuf","pug","puppet","pure","purebasic","purescript","python","q","qml","qore","r","racket","reason","regex","renpy","rest","rip","roboconf","robotframework","ruby","rust","sas","sass","scala","scheme","scss","shell-session","smali","smalltalk","smarty","sml","solidity","solution-file","soy","sparql","splunk-spl","sqf","sql","stan","stylus","swift","t4-cs","t4-templating","t4-vb","tap","tcl","textile","toml","tsx","tt2","turtle","twig","typescript","typoscript","unrealscript","vala","vbnet","velocity","verilog","vhdl","vim","visual-basic","warpscript","wasm","wiki","xeora","xml-doc","xojo","xquery","yaml","yang","zig"];var gf=go(gc(),gs);gf.supportedLanguages=gl;let gd=gf;var gh=n(64566);function gp(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function gb(){var e=gp(["\n query FetchConfigV2 {\n configv2 {\n user\n effective\n }\n }\n"]);return gb=function(){return e},e}var gm=n0(gb()),gg=function(e){var t=e.children;return l.createElement(ir.Z,null,l.createElement(r7.default,{component:"th",scope:"row",colSpan:3},t))},gv=function(){return l.createElement(gg,null,"...")},gy=function(e){var t=e.children;return l.createElement(gg,null,t)},gw=function(e){var t=e.loading,n=e.toml,r=e.error,i=void 0===r?"":r,a=e.title,o=e.expanded;if(i)return l.createElement(gy,null,i);if(t)return l.createElement(gv,null);a||(a="TOML");var s={display:"block"};return l.createElement(x.default,null,l.createElement(mP.Z,{defaultExpanded:o},l.createElement(mR.Z,{expandIcon:l.createElement(gh.Z,null)},a),l.createElement(mj.Z,{style:s},l.createElement(gd,{language:"toml",style:gs},n))))},g_=function(){var e=rv(gm,{fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error;return(null==t?void 0:t.configv2.effective)=="N/A"?l.createElement(l.Fragment,null,l.createElement(d.Z,{item:!0,xs:12},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"TOML Configuration"}),l.createElement(gw,{title:"V2 config dump:",error:null==r?void 0:r.message,loading:n,toml:null==t?void 0:t.configv2.user,showHead:!0})))):l.createElement(l.Fragment,null,l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"TOML Configuration"}),l.createElement(gw,{title:"User specified:",error:null==r?void 0:r.message,loading:n,toml:null==t?void 0:t.configv2.user,showHead:!0,expanded:!0}),l.createElement(gw,{title:"Effective (with defaults):",error:null==r?void 0:r.message,loading:n,toml:null==t?void 0:t.configv2.effective,showHead:!0})))))},gE=n(34823),gS=function(e){return(0,b.createStyles)({cell:{paddingTop:1.5*e.spacing.unit,paddingBottom:1.5*e.spacing.unit}})},gk=(0,b.withStyles)(gS)(function(e){var t=e.classes,n=(0,A.I0)();(0,l.useEffect)(function(){n((0,ty.DQ)())});var r=(0,A.v9)(gE.N,A.wU);return l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Node"}),l.createElement(r8.Z,null,l.createElement(r9.Z,null,l.createElement(ir.Z,null,l.createElement(r7.default,{className:t.cell},l.createElement(x.default,null,"Version"),l.createElement(x.default,{variant:"subtitle1",color:"textSecondary"},r.version))),l.createElement(ir.Z,null,l.createElement(r7.default,{className:t.cell},l.createElement(x.default,null,"SHA"),l.createElement(x.default,{variant:"subtitle1",color:"textSecondary"},r.commitSHA))))))}),gx=function(){return l.createElement(ig,null,l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,sm:12,md:8},l.createElement(d.Z,{container:!0},l.createElement(g_,null))),l.createElement(d.Z,{item:!0,sm:12,md:4},l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(gk,null)),l.createElement(d.Z,{item:!0,xs:12},l.createElement(mN,null)),l.createElement(d.Z,{item:!0,xs:12},l.createElement(mE,null))))))},gT=function(){return l.createElement(gx,null)},gM=function(){return l.createElement(gT,null)},gO=n(44431),gA=1e18,gL=function(e){return new gO.BigNumber(e).dividedBy(gA).toFixed(8)},gC=function(e){var t=e.keys,n=e.chainID,r=e.hideHeaderTitle;return l.createElement(l.Fragment,null,l.createElement(sl.Z,{title:!r&&"Account Balances",subheader:"Chain ID "+n}),l.createElement(aW.Z,null,l.createElement(w.default,{dense:!1,disablePadding:!0},t&&t.map(function(e,r){return l.createElement(l.Fragment,null,l.createElement(_.default,{disableGutters:!0,key:["acc-balance",n.toString(),r.toString()].join("-")},l.createElement(E.Z,{primary:l.createElement(l.Fragment,null,l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12},l.createElement(op,{title:"Address"}),l.createElement(ob,{value:e.address})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(op,{title:"Native Token Balance"}),l.createElement(ob,{value:e.ethBalance||"--"})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(op,{title:"LINK Balance"}),l.createElement(ob,{value:e.linkBalance?gL(e.linkBalance):"--"}))))})),r+1s&&l.createElement(gB.Z,null,l.createElement(ir.Z,null,l.createElement(r7.default,{className:r.footer},l.createElement(aA.Z,{href:"/runs",component:tz},"View More"))))))});function vt(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vn(){var e=vt(["\n ","\n query FetchRecentJobRuns($offset: Int, $limit: Int) {\n jobRuns(offset: $offset, limit: $limit) {\n results {\n ...RecentJobRunsPayload_ResultsFields\n }\n metadata {\n total\n }\n }\n }\n"]);return vn=function(){return e},e}var vr=5,vi=n0(vn(),g9),va=function(){var e=rv(vi,{variables:{offset:0,limit:vr},fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error;return l.createElement(ve,{data:t,errorMsg:null==r?void 0:r.message,loading:n,maxRunsSize:vr})},vo=function(e){return(0,b.createStyles)({style:{textAlign:"center",padding:2.5*e.spacing.unit,position:"fixed",left:"0",bottom:"0",width:"100%",borderRadius:0},bareAnchor:{color:e.palette.common.black,textDecoration:"none"}})},vs=(0,b.withStyles)(vo)(function(e){var t=e.classes,n=(0,A.v9)(gE.N,A.wU),r=(0,A.I0)();return(0,l.useEffect)(function(){r((0,ty.DQ)())}),l.createElement(ii.default,{className:t.style},l.createElement(x.default,null,"Chainlink Node ",n.version," at commit"," ",l.createElement("a",{target:"_blank",rel:"noopener noreferrer",href:"https://github.com/smartcontractkit/chainlink/commit/".concat(n.commitSHA),className:t.bareAnchor},n.commitSHA)))}),vu=function(e){return(0,b.createStyles)({cell:{borderColor:e.palette.divider,borderTop:"1px solid",borderBottom:"none",paddingTop:2*e.spacing.unit,paddingBottom:2*e.spacing.unit,paddingLeft:2*e.spacing.unit},block:{display:"block"},overflowEllipsis:{textOverflow:"ellipsis",overflow:"hidden"}})},vc=(0,b.withStyles)(vu)(function(e){var t=e.classes,n=e.job;return l.createElement(ir.Z,null,l.createElement(r7.default,{scope:"row",className:t.cell},l.createElement(d.Z,{container:!0,spacing:0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(ih,{href:"/jobs/".concat(n.id),classes:{linkContent:t.block}},l.createElement(x.default,{className:t.overflowEllipsis,variant:"body1",component:"span",color:"primary"},n.name||n.id))),l.createElement(d.Z,{item:!0,xs:12},l.createElement(x.default,{variant:"body1",color:"textSecondary"},"Created ",l.createElement(aO,{tooltip:!0},n.createdAt))))))});function vl(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vf(){var e=vl(["\n fragment RecentJobsPayload_ResultsFields on Job {\n id\n name\n createdAt\n }\n"]);return vf=function(){return e},e}var vd=n0(vf()),vh=function(){return(0,b.createStyles)({cardHeader:{borderBottom:0},table:{tableLayout:"fixed"}})},vp=(0,b.withStyles)(vh)(function(e){var t,n,r=e.classes,i=e.data,a=e.errorMsg,o=e.loading;return l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Recent Jobs",className:r.cardHeader}),l.createElement(r8.Z,{className:r.table},l.createElement(r9.Z,null,l.createElement(g$,{visible:o}),l.createElement(gz,{visible:(null===(t=null==i?void 0:i.jobs.results)||void 0===t?void 0:t.length)===0},"No recently created jobs"),l.createElement(gU,{msg:a}),null===(n=null==i?void 0:i.jobs.results)||void 0===n?void 0:n.map(function(e,t){return l.createElement(vc,{job:e,key:t})}))))});function vb(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function vm(){var e=vb(["\n ","\n query FetchRecentJobs($offset: Int, $limit: Int) {\n jobs(offset: $offset, limit: $limit) {\n results {\n ...RecentJobsPayload_ResultsFields\n }\n }\n }\n"]);return vm=function(){return e},e}var vg=5,vv=n0(vm(),vd),vy=function(){var e=rv(vv,{variables:{offset:0,limit:vg},fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error;return l.createElement(vp,{data:t,errorMsg:null==r?void 0:r.message,loading:n})},vw=function(){return l.createElement(ig,null,l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:8},l.createElement(va,null)),l.createElement(d.Z,{item:!0,xs:4},l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12},l.createElement(gY,null)),l.createElement(d.Z,{item:!0,xs:12},l.createElement(vy,null))))),l.createElement(vs,null))},v_=function(){return l.createElement(vw,null)},vE=function(){return l.createElement(v_,null)},vS=n(87239),vk=function(e){switch(e){case"DirectRequestSpec":return"Direct Request";case"FluxMonitorSpec":return"Flux Monitor";default:return e.replace(/Spec$/,"")}},vx=n(5022),vT=n(78718),vM=n.n(vT);function vO(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1?t-1:0),r=1;r1?t-1:0),r=1;re.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&n.map(function(e){return l.createElement(ir.Z,{key:e.id,style:{cursor:"pointer"},onClick:function(){return r.push("/runs/".concat(e.id))}},l.createElement(r7.default,{className:t.idCell,scope:"row"},l.createElement("div",{className:t.runDetails},l.createElement(x.default,{variant:"h5",color:"primary",component:"span"},e.id))),l.createElement(r7.default,{className:t.stampCell},l.createElement(x.default,{variant:"body1",color:"textSecondary",className:t.stamp},"Created ",l.createElement(aO,{tooltip:!0},e.createdAt))),l.createElement(r7.default,{className:t.statusCell,scope:"row"},l.createElement(x.default,{variant:"body1",className:O()(t.status,yh(t,e.status))},e.status.toLowerCase())))})))}),yb=n(16839),ym=n.n(yb);function yg(e){var t=e.replace(/\w+\s*=\s*<([^>]|[\r\n])*>/g,""),n=ym().read(t),r=n.edges();return n.nodes().map(function(e){var t={id:e,parentIds:r.filter(function(t){return t.w===e}).map(function(e){return e.v})};return Object.keys(n.node(e)).length>0&&(t.attributes=n.node(e)),t})}var yv=n(94164),yy=function(e){var t=e.data,n=[];return(null==t?void 0:t.attributes)&&Object.keys(t.attributes).forEach(function(e){var r;n.push(l.createElement("div",{key:e},l.createElement(x.default,{variant:"body1",color:"textSecondary",component:"div"},l.createElement("b",null,e,":")," ",null===(r=t.attributes)||void 0===r?void 0:r[e])))}),l.createElement("div",null,t&&l.createElement(x.default,{variant:"body1",color:"textPrimary"},l.createElement("b",null,t.id)),n)},yw=n(73343),y_=n(3379),yE=n.n(y_);function yS(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nwindow.innerWidth?u-r.getBoundingClientRect().width-a:u+a,n=c+r.getBoundingClientRect().height+i>window.innerHeight?c-r.getBoundingClientRect().height-a:c+a,r.style.opacity=String(1),r.style.top="".concat(n,"px"),r.style.left="".concat(t,"px"),r.style.zIndex=String(1)}},h=function(e){var t=document.getElementById("tooltip-d3-chart-".concat(e));t&&(t.style.opacity=String(0),t.style.zIndex=String(-1))};return l.createElement("div",{style:{fontFamily:"sans-serif",fontWeight:"normal"}},l.createElement(yv.kJ,{id:"task-list-graph-d3",data:i,config:s,onMouseOverNode:d,onMouseOutNode:h},"D3 chart"),n.map(function(e){return l.createElement("div",{key:"d3-tooltip-key-".concat(e.id),id:"tooltip-d3-chart-".concat(e.id),style:{position:"absolute",opacity:"0",border:"1px solid rgba(0, 0, 0, 0.1)",padding:yw.r.spacing.unit,background:"white",borderRadius:5,zIndex:-1,inlineSize:"min-content"}},l.createElement(yy,{data:e}))}))};function yL(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);nyY&&l.createElement("div",{className:t.runDetails},l.createElement(aA.Z,{href:"/jobs/".concat(n.id,"/runs"),component:tz},"View more")))),l.createElement(d.Z,{item:!0,xs:12,sm:6},l.createElement(yF,{observationSource:n.observationSource})))});function yH(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&void 0!==arguments[0]?arguments[0]:"";try{return vx.parse(e),!0}catch(t){return!1}})}),wW=function(e){var t=e.initialValues,n=e.onSubmit,r=e.onTOMLChange;return l.createElement(hT,{initialValues:t,validationSchema:wG,onSubmit:n},function(e){var t=e.isSubmitting,n=e.values;return r&&r(n.toml),l.createElement(hR,{"data-testid":"job-form",noValidate:!0},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:hX,id:"toml",name:"toml",label:"Job Spec (TOML)",required:!0,fullWidth:!0,multiline:!0,rows:10,rowsMax:25,variant:"outlined",autoComplete:"off",FormHelperTextProps:{"data-testid":"toml-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(ok.default,{variant:"contained",color:"primary",type:"submit",disabled:t,size:"large"},"Create Job"))))})},wK=n(50109),wV="persistSpec";function wq(e){var t=e.query,n=new URLSearchParams(t).get("definition");return n?(wK.t8(wV,n),{toml:n}):{toml:wK.U2(wV)||""}}var wZ=function(e){var t=e.onSubmit,n=e.onTOMLChange,r=wq({query:(0,h.TH)().search}),i=function(e){var t=e.replace(/[\u200B-\u200D\uFEFF]/g,"");wK.t8("".concat(wV),t),n&&n(t)};return l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"New Job"}),l.createElement(aW.Z,null,l.createElement(wW,{initialValues:r,onSubmit:t,onTOMLChange:i})))};function wX(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&void 0!==arguments[1]?arguments[1]:{},n=t.start,r=void 0===n?6:n,i=t.end,a=void 0===i?4:i;return e.substring(0,r)+"..."+e.substring(e.length-a)}function _M(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(_W,e)},_V=function(){var e=_K({fetchPolicy:"cache-and-network"}),t=e.data,n=e.loading,r=e.error,i=e.refetch;return l.createElement(_U,{loading:n,data:t,errorMsg:null==r?void 0:r.message,refetch:i})},_q=function(e){var t=e.csaKey;return l.createElement(ir.Z,{hover:!0},l.createElement(r7.default,null,l.createElement(x.default,{variant:"body1"},t.publicKey," ",l.createElement(_x,{data:t.publicKey}))))};function _Z(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function _X(){var e=_Z(["\n fragment CSAKeysPayload_ResultsFields on CSAKey {\n id\n publicKey\n }\n"]);return _X=function(){return e},e}var _J=n0(_X()),_Q=function(e){var t,n,r,i=e.data,a=e.errorMsg,o=e.loading,s=e.onCreate;return l.createElement(r5.Z,null,l.createElement(sl.Z,{action:(null===(t=null==i?void 0:i.csaKeys.results)||void 0===t?void 0:t.length)===0&&l.createElement(ok.default,{variant:"outlined",color:"primary",onClick:s},"New CSA Key"),title:"CSA Key",subheader:"Manage your CSA Key"}),l.createElement(r8.Z,null,l.createElement(ie.Z,null,l.createElement(ir.Z,null,l.createElement(r7.default,null,"Public Key"))),l.createElement(r9.Z,null,l.createElement(g$,{visible:o}),l.createElement(gz,{visible:(null===(n=null==i?void 0:i.csaKeys.results)||void 0===n?void 0:n.length)===0}),l.createElement(gU,{msg:a}),null===(r=null==i?void 0:i.csaKeys.results)||void 0===r?void 0:r.map(function(e,t){return l.createElement(_q,{csaKey:e,key:t})}))))};function _1(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(EM,e)};function EA(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(EJ,e)},E3=function(){return oo(EQ)},E4=function(){return oo(E1)},E6=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return rv(E0,e)};function E5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&void 0!==arguments[0]?arguments[0]:{};return rv(SK,e)};function Sq(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function kV(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}var kq=function(e){var t=e.run,n=l.useMemo(function(){var e=t.inputs,n=t.outputs,r=t.taskRuns,i=kK(t,["inputs","outputs","taskRuns"]),a={};try{a=JSON.parse(e)}catch(o){a={}}return kW(kz({},i),{inputs:a,outputs:n,taskRuns:r})},[t]);return l.createElement(r5.Z,null,l.createElement(aW.Z,null,l.createElement(kH,{object:n})))};function kZ(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function kX(e){for(var t=1;t0&&l.createElement(kr,{errors:t.allErrors})),l.createElement(d.Z,{item:!0,xs:12},l.createElement(h.rs,null,l.createElement(h.AW,{path:"".concat(n,"/json")},l.createElement(kq,{run:t})),l.createElement(h.AW,{path:n},t.taskRuns.length>0&&l.createElement(kN,{taskRuns:t.taskRuns,observationSource:t.job.observationSource}))))))))};function k5(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function k8(){var e=k5(["\n ","\n query FetchJobRun($id: ID!) {\n jobRun(id: $id) {\n __typename\n ... on JobRun {\n ...JobRunPayload_Fields\n }\n ... on NotFoundError {\n message\n }\n }\n }\n"]);return k8=function(){return e},e}var k9=n0(k8(),k4),k7=function(){var e=rv(k9,{variables:{id:(0,h.UO)().id}}),t=e.data,n=e.loading,r=e.error;if(n)return l.createElement(iR,null);if(r)return l.createElement(iD,{error:r});var i=null==t?void 0:t.jobRun;switch(null==i?void 0:i.__typename){case"JobRun":return l.createElement(k6,{run:i});case"NotFoundError":return l.createElement(oa,null);default:return null}};function xe(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function xt(){var e=xe(["\n fragment JobRunsPayload_ResultsFields on JobRun {\n id\n allErrors\n createdAt\n finishedAt\n status\n job {\n id\n }\n }\n"]);return xt=function(){return e},e}var xn=n0(xt()),xr=function(e){var t=e.loading,n=e.data,r=e.page,i=e.pageSize,a=(0,h.k6)(),o=l.useMemo(function(){return null==n?void 0:n.jobRuns.results.map(function(e){var t,n=e.allErrors,r=e.id,i=e.createdAt;return{id:r,createdAt:i,errors:n,finishedAt:e.finishedAt,status:e.status}})},[n]);return l.createElement(ig,null,l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:12},l.createElement(iy,null,"Job Runs")),t&&l.createElement(iR,null),n&&o&&l.createElement(d.Z,{item:!0,xs:12},l.createElement(r5.Z,null,l.createElement(yp,{runs:o}),l.createElement(it.Z,{component:"div",count:n.jobRuns.metadata.total,rowsPerPage:i,rowsPerPageOptions:[i],page:r-1,onChangePage:function(e,t){a.push("/runs?page=".concat(t+1,"&per=").concat(i))},onChangeRowsPerPage:function(){},backIconButtonProps:{"aria-label":"prev-page"},nextIconButtonProps:{"aria-label":"next-page"}})))))};function xi(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function xa(){var e=xi(["\n ","\n query FetchJobRuns($offset: Int, $limit: Int) {\n jobRuns(offset: $offset, limit: $limit) {\n results {\n ...JobRunsPayload_ResultsFields\n }\n metadata {\n total\n }\n }\n }\n"]);return xa=function(){return e},e}var xo=n0(xa(),xn),xs=function(){var e=ij(),t=parseInt(e.get("page")||"1",10),n=parseInt(e.get("per")||"25",10),r=rv(xo,{variables:{offset:(t-1)*n,limit:n},fetchPolicy:"cache-and-network"}),i=r.data,a=r.loading,o=r.error;return o?l.createElement(iD,{error:o}):l.createElement(xr,{loading:a,data:i,page:t,pageSize:n})},xu=function(){var e=(0,h.$B)().path;return l.createElement(h.rs,null,l.createElement(h.AW,{exact:!0,path:e},l.createElement(xs,null)),l.createElement(h.AW,{path:"".concat(e,"/:id")},l.createElement(k7,null)))},xc=bv().shape({name:p0().required("Required"),uri:p0().required("Required"),publicKey:p0().required("Required")}),xl=function(e){var t=e.initialValues,n=e.onSubmit;return l.createElement(hT,{initialValues:t,validationSchema:xc,onSubmit:n},function(e){var t=e.isSubmitting,n=e.submitForm;return l.createElement(hR,{"data-testid":"feeds-manager-form"},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"name",name:"name",label:"Name",required:!0,fullWidth:!0,FormHelperTextProps:{"data-testid":"name-helper-text"}})),l.createElement(d.Z,{item:!0,xs:!1,md:6}),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"uri",name:"uri",label:"URI",required:!0,fullWidth:!0,helperText:"Provided by the Feeds Manager operator",FormHelperTextProps:{"data-testid":"uri-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"publicKey",name:"publicKey",label:"Public Key",required:!0,fullWidth:!0,helperText:"Provided by the Feeds Manager operator",FormHelperTextProps:{"data-testid":"publicKey-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12},l.createElement(ok.default,{variant:"contained",color:"primary",disabled:t,onClick:n},"Submit"))))})},xf=function(e){var t=e.data,n=e.onSubmit,r={name:t.name,uri:t.uri,publicKey:t.publicKey};return l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12,md:11,lg:9},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Edit Feeds Manager"}),l.createElement(aW.Z,null,l.createElement(xl,{initialValues:r,onSubmit:n})))))};function xd(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function xh(){var e=xd(["\n query FetchFeedsManagers {\n feedsManagers {\n results {\n __typename\n id\n name\n uri\n publicKey\n isConnectionActive\n createdAt\n }\n }\n }\n"]);return xh=function(){return e},e}var xp=n0(xh()),xb=function(){return rv(xp)};function xm(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(i[n]=e[n])}return i}function xF(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}function xY(e,t){return xD(e)||xP(e,t)||xB(e,t)||xR()}function xB(e,t){if(e){if("string"==typeof e)return xI(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return xI(e,t)}}var xU=function(e){return"SN_MAIN"===e||"SN_SEPOLIA"===e},xH=bv().shape({chainID:p0().required("Required"),chainType:p0().required("Required"),accountAddr:p0().required("Required"),accountAddrPubKey:p0().nullable(),adminAddr:p0().required("Required"),ocr1Multiaddr:p0().when(["ocr1Enabled","ocr1IsBootstrap"],{is:function(e,t){return e&&t},then:p0().required("Required").nullable()}).nullable(),ocr1P2PPeerID:p0().when(["ocr1Enabled","ocr1IsBootstrap"],{is:function(e,t){return e&&!t},then:p0().required("Required").nullable()}).nullable(),ocr1KeyBundleID:p0().when(["ocr1Enabled","ocr1IsBootstrap"],{is:function(e,t){return e&&!t},then:p0().required("Required").nullable()}).nullable(),ocr2Multiaddr:p0().when(["ocr2Enabled","ocr2IsBootstrap"],{is:function(e,t){return e&&t},then:p0().required("Required").nullable()}).nullable(),ocr2P2PPeerID:p0().when(["ocr2Enabled","ocr2IsBootstrap"],{is:function(e,t){return e&&!t},then:p0().required("Required").nullable()}).nullable(),ocr2KeyBundleID:p0().when(["ocr2Enabled","ocr2IsBootstrap"],{is:function(e,t){return e&&!t},then:p0().required("Required").nullable()}).nullable(),ocr2CommitPluginEnabled:pV().required("Required"),ocr2ExecutePluginEnabled:pV().required("Required"),ocr2MedianPluginEnabled:pV().required("Required"),ocr2MercuryPluginEnabled:pV().required("Required"),ocr2ForwarderAddress:p0().nullable()}),x$=function(e){return(0,b.createStyles)({supportedJobOptionsPaper:{padding:2*e.spacing.unit}})},xz=function(e){var t=e.chainAccounts,n=xj(e,["chainAccounts"]),r=h_(),i=r.values,a=i.chainID,o=i.accountAddr,s=r.setFieldValue,u=xY(l.useState(!1),2),c=u[0],f=u[1],d=l.useRef();l.useEffect(function(){d.current=a},[a]),l.useEffect(function(){a!==d.current&&(s(n.name,""),f(!1))},[a,s,n.name]);var h=function(e){var t=e.target.value;"custom"===t?(f(!0),s(n.name,"")):(f(!1),s(n.name,t))};return l.createElement(l.Fragment,null,!xU(a)&&l.createElement(hP,xN({},n,{select:!0,value:c?"custom":o,onChange:h}),t.map(function(e){return l.createElement(tE.default,{key:e.address,value:e.address},e.address)})),xU(a)&&l.createElement(hP,{component:hX,id:"accountAddr",name:"accountAddr",label:"Enter your account address",inputProps:{"data-testid":"customAccountAddr-input"},helperText:"The account address used for this chain",required:!0,fullWidth:!0}),xU(a)&&l.createElement("div",null,l.createElement(hP,{component:hX,id:"accountAddrPubKey",name:"accountAddrPubKey",label:"Account Address Public Key",required:!0,fullWidth:!0,helperText:"The public key for your account address",FormHelperTextProps:{"data-testid":"accountAddrPubKey-helper-text"}})))},xG=(0,b.withStyles)(x$)(function(e){var t=e.classes,n=e.editing,r=void 0!==n&&n,i=e.innerRef,a=e.initialValues,o=e.onSubmit,s=e.chainIDs,u=void 0===s?[]:s,c=e.accounts,f=void 0===c?[]:c,h=e.p2pKeys,p=void 0===h?[]:h,b=e.ocrKeys,m=void 0===b?[]:b,g=e.ocr2Keys,v=void 0===g?[]:g,y=e.showSubmit,w=void 0!==y&&y;return l.createElement(hT,{innerRef:i,initialValues:a,validationSchema:xH,onSubmit:o},function(e){var n=e.values,i=f.filter(function(e){return e.chain.id==n.chainID&&!e.isDisabled});return l.createElement(hR,{"data-testid":"feeds-manager-form",id:"chain-configuration-form",noValidate:!0},l.createElement(d.Z,{container:!0,spacing:16},l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"chainType",name:"chainType",label:"Chain Type",select:!0,required:!0,fullWidth:!0,disabled:!0},l.createElement(tE.default,{key:"EVM",value:"EVM"},"EVM"))),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"chainID",name:"chainID",label:"Chain ID",required:!0,fullWidth:!0,select:!0,disabled:r,inputProps:{"data-testid":"chainID-input"},FormHelperTextProps:{"data-testid":"chainID-helper-text"}},u.map(function(e){return l.createElement(tE.default,{key:e,value:e},e)}))),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(xz,{component:hX,id:"accountAddr",name:"accountAddr",label:"Account Address",inputProps:{"data-testid":"accountAddr-input"},required:!0,fullWidth:!0,select:!0,helperText:"The account address used for this chain",chainAccounts:i,FormHelperTextProps:{"data-testid":"accountAddr-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"adminAddr",name:"adminAddr",label:"Admin Address",required:!0,fullWidth:!0,helperText:"The address used for LINK payments",FormHelperTextProps:{"data-testid":"adminAddr-helper-text"}})),l.createElement(d.Z,{item:!0,xs:12},l.createElement(x.default,null,"Supported Job Types")),l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:h2,name:"fluxMonitorEnabled",type:"checkbox",Label:{label:"Flux Monitor"}})),l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:h2,name:"ocr1Enabled",type:"checkbox",Label:{label:"OCR"}}),n.ocr1Enabled&&l.createElement(ii.default,{className:t.supportedJobOptionsPaper},l.createElement(d.Z,{container:!0,spacing:8},l.createElement(l.Fragment,null,l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:h2,name:"ocr1IsBootstrap",type:"checkbox",Label:{label:"Is this node running as a bootstrap peer?"}})),n.ocr1IsBootstrap?l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:hX,id:"ocr1Multiaddr",name:"ocr1Multiaddr",label:"Multiaddr",required:!0,fullWidth:!0,helperText:"The OCR Multiaddr which oracles use to query for network information",FormHelperTextProps:{"data-testid":"ocr1Multiaddr-helper-text"}})):l.createElement(l.Fragment,null,l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"ocr1P2PPeerID",name:"ocr1P2PPeerID",label:"Peer ID",select:!0,required:!0,fullWidth:!0,helperText:"The Peer ID used for this chain",FormHelperTextProps:{"data-testid":"ocr1P2PPeerID-helper-text"}},p.map(function(e){return l.createElement(tE.default,{key:e.peerID,value:e.peerID},e.peerID)}))),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"ocr1KeyBundleID",name:"ocr1KeyBundleID",label:"Key Bundle ID",select:!0,required:!0,fullWidth:!0,helperText:"The OCR Key Bundle ID used for this chain",FormHelperTextProps:{"data-testid":"ocr1KeyBundleID-helper-text"}},m.map(function(e){return l.createElement(tE.default,{key:e.id,value:e.id},e.id)})))))))),l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:h2,name:"ocr2Enabled",type:"checkbox",Label:{label:"OCR2"}}),n.ocr2Enabled&&l.createElement(ii.default,{className:t.supportedJobOptionsPaper},l.createElement(d.Z,{container:!0,spacing:8},l.createElement(l.Fragment,null,l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:h2,name:"ocr2IsBootstrap",type:"checkbox",Label:{label:"Is this node running as a bootstrap peer?"}})),n.ocr2IsBootstrap?l.createElement(d.Z,{item:!0,xs:12},l.createElement(hP,{component:hX,id:"ocr2Multiaddr",name:"ocr2Multiaddr",label:"Multiaddr",required:!0,fullWidth:!0,helperText:"The OCR2 Multiaddr which oracles use to query for network information",FormHelperTextProps:{"data-testid":"ocr2Multiaddr-helper-text"}})):l.createElement(l.Fragment,null,l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"ocr2P2PPeerID",name:"ocr2P2PPeerID",label:"Peer ID",select:!0,required:!0,fullWidth:!0,helperText:"The Peer ID used for this chain",FormHelperTextProps:{"data-testid":"ocr2P2PPeerID-helper-text"}},p.map(function(e){return l.createElement(tE.default,{key:e.peerID,value:e.peerID},e.peerID)}))),l.createElement(d.Z,{item:!0,xs:12,md:6},l.createElement(hP,{component:hX,id:"ocr2KeyBundleID",name:"ocr2KeyBundleID",label:"Key Bundle ID",select:!0,required:!0,fullWidth:!0,helperText:"The OCR2 Key Bundle ID used for this chain",FormHelperTextProps:{"data-testid":"ocr2KeyBundleID-helper-text"}},v.filter(function(e){return n.chainType===e.chainType}).map(function(e){return l.createElement(tE.default,{key:e.id,value:e.id},e.id)}))),l.createElement(d.Z,{item:!0,xs:12},l.createElement(x.default,null,"Supported Plugins")),l.createElement(d.Z,{item:!0,xs:6},l.createElement(hP,{component:h2,name:"ocr2CommitPluginEnabled",type:"checkbox",Label:{label:"Commit"}})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(hP,{component:h2,name:"ocr2ExecutePluginEnabled",type:"checkbox",Label:{label:"Execute"}})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(hP,{component:h2,name:"ocr2RebalancerPluginEnabled",type:"checkbox",Label:{label:"Rebalancer"}})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(hP,{component:h2,name:"ocr2MedianPluginEnabled",type:"checkbox",Label:{label:"Median"}})),l.createElement(d.Z,{item:!0,xs:6},l.createElement(hP,{component:h2,name:"ocr2MercuryPluginEnabled",type:"checkbox",Label:{label:"Mercury"}})),l.createElement(d.Z,{item:!0,xs:12,md:12},l.createElement(hP,{component:hX,id:"ocr2ForwarderAddress",name:"ocr2ForwarderAddress",label:"Forwarder Address (optional)",fullWidth:!0,helperText:"The forwarder address from the Operator Forwarder Contract",FormHelperTextProps:{"data-testid":"ocr2ForwarderAddress-helper-text"}}))))))),w&&l.createElement(d.Z,{item:!0,xs:12,md:7},l.createElement(ok.default,{variant:"contained",color:"primary",type:"submit",size:"large"},"Submit"))))})}),xW=function(e){var t=e.onClose,n=e.open,r=e.onSubmit,i=l.useRef(),a=i$({fetchPolicy:"network-only"}).data,o=_K({fetchPolicy:"cache-and-network"}).data,s=SV({fetchPolicy:"cache-and-network"}).data,u=EO({fetchPolicy:"cache-and-network"}).data,c=E2({fetchPolicy:"cache-and-network"}).data,f={chainID:"",chainType:"EVM",accountAddr:"",adminAddr:"",accountAddrPubKey:"",fluxMonitorEnabled:!1,ocr1Enabled:!1,ocr1IsBootstrap:!1,ocr1Multiaddr:"",ocr1P2PPeerID:"",ocr1KeyBundleID:"",ocr2Enabled:!1,ocr2IsBootstrap:!1,ocr2Multiaddr:"",ocr2P2PPeerID:"",ocr2KeyBundleID:"",ocr2CommitPluginEnabled:!1,ocr2ExecutePluginEnabled:!1,ocr2MedianPluginEnabled:!1,ocr2MercuryPluginEnabled:!1,ocr2RebalancerPluginEnabled:!1,ocr2ForwarderAddress:""},d=a?a.chains.results.map(function(e){return e.id}):[],h=o?o.ethKeys.results:[],p=s?s.p2pKeys.results:[],b=u?u.ocrKeyBundles.results:[],m=c?c.ocr2KeyBundles.results:[];return l.createElement(aD.Z,{onClose:t,open:n,disableBackdropClick:!0},l.createElement(oO.Z,{disableTypography:!0},l.createElement(x.default,{variant:"body2"},"New Supported Chain")),l.createElement(oT.Z,null,l.createElement(xG,{innerRef:i,initialValues:f,onSubmit:r,chainIDs:d,accounts:h,p2pKeys:p,ocrKeys:b,ocr2Keys:m})),l.createElement(ox.Z,null,l.createElement(ok.default,{onClick:t},"Cancel"),l.createElement(ok.default,{color:"primary",type:"submit",form:"chain-configuration-form",variant:"contained"},"Submit")))},xK=function(e){var t=e.cfg,n=e.onClose,r=e.open,i=e.onSubmit,a=l.useRef(),o=i$({fetchPolicy:"network-only"}).data,s=_K({fetchPolicy:"cache-and-network"}).data,u=SV({fetchPolicy:"cache-and-network"}).data,c=EO({fetchPolicy:"cache-and-network"}).data,f=E2({fetchPolicy:"cache-and-network"}).data;if(!t)return null;var d={chainID:t.chainID,chainType:"EVM",accountAddr:t.accountAddr,adminAddr:t.adminAddr,accountAddrPubKey:t.accountAddrPubKey,fluxMonitorEnabled:t.fluxMonitorJobConfig.enabled,ocr1Enabled:t.ocr1JobConfig.enabled,ocr1IsBootstrap:t.ocr1JobConfig.isBootstrap,ocr1Multiaddr:t.ocr1JobConfig.multiaddr,ocr1P2PPeerID:t.ocr1JobConfig.p2pPeerID,ocr1KeyBundleID:t.ocr1JobConfig.keyBundleID,ocr2Enabled:t.ocr2JobConfig.enabled,ocr2IsBootstrap:t.ocr2JobConfig.isBootstrap,ocr2Multiaddr:t.ocr2JobConfig.multiaddr,ocr2P2PPeerID:t.ocr2JobConfig.p2pPeerID,ocr2KeyBundleID:t.ocr2JobConfig.keyBundleID,ocr2CommitPluginEnabled:t.ocr2JobConfig.plugins.commit,ocr2ExecutePluginEnabled:t.ocr2JobConfig.plugins.execute,ocr2MedianPluginEnabled:t.ocr2JobConfig.plugins.median,ocr2MercuryPluginEnabled:t.ocr2JobConfig.plugins.mercury,ocr2RebalancerPluginEnabled:t.ocr2JobConfig.plugins.rebalancer,ocr2ForwarderAddress:t.ocr2JobConfig.forwarderAddress},h=o?o.chains.results.map(function(e){return e.id}):[],p=s?s.ethKeys.results:[],b=u?u.p2pKeys.results:[],m=c?c.ocrKeyBundles.results:[],g=f?f.ocr2KeyBundles.results:[];return l.createElement(aD.Z,{onClose:n,open:r,disableBackdropClick:!0},l.createElement(oO.Z,{disableTypography:!0},l.createElement(x.default,{variant:"body2"},"Edit Supported Chain")),l.createElement(oT.Z,null,l.createElement(xG,{innerRef:a,initialValues:d,onSubmit:i,chainIDs:h,accounts:p,p2pKeys:b,ocrKeys:m,ocr2Keys:g,editing:!0})),l.createElement(ox.Z,null,l.createElement(ok.default,{onClick:n},"Cancel"),l.createElement(ok.default,{color:"primary",type:"submit",form:"chain-configuration-form",variant:"contained"},"Submit")))};function xV(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function xq(){var e=xV(["\n fragment FeedsManager_ChainConfigFields on FeedsManagerChainConfig {\n id\n chainID\n chainType\n accountAddr\n adminAddr\n accountAddrPubKey\n fluxMonitorJobConfig {\n enabled\n }\n ocr1JobConfig {\n enabled\n isBootstrap\n multiaddr\n p2pPeerID\n keyBundleID\n }\n ocr2JobConfig {\n enabled\n isBootstrap\n multiaddr\n forwarderAddress\n p2pPeerID\n keyBundleID\n plugins {\n commit\n execute\n median\n mercury\n rebalancer\n }\n }\n }\n"]);return xq=function(){return e},e}function xZ(){var e=xV(["\n ","\n fragment FeedsManagerFields on FeedsManager {\n id\n name\n uri\n publicKey\n isConnectionActive\n chainConfigs {\n ...FeedsManager_ChainConfigFields\n }\n }\n"]);return xZ=function(){return e},e}function xX(){var e=xV(["\n fragment FeedsManager_JobProposalsFields on JobProposal {\n id\n name\n externalJobID\n remoteUUID\n status\n pendingUpdate\n latestSpec {\n createdAt\n version\n }\n }\n"]);return xX=function(){return e},e}function xJ(){var e=xV(["\n ","\n ","\n fragment FeedsManagerPayload_ResultsFields on FeedsManager {\n ...FeedsManagerFields\n jobProposals {\n ...FeedsManager_JobProposalsFields\n }\n }\n"]);return xJ=function(){return e},e}function xQ(){var e=xV(["\n ","\n query FetchFeedManagersWithProposals {\n feedsManagers {\n results {\n ...FeedsManagerPayload_ResultsFields\n }\n }\n }\n"]);return xQ=function(){return e},e}var x1=n0(xq()),x0=n0(xZ(),x1),x2=n0(xX()),x3=n0(xJ(),x0,x2),x4=n0(xQ(),x3),x6=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return rv(x4,e)};function x5(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n0?n.feedsManagers.results[0]:void 0;return n&&a?l.createElement(TZ,{manager:a}):l.createElement(h.l_,{to:{pathname:"/feeds_manager/new",state:{from:e}}})},TJ={name:"Chainlink Feeds Manager",uri:"",publicKey:""},TQ=function(e){var t=e.onSubmit;return l.createElement(d.Z,{container:!0},l.createElement(d.Z,{item:!0,xs:12,md:11,lg:9},l.createElement(r5.Z,null,l.createElement(sl.Z,{title:"Register Feeds Manager"}),l.createElement(aW.Z,null,l.createElement(xl,{initialValues:TJ,onSubmit:t})))))};function T1(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);nt.version?e:t})},[o]),g=l.useMemo(function(){return ME(o).sort(function(e,t){return t.version-e.version})},[o]),v=function(e,t,n){switch(e){case"PENDING":return l.createElement(l.Fragment,null,l.createElement(ok.default,{variant:"text",color:"secondary",onClick:function(){return b("reject",t)}},"Reject"),m.id===t&&"DELETED"!==n.status&&"REVOKED"!==n.status&&l.createElement(ok.default,{variant:"contained",color:"primary",onClick:function(){return b("approve",t)}},"Approve"),m.id===t&&"DELETED"===n.status&&n.pendingUpdate&&l.createElement(l.Fragment,null,l.createElement(ok.default,{variant:"contained",color:"primary",onClick:function(){return b("cancel",t)}},"Cancel"),l.createElement(x.default,{color:"error"},"This proposal was deleted. Cancel the spec to delete any running jobs")));case"APPROVED":return l.createElement(l.Fragment,null,l.createElement(ok.default,{variant:"contained",onClick:function(){return b("cancel",t)}},"Cancel"),"DELETED"===n.status&&n.pendingUpdate&&l.createElement(x.default,{color:"error"},"This proposal was deleted. Cancel the spec to delete any running jobs"));case"CANCELLED":if(m.id===t&&"DELETED"!==n.status&&"REVOKED"!==n.status)return l.createElement(ok.default,{variant:"contained",color:"primary",onClick:function(){return b("approve",t)}},"Approve");return null;default:return null}};return l.createElement("div",null,g.map(function(e,n){return l.createElement(mP.Z,{defaultExpanded:0===n,key:n},l.createElement(mR.Z,{expandIcon:l.createElement(gh.Z,null)},l.createElement(x.default,{className:t.versionText},"Version ",e.version),l.createElement(Es.Z,{label:e.status,color:"APPROVED"===e.status?"primary":"default",variant:"REJECTED"===e.status||"CANCELLED"===e.status?"outlined":"default"}),l.createElement("div",{className:t.proposedAtContainer},l.createElement(x.default,null,"Proposed ",l.createElement(aO,{tooltip:!0},e.createdAt)))),l.createElement(mj.Z,{className:t.expansionPanelDetails},l.createElement("div",{className:t.actions},l.createElement("div",{className:t.editContainer},0===n&&("PENDING"===e.status||"CANCELLED"===e.status)&&"DELETED"!==s.status&&"REVOKED"!==s.status&&l.createElement(ok.default,{variant:"contained",onClick:function(){return p(!0)}},"Edit")),l.createElement("div",{className:t.actionsContainer},v(e.status,e.id,s))),l.createElement(gd,{language:"toml",style:gs,"data-testid":"codeblock"},e.definition)))}),l.createElement(oC,{open:null!=c,title:c?MM[c.action].title:"",body:c?MM[c.action].body:"",onConfirm:function(){if(c){switch(c.action){case"approve":n(c.id);break;case"cancel":r(c.id);break;case"reject":i(c.id)}f(null)}},cancelButtonText:"Cancel",onCancel:function(){return f(null)}}),l.createElement(Md,{open:h,onClose:function(){return p(!1)},initialValues:{definition:m.definition,id:m.id},onSubmit:a}))});function MA(e,t){return t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}}))}function ML(){var e=MA(["\n ","\n fragment JobProposalPayloadFields on JobProposal {\n id\n externalJobID\n remoteUUID\n jobID\n specs {\n ...JobProposal_SpecsFields\n }\n status\n pendingUpdate\n }\n"]);return ML=function(){return e},e}var MC=n0(ML(),Mx),MI=function(e){var t=e.onApprove,n=e.onCancel,r=e.onReject,i=e.onUpdateSpec,a=e.proposal;return l.createElement(ig,null,l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:9},l.createElement(iy,null,"Job Proposal #",a.id))),l.createElement(Mo,{proposal:a}),l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:9},l.createElement(Tq,null,"Specs"))),l.createElement(d.Z,{container:!0,spacing:32},l.createElement(d.Z,{item:!0,xs:12},l.createElement(MO,{proposal:a,specs:a.specs,onReject:r,onApprove:t,onCancel:n,onUpdateSpec:i}))))};function MD(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]e.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);nU,tA:()=>$,KL:()=>H,Iw:()=>V,DQ:()=>W,cB:()=>T,LO:()=>M,t5:()=>k,qt:()=>x,Jc:()=>C,L7:()=>Y,EO:()=>B});var r,i,a=n(66289),o=n(41800),s=n.n(o),u=n(67932);(i=r||(r={})).IN_PROGRESS="in_progress",i.PENDING_INCOMING_CONFIRMATIONS="pending_incoming_confirmations",i.PENDING_CONNECTION="pending_connection",i.PENDING_BRIDGE="pending_bridge",i.PENDING_SLEEP="pending_sleep",i.ERRORED="errored",i.COMPLETED="completed";var c=n(87013),l=n(19084),f=n(34823);function d(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]j,v2:()=>F});var r=n(66289);function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var a="/sessions",o="/sessions",s=function e(t){var n=this;i(this,e),this.api=t,this.createSession=function(e){return n.create(e)},this.destroySession=function(){return n.destroy()},this.create=this.api.createResource(a),this.destroy=this.api.deleteResource(o)};function u(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var c="/v2/bulk_delete_runs",l=function e(t){var n=this;u(this,e),this.api=t,this.bulkDeleteJobRuns=function(e){return n.destroy(e)},this.destroy=this.api.deleteResource(c)};function f(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var d="/v2/chains/evm",h="".concat(d,"/:id"),p=function e(t){var n=this;f(this,e),this.api=t,this.getChains=function(){return n.index()},this.createChain=function(e){return n.create(e)},this.destroyChain=function(e){return n.destroy(void 0,{id:e})},this.updateChain=function(e,t){return n.update(t,{id:e})},this.index=this.api.fetchResource(d),this.create=this.api.createResource(d),this.destroy=this.api.deleteResource(h),this.update=this.api.updateResource(h)};function b(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var m="/v2/keys/evm/chain",g=function e(t){var n=this;b(this,e),this.api=t,this.chain=function(e){var t=new URLSearchParams;t.append("address",e.address),t.append("evmChainID",e.evmChainID),null!==e.nextNonce&&t.append("nextNonce",e.nextNonce),null!==e.abandon&&t.append("abandon",String(e.abandon)),null!==e.enabled&&t.append("enabled",String(e.enabled));var r=m+"?"+t.toString();return n.api.createResource(r)()}};function v(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var y="/v2/jobs",w="".concat(y,"/:specId/runs"),_=function e(t){var n=this;v(this,e),this.api=t,this.createJobRunV2=function(e,t){return n.post(t,{specId:e})},this.post=this.api.createResource(w,!0)};function E(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var S="/v2/log",k=function e(t){var n=this;E(this,e),this.api=t,this.getLogConfig=function(){return n.show()},this.updateLogConfig=function(e){return n.update(e)},this.show=this.api.fetchResource(S),this.update=this.api.updateResource(S)};function x(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var T="/v2/nodes",M=function e(t){var n=this;x(this,e),this.api=t,this.getNodes=function(){return n.index()},this.createNode=function(e){return n.create(e)},this.index=this.api.fetchResource(T),this.create=this.api.createResource(T)};function O(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var A="/v2/enroll_webauthn",L=function e(t){var n=this;O(this,e),this.api=t,this.beginKeyRegistration=function(e){return n.create(e)},this.finishKeyRegistration=function(e){return n.put(e)},this.create=this.api.fetchResource(A),this.put=this.api.createResource(A)};function C(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var I="/v2/build_info",D=function e(t){var n=this;C(this,e),this.api=t,this.show=function(){return n.api.GET(I)()}};function N(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}var P=function e(t){N(this,e),this.api=t,this.buildInfo=new D(this.api),this.bulkDeleteRuns=new l(this.api),this.chains=new p(this.api),this.logConfig=new k(this.api),this.nodes=new M(this.api),this.jobs=new _(this.api),this.webauthn=new L(this.api),this.evmKeys=new g(this.api)},R=new r.V0({base:void 0}),j=new s(R),F=new P(R)},1398(e,t,n){"use strict";n.d(t,{Z:()=>d});var r=n(67294),i=n(32316),a=n(83638),o=n(94184),s=n.n(o);function u(){return(u=Object.assign||function(e){for(var t=1;tc});var r=n(67294),i=n(32316);function a(){return(a=Object.assign||function(e){for(var t=1;tx,jK:()=>v});var r=n(67294),i=n(37703),a=n(45697),o=n.n(a),s=n(82204),u=n(71426),c=n(94184),l=n.n(c),f=n(32316),d=function(e){var t=e.palette.success||{},n=e.palette.warning||{};return{base:{paddingLeft:5*e.spacing.unit,paddingRight:5*e.spacing.unit},success:{backgroundColor:t.main,color:t.contrastText},error:{backgroundColor:e.palette.error.dark,color:e.palette.error.contrastText},warning:{backgroundColor:n.contrastText,color:n.main}}},h=function(e){var t,n=e.success,r=e.error,i=e.warning,a=e.classes,o=e.className;return n?t=a.success:r?t=a.error:i&&(t=a.warning),l()(a.base,o,t)},p=function(e){return r.createElement(s.Z,{className:h(e),square:!0},r.createElement(u.default,{variant:"body2",color:"inherit",component:"div"},e.children))};p.defaultProps={success:!1,error:!1,warning:!1},p.propTypes={success:o().bool,error:o().bool,warning:o().bool};let b=(0,f.withStyles)(d)(p);var m=function(){return r.createElement(r.Fragment,null,"Unhandled error. Please help us by opening a"," ",r.createElement("a",{href:"https://github.com/smartcontractkit/chainlink/issues/new"},"bug report"))};let g=m;function v(e){return"string"==typeof e?e:e.component?e.component(e.props):r.createElement(g,null)}function y(e,t){var n;return n="string"==typeof e?e:e.component?e.component(e.props):r.createElement(g,null),r.createElement("p",{key:t},n)}var w=function(e){var t=e.notifications;return r.createElement(b,{error:!0},t.map(y))},_=function(e){var t=e.notifications;return r.createElement(b,{success:!0},t.map(y))},E=function(e){var t=e.errors,n=e.successes;return r.createElement("div",null,(null==t?void 0:t.length)>0&&r.createElement(w,{notifications:t}),n.length>0&&r.createElement(_,{notifications:n}))},S=function(e){return{errors:e.notifications.errors,successes:e.notifications.successes}},k=(0,i.$j)(S)(E);let x=k},9409(e,t,n){"use strict";n.d(t,{ZP:()=>j});var r=n(67294),i=n(37703),a=n(5977),o=n(32316),s=n(1398),u=n(82204),c=n(30060),l=n(71426),f=n(60520),d=n(39814),h=n(57209),p=n(26842),b=n(3950),m=n(5536),g=n(45697),v=n.n(g);let y=n.p+"9f6d832ef97e8493764e.svg";function w(){return(w=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&_.map(function(e,t){return r.createElement(d.Z,{item:!0,xs:12,key:t},r.createElement(u.Z,{raised:!1,className:v.error},r.createElement(c.Z,null,r.createElement(l.default,{variant:"body1",className:v.errorText},(0,b.jK)(e)))))}),r.createElement(d.Z,{item:!0,xs:12},r.createElement(f.Z,{id:"email",label:"Email",margin:"normal",value:n,onChange:m("email"),error:_.length>0,variant:"outlined",fullWidth:!0})),r.createElement(d.Z,{item:!0,xs:12},r.createElement(f.Z,{id:"password",label:"Password",type:"password",autoComplete:"password",margin:"normal",value:h,onChange:m("password"),error:_.length>0,variant:"outlined",fullWidth:!0})),r.createElement(d.Z,{item:!0,xs:12},r.createElement(d.Z,{container:!0,spacing:0,justify:"center"},r.createElement(d.Z,{item:!0},r.createElement(s.Z,{type:"submit",variant:"primary"},"Access Account")))),y&&r.createElement(l.default,{variant:"body1",color:"textSecondary"},"Signing in...")))))))},P=function(e){return{fetching:e.authentication.fetching,authenticated:e.authentication.allowed,errors:e.notifications.errors}},R=(0,i.$j)(P,x({submitSignIn:p.L7}))(N);let j=(0,h.wU)(e)((0,o.withStyles)(D)(R))},16353(e,t,n){"use strict";n.d(t,{ZP:()=>H,rH:()=>U});var r,i=n(37703),a=n(97779),o=n(9541),s=n(19084);function u(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function c(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:h,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case s.Mk.RECEIVE_SIGNOUT_SUCCESS:case s.Mk.RECEIVE_SIGNIN_SUCCESS:var n={allowed:t.authenticated};return o.Ks(n),f(c({},e,n),{errors:[]});case s.Mk.RECEIVE_SIGNIN_FAIL:var r={allowed:!1};return o.Ks(r),f(c({},e,r),{errors:[]});case s.Mk.RECEIVE_SIGNIN_ERROR:case s.Mk.RECEIVE_SIGNOUT_ERROR:var i={allowed:!1};return o.Ks(i),f(c({},e,i),{errors:t.errors||[]});default:return e}};let b=p;function m(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function g(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:_,t=arguments.length>1?arguments[1]:void 0;return t.type?t.type.startsWith(r.REQUEST)?y(g({},e),{count:e.count+1}):t.type.startsWith(r.RECEIVE)?y(g({},e),{count:Math.max(e.count-1,0)}):t.type.startsWith(r.RESPONSE)?y(g({},e),{count:Math.max(e.count-1,0)}):t.type===s.di.REDIRECT?y(g({},e),{count:0}):e:e};let S=E;function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function x(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:O,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case s.di.MATCH_ROUTE:return M(x({},O),{currentUrl:t.pathname});case s.Ih.NOTIFY_SUCCESS:var n={component:t.component,props:t.props};return M(x({},e),{successes:[n],errors:[]});case s.Ih.NOTIFY_SUCCESS_MSG:return M(x({},e),{successes:[t.msg],errors:[]});case s.Ih.NOTIFY_ERROR:var r=t.error.errors,i=null==r?void 0:r.map(function(e){return L(t,e)});return M(x({},e),{successes:[],errors:i});case s.Ih.NOTIFY_ERROR_MSG:return M(x({},e),{successes:[],errors:[t.msg]});case s.Mk.RECEIVE_SIGNIN_FAIL:return M(x({},e),{successes:[],errors:["Your email or password is incorrect. Please try again"]});default:return e}};function L(e,t){return{component:e.component,props:{msg:t.detail}}}let C=A;function I(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function D(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:R,t=arguments.length>1?arguments[1]:void 0;switch(t.type){case s.di.REDIRECT:return P(D({},e),{to:t.to});case s.di.MATCH_ROUTE:return P(D({},e),{to:void 0});default:return e}};let F=j;var Y=n(87013),B=(0,a.UY)({authentication:b,fetching:S,notifications:C,redirect:F,buildInfo:Y.Z});B(void 0,{type:"INITIAL_STATE"});var U=i.v9;let H=B},19084(e,t,n){"use strict";var r,i,a,o,s,u,c,l,f,d;n.d(t,{Ih:()=>i,Mk:()=>a,Y0:()=>s,di:()=>r,jp:()=>o}),n(67294),(u=r||(r={})).REDIRECT="REDIRECT",u.MATCH_ROUTE="MATCH_ROUTE",(c=i||(i={})).NOTIFY_SUCCESS="NOTIFY_SUCCESS",c.NOTIFY_SUCCESS_MSG="NOTIFY_SUCCESS_MSG",c.NOTIFY_ERROR="NOTIFY_ERROR",c.NOTIFY_ERROR_MSG="NOTIFY_ERROR_MSG",(l=a||(a={})).REQUEST_SIGNIN="REQUEST_SIGNIN",l.RECEIVE_SIGNIN_SUCCESS="RECEIVE_SIGNIN_SUCCESS",l.RECEIVE_SIGNIN_FAIL="RECEIVE_SIGNIN_FAIL",l.RECEIVE_SIGNIN_ERROR="RECEIVE_SIGNIN_ERROR",l.RECEIVE_SIGNOUT_SUCCESS="RECEIVE_SIGNOUT_SUCCESS",l.RECEIVE_SIGNOUT_ERROR="RECEIVE_SIGNOUT_ERROR",(f=o||(o={})).RECEIVE_CREATE_ERROR="RECEIVE_CREATE_ERROR",f.RECEIVE_CREATE_SUCCESS="RECEIVE_CREATE_SUCCESS",f.RECEIVE_DELETE_ERROR="RECEIVE_DELETE_ERROR",f.RECEIVE_DELETE_SUCCESS="RECEIVE_DELETE_SUCCESS",f.RECEIVE_UPDATE_ERROR="RECEIVE_UPDATE_ERROR",f.RECEIVE_UPDATE_SUCCESS="RECEIVE_UPDATE_SUCCESS",f.REQUEST_CREATE="REQUEST_CREATE",f.REQUEST_DELETE="REQUEST_DELETE",f.REQUEST_UPDATE="REQUEST_UPDATE",f.UPSERT_CONFIGURATION="UPSERT_CONFIGURATION",f.UPSERT_JOB_RUN="UPSERT_JOB_RUN",f.UPSERT_JOB_RUNS="UPSERT_JOB_RUNS",f.UPSERT_TRANSACTION="UPSERT_TRANSACTION",f.UPSERT_TRANSACTIONS="UPSERT_TRANSACTIONS",f.UPSERT_BUILD_INFO="UPSERT_BUILD_INFO",(d=s||(s={})).FETCH_BUILD_INFO_REQUESTED="FETCH_BUILD_INFO_REQUESTED",d.FETCH_BUILD_INFO_SUCCEEDED="FETCH_BUILD_INFO_SUCCEEDED",d.FETCH_BUILD_INFO_FAILED="FETCH_BUILD_INFO_FAILED"},87013(e,t,n){"use strict";n.d(t,{Y:()=>o,Z:()=>u});var r=n(19084);function i(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function a(e){for(var t=1;t0&&void 0!==arguments[0]?arguments[0]:o,t=arguments.length>1?arguments[1]:void 0;return t.type===r.Y0.FETCH_BUILD_INFO_SUCCEEDED?a({},t.buildInfo):e};let u=s},34823(e,t,n){"use strict";n.d(t,{N:()=>r});var r=function(e){return e.buildInfo}},73343(e,t,n){"use strict";n.d(t,{r:()=>u});var r=n(19350),i=n(32316),a=n(59114),o=n(5324),s={props:{MuiGrid:{spacing:3*o.default.unit},MuiCardHeader:{titleTypographyProps:{color:"secondary"}}},palette:{action:{hoverOpacity:.3},primary:{light:"#E5F1FF",main:"#3c40c6",contrastText:"#fff"},secondary:{main:"#3d5170"},success:{light:"#e8faf1",main:r.ek.A700,dark:r.ek[700],contrastText:r.y0.white},warning:{light:"#FFFBF1",main:"#fff6b6",contrastText:"#fad27a"},error:{light:"#ffdada",main:"#f44336",dark:"#d32f2f",contrastText:"#fff"},background:{default:"#f5f6f8",appBar:"#3c40c6"},text:{primary:(0,a.darken)(r.BA.A700,.7),secondary:"#818ea3"},listPendingStatus:{background:"#fef7e5",color:"#fecb4c"},listCompletedStatus:{background:"#e9faf2",color:"#4ed495"}},shape:{borderRadius:o.default.unit},overrides:{MuiButton:{root:{borderRadius:o.default.unit/2,textTransform:"none"},sizeLarge:{padding:void 0,fontSize:void 0,paddingTop:o.default.unit,paddingBottom:o.default.unit,paddingLeft:5*o.default.unit,paddingRight:5*o.default.unit}},MuiTableCell:{body:{fontSize:"1rem"},head:{fontSize:"1rem",fontWeight:400}},MuiCardHeader:{root:{borderBottom:"1px solid rgba(0, 0, 0, 0.12)"},action:{marginTop:-2,marginRight:0,"& >*":{marginLeft:2*o.default.unit}},subheader:{marginTop:.5*o.default.unit}}},typography:{useNextVariants:!0,fontFamily:"-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif",button:{textTransform:"none",fontSize:"1.2em"},body1:{fontSize:"1.0rem",fontWeight:400,lineHeight:"1.46429em",color:"rgba(0, 0, 0, 0.87)",letterSpacing:-.4},body2:{fontSize:"1.0rem",fontWeight:500,lineHeight:"1.71429em",color:"rgba(0, 0, 0, 0.87)",letterSpacing:-.4},body1Next:{color:"rgb(29, 29, 29)",fontWeight:400,fontSize:"1rem",lineHeight:1.5,letterSpacing:-.4},body2Next:{color:"rgb(29, 29, 29)",fontWeight:400,fontSize:"0.875rem",lineHeight:1.5,letterSpacing:-.4},display1:{color:"#818ea3",fontSize:"2.125rem",fontWeight:400,lineHeight:"1.20588em",letterSpacing:-.4},display2:{color:"#818ea3",fontSize:"2.8125rem",fontWeight:400,lineHeight:"1.13333em",marginLeft:"-.02em",letterSpacing:-.4},display3:{color:"#818ea3",fontSize:"3.5rem",fontWeight:400,lineHeight:"1.30357em",marginLeft:"-.02em",letterSpacing:-.4},display4:{fontSize:14,fontWeightLight:300,fontWeightMedium:500,fontWeightRegular:400,letterSpacing:-.4},h1:{color:"rgb(29, 29, 29)",fontSize:"6rem",fontWeight:300,lineHeight:1},h2:{color:"rgb(29, 29, 29)",fontSize:"3.75rem",fontWeight:300,lineHeight:1},h3:{color:"rgb(29, 29, 29)",fontSize:"3rem",fontWeight:400,lineHeight:1.04},h4:{color:"rgb(29, 29, 29)",fontSize:"2.125rem",fontWeight:400,lineHeight:1.17},h5:{color:"rgb(29, 29, 29)",fontSize:"1.5rem",fontWeight:400,lineHeight:1.33,letterSpacing:-.4},h6:{fontSize:"0.8rem",fontWeight:450,lineHeight:"1.71429em",color:"rgba(0, 0, 0, 0.87)",letterSpacing:-.4},subheading:{color:"rgb(29, 29, 29)",fontSize:"1rem",fontWeight:400,lineHeight:"1.5em",letterSpacing:-.4},subtitle1:{color:"rgb(29, 29, 29)",fontSize:"1rem",fontWeight:400,lineHeight:1.75,letterSpacing:-.4},subtitle2:{color:"rgb(29, 29, 29)",fontSize:"0.875rem",fontWeight:500,lineHeight:1.57,letterSpacing:-.4}},shadows:["none","0px 1px 3px 0px rgba(0, 0, 0, 0.1),0px 1px 1px 0px rgba(0, 0, 0, 0.04),0px 2px 1px -1px rgba(0, 0, 0, 0.02)","0px 1px 5px 0px rgba(0, 0, 0, 0.1),0px 2px 2px 0px rgba(0, 0, 0, 0.04),0px 3px 1px -2px rgba(0, 0, 0, 0.02)","0px 1px 8px 0px rgba(0, 0, 0, 0.1),0px 3px 4px 0px rgba(0, 0, 0, 0.04),0px 3px 3px -2px rgba(0, 0, 0, 0.02)","0px 2px 4px -1px rgba(0, 0, 0, 0.1),0px 4px 5px 0px rgba(0, 0, 0, 0.04),0px 1px 10px 0px rgba(0, 0, 0, 0.02)","0px 3px 5px -1px rgba(0, 0, 0, 0.1),0px 5px 8px 0px rgba(0, 0, 0, 0.04),0px 1px 14px 0px rgba(0, 0, 0, 0.02)","0px 3px 5px -1px rgba(0, 0, 0, 0.1),0px 6px 10px 0px rgba(0, 0, 0, 0.04),0px 1px 18px 0px rgba(0, 0, 0, 0.02)","0px 4px 5px -2px rgba(0, 0, 0, 0.1),0px 7px 10px 1px rgba(0, 0, 0, 0.04),0px 2px 16px 1px rgba(0, 0, 0, 0.02)","0px 5px 5px -3px rgba(0, 0, 0, 0.1),0px 8px 10px 1px rgba(0, 0, 0, 0.04),0px 3px 14px 2px rgba(0, 0, 0, 0.02)","0px 5px 6px -3px rgba(0, 0, 0, 0.1),0px 9px 12px 1px rgba(0, 0, 0, 0.04),0px 3px 16px 2px rgba(0, 0, 0, 0.02)","0px 6px 6px -3px rgba(0, 0, 0, 0.1),0px 10px 14px 1px rgba(0, 0, 0, 0.04),0px 4px 18px 3px rgba(0, 0, 0, 0.02)","0px 6px 7px -4px rgba(0, 0, 0, 0.1),0px 11px 15px 1px rgba(0, 0, 0, 0.04),0px 4px 20px 3px rgba(0, 0, 0, 0.02)","0px 7px 8px -4px rgba(0, 0, 0, 0.1),0px 12px 17px 2px rgba(0, 0, 0, 0.04),0px 5px 22px 4px rgba(0, 0, 0, 0.02)","0px 7px 8px -4px rgba(0, 0, 0, 0.1),0px 13px 19px 2px rgba(0, 0, 0, 0.04),0px 5px 24px 4px rgba(0, 0, 0, 0.02)","0px 7px 9px -4px rgba(0, 0, 0, 0.1),0px 14px 21px 2px rgba(0, 0, 0, 0.04),0px 5px 26px 4px rgba(0, 0, 0, 0.02)","0px 8px 9px -5px rgba(0, 0, 0, 0.1),0px 15px 22px 2px rgba(0, 0, 0, 0.04),0px 6px 28px 5px rgba(0, 0, 0, 0.02)","0px 8px 10px -5px rgba(0, 0, 0, 0.1),0px 16px 24px 2px rgba(0, 0, 0, 0.04),0px 6px 30px 5px rgba(0, 0, 0, 0.02)","0px 8px 11px -5px rgba(0, 0, 0, 0.1),0px 17px 26px 2px rgba(0, 0, 0, 0.04),0px 6px 32px 5px rgba(0, 0, 0, 0.02)","0px 9px 11px -5px rgba(0, 0, 0, 0.1),0px 18px 28px 2px rgba(0, 0, 0, 0.04),0px 7px 34px 6px rgba(0, 0, 0, 0.02)","0px 9px 12px -6px rgba(0, 0, 0, 0.1),0px 19px 29px 2px rgba(0, 0, 0, 0.04),0px 7px 36px 6px rgba(0, 0, 0, 0.02)","0px 10px 13px -6px rgba(0, 0, 0, 0.1),0px 20px 31px 3px rgba(0, 0, 0, 0.04),0px 8px 38px 7px rgba(0, 0, 0, 0.02)","0px 10px 13px -6px rgba(0, 0, 0, 0.1),0px 21px 33px 3px rgba(0, 0, 0, 0.04),0px 8px 40px 7px rgba(0, 0, 0, 0.02)","0px 10px 14px -6px rgba(0, 0, 0, 0.1),0px 22px 35px 3px rgba(0, 0, 0, 0.04),0px 8px 42px 7px rgba(0, 0, 0, 0.02)","0px 11px 14px -7px rgba(0, 0, 0, 0.1),0px 23px 36px 3px rgba(0, 0, 0, 0.04),0px 9px 44px 8px rgba(0, 0, 0, 0.02)","0px 11px 15px -7px rgba(0, 0, 0, 0.1),0px 24px 38px 3px rgba(0, 0, 0, 0.04),0px 9px 46px 8px rgba(0, 0, 0, 0.02)",]},u=(0,i.createMuiTheme)(s)},66289(e,t,n){"use strict";function r(e){if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function i(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function a(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Date.prototype.toString.call(Reflect.construct(Date,[],function(){})),!0}catch(e){return!1}}function o(e,t,n){return(o=a()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var i=new(Function.bind.apply(e,r));return n&&f(i,n.prototype),i}).apply(null,arguments)}function s(e){return(s=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function u(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),t&&f(e,t)}function c(e){return -1!==Function.toString.call(e).indexOf("[native code]")}function l(e,t){return t&&("object"===p(t)||"function"==typeof t)?t:r(e)}function f(e,t){return(f=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}n.d(t,{V0:()=>B,_7:()=>v});var d,h,p=function(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e};function b(e){var t="function"==typeof Map?new Map:void 0;return(b=function(e){if(null===e||!c(e))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==t){if(t.has(e))return t.get(e);t.set(e,n)}function n(){return o(e,arguments,s(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),f(n,e)})(e)}function m(){if("undefined"==typeof Reflect||!Reflect.construct||Reflect.construct.sham)return!1;if("function"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch(e){return!1}}function g(e){var t=m();return function(){var n,r=s(e);if(t){var i=s(this).constructor;n=Reflect.construct(r,arguments,i)}else n=r.apply(this,arguments);return l(this,n)}}var v=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"AuthenticationError(".concat(e.statusText,")"))).errors=[{status:e.status,detail:e},],r}return n}(b(Error)),y=function(e){u(n,e);var t=g(n);function n(e){var r,a=e.errors;return i(this,n),(r=t.call(this,"BadRequestError")).errors=a,r}return n}(b(Error)),w=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"UnprocessableEntityError")).errors=e,r}return n}(b(Error)),_=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"ServerError")).errors=e,r}return n}(b(Error)),E=function(e){u(n,e);var t=g(n);function n(e){var r,a=e.errors;return i(this,n),(r=t.call(this,"ConflictError")).errors=a,r}return n}(b(Error)),S=function(e){u(n,e);var t=g(n);function n(e){var r;return i(this,n),(r=t.call(this,"UnknownResponseError(".concat(e.statusText,")"))).errors=[{status:e.status,detail:e.statusText},],r}return n}(b(Error));function k(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:2e4;return Promise.race([fetch(e,t),new Promise(function(e,t){return setTimeout(function(){return t(Error("timeout"))},n)}),])}function x(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]=200&&e.status<300))return[3,2];return[2,e.json()];case 2:if(400!==e.status)return[3,3];return[2,e.json().then(function(e){throw new y(e)})];case 3:if(401!==e.status)return[3,4];throw new v(e);case 4:if(422!==e.status)return[3,6];return[4,$(e)];case 5:throw n=i.sent(),new w(n);case 6:if(409!==e.status)return[3,7];return[2,e.json().then(function(e){throw new E(e)})];case 7:if(!(e.status>=500))return[3,9];return[4,$(e)];case 8:throw r=i.sent(),new _(r);case 9:throw new S(e);case 10:return[2]}})})).apply(this,arguments)}function $(e){return z.apply(this,arguments)}function z(){return(z=j(function(e){return Y(this,function(t){return[2,e.json().then(function(t){return t.errors?t.errors.map(function(t){return{status:e.status,detail:t.detail}}):G(e)}).catch(function(){return G(e)})]})})).apply(this,arguments)}function G(e){return[{status:e.status,detail:e.statusText},]}},50109(e,t,n){"use strict";n.d(t,{LK:()=>o,U2:()=>i,eT:()=>s,t8:()=>a});var r=n(12795);function i(e){return r.ZP.getItem("chainlink.".concat(e))}function a(e,t){r.ZP.setItem("chainlink.".concat(e),t)}function o(e){var t=i(e),n={};if(t)try{return JSON.parse(t)}catch(r){}return n}function s(e,t){a(e,JSON.stringify(t))}},9541(e,t,n){"use strict";n.d(t,{Ks:()=>u,Tp:()=>a,iR:()=>o,pm:()=>s});var r=n(50109),i="persistURL";function a(){return r.U2(i)||""}function o(e){r.t8(i,e)}function s(){return r.LK("authentication")}function u(e){r.eT("authentication",e)}},67121(e,t,n){"use strict";function r(e){var t,n=e.Symbol;return"function"==typeof n?n.observable?t=n.observable:(t=n("observable"),n.observable=t):t="@@observable",t}n.r(t),n.d(t,{default:()=>o}),e=n.hmd(e),i="undefined"!=typeof self?self:"undefined"!=typeof window?window:void 0!==n.g?n.g:e;var i,a=r(i);let o=a},2177(e,t,n){"use strict";n.d(t,{Z:()=>o});var r=!0,i="Invariant failed";function a(e,t){if(!e){if(r)throw Error(i);throw Error(i+": "+(t||""))}}let o=a},11742(e){e.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,n=[],r=0;ru,ZT:()=>i,_T:()=>o,ev:()=>c,mG:()=>s,pi:()=>a});var r=function(e,t){return(r=Object.setPrototypeOf||({__proto__:[]})instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])})(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw TypeError("Class extends value "+String(t)+" is not a constructor or null");function n(){this.constructor=e}r(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}var a=function(){return(a=Object.assign||function(e){for(var t,n=1,r=arguments.length;nt.indexOf(r)&&(n[r]=e[r]);if(null!=e&&"function"==typeof Object.getOwnPropertySymbols)for(var i=0,r=Object.getOwnPropertySymbols(e);it.indexOf(r[i])&&Object.prototype.propertyIsEnumerable.call(e,r[i])&&(n[r[i]]=e[r[i]]);return n}function s(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||(n=Promise))(function(n,a){function o(e){try{u(r.next(e))}catch(t){a(t)}}function s(e){try{u(r.throw(e))}catch(t){a(t)}}function u(e){e.done?n(e.value):i(e.value).then(o,s)}u((r=r.apply(e,t||[])).next())})}function u(e,t){var n,r,i,a,o={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(e){return function(t){return u([e,t])}}function u(a){if(n)throw TypeError("Generator is already executing.");for(;o;)try{if(n=1,r&&(i=2&a[0]?r.return:a[0]?r.throw||((i=r.return)&&i.call(r),0):r.next)&&!(i=i.call(r,a[1])).done)return i;switch(r=0,i&&(a=[2&a[0],i.value]),a[0]){case 0:case 1:i=a;break;case 4:return o.label++,{value:a[1],done:!1};case 5:o.label++,r=a[1],a=[0];continue;case 7:a=o.ops.pop(),o.trys.pop();continue;default:if(!(i=(i=o.trys).length>0&&i[i.length-1])&&(6===a[0]||2===a[0])){o=0;continue}if(3===a[0]&&(!i||a[1]>i[0]&&a[1]r})},94927(e,t,n){function r(e,t){if(i("noDeprecation"))return e;var n=!1;function r(){if(!n){if(i("throwDeprecation"))throw Error(t);i("traceDeprecation")?console.trace(t):console.warn(t),n=!0}return e.apply(this,arguments)}return r}function i(e){try{if(!n.g.localStorage)return!1}catch(t){return!1}var r=n.g.localStorage[e];return null!=r&&"true"===String(r).toLowerCase()}e.exports=r},42473(e){"use strict";var t=function(){};e.exports=t},84763(e){e.exports=Worker},47529(e){e.exports=n;var t=Object.prototype.hasOwnProperty;function n(){for(var e={},n=0;ne.length)&&(t=e.length);for(var n=0,r=Array(t);n=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(a[n]=e[n])}return a}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},7071(e){function t(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},94993(e,t,n){var r=n(18698).default,i=n(66115);function a(e,t){if(t&&("object"===r(t)||"function"==typeof t))return t;if(void 0!==t)throw TypeError("Derived constructors may only return object or undefined");return i(e)}e.exports=a,e.exports.__esModule=!0,e.exports.default=e.exports},6015(e){function t(n,r){return e.exports=t=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n,r)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},861(e,t,n){var r=n(63405),i=n(79498),a=n(86116),o=n(42281);function s(e){return r(e)||i(e)||a(e)||o()}e.exports=s,e.exports.__esModule=!0,e.exports.default=e.exports},18698(e){function t(n){return e.exports=t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,t(n)}e.exports=t,e.exports.__esModule=!0,e.exports.default=e.exports},86116(e,t,n){var r=n(73897);function i(e,t){if(e){if("string"==typeof e)return r(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return r(e,t)}}e.exports=i,e.exports.__esModule=!0,e.exports.default=e.exports},1644(e,t,n){"use strict";var r,i;function a(e){return!!e&&e<7}n.d(t,{I:()=>r,O:()=>a}),(i=r||(r={}))[i.loading=1]="loading",i[i.setVariables=2]="setVariables",i[i.fetchMore=3]="fetchMore",i[i.refetch=4]="refetch",i[i.poll=6]="poll",i[i.ready=7]="ready",i[i.error=8]="error"},30990(e,t,n){"use strict";n.d(t,{MS:()=>s,YG:()=>a,cA:()=>c,ls:()=>o});var r=n(70655);n(83952);var i=n(13154),a=Symbol();function o(e){return!!e.extensions&&Array.isArray(e.extensions[a])}function s(e){return e.hasOwnProperty("graphQLErrors")}var u=function(e){var t=(0,r.ev)((0,r.ev)((0,r.ev)([],e.graphQLErrors,!0),e.clientErrors,!0),e.protocolErrors,!0);return e.networkError&&t.push(e.networkError),t.map(function(e){return(0,i.s)(e)&&e.message||"Error message not found."}).join("\n")},c=function(e){function t(n){var r=n.graphQLErrors,i=n.protocolErrors,a=n.clientErrors,o=n.networkError,s=n.errorMessage,c=n.extraInfo,l=e.call(this,s)||this;return l.name="ApolloError",l.graphQLErrors=r||[],l.protocolErrors=i||[],l.clientErrors=a||[],l.networkError=o||null,l.message=s||u(l),l.extraInfo=c,l.__proto__=t.prototype,l}return(0,r.ZT)(t,e),t}(Error)},85317(e,t,n){"use strict";n.d(t,{K:()=>a});var r=n(67294),i=n(30320).aS?Symbol.for("__APOLLO_CONTEXT__"):"__APOLLO_CONTEXT__";function a(){var e=r.createContext[i];return e||(Object.defineProperty(r.createContext,i,{value:e=r.createContext({}),enumerable:!1,writable:!1,configurable:!0}),e.displayName="ApolloContext"),e}},21436(e,t,n){"use strict";n.d(t,{O:()=>i,k:()=>r});var r=Array.isArray;function i(e){return Array.isArray(e)&&e.length>0}},30320(e,t,n){"use strict";n.d(t,{DN:()=>s,JC:()=>l,aS:()=>o,mr:()=>i,sy:()=>a});var r=n(83952),i="function"==typeof WeakMap&&"ReactNative"!==(0,r.wY)(function(){return navigator.product}),a="function"==typeof WeakSet,o="function"==typeof Symbol&&"function"==typeof Symbol.for,s=o&&Symbol.asyncIterator,u="function"==typeof(0,r.wY)(function(){return window.document.createElement}),c=(0,r.wY)(function(){return navigator.userAgent.indexOf("jsdom")>=0})||!1,l=u&&!c},53712(e,t,n){"use strict";function r(){for(var e=[],t=0;tr})},10542(e,t,n){"use strict";n.d(t,{J:()=>o}),n(83952);var r=n(13154);function i(e){var t=new Set([e]);return t.forEach(function(e){(0,r.s)(e)&&a(e)===e&&Object.getOwnPropertyNames(e).forEach(function(n){(0,r.s)(e[n])&&t.add(e[n])})}),e}function a(e){if(__DEV__&&!Object.isFrozen(e))try{Object.freeze(e)}catch(t){if(t instanceof TypeError)return null;throw t}return e}function o(e){return __DEV__&&i(e),e}},14012(e,t,n){"use strict";n.d(t,{J:()=>a});var r=n(70655),i=n(53712);function a(e,t){return(0,i.o)(e,t,t.variables&&{variables:(0,r.pi)((0,r.pi)({},e&&e.variables),t.variables)})}},13154(e,t,n){"use strict";function r(e){return null!==e&&"object"==typeof e}n.d(t,{s:()=>r})},83952(e,t,n){"use strict";n.d(t,{ej:()=>u,kG:()=>c,wY:()=>h});var r,i=n(70655),a="Invariant Violation",o=Object.setPrototypeOf,s=void 0===o?function(e,t){return e.__proto__=t,e}:o,u=function(e){function t(n){void 0===n&&(n=a);var r=e.call(this,"number"==typeof n?a+": "+n+" (see https://github.com/apollographql/invariant-packages)":n)||this;return r.framesToPop=1,r.name=a,s(r,t.prototype),r}return(0,i.ZT)(t,e),t}(Error);function c(e,t){if(!e)throw new u(t)}var l=["debug","log","warn","error","silent"],f=l.indexOf("log");function d(e){return function(){if(l.indexOf(e)>=f)return(console[e]||console.log).apply(console,arguments)}}function h(e){try{return e()}catch(t){}}(r=c||(c={})).debug=d("debug"),r.log=d("log"),r.warn=d("warn"),r.error=d("error");let p=h(function(){return globalThis})||h(function(){return window})||h(function(){return self})||h(function(){return global})||h(function(){return h.constructor("return this")()});var b="__",m=[b,b].join("DEV");function g(){try{return Boolean(__DEV__)}catch(e){return Object.defineProperty(p,m,{value:"production"!==h(function(){return"production"}),enumerable:!1,configurable:!0,writable:!0}),p[m]}}let v=g();function y(e){try{return e()}catch(t){}}var w=y(function(){return globalThis})||y(function(){return window})||y(function(){return self})||y(function(){return global})||y(function(){return y.constructor("return this")()}),_=!1;function E(){!w||y(function(){return"production"})||y(function(){return process})||(Object.defineProperty(w,"process",{value:{env:{NODE_ENV:"production"}},configurable:!0,enumerable:!1,writable:!0}),_=!0)}function S(){_&&(delete w.process,_=!1)}E();var k=n(10143);function x(){return k.H,S()}function T(){__DEV__?c("boolean"==typeof v,v):c("boolean"==typeof v,39)}x(),T()},4942(e,t,n){"use strict";function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}n.d(t,{Z:()=>r})},87462(e,t,n){"use strict";function r(){return(r=Object.assign?Object.assign.bind():function(e){for(var t=1;tr})},51721(e,t,n){"use strict";function r(e,t){return(r=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function i(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,r(e,t)}n.d(t,{Z:()=>i})},63366(e,t,n){"use strict";function r(e,t){if(null==e)return{};var n,r,i={},a=Object.keys(e);for(r=0;r=0||(i[n]=e[n]);return i}n.d(t,{Z:()=>r})},25821(e,t,n){"use strict";n.d(t,{Z:()=>s});var r=n(45695);function i(e){return(i="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var a=10,o=2;function s(e){return u(e,[])}function u(e,t){switch(i(e)){case"string":return JSON.stringify(e);case"function":return e.name?"[function ".concat(e.name,"]"):"[function]";case"object":if(null===e)return"null";return c(e,t);default:return String(e)}}function c(e,t){if(-1!==t.indexOf(e))return"[Circular]";var n=[].concat(t,[e]),r=d(e);if(void 0!==r){var i=r.call(e);if(i!==e)return"string"==typeof i?i:u(i,n)}else if(Array.isArray(e))return f(e,n);return l(e,n)}function l(e,t){var n=Object.keys(e);return 0===n.length?"{}":t.length>o?"["+h(e)+"]":"{ "+n.map(function(n){var r=u(e[n],t);return n+": "+r}).join(", ")+" }"}function f(e,t){if(0===e.length)return"[]";if(t.length>o)return"[Array]";for(var n=Math.min(a,e.length),r=e.length-n,i=[],s=0;s1&&i.push("... ".concat(r," more items")),"["+i.join(", ")+"]"}function d(e){var t=e[String(r.Z)];return"function"==typeof t?t:"function"==typeof e.inspect?e.inspect:void 0}function h(e){var t=Object.prototype.toString.call(e).replace(/^\[object /,"").replace(/]$/,"");if("Object"===t&&"function"==typeof e.constructor){var n=e.constructor.name;if("string"==typeof n&&""!==n)return n}return t}},45695(e,t,n){"use strict";n.d(t,{Z:()=>i});var r="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):void 0;let i=r},25217(e,t,n){"use strict";function r(e,t){if(!Boolean(e))throw Error(null!=t?t:"Unexpected invariant triggered.")}n.d(t,{Ye:()=>o,WU:()=>s,UG:()=>u});var i=n(45695);function a(e){var t=e.prototype.toJSON;"function"==typeof t||r(0),e.prototype.inspect=t,i.Z&&(e.prototype[i.Z]=t)}var o=function(){function e(e,t,n){this.start=e.start,this.end=t.end,this.startToken=e,this.endToken=t,this.source=n}return e.prototype.toJSON=function(){return{start:this.start,end:this.end}},e}();a(o);var s=function(){function e(e,t,n,r,i,a,o){this.kind=e,this.start=t,this.end=n,this.line=r,this.column=i,this.value=o,this.prev=a,this.next=null}return e.prototype.toJSON=function(){return{kind:this.kind,value:this.value,line:this.line,column:this.column}},e}();function u(e){return null!=e&&"string"==typeof e.kind}a(s)},87392(e,t,n){"use strict";function r(e){var t=e.split(/\r\n|[\n\r]/g),n=a(e);if(0!==n)for(var r=1;ro&&i(t[s-1]);)--s;return t.slice(o,s).join("\n")}function i(e){for(var t=0;t1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=-1===e.indexOf("\n"),i=" "===e[0]||" "===e[0],a='"'===e[e.length-1],o="\\"===e[e.length-1],s=!r||a||o||n,u="";return s&&!(r&&i)&&(u+="\n"+t),u+=t?e.replace(/\n/g,"\n"+t):e,s&&(u+="\n"),'"""'+u.replace(/"""/g,'\\"""')+'"""'}n.d(t,{LZ:()=>o,W7:()=>r})},97359(e,t,n){"use strict";n.d(t,{h:()=>r});var r=Object.freeze({NAME:"Name",DOCUMENT:"Document",OPERATION_DEFINITION:"OperationDefinition",VARIABLE_DEFINITION:"VariableDefinition",SELECTION_SET:"SelectionSet",FIELD:"Field",ARGUMENT:"Argument",FRAGMENT_SPREAD:"FragmentSpread",INLINE_FRAGMENT:"InlineFragment",FRAGMENT_DEFINITION:"FragmentDefinition",VARIABLE:"Variable",INT:"IntValue",FLOAT:"FloatValue",STRING:"StringValue",BOOLEAN:"BooleanValue",NULL:"NullValue",ENUM:"EnumValue",LIST:"ListValue",OBJECT:"ObjectValue",OBJECT_FIELD:"ObjectField",DIRECTIVE:"Directive",NAMED_TYPE:"NamedType",LIST_TYPE:"ListType",NON_NULL_TYPE:"NonNullType",SCHEMA_DEFINITION:"SchemaDefinition",OPERATION_TYPE_DEFINITION:"OperationTypeDefinition",SCALAR_TYPE_DEFINITION:"ScalarTypeDefinition",OBJECT_TYPE_DEFINITION:"ObjectTypeDefinition",FIELD_DEFINITION:"FieldDefinition",INPUT_VALUE_DEFINITION:"InputValueDefinition",INTERFACE_TYPE_DEFINITION:"InterfaceTypeDefinition",UNION_TYPE_DEFINITION:"UnionTypeDefinition",ENUM_TYPE_DEFINITION:"EnumTypeDefinition",ENUM_VALUE_DEFINITION:"EnumValueDefinition",INPUT_OBJECT_TYPE_DEFINITION:"InputObjectTypeDefinition",DIRECTIVE_DEFINITION:"DirectiveDefinition",SCHEMA_EXTENSION:"SchemaExtension",SCALAR_TYPE_EXTENSION:"ScalarTypeExtension",OBJECT_TYPE_EXTENSION:"ObjectTypeExtension",INTERFACE_TYPE_EXTENSION:"InterfaceTypeExtension",UNION_TYPE_EXTENSION:"UnionTypeExtension",ENUM_TYPE_EXTENSION:"EnumTypeExtension",INPUT_OBJECT_TYPE_EXTENSION:"InputObjectTypeExtension"})},10143(e,t,n){"use strict";n.d(t,{H:()=>c,T:()=>l});var r=n(99763),i=n(25821);function a(e,t){if(!Boolean(e))throw Error(t)}let o=function(e,t){return e instanceof t};function s(e,t){for(var n=0;n1&&void 0!==arguments[1]?arguments[1]:"GraphQL request",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{line:1,column:1};"string"==typeof e||a(0,"Body must be a string. Received: ".concat((0,i.Z)(e),".")),this.body=e,this.name=t,this.locationOffset=n,this.locationOffset.line>0||a(0,"line in locationOffset is 1-indexed and must be positive."),this.locationOffset.column>0||a(0,"column in locationOffset is 1-indexed and must be positive.")}return u(e,[{key:r.YF,get:function(){return"Source"}}]),e}();function l(e){return o(e,c)}},99763(e,t,n){"use strict";n.d(t,{YF:()=>r});var r="function"==typeof Symbol&&null!=Symbol.toStringTag?Symbol.toStringTag:"@@toStringTag"},37452(e){"use strict";e.exports=JSON.parse('{"AElig":"\xc6","AMP":"&","Aacute":"\xc1","Acirc":"\xc2","Agrave":"\xc0","Aring":"\xc5","Atilde":"\xc3","Auml":"\xc4","COPY":"\xa9","Ccedil":"\xc7","ETH":"\xd0","Eacute":"\xc9","Ecirc":"\xca","Egrave":"\xc8","Euml":"\xcb","GT":">","Iacute":"\xcd","Icirc":"\xce","Igrave":"\xcc","Iuml":"\xcf","LT":"<","Ntilde":"\xd1","Oacute":"\xd3","Ocirc":"\xd4","Ograve":"\xd2","Oslash":"\xd8","Otilde":"\xd5","Ouml":"\xd6","QUOT":"\\"","REG":"\xae","THORN":"\xde","Uacute":"\xda","Ucirc":"\xdb","Ugrave":"\xd9","Uuml":"\xdc","Yacute":"\xdd","aacute":"\xe1","acirc":"\xe2","acute":"\xb4","aelig":"\xe6","agrave":"\xe0","amp":"&","aring":"\xe5","atilde":"\xe3","auml":"\xe4","brvbar":"\xa6","ccedil":"\xe7","cedil":"\xb8","cent":"\xa2","copy":"\xa9","curren":"\xa4","deg":"\xb0","divide":"\xf7","eacute":"\xe9","ecirc":"\xea","egrave":"\xe8","eth":"\xf0","euml":"\xeb","frac12":"\xbd","frac14":"\xbc","frac34":"\xbe","gt":">","iacute":"\xed","icirc":"\xee","iexcl":"\xa1","igrave":"\xec","iquest":"\xbf","iuml":"\xef","laquo":"\xab","lt":"<","macr":"\xaf","micro":"\xb5","middot":"\xb7","nbsp":"\xa0","not":"\xac","ntilde":"\xf1","oacute":"\xf3","ocirc":"\xf4","ograve":"\xf2","ordf":"\xaa","ordm":"\xba","oslash":"\xf8","otilde":"\xf5","ouml":"\xf6","para":"\xb6","plusmn":"\xb1","pound":"\xa3","quot":"\\"","raquo":"\xbb","reg":"\xae","sect":"\xa7","shy":"\xad","sup1":"\xb9","sup2":"\xb2","sup3":"\xb3","szlig":"\xdf","thorn":"\xfe","times":"\xd7","uacute":"\xfa","ucirc":"\xfb","ugrave":"\xf9","uml":"\xa8","uuml":"\xfc","yacute":"\xfd","yen":"\xa5","yuml":"\xff"}')},93580(e){"use strict";e.exports=JSON.parse('{"0":"�","128":"€","130":"‚","131":"ƒ","132":"„","133":"…","134":"†","135":"‡","136":"ˆ","137":"‰","138":"Š","139":"‹","140":"Œ","142":"Ž","145":"‘","146":"’","147":"“","148":"”","149":"•","150":"–","151":"—","152":"˜","153":"™","154":"š","155":"›","156":"œ","158":"ž","159":"Ÿ"}')},67946(e){"use strict";e.exports=JSON.parse('{"locale":"en","long":{"year":{"previous":"last year","current":"this year","next":"next year","past":{"one":"{0} year ago","other":"{0} years ago"},"future":{"one":"in {0} year","other":"in {0} years"}},"quarter":{"previous":"last quarter","current":"this quarter","next":"next quarter","past":{"one":"{0} quarter ago","other":"{0} quarters ago"},"future":{"one":"in {0} quarter","other":"in {0} quarters"}},"month":{"previous":"last month","current":"this month","next":"next month","past":{"one":"{0} month ago","other":"{0} months ago"},"future":{"one":"in {0} month","other":"in {0} months"}},"week":{"previous":"last week","current":"this week","next":"next week","past":{"one":"{0} week ago","other":"{0} weeks ago"},"future":{"one":"in {0} week","other":"in {0} weeks"}},"day":{"previous":"yesterday","current":"today","next":"tomorrow","past":{"one":"{0} day ago","other":"{0} days ago"},"future":{"one":"in {0} day","other":"in {0} days"}},"hour":{"current":"this hour","past":{"one":"{0} hour ago","other":"{0} hours ago"},"future":{"one":"in {0} hour","other":"in {0} hours"}},"minute":{"current":"this minute","past":{"one":"{0} minute ago","other":"{0} minutes ago"},"future":{"one":"in {0} minute","other":"in {0} minutes"}},"second":{"current":"now","past":{"one":"{0} second ago","other":"{0} seconds ago"},"future":{"one":"in {0} second","other":"in {0} seconds"}}},"short":{"year":{"previous":"last yr.","current":"this yr.","next":"next yr.","past":"{0} yr. ago","future":"in {0} yr."},"quarter":{"previous":"last qtr.","current":"this qtr.","next":"next qtr.","past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"future":{"one":"in {0} qtr.","other":"in {0} qtrs."}},"month":{"previous":"last mo.","current":"this mo.","next":"next mo.","past":"{0} mo. ago","future":"in {0} mo."},"week":{"previous":"last wk.","current":"this wk.","next":"next wk.","past":"{0} wk. ago","future":"in {0} wk."},"day":{"previous":"yesterday","current":"today","next":"tomorrow","past":{"one":"{0} day ago","other":"{0} days ago"},"future":{"one":"in {0} day","other":"in {0} days"}},"hour":{"current":"this hour","past":"{0} hr. ago","future":"in {0} hr."},"minute":{"current":"this minute","past":"{0} min. ago","future":"in {0} min."},"second":{"current":"now","past":"{0} sec. ago","future":"in {0} sec."}},"narrow":{"year":{"previous":"last yr.","current":"this yr.","next":"next yr.","past":"{0} yr. ago","future":"in {0} yr."},"quarter":{"previous":"last qtr.","current":"this qtr.","next":"next qtr.","past":{"one":"{0} qtr. ago","other":"{0} qtrs. ago"},"future":{"one":"in {0} qtr.","other":"in {0} qtrs."}},"month":{"previous":"last mo.","current":"this mo.","next":"next mo.","past":"{0} mo. ago","future":"in {0} mo."},"week":{"previous":"last wk.","current":"this wk.","next":"next wk.","past":"{0} wk. ago","future":"in {0} wk."},"day":{"previous":"yesterday","current":"today","next":"tomorrow","past":{"one":"{0} day ago","other":"{0} days ago"},"future":{"one":"in {0} day","other":"in {0} days"}},"hour":{"current":"this hour","past":"{0} hr. ago","future":"in {0} hr."},"minute":{"current":"this minute","past":"{0} min. ago","future":"in {0} min."},"second":{"current":"now","past":"{0} sec. ago","future":"in {0} sec."}},"now":{"now":{"current":"now","future":"in a moment","past":"just now"}},"mini":{"year":"{0}yr","month":"{0}mo","week":"{0}wk","day":"{0}d","hour":"{0}h","minute":"{0}m","second":"{0}s","now":"now"},"short-time":{"year":"{0} yr.","month":"{0} mo.","week":"{0} wk.","day":{"one":"{0} day","other":"{0} days"},"hour":"{0} hr.","minute":"{0} min.","second":"{0} sec."},"long-time":{"year":{"one":"{0} year","other":"{0} years"},"month":{"one":"{0} month","other":"{0} months"},"week":{"one":"{0} week","other":"{0} weeks"},"day":{"one":"{0} day","other":"{0} days"},"hour":{"one":"{0} hour","other":"{0} hours"},"minute":{"one":"{0} minute","other":"{0} minutes"},"second":{"one":"{0} second","other":"{0} seconds"}}}')}},__webpack_module_cache__={};function __webpack_require__(e){var t=__webpack_module_cache__[e];if(void 0!==t)return t.exports;var n=__webpack_module_cache__[e]={id:e,loaded:!1,exports:{}};return __webpack_modules__[e].call(n.exports,n,n.exports,__webpack_require__),n.loaded=!0,n.exports}__webpack_require__.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return __webpack_require__.d(t,{a:t}),t},(()=>{var e,t=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__;__webpack_require__.t=function(n,r){if(1&r&&(n=this(n)),8&r||"object"==typeof n&&n&&(4&r&&n.__esModule||16&r&&"function"==typeof n.then))return n;var i=Object.create(null);__webpack_require__.r(i);var a={};e=e||[null,t({}),t([]),t(t)];for(var o=2&r&&n;"object"==typeof o&&!~e.indexOf(o);o=t(o))Object.getOwnPropertyNames(o).forEach(e=>a[e]=()=>n[e]);return a.default=()=>n,__webpack_require__.d(i,a),i}})(),__webpack_require__.d=(e,t)=>{for(var n in t)__webpack_require__.o(t,n)&&!__webpack_require__.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},__webpack_require__.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),__webpack_require__.hmd=e=>((e=Object.create(e)).children||(e.children=[]),Object.defineProperty(e,"exports",{enumerable:!0,set(){throw Error("ES Modules may not assign module.exports or exports.*, Use ESM export syntax, instead: "+e.id)}}),e),__webpack_require__.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),__webpack_require__.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},__webpack_require__.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),__webpack_require__.p="/assets/",__webpack_require__.nc=void 0;var __webpack_exports__={};(()=>{"use strict";var e,t,n,r,i=__webpack_require__(32316),a=__webpack_require__(8126),o=__webpack_require__(5690),s=__webpack_require__(30381),u=__webpack_require__.n(s),c=__webpack_require__(67294),l=__webpack_require__(73935),f=__webpack_require__.n(l),d=__webpack_require__(57209),h=__webpack_require__(37703),p=__webpack_require__(97779),b=__webpack_require__(28500);function m(e){return function(t){var n=t.dispatch,r=t.getState;return function(t){return function(i){return"function"==typeof i?i(n,r,e):t(i)}}}}var g=m();g.withExtraArgument=m;let v=g;var y=__webpack_require__(76489);function w(e){return function(t){return function(n){return function(r){n(r);var i=e||document&&document.cookie||"",a=t.getState();if("MATCH_ROUTE"===r.type&&"/signin"!==a.notifications.currentUrl){var o=(0,y.Q)(i);if(o.explorer)try{var s=JSON.parse(o.explorer);if("error"===s.status){var u=_(s.url);n({type:"NOTIFY_ERROR_MSG",msg:u})}}catch(c){n({type:"NOTIFY_ERROR_MSG",msg:"Invalid explorer status"})}}}}}}function _(e){var t="Can't connect to explorer: ".concat(e);return e.match(/^wss?:.+/)?t:"".concat(t,". You must use a websocket.")}var E=__webpack_require__(16353);function S(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n=e.length?{done:!0}:{done:!1,value:e[r++]}}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function ei(e,t){if(e){if("string"==typeof e)return ea(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ea(e,t)}}function ea(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n1,i=!1,a=arguments[1],o=a;return new n(function(n){return t.subscribe({next:function(t){var a=!i;if(i=!0,!a||r)try{o=e(o,t)}catch(s){return n.error(s)}else o=t},error:function(e){n.error(e)},complete:function(){if(!i&&!r)return n.error(TypeError("Cannot reduce an empty sequence"));n.next(o),n.complete()}})})},t.concat=function(){for(var e=this,t=arguments.length,n=Array(t),r=0;r=0&&i.splice(e,1),o()}});i.push(s)},error:function(e){r.error(e)},complete:function(){o()}});function o(){a.closed&&0===i.length&&r.complete()}return function(){i.forEach(function(e){return e.unsubscribe()}),a.unsubscribe()}})},t[ed]=function(){return this},e.from=function(t){var n="function"==typeof this?this:e;if(null==t)throw TypeError(t+" is not an object");var r=ep(t,ed);if(r){var i=r.call(t);if(Object(i)!==i)throw TypeError(i+" is not an object");return em(i)&&i.constructor===n?i:new n(function(e){return i.subscribe(e)})}if(ec("iterator")&&(r=ep(t,ef)))return new n(function(e){ev(function(){if(!e.closed){for(var n,i=er(r.call(t));!(n=i()).done;){var a=n.value;if(e.next(a),e.closed)return}e.complete()}})});if(Array.isArray(t))return new n(function(e){ev(function(){if(!e.closed){for(var n=0;n0))return n.connection.key;var r=n.connection.filter?n.connection.filter:[];r.sort();var i={};return r.forEach(function(e){i[e]=t[e]}),"".concat(n.connection.key,"(").concat(eV(i),")")}var a=e;if(t){var o=eV(t);a+="(".concat(o,")")}return n&&Object.keys(n).forEach(function(e){-1===eW.indexOf(e)&&(n[e]&&Object.keys(n[e]).length?a+="@".concat(e,"(").concat(eV(n[e]),")"):a+="@".concat(e))}),a},{setStringify:function(e){var t=eV;return eV=e,t}}),eV=function(e){return JSON.stringify(e,eq)};function eq(e,t){return(0,eO.s)(t)&&!Array.isArray(t)&&(t=Object.keys(t).sort().reduce(function(e,n){return e[n]=t[n],e},{})),t}function eZ(e,t){if(e.arguments&&e.arguments.length){var n={};return e.arguments.forEach(function(e){var r;return ez(n,e.name,e.value,t)}),n}return null}function eX(e){return e.alias?e.alias.value:e.name.value}function eJ(e,t,n){for(var r,i=0,a=t.selections;it.indexOf(i))throw __DEV__?new Q.ej("illegal argument: ".concat(i)):new Q.ej(27)}return e}function tt(e,t){return t?t(e):eT.of()}function tn(e){return"function"==typeof e?new ta(e):e}function tr(e){return e.request.length<=1}var ti=function(e){function t(t,n){var r=e.call(this,t)||this;return r.link=n,r}return(0,en.ZT)(t,e),t}(Error),ta=function(){function e(e){e&&(this.request=e)}return e.empty=function(){return new e(function(){return eT.of()})},e.from=function(t){return 0===t.length?e.empty():t.map(tn).reduce(function(e,t){return e.concat(t)})},e.split=function(t,n,r){var i=tn(n),a=tn(r||new e(tt));return new e(tr(i)&&tr(a)?function(e){return t(e)?i.request(e)||eT.of():a.request(e)||eT.of()}:function(e,n){return t(e)?i.request(e,n)||eT.of():a.request(e,n)||eT.of()})},e.execute=function(e,t){return e.request(eM(t.context,e7(te(t))))||eT.of()},e.concat=function(t,n){var r=tn(t);if(tr(r))return __DEV__&&Q.kG.warn(new ti("You are calling concat on a terminating link, which will have no effect",r)),r;var i=tn(n);return new e(tr(i)?function(e){return r.request(e,function(e){return i.request(e)||eT.of()})||eT.of()}:function(e,t){return r.request(e,function(e){return i.request(e,t)||eT.of()})||eT.of()})},e.prototype.split=function(t,n,r){return this.concat(e.split(t,n,r||new e(tt)))},e.prototype.concat=function(t){return e.concat(this,t)},e.prototype.request=function(e,t){throw __DEV__?new Q.ej("request is not implemented"):new Q.ej(22)},e.prototype.onError=function(e,t){if(t&&t.error)return t.error(e),!1;throw e},e.prototype.setOnError=function(e){return this.onError=e,this},e}(),to=__webpack_require__(25821),ts=__webpack_require__(25217),tu={Name:[],Document:["definitions"],OperationDefinition:["name","variableDefinitions","directives","selectionSet"],VariableDefinition:["variable","type","defaultValue","directives"],Variable:["name"],SelectionSet:["selections"],Field:["alias","name","arguments","directives","selectionSet"],Argument:["name","value"],FragmentSpread:["name","directives"],InlineFragment:["typeCondition","directives","selectionSet"],FragmentDefinition:["name","variableDefinitions","typeCondition","directives","selectionSet"],IntValue:[],FloatValue:[],StringValue:[],BooleanValue:[],NullValue:[],EnumValue:[],ListValue:["values"],ObjectValue:["fields"],ObjectField:["name","value"],Directive:["name","arguments"],NamedType:["name"],ListType:["type"],NonNullType:["type"],SchemaDefinition:["description","directives","operationTypes"],OperationTypeDefinition:["type"],ScalarTypeDefinition:["description","name","directives"],ObjectTypeDefinition:["description","name","interfaces","directives","fields"],FieldDefinition:["description","name","arguments","type","directives"],InputValueDefinition:["description","name","type","defaultValue","directives"],InterfaceTypeDefinition:["description","name","interfaces","directives","fields"],UnionTypeDefinition:["description","name","directives","types"],EnumTypeDefinition:["description","name","directives","values"],EnumValueDefinition:["description","name","directives"],InputObjectTypeDefinition:["description","name","directives","fields"],DirectiveDefinition:["description","name","arguments","locations"],SchemaExtension:["directives","operationTypes"],ScalarTypeExtension:["name","directives"],ObjectTypeExtension:["name","interfaces","directives","fields"],InterfaceTypeExtension:["name","interfaces","directives","fields"],UnionTypeExtension:["name","directives","types"],EnumTypeExtension:["name","directives","values"],InputObjectTypeExtension:["name","directives","fields"]},tc=Object.freeze({});function tl(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:tu,r=void 0,i=Array.isArray(e),a=[e],o=-1,s=[],u=void 0,c=void 0,l=void 0,f=[],d=[],h=e;do{var p,b=++o===a.length,m=b&&0!==s.length;if(b){if(c=0===d.length?void 0:f[f.length-1],u=l,l=d.pop(),m){if(i)u=u.slice();else{for(var g={},v=0,y=Object.keys(u);v1)for(var r=new tB,i=1;i=0;--a){var o=i[a],s=isNaN(+o)?{}:[];s[o]=t,t=s}n=r.merge(n,t)}),n}var tW=Object.prototype.hasOwnProperty;function tK(e,t){var n,r,i,a,o;return(0,en.mG)(this,void 0,void 0,function(){var s,u,c,l,f,d,h,p,b,m,g,v,y,w,_,E,S,k,x,T,M,O,A;return(0,en.Jh)(this,function(L){switch(L.label){case 0:if(void 0===TextDecoder)throw Error("TextDecoder must be defined in the environment: please import a polyfill.");s=new TextDecoder("utf-8"),u=null===(n=e.headers)||void 0===n?void 0:n.get("content-type"),c="boundary=",l=(null==u?void 0:u.includes(c))?null==u?void 0:u.substring((null==u?void 0:u.indexOf(c))+c.length).replace(/['"]/g,"").replace(/\;(.*)/gm,"").trim():"-",f="\r\n--".concat(l),d="",h=tI(e),p=!0,L.label=1;case 1:if(!p)return[3,3];return[4,h.next()];case 2:for(m=(b=L.sent()).value,g=b.done,v="string"==typeof m?m:s.decode(m),y=d.length-f.length+1,p=!g,d+=v,w=d.indexOf(f,y);w>-1;){if(_=void 0,_=(O=[d.slice(0,w),d.slice(w+f.length),])[0],d=O[1],E=_.indexOf("\r\n\r\n"),(k=(S=tV(_.slice(0,E)))["content-type"])&&-1===k.toLowerCase().indexOf("application/json"))throw Error("Unsupported patch content type: application/json is required.");if(x=_.slice(E))try{T=tq(e,x),Object.keys(T).length>1||"data"in T||"incremental"in T||"errors"in T||"payload"in T?tz(T)?(M={},"payload"in T&&(M=(0,en.pi)({},T.payload)),"errors"in T&&(M=(0,en.pi)((0,en.pi)({},M),{extensions:(0,en.pi)((0,en.pi)({},"extensions"in M?M.extensions:null),((A={})[tN.YG]=T.errors,A))})),null===(r=t.next)||void 0===r||r.call(t,M)):null===(i=t.next)||void 0===i||i.call(t,T):1===Object.keys(T).length&&"hasNext"in T&&!T.hasNext&&(null===(a=t.complete)||void 0===a||a.call(t))}catch(C){tZ(C,t)}w=d.indexOf(f)}return[3,1];case 3:return null===(o=t.complete)||void 0===o||o.call(t),[2]}})})}function tV(e){var t={};return e.split("\n").forEach(function(e){var n=e.indexOf(":");if(n>-1){var r=e.slice(0,n).trim().toLowerCase(),i=e.slice(n+1).trim();t[r]=i}}),t}function tq(e,t){e.status>=300&&tD(e,function(){try{return JSON.parse(t)}catch(e){return t}}(),"Response not successful: Received status code ".concat(e.status));try{return JSON.parse(t)}catch(n){var r=n;throw r.name="ServerParseError",r.response=e,r.statusCode=e.status,r.bodyText=t,r}}function tZ(e,t){var n,r;"AbortError"!==e.name&&(e.result&&e.result.errors&&e.result.data&&(null===(n=t.next)||void 0===n||n.call(t,e.result)),null===(r=t.error)||void 0===r||r.call(t,e))}function tX(e,t,n){tJ(t)(e).then(function(e){var t,r;null===(t=n.next)||void 0===t||t.call(n,e),null===(r=n.complete)||void 0===r||r.call(n)}).catch(function(e){return tZ(e,n)})}function tJ(e){return function(t){return t.text().then(function(e){return tq(t,e)}).then(function(n){return t.status>=300&&tD(t,n,"Response not successful: Received status code ".concat(t.status)),Array.isArray(n)||tW.call(n,"data")||tW.call(n,"errors")||tD(t,n,"Server response was missing for query '".concat(Array.isArray(e)?e.map(function(e){return e.operationName}):e.operationName,"'.")),n})}}var tQ=function(e){if(!e&&"undefined"==typeof fetch)throw __DEV__?new Q.ej("\n\"fetch\" has not been found globally and no fetcher has been configured. To fix this, install a fetch package (like https://www.npmjs.com/package/cross-fetch), instantiate the fetcher, and pass it into your HttpLink constructor. For example:\n\nimport fetch from 'cross-fetch';\nimport { ApolloClient, HttpLink } from '@apollo/client';\nconst client = new ApolloClient({\n link: new HttpLink({ uri: '/graphql', fetch })\n});\n "):new Q.ej(23)},t1=__webpack_require__(87392);function t0(e){return tl(e,{leave:t3})}var t2=80,t3={Name:function(e){return e.value},Variable:function(e){return"$"+e.name},Document:function(e){return t6(e.definitions,"\n\n")+"\n"},OperationDefinition:function(e){var t=e.operation,n=e.name,r=t8("(",t6(e.variableDefinitions,", "),")"),i=t6(e.directives," "),a=e.selectionSet;return n||i||r||"query"!==t?t6([t,t6([n,r]),i,a]," "):a},VariableDefinition:function(e){var t=e.variable,n=e.type,r=e.defaultValue,i=e.directives;return t+": "+n+t8(" = ",r)+t8(" ",t6(i," "))},SelectionSet:function(e){return t5(e.selections)},Field:function(e){var t=e.alias,n=e.name,r=e.arguments,i=e.directives,a=e.selectionSet,o=t8("",t,": ")+n,s=o+t8("(",t6(r,", "),")");return s.length>t2&&(s=o+t8("(\n",t9(t6(r,"\n")),"\n)")),t6([s,t6(i," "),a]," ")},Argument:function(e){var t;return e.name+": "+e.value},FragmentSpread:function(e){var t;return"..."+e.name+t8(" ",t6(e.directives," "))},InlineFragment:function(e){var t=e.typeCondition,n=e.directives,r=e.selectionSet;return t6(["...",t8("on ",t),t6(n," "),r]," ")},FragmentDefinition:function(e){var t=e.name,n=e.typeCondition,r=e.variableDefinitions,i=e.directives,a=e.selectionSet;return"fragment ".concat(t).concat(t8("(",t6(r,", "),")")," ")+"on ".concat(n," ").concat(t8("",t6(i," ")," "))+a},IntValue:function(e){return e.value},FloatValue:function(e){return e.value},StringValue:function(e,t){var n=e.value;return e.block?(0,t1.LZ)(n,"description"===t?"":" "):JSON.stringify(n)},BooleanValue:function(e){return e.value?"true":"false"},NullValue:function(){return"null"},EnumValue:function(e){return e.value},ListValue:function(e){return"["+t6(e.values,", ")+"]"},ObjectValue:function(e){return"{"+t6(e.fields,", ")+"}"},ObjectField:function(e){var t;return e.name+": "+e.value},Directive:function(e){var t;return"@"+e.name+t8("(",t6(e.arguments,", "),")")},NamedType:function(e){return e.name},ListType:function(e){return"["+e.type+"]"},NonNullType:function(e){return e.type+"!"},SchemaDefinition:t4(function(e){var t=e.directives,n=e.operationTypes;return t6(["schema",t6(t," "),t5(n)]," ")}),OperationTypeDefinition:function(e){var t;return e.operation+": "+e.type},ScalarTypeDefinition:t4(function(e){var t;return t6(["scalar",e.name,t6(e.directives," ")]," ")}),ObjectTypeDefinition:t4(function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["type",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")}),FieldDefinition:t4(function(e){var t=e.name,n=e.arguments,r=e.type,i=e.directives;return t+(ne(n)?t8("(\n",t9(t6(n,"\n")),"\n)"):t8("(",t6(n,", "),")"))+": "+r+t8(" ",t6(i," "))}),InputValueDefinition:t4(function(e){var t=e.name,n=e.type,r=e.defaultValue,i=e.directives;return t6([t+": "+n,t8("= ",r),t6(i," ")]," ")}),InterfaceTypeDefinition:t4(function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["interface",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")}),UnionTypeDefinition:t4(function(e){var t=e.name,n=e.directives,r=e.types;return t6(["union",t,t6(n," "),r&&0!==r.length?"= "+t6(r," | "):""]," ")}),EnumTypeDefinition:t4(function(e){var t=e.name,n=e.directives,r=e.values;return t6(["enum",t,t6(n," "),t5(r)]," ")}),EnumValueDefinition:t4(function(e){var t;return t6([e.name,t6(e.directives," ")]," ")}),InputObjectTypeDefinition:t4(function(e){var t=e.name,n=e.directives,r=e.fields;return t6(["input",t,t6(n," "),t5(r)]," ")}),DirectiveDefinition:t4(function(e){var t=e.name,n=e.arguments,r=e.repeatable,i=e.locations;return"directive @"+t+(ne(n)?t8("(\n",t9(t6(n,"\n")),"\n)"):t8("(",t6(n,", "),")"))+(r?" repeatable":"")+" on "+t6(i," | ")}),SchemaExtension:function(e){var t=e.directives,n=e.operationTypes;return t6(["extend schema",t6(t," "),t5(n)]," ")},ScalarTypeExtension:function(e){var t;return t6(["extend scalar",e.name,t6(e.directives," ")]," ")},ObjectTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["extend type",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")},InterfaceTypeExtension:function(e){var t=e.name,n=e.interfaces,r=e.directives,i=e.fields;return t6(["extend interface",t,t8("implements ",t6(n," & ")),t6(r," "),t5(i)]," ")},UnionTypeExtension:function(e){var t=e.name,n=e.directives,r=e.types;return t6(["extend union",t,t6(n," "),r&&0!==r.length?"= "+t6(r," | "):""]," ")},EnumTypeExtension:function(e){var t=e.name,n=e.directives,r=e.values;return t6(["extend enum",t,t6(n," "),t5(r)]," ")},InputObjectTypeExtension:function(e){var t=e.name,n=e.directives,r=e.fields;return t6(["extend input",t,t6(n," "),t5(r)]," ")}};function t4(e){return function(t){return t6([t.description,e(t)],"\n")}}function t6(e){var t,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return null!==(t=null==e?void 0:e.filter(function(e){return e}).join(n))&&void 0!==t?t:""}function t5(e){return t8("{\n",t9(t6(e,"\n")),"\n}")}function t8(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"";return null!=t&&""!==t?e+t+n:""}function t9(e){return t8(" ",e.replace(/\n/g,"\n "))}function t7(e){return -1!==e.indexOf("\n")}function ne(e){return null!=e&&e.some(t7)}var nt,nn,nr,ni={http:{includeQuery:!0,includeExtensions:!1,preserveHeaderCase:!1},headers:{accept:"*/*","content-type":"application/json"},options:{method:"POST"}},na=function(e,t){return t(e)};function no(e,t){for(var n=[],r=2;rObject.create(null),{forEach:nv,slice:ny}=Array.prototype,{hasOwnProperty:nw}=Object.prototype;class n_{constructor(e=!0,t=ng){this.weakness=e,this.makeData=t}lookup(...e){return this.lookupArray(e)}lookupArray(e){let t=this;return nv.call(e,e=>t=t.getChildTrie(e)),nw.call(t,"data")?t.data:t.data=this.makeData(ny.call(e))}peek(...e){return this.peekArray(e)}peekArray(e){let t=this;for(let n=0,r=e.length;t&&n=0;--o)t.definitions[o].kind===nL.h.OPERATION_DEFINITION&&++a;var s=nN(e),u=e.some(function(e){return e.remove}),c=function(e){return u&&e&&e.some(s)},l=new Map,f=!1,d={enter:function(e){if(c(e.directives))return f=!0,null}},h=tl(t,{Field:d,InlineFragment:d,VariableDefinition:{enter:function(){return!1}},Variable:{enter:function(e,t,n,r,a){var o=i(a);o&&o.variables.add(e.name.value)}},FragmentSpread:{enter:function(e,t,n,r,a){if(c(e.directives))return f=!0,null;var o=i(a);o&&o.fragmentSpreads.add(e.name.value)}},FragmentDefinition:{enter:function(e,t,n,r){l.set(JSON.stringify(r),e)},leave:function(e,t,n,i){return e===l.get(JSON.stringify(i))?e:a>0&&e.selectionSet.selections.every(function(e){return e.kind===nL.h.FIELD&&"__typename"===e.name.value})?(r(e.name.value).removed=!0,f=!0,null):void 0}},Directive:{leave:function(e){if(s(e))return f=!0,null}}});if(!f)return t;var p=function(e){return e.transitiveVars||(e.transitiveVars=new Set(e.variables),e.removed||e.fragmentSpreads.forEach(function(t){p(r(t)).transitiveVars.forEach(function(t){e.transitiveVars.add(t)})})),e},b=new Set;h.definitions.forEach(function(e){e.kind===nL.h.OPERATION_DEFINITION?p(n(e.name&&e.name.value)).fragmentSpreads.forEach(function(e){b.add(e)}):e.kind!==nL.h.FRAGMENT_DEFINITION||0!==a||r(e.name.value).removed||b.add(e.name.value)}),b.forEach(function(e){p(r(e)).fragmentSpreads.forEach(function(e){b.add(e)})});var m=function(e){return!!(!b.has(e)||r(e).removed)},g={enter:function(e){if(m(e.name.value))return null}};return nD(tl(h,{FragmentSpread:g,FragmentDefinition:g,OperationDefinition:{leave:function(e){if(e.variableDefinitions){var t=p(n(e.name&&e.name.value)).transitiveVars;if(t.size0},t.prototype.tearDownQuery=function(){this.isTornDown||(this.concast&&this.observer&&(this.concast.removeObserver(this.observer),delete this.concast,delete this.observer),this.stopPolling(),this.subscriptions.forEach(function(e){return e.unsubscribe()}),this.subscriptions.clear(),this.queryManager.stopQuery(this.queryId),this.observers.clear(),this.isTornDown=!0)},t}(eT);function n4(e){var t=e.options,n=t.fetchPolicy,r=t.nextFetchPolicy;return"cache-and-network"===n||"network-only"===n?e.reobserve({fetchPolicy:"cache-first",nextFetchPolicy:function(){return(this.nextFetchPolicy=r,"function"==typeof r)?r.apply(this,arguments):n}}):e.reobserve()}function n6(e){__DEV__&&Q.kG.error("Unhandled error",e.message,e.stack)}function n5(e){__DEV__&&e&&__DEV__&&Q.kG.debug("Missing cache result fields: ".concat(JSON.stringify(e)),e)}function n8(e){return"network-only"===e||"no-cache"===e||"standby"===e}nK(n3);function n9(e){return e.kind===nL.h.FIELD||e.kind===nL.h.FRAGMENT_SPREAD||e.kind===nL.h.INLINE_FRAGMENT}function n7(e){return e.kind===Kind.SCALAR_TYPE_DEFINITION||e.kind===Kind.OBJECT_TYPE_DEFINITION||e.kind===Kind.INTERFACE_TYPE_DEFINITION||e.kind===Kind.UNION_TYPE_DEFINITION||e.kind===Kind.ENUM_TYPE_DEFINITION||e.kind===Kind.INPUT_OBJECT_TYPE_DEFINITION}function re(e){return e.kind===Kind.SCALAR_TYPE_EXTENSION||e.kind===Kind.OBJECT_TYPE_EXTENSION||e.kind===Kind.INTERFACE_TYPE_EXTENSION||e.kind===Kind.UNION_TYPE_EXTENSION||e.kind===Kind.ENUM_TYPE_EXTENSION||e.kind===Kind.INPUT_OBJECT_TYPE_EXTENSION}var rt=function(){return Object.create(null)},rn=Array.prototype,rr=rn.forEach,ri=rn.slice,ra=function(){function e(e,t){void 0===e&&(e=!0),void 0===t&&(t=rt),this.weakness=e,this.makeData=t}return e.prototype.lookup=function(){for(var e=[],t=0;tclass{constructor(){this.id=["slot",rc++,Date.now(),Math.random().toString(36).slice(2),].join(":")}hasValue(){for(let e=rs;e;e=e.parent)if(this.id in e.slots){let t=e.slots[this.id];if(t===ru)break;return e!==rs&&(rs.slots[this.id]=t),!0}return rs&&(rs.slots[this.id]=ru),!1}getValue(){if(this.hasValue())return rs.slots[this.id]}withValue(e,t,n,r){let i={__proto__:null,[this.id]:e},a=rs;rs={parent:a,slots:i};try{return t.apply(r,n)}finally{rs=a}}static bind(e){let t=rs;return function(){let n=rs;try{return rs=t,e.apply(this,arguments)}finally{rs=n}}}static noContext(e,t,n){if(!rs)return e.apply(n,t);{let r=rs;try{return rs=null,e.apply(n,t)}finally{rs=r}}}};function rf(e){try{return e()}catch(t){}}let rd="@wry/context:Slot",rh=rf(()=>globalThis)||rf(()=>global)||Object.create(null),rp=rh,rb=rp[rd]||Array[rd]||function(e){try{Object.defineProperty(rp,rd,{value:e,enumerable:!1,writable:!1,configurable:!0})}finally{return e}}(rl()),{bind:rm,noContext:rg}=rb;function rv(){}var ry=function(){function e(e,t){void 0===e&&(e=1/0),void 0===t&&(t=rv),this.max=e,this.dispose=t,this.map=new Map,this.newest=null,this.oldest=null}return e.prototype.has=function(e){return this.map.has(e)},e.prototype.get=function(e){var t=this.getNode(e);return t&&t.value},e.prototype.getNode=function(e){var t=this.map.get(e);if(t&&t!==this.newest){var n=t.older,r=t.newer;r&&(r.older=n),n&&(n.newer=r),t.older=this.newest,t.older.newer=t,t.newer=null,this.newest=t,t===this.oldest&&(this.oldest=r)}return t},e.prototype.set=function(e,t){var n=this.getNode(e);return n?n.value=t:(n={key:e,value:t,newer:null,older:this.newest},this.newest&&(this.newest.newer=n),this.newest=n,this.oldest=this.oldest||n,this.map.set(e,n),n.value)},e.prototype.clean=function(){for(;this.oldest&&this.map.size>this.max;)this.delete(this.oldest.key)},e.prototype.delete=function(e){var t=this.map.get(e);return!!t&&(t===this.newest&&(this.newest=t.older),t===this.oldest&&(this.oldest=t.newer),t.newer&&(t.newer.older=t.older),t.older&&(t.older.newer=t.newer),this.map.delete(e),this.dispose(t.value,e),!0)},e}(),rw=new rb,r_=Object.prototype.hasOwnProperty,rE=void 0===(n=Array.from)?function(e){var t=[];return e.forEach(function(e){return t.push(e)}),t}:n;function rS(e){var t=e.unsubscribe;"function"==typeof t&&(e.unsubscribe=void 0,t())}var rk=[],rx=100;function rT(e,t){if(!e)throw Error(t||"assertion failure")}function rM(e,t){var n=e.length;return n>0&&n===t.length&&e[n-1]===t[n-1]}function rO(e){switch(e.length){case 0:throw Error("unknown value");case 1:return e[0];case 2:throw e[1]}}function rA(e){return e.slice(0)}var rL=function(){function e(t){this.fn=t,this.parents=new Set,this.childValues=new Map,this.dirtyChildren=null,this.dirty=!0,this.recomputing=!1,this.value=[],this.deps=null,++e.count}return e.prototype.peek=function(){if(1===this.value.length&&!rN(this))return rC(this),this.value[0]},e.prototype.recompute=function(e){return rT(!this.recomputing,"already recomputing"),rC(this),rN(this)?rI(this,e):rO(this.value)},e.prototype.setDirty=function(){this.dirty||(this.dirty=!0,this.value.length=0,rR(this),rS(this))},e.prototype.dispose=function(){var e=this;this.setDirty(),rH(this),rF(this,function(t,n){t.setDirty(),r$(t,e)})},e.prototype.forget=function(){this.dispose()},e.prototype.dependOn=function(e){e.add(this),this.deps||(this.deps=rk.pop()||new Set),this.deps.add(e)},e.prototype.forgetDeps=function(){var e=this;this.deps&&(rE(this.deps).forEach(function(t){return t.delete(e)}),this.deps.clear(),rk.push(this.deps),this.deps=null)},e.count=0,e}();function rC(e){var t=rw.getValue();if(t)return e.parents.add(t),t.childValues.has(e)||t.childValues.set(e,[]),rN(e)?rY(t,e):rB(t,e),t}function rI(e,t){return rH(e),rw.withValue(e,rD,[e,t]),rz(e,t)&&rP(e),rO(e.value)}function rD(e,t){e.recomputing=!0,e.value.length=0;try{e.value[0]=e.fn.apply(null,t)}catch(n){e.value[1]=n}e.recomputing=!1}function rN(e){return e.dirty||!!(e.dirtyChildren&&e.dirtyChildren.size)}function rP(e){e.dirty=!1,!rN(e)&&rj(e)}function rR(e){rF(e,rY)}function rj(e){rF(e,rB)}function rF(e,t){var n=e.parents.size;if(n)for(var r=rE(e.parents),i=0;i0&&e.childValues.forEach(function(t,n){r$(e,n)}),e.forgetDeps(),rT(null===e.dirtyChildren)}function r$(e,t){t.parents.delete(e),e.childValues.delete(t),rU(e,t)}function rz(e,t){if("function"==typeof e.subscribe)try{rS(e),e.unsubscribe=e.subscribe.apply(null,t)}catch(n){return e.setDirty(),!1}return!0}var rG={setDirty:!0,dispose:!0,forget:!0};function rW(e){var t=new Map,n=e&&e.subscribe;function r(e){var r=rw.getValue();if(r){var i=t.get(e);i||t.set(e,i=new Set),r.dependOn(i),"function"==typeof n&&(rS(i),i.unsubscribe=n(e))}}return r.dirty=function(e,n){var r=t.get(e);if(r){var i=n&&r_.call(rG,n)?n:"setDirty";rE(r).forEach(function(e){return e[i]()}),t.delete(e),rS(r)}},r}function rK(){var e=new ra("function"==typeof WeakMap);return function(){return e.lookupArray(arguments)}}var rV=rK(),rq=new Set;function rZ(e,t){void 0===t&&(t=Object.create(null));var n=new ry(t.max||65536,function(e){return e.dispose()}),r=t.keyArgs,i=t.makeCacheKey||rK(),a=function(){var a=i.apply(null,r?r.apply(null,arguments):arguments);if(void 0===a)return e.apply(null,arguments);var o=n.get(a);o||(n.set(a,o=new rL(e)),o.subscribe=t.subscribe,o.forget=function(){return n.delete(a)});var s=o.recompute(Array.prototype.slice.call(arguments));return n.set(a,o),rq.add(n),rw.hasValue()||(rq.forEach(function(e){return e.clean()}),rq.clear()),s};function o(e){var t=n.get(e);t&&t.setDirty()}function s(e){var t=n.get(e);if(t)return t.peek()}function u(e){return n.delete(e)}return Object.defineProperty(a,"size",{get:function(){return n.map.size},configurable:!1,enumerable:!1}),a.dirtyKey=o,a.dirty=function(){o(i.apply(null,arguments))},a.peekKey=s,a.peek=function(){return s(i.apply(null,arguments))},a.forgetKey=u,a.forget=function(){return u(i.apply(null,arguments))},a.makeCacheKey=i,a.getKey=r?function(){return i.apply(null,r.apply(null,arguments))}:i,Object.freeze(a)}var rX=new rb,rJ=new WeakMap;function rQ(e){var t=rJ.get(e);return t||rJ.set(e,t={vars:new Set,dep:rW()}),t}function r1(e){rQ(e).vars.forEach(function(t){return t.forgetCache(e)})}function r0(e){rQ(e).vars.forEach(function(t){return t.attachCache(e)})}function r2(e){var t=new Set,n=new Set,r=function(a){if(arguments.length>0){if(e!==a){e=a,t.forEach(function(e){rQ(e).dep.dirty(r),r3(e)});var o=Array.from(n);n.clear(),o.forEach(function(t){return t(e)})}}else{var s=rX.getValue();s&&(i(s),rQ(s).dep(r))}return e};r.onNextChange=function(e){return n.add(e),function(){n.delete(e)}};var i=r.attachCache=function(e){return t.add(e),rQ(e).vars.add(r),r};return r.forgetCache=function(e){return t.delete(e)},r}function r3(e){e.broadcastWatches&&e.broadcastWatches()}var r4=function(){function e(e){var t=e.cache,n=e.client,r=e.resolvers,i=e.fragmentMatcher;this.selectionsToResolveCache=new WeakMap,this.cache=t,n&&(this.client=n),r&&this.addResolvers(r),i&&this.setFragmentMatcher(i)}return e.prototype.addResolvers=function(e){var t=this;this.resolvers=this.resolvers||{},Array.isArray(e)?e.forEach(function(e){t.resolvers=tj(t.resolvers,e)}):this.resolvers=tj(this.resolvers,e)},e.prototype.setResolvers=function(e){this.resolvers={},this.addResolvers(e)},e.prototype.getResolvers=function(){return this.resolvers||{}},e.prototype.runResolvers=function(e){var t=e.document,n=e.remoteResult,r=e.context,i=e.variables,a=e.onlyRunForcedResolvers,o=void 0!==a&&a;return(0,en.mG)(this,void 0,void 0,function(){return(0,en.Jh)(this,function(e){return t?[2,this.resolveDocument(t,n.data,r,i,this.fragmentMatcher,o).then(function(e){return(0,en.pi)((0,en.pi)({},n),{data:e.result})})]:[2,n]})})},e.prototype.setFragmentMatcher=function(e){this.fragmentMatcher=e},e.prototype.getFragmentMatcher=function(){return this.fragmentMatcher},e.prototype.clientQuery=function(e){return tb(["client"],e)&&this.resolvers?e:null},e.prototype.serverQuery=function(e){return n$(e)},e.prototype.prepareContext=function(e){var t=this.cache;return(0,en.pi)((0,en.pi)({},e),{cache:t,getCacheKey:function(e){return t.identify(e)}})},e.prototype.addExportedVariables=function(e,t,n){return void 0===t&&(t={}),void 0===n&&(n={}),(0,en.mG)(this,void 0,void 0,function(){return(0,en.Jh)(this,function(r){return e?[2,this.resolveDocument(e,this.buildRootValueFromCache(e,t)||{},this.prepareContext(n),t).then(function(e){return(0,en.pi)((0,en.pi)({},t),e.exportedVariables)})]:[2,(0,en.pi)({},t)]})})},e.prototype.shouldForceResolvers=function(e){var t=!1;return tl(e,{Directive:{enter:function(e){if("client"===e.name.value&&e.arguments&&(t=e.arguments.some(function(e){return"always"===e.name.value&&"BooleanValue"===e.value.kind&&!0===e.value.value})))return tc}}}),t},e.prototype.buildRootValueFromCache=function(e,t){return this.cache.diff({query:nH(e),variables:t,returnPartialData:!0,optimistic:!1}).result},e.prototype.resolveDocument=function(e,t,n,r,i,a){return void 0===n&&(n={}),void 0===r&&(r={}),void 0===i&&(i=function(){return!0}),void 0===a&&(a=!1),(0,en.mG)(this,void 0,void 0,function(){var o,s,u,c,l,f,d,h,p,b,m;return(0,en.Jh)(this,function(g){return o=e8(e),s=e4(e),u=eL(s),c=this.collectSelectionsToResolve(o,u),f=(l=o.operation)?l.charAt(0).toUpperCase()+l.slice(1):"Query",d=this,h=d.cache,p=d.client,b={fragmentMap:u,context:(0,en.pi)((0,en.pi)({},n),{cache:h,client:p}),variables:r,fragmentMatcher:i,defaultOperationType:f,exportedVariables:{},selectionsToResolve:c,onlyRunForcedResolvers:a},m=!1,[2,this.resolveSelectionSet(o.selectionSet,m,t,b).then(function(e){return{result:e,exportedVariables:b.exportedVariables}})]})})},e.prototype.resolveSelectionSet=function(e,t,n,r){return(0,en.mG)(this,void 0,void 0,function(){var i,a,o,s,u,c=this;return(0,en.Jh)(this,function(l){return i=r.fragmentMap,a=r.context,o=r.variables,s=[n],u=function(e){return(0,en.mG)(c,void 0,void 0,function(){var u,c;return(0,en.Jh)(this,function(l){return(t||r.selectionsToResolve.has(e))&&td(e,o)?eQ(e)?[2,this.resolveField(e,t,n,r).then(function(t){var n;void 0!==t&&s.push(((n={})[eX(e)]=t,n))})]:(e1(e)?u=e:(u=i[e.name.value],__DEV__?(0,Q.kG)(u,"No fragment named ".concat(e.name.value)):(0,Q.kG)(u,11)),u&&u.typeCondition&&(c=u.typeCondition.name.value,r.fragmentMatcher(n,c,a)))?[2,this.resolveSelectionSet(u.selectionSet,t,n,r).then(function(e){s.push(e)})]:[2]:[2]})})},[2,Promise.all(e.selections.map(u)).then(function(){return tF(s)})]})})},e.prototype.resolveField=function(e,t,n,r){return(0,en.mG)(this,void 0,void 0,function(){var i,a,o,s,u,c,l,f,d,h=this;return(0,en.Jh)(this,function(p){return n?(i=r.variables,a=e.name.value,o=eX(e),s=a!==o,c=Promise.resolve(u=n[o]||n[a]),(!r.onlyRunForcedResolvers||this.shouldForceResolvers(e))&&(l=n.__typename||r.defaultOperationType,(f=this.resolvers&&this.resolvers[l])&&(d=f[s?a:o])&&(c=Promise.resolve(rX.withValue(this.cache,d,[n,eZ(e,i),r.context,{field:e,fragmentMap:r.fragmentMap},])))),[2,c.then(function(n){if(void 0===n&&(n=u),e.directives&&e.directives.forEach(function(e){"export"===e.name.value&&e.arguments&&e.arguments.forEach(function(e){"as"===e.name.value&&"StringValue"===e.value.kind&&(r.exportedVariables[e.value.value]=n)})}),!e.selectionSet||null==n)return n;var i,a,o=null!==(a=null===(i=e.directives)||void 0===i?void 0:i.some(function(e){return"client"===e.name.value}))&&void 0!==a&&a;return Array.isArray(n)?h.resolveSubSelectedArray(e,t||o,n,r):e.selectionSet?h.resolveSelectionSet(e.selectionSet,t||o,n,r):void 0})]):[2,null]})})},e.prototype.resolveSubSelectedArray=function(e,t,n,r){var i=this;return Promise.all(n.map(function(n){return null===n?null:Array.isArray(n)?i.resolveSubSelectedArray(e,t,n,r):e.selectionSet?i.resolveSelectionSet(e.selectionSet,t,n,r):void 0}))},e.prototype.collectSelectionsToResolve=function(e,t){var n=function(e){return!Array.isArray(e)},r=this.selectionsToResolveCache;function i(e){if(!r.has(e)){var a=new Set;r.set(e,a),tl(e,{Directive:function(e,t,r,i,o){"client"===e.name.value&&o.forEach(function(e){n(e)&&n9(e)&&a.add(e)})},FragmentSpread:function(e,r,o,s,u){var c=t[e.name.value];__DEV__?(0,Q.kG)(c,"No fragment named ".concat(e.name.value)):(0,Q.kG)(c,12);var l=i(c);l.size>0&&(u.forEach(function(e){n(e)&&n9(e)&&a.add(e)}),a.add(e),l.forEach(function(e){a.add(e)}))}})}return r.get(e)}return i(e)},e}(),r6=new(t_.mr?WeakMap:Map);function r5(e,t){var n=e[t];"function"==typeof n&&(e[t]=function(){return r6.set(e,(r6.get(e)+1)%1e15),n.apply(this,arguments)})}function r8(e){e.notifyTimeout&&(clearTimeout(e.notifyTimeout),e.notifyTimeout=void 0)}var r9=function(){function e(e,t){void 0===t&&(t=e.generateQueryId()),this.queryId=t,this.listeners=new Set,this.document=null,this.lastRequestId=1,this.subscriptions=new Set,this.stopped=!1,this.dirty=!1,this.observableQuery=null;var n=this.cache=e.cache;r6.has(n)||(r6.set(n,0),r5(n,"evict"),r5(n,"modify"),r5(n,"reset"))}return e.prototype.init=function(e){var t=e.networkStatus||nZ.I.loading;return this.variables&&this.networkStatus!==nZ.I.loading&&!(0,nm.D)(this.variables,e.variables)&&(t=nZ.I.setVariables),(0,nm.D)(e.variables,this.variables)||(this.lastDiff=void 0),Object.assign(this,{document:e.document,variables:e.variables,networkError:null,graphQLErrors:this.graphQLErrors||[],networkStatus:t}),e.observableQuery&&this.setObservableQuery(e.observableQuery),e.lastRequestId&&(this.lastRequestId=e.lastRequestId),this},e.prototype.reset=function(){r8(this),this.dirty=!1},e.prototype.getDiff=function(e){void 0===e&&(e=this.variables);var t=this.getDiffOptions(e);if(this.lastDiff&&(0,nm.D)(t,this.lastDiff.options))return this.lastDiff.diff;this.updateWatch(this.variables=e);var n=this.observableQuery;if(n&&"no-cache"===n.options.fetchPolicy)return{complete:!1};var r=this.cache.diff(t);return this.updateLastDiff(r,t),r},e.prototype.updateLastDiff=function(e,t){this.lastDiff=e?{diff:e,options:t||this.getDiffOptions()}:void 0},e.prototype.getDiffOptions=function(e){var t;return void 0===e&&(e=this.variables),{query:this.document,variables:e,returnPartialData:!0,optimistic:!0,canonizeResults:null===(t=this.observableQuery)||void 0===t?void 0:t.options.canonizeResults}},e.prototype.setDiff=function(e){var t=this,n=this.lastDiff&&this.lastDiff.diff;this.updateLastDiff(e),this.dirty||(0,nm.D)(n&&n.result,e&&e.result)||(this.dirty=!0,this.notifyTimeout||(this.notifyTimeout=setTimeout(function(){return t.notify()},0)))},e.prototype.setObservableQuery=function(e){var t=this;e!==this.observableQuery&&(this.oqListener&&this.listeners.delete(this.oqListener),this.observableQuery=e,e?(e.queryInfo=this,this.listeners.add(this.oqListener=function(){t.getDiff().fromOptimisticTransaction?e.observe():n4(e)})):delete this.oqListener)},e.prototype.notify=function(){var e=this;r8(this),this.shouldNotify()&&this.listeners.forEach(function(t){return t(e)}),this.dirty=!1},e.prototype.shouldNotify=function(){if(!this.dirty||!this.listeners.size)return!1;if((0,nZ.O)(this.networkStatus)&&this.observableQuery){var e=this.observableQuery.options.fetchPolicy;if("cache-only"!==e&&"cache-and-network"!==e)return!1}return!0},e.prototype.stop=function(){if(!this.stopped){this.stopped=!0,this.reset(),this.cancel(),this.cancel=e.prototype.cancel,this.subscriptions.forEach(function(e){return e.unsubscribe()});var t=this.observableQuery;t&&t.stopPolling()}},e.prototype.cancel=function(){},e.prototype.updateWatch=function(e){var t=this;void 0===e&&(e=this.variables);var n=this.observableQuery;if(!n||"no-cache"!==n.options.fetchPolicy){var r=(0,en.pi)((0,en.pi)({},this.getDiffOptions(e)),{watcher:this,callback:function(e){return t.setDiff(e)}});this.lastWatch&&(0,nm.D)(r,this.lastWatch)||(this.cancel(),this.cancel=this.cache.watch(this.lastWatch=r))}},e.prototype.resetLastWrite=function(){this.lastWrite=void 0},e.prototype.shouldWrite=function(e,t){var n=this.lastWrite;return!(n&&n.dmCount===r6.get(this.cache)&&(0,nm.D)(t,n.variables)&&(0,nm.D)(e.data,n.result.data))},e.prototype.markResult=function(e,t,n,r){var i=this,a=new tB,o=(0,tP.O)(e.errors)?e.errors.slice(0):[];if(this.reset(),"incremental"in e&&(0,tP.O)(e.incremental)){var s=tG(this.getDiff().result,e);e.data=s}else if("hasNext"in e&&e.hasNext){var u=this.getDiff();e.data=a.merge(u.result,e.data)}this.graphQLErrors=o,"no-cache"===n.fetchPolicy?this.updateLastDiff({result:e.data,complete:!0},this.getDiffOptions(n.variables)):0!==r&&(r7(e,n.errorPolicy)?this.cache.performTransaction(function(a){if(i.shouldWrite(e,n.variables))a.writeQuery({query:t,data:e.data,variables:n.variables,overwrite:1===r}),i.lastWrite={result:e,variables:n.variables,dmCount:r6.get(i.cache)};else if(i.lastDiff&&i.lastDiff.diff.complete){e.data=i.lastDiff.diff.result;return}var o=i.getDiffOptions(n.variables),s=a.diff(o);i.stopped||i.updateWatch(n.variables),i.updateLastDiff(s,o),s.complete&&(e.data=s.result)}):this.lastWrite=void 0)},e.prototype.markReady=function(){return this.networkError=null,this.networkStatus=nZ.I.ready},e.prototype.markError=function(e){return this.networkStatus=nZ.I.error,this.lastWrite=void 0,this.reset(),e.graphQLErrors&&(this.graphQLErrors=e.graphQLErrors),e.networkError&&(this.networkError=e.networkError),e},e}();function r7(e,t){void 0===t&&(t="none");var n="ignore"===t||"all"===t,r=!nO(e);return!r&&n&&e.data&&(r=!0),r}var ie=Object.prototype.hasOwnProperty,it=function(){function e(e){var t=e.cache,n=e.link,r=e.defaultOptions,i=e.queryDeduplication,a=void 0!==i&&i,o=e.onBroadcast,s=e.ssrMode,u=void 0!==s&&s,c=e.clientAwareness,l=void 0===c?{}:c,f=e.localState,d=e.assumeImmutableResults;this.clientAwareness={},this.queries=new Map,this.fetchCancelFns=new Map,this.transformCache=new(t_.mr?WeakMap:Map),this.queryIdCounter=1,this.requestIdCounter=1,this.mutationIdCounter=1,this.inFlightLinkObservables=new Map,this.cache=t,this.link=n,this.defaultOptions=r||Object.create(null),this.queryDeduplication=a,this.clientAwareness=l,this.localState=f||new r4({cache:t}),this.ssrMode=u,this.assumeImmutableResults=!!d,(this.onBroadcast=o)&&(this.mutationStore=Object.create(null))}return e.prototype.stop=function(){var e=this;this.queries.forEach(function(t,n){e.stopQueryNoBroadcast(n)}),this.cancelPendingFetches(__DEV__?new Q.ej("QueryManager stopped while query was in flight"):new Q.ej(14))},e.prototype.cancelPendingFetches=function(e){this.fetchCancelFns.forEach(function(t){return t(e)}),this.fetchCancelFns.clear()},e.prototype.mutate=function(e){var t,n,r=e.mutation,i=e.variables,a=e.optimisticResponse,o=e.updateQueries,s=e.refetchQueries,u=void 0===s?[]:s,c=e.awaitRefetchQueries,l=void 0!==c&&c,f=e.update,d=e.onQueryUpdated,h=e.fetchPolicy,p=void 0===h?(null===(t=this.defaultOptions.mutate)||void 0===t?void 0:t.fetchPolicy)||"network-only":h,b=e.errorPolicy,m=void 0===b?(null===(n=this.defaultOptions.mutate)||void 0===n?void 0:n.errorPolicy)||"none":b,g=e.keepRootFields,v=e.context;return(0,en.mG)(this,void 0,void 0,function(){var e,t,n,s,c,h;return(0,en.Jh)(this,function(b){switch(b.label){case 0:if(__DEV__?(0,Q.kG)(r,"mutation option is required. You must specify your GraphQL document in the mutation option."):(0,Q.kG)(r,15),__DEV__?(0,Q.kG)("network-only"===p||"no-cache"===p,"Mutations support only 'network-only' or 'no-cache' fetchPolicy strings. The default `network-only` behavior automatically writes mutation results to the cache. Passing `no-cache` skips the cache write."):(0,Q.kG)("network-only"===p||"no-cache"===p,16),e=this.generateMutationId(),n=(t=this.transform(r)).document,s=t.hasClientExports,r=this.cache.transformForLink(n),i=this.getVariables(r,i),!s)return[3,2];return[4,this.localState.addExportedVariables(r,i,v)];case 1:i=b.sent(),b.label=2;case 2:return c=this.mutationStore&&(this.mutationStore[e]={mutation:r,variables:i,loading:!0,error:null}),a&&this.markMutationOptimistic(a,{mutationId:e,document:r,variables:i,fetchPolicy:p,errorPolicy:m,context:v,updateQueries:o,update:f,keepRootFields:g}),this.broadcastQueries(),h=this,[2,new Promise(function(t,n){return nM(h.getObservableFromLink(r,(0,en.pi)((0,en.pi)({},v),{optimisticResponse:a}),i,!1),function(t){if(nO(t)&&"none"===m)throw new tN.cA({graphQLErrors:nA(t)});c&&(c.loading=!1,c.error=null);var n=(0,en.pi)({},t);return"function"==typeof u&&(u=u(n)),"ignore"===m&&nO(n)&&delete n.errors,h.markMutationResult({mutationId:e,result:n,document:r,variables:i,fetchPolicy:p,errorPolicy:m,context:v,update:f,updateQueries:o,awaitRefetchQueries:l,refetchQueries:u,removeOptimistic:a?e:void 0,onQueryUpdated:d,keepRootFields:g})}).subscribe({next:function(e){h.broadcastQueries(),"hasNext"in e&&!1!==e.hasNext||t(e)},error:function(t){c&&(c.loading=!1,c.error=t),a&&h.cache.removeOptimistic(e),h.broadcastQueries(),n(t instanceof tN.cA?t:new tN.cA({networkError:t}))}})})]}})})},e.prototype.markMutationResult=function(e,t){var n=this;void 0===t&&(t=this.cache);var r=e.result,i=[],a="no-cache"===e.fetchPolicy;if(!a&&r7(r,e.errorPolicy)){if(tU(r)||i.push({result:r.data,dataId:"ROOT_MUTATION",query:e.document,variables:e.variables}),tU(r)&&(0,tP.O)(r.incremental)){var o=t.diff({id:"ROOT_MUTATION",query:this.transform(e.document).asQuery,variables:e.variables,optimistic:!1,returnPartialData:!0}),s=void 0;o.result&&(s=tG(o.result,r)),void 0!==s&&(r.data=s,i.push({result:s,dataId:"ROOT_MUTATION",query:e.document,variables:e.variables}))}var u=e.updateQueries;u&&this.queries.forEach(function(e,a){var o=e.observableQuery,s=o&&o.queryName;if(s&&ie.call(u,s)){var c,l=u[s],f=n.queries.get(a),d=f.document,h=f.variables,p=t.diff({query:d,variables:h,returnPartialData:!0,optimistic:!1}),b=p.result;if(p.complete&&b){var m=l(b,{mutationResult:r,queryName:d&&e3(d)||void 0,queryVariables:h});m&&i.push({result:m,dataId:"ROOT_QUERY",query:d,variables:h})}}})}if(i.length>0||e.refetchQueries||e.update||e.onQueryUpdated||e.removeOptimistic){var c=[];if(this.refetchQueries({updateCache:function(t){a||i.forEach(function(e){return t.write(e)});var o=e.update,s=!t$(r)||tU(r)&&!r.hasNext;if(o){if(!a){var u=t.diff({id:"ROOT_MUTATION",query:n.transform(e.document).asQuery,variables:e.variables,optimistic:!1,returnPartialData:!0});u.complete&&("incremental"in(r=(0,en.pi)((0,en.pi)({},r),{data:u.result}))&&delete r.incremental,"hasNext"in r&&delete r.hasNext)}s&&o(t,r,{context:e.context,variables:e.variables})}a||e.keepRootFields||!s||t.modify({id:"ROOT_MUTATION",fields:function(e,t){var n=t.fieldName,r=t.DELETE;return"__typename"===n?e:r}})},include:e.refetchQueries,optimistic:!1,removeOptimistic:e.removeOptimistic,onQueryUpdated:e.onQueryUpdated||null}).forEach(function(e){return c.push(e)}),e.awaitRefetchQueries||e.onQueryUpdated)return Promise.all(c).then(function(){return r})}return Promise.resolve(r)},e.prototype.markMutationOptimistic=function(e,t){var n=this,r="function"==typeof e?e(t.variables):e;return this.cache.recordOptimisticTransaction(function(e){try{n.markMutationResult((0,en.pi)((0,en.pi)({},t),{result:{data:r}}),e)}catch(i){__DEV__&&Q.kG.error(i)}},t.mutationId)},e.prototype.fetchQuery=function(e,t,n){return this.fetchQueryObservable(e,t,n).promise},e.prototype.getQueryStore=function(){var e=Object.create(null);return this.queries.forEach(function(t,n){e[n]={variables:t.variables,networkStatus:t.networkStatus,networkError:t.networkError,graphQLErrors:t.graphQLErrors}}),e},e.prototype.resetErrors=function(e){var t=this.queries.get(e);t&&(t.networkError=void 0,t.graphQLErrors=[])},e.prototype.transform=function(e){var t=this.transformCache;if(!t.has(e)){var n=this.cache.transformDocument(e),r=nY(n),i=this.localState.clientQuery(n),a=r&&this.localState.serverQuery(r),o={document:n,hasClientExports:tm(n),hasForcedResolvers:this.localState.shouldForceResolvers(n),clientQuery:i,serverQuery:a,defaultVars:e9(e2(n)),asQuery:(0,en.pi)((0,en.pi)({},n),{definitions:n.definitions.map(function(e){return"OperationDefinition"===e.kind&&"query"!==e.operation?(0,en.pi)((0,en.pi)({},e),{operation:"query"}):e})})},s=function(e){e&&!t.has(e)&&t.set(e,o)};s(e),s(n),s(i),s(a)}return t.get(e)},e.prototype.getVariables=function(e,t){return(0,en.pi)((0,en.pi)({},this.transform(e).defaultVars),t)},e.prototype.watchQuery=function(e){void 0===(e=(0,en.pi)((0,en.pi)({},e),{variables:this.getVariables(e.query,e.variables)})).notifyOnNetworkStatusChange&&(e.notifyOnNetworkStatusChange=!1);var t=new r9(this),n=new n3({queryManager:this,queryInfo:t,options:e});return this.queries.set(n.queryId,t),t.init({document:n.query,observableQuery:n,variables:n.variables}),n},e.prototype.query=function(e,t){var n=this;return void 0===t&&(t=this.generateQueryId()),__DEV__?(0,Q.kG)(e.query,"query option is required. You must specify your GraphQL document in the query option."):(0,Q.kG)(e.query,17),__DEV__?(0,Q.kG)("Document"===e.query.kind,'You must wrap the query string in a "gql" tag.'):(0,Q.kG)("Document"===e.query.kind,18),__DEV__?(0,Q.kG)(!e.returnPartialData,"returnPartialData option only supported on watchQuery."):(0,Q.kG)(!e.returnPartialData,19),__DEV__?(0,Q.kG)(!e.pollInterval,"pollInterval option only supported on watchQuery."):(0,Q.kG)(!e.pollInterval,20),this.fetchQuery(t,e).finally(function(){return n.stopQuery(t)})},e.prototype.generateQueryId=function(){return String(this.queryIdCounter++)},e.prototype.generateRequestId=function(){return this.requestIdCounter++},e.prototype.generateMutationId=function(){return String(this.mutationIdCounter++)},e.prototype.stopQueryInStore=function(e){this.stopQueryInStoreNoBroadcast(e),this.broadcastQueries()},e.prototype.stopQueryInStoreNoBroadcast=function(e){var t=this.queries.get(e);t&&t.stop()},e.prototype.clearStore=function(e){return void 0===e&&(e={discardWatches:!0}),this.cancelPendingFetches(__DEV__?new Q.ej("Store reset while query was in flight (not completed in link chain)"):new Q.ej(21)),this.queries.forEach(function(e){e.observableQuery?e.networkStatus=nZ.I.loading:e.stop()}),this.mutationStore&&(this.mutationStore=Object.create(null)),this.cache.reset(e)},e.prototype.getObservableQueries=function(e){var t=this;void 0===e&&(e="active");var n=new Map,r=new Map,i=new Set;return Array.isArray(e)&&e.forEach(function(e){"string"==typeof e?r.set(e,!1):eN(e)?r.set(t.transform(e).document,!1):(0,eO.s)(e)&&e.query&&i.add(e)}),this.queries.forEach(function(t,i){var a=t.observableQuery,o=t.document;if(a){if("all"===e){n.set(i,a);return}var s=a.queryName;if("standby"===a.options.fetchPolicy||"active"===e&&!a.hasObservers())return;("active"===e||s&&r.has(s)||o&&r.has(o))&&(n.set(i,a),s&&r.set(s,!0),o&&r.set(o,!0))}}),i.size&&i.forEach(function(e){var r=nG("legacyOneTimeQuery"),i=t.getQuery(r).init({document:e.query,variables:e.variables}),a=new n3({queryManager:t,queryInfo:i,options:(0,en.pi)((0,en.pi)({},e),{fetchPolicy:"network-only"})});(0,Q.kG)(a.queryId===r),i.setObservableQuery(a),n.set(r,a)}),__DEV__&&r.size&&r.forEach(function(e,t){!e&&__DEV__&&Q.kG.warn("Unknown query ".concat("string"==typeof t?"named ":"").concat(JSON.stringify(t,null,2)," requested in refetchQueries options.include array"))}),n},e.prototype.reFetchObservableQueries=function(e){var t=this;void 0===e&&(e=!1);var n=[];return this.getObservableQueries(e?"all":"active").forEach(function(r,i){var a=r.options.fetchPolicy;r.resetLastResults(),(e||"standby"!==a&&"cache-only"!==a)&&n.push(r.refetch()),t.getQuery(i).setDiff(null)}),this.broadcastQueries(),Promise.all(n)},e.prototype.setObservableQuery=function(e){this.getQuery(e.queryId).setObservableQuery(e)},e.prototype.startGraphQLSubscription=function(e){var t=this,n=e.query,r=e.fetchPolicy,i=e.errorPolicy,a=e.variables,o=e.context,s=void 0===o?{}:o;n=this.transform(n).document,a=this.getVariables(n,a);var u=function(e){return t.getObservableFromLink(n,s,e).map(function(a){"no-cache"!==r&&(r7(a,i)&&t.cache.write({query:n,result:a.data,dataId:"ROOT_SUBSCRIPTION",variables:e}),t.broadcastQueries());var o=nO(a),s=(0,tN.ls)(a);if(o||s){var u={};throw o&&(u.graphQLErrors=a.errors),s&&(u.protocolErrors=a.extensions[tN.YG]),new tN.cA(u)}return a})};if(this.transform(n).hasClientExports){var c=this.localState.addExportedVariables(n,a,s).then(u);return new eT(function(e){var t=null;return c.then(function(n){return t=n.subscribe(e)},e.error),function(){return t&&t.unsubscribe()}})}return u(a)},e.prototype.stopQuery=function(e){this.stopQueryNoBroadcast(e),this.broadcastQueries()},e.prototype.stopQueryNoBroadcast=function(e){this.stopQueryInStoreNoBroadcast(e),this.removeQuery(e)},e.prototype.removeQuery=function(e){this.fetchCancelFns.delete(e),this.queries.has(e)&&(this.getQuery(e).stop(),this.queries.delete(e))},e.prototype.broadcastQueries=function(){this.onBroadcast&&this.onBroadcast(),this.queries.forEach(function(e){return e.notify()})},e.prototype.getLocalState=function(){return this.localState},e.prototype.getObservableFromLink=function(e,t,n,r){var i,a,o=this;void 0===r&&(r=null!==(i=null==t?void 0:t.queryDeduplication)&&void 0!==i?i:this.queryDeduplication);var s=this.transform(e).serverQuery;if(s){var u=this,c=u.inFlightLinkObservables,l=u.link,f={query:s,variables:n,operationName:e3(s)||void 0,context:this.prepareContext((0,en.pi)((0,en.pi)({},t),{forceFetch:!r}))};if(t=f.context,r){var d=c.get(s)||new Map;c.set(s,d);var h=nx(n);if(!(a=d.get(h))){var p=new nq([np(l,f)]);d.set(h,a=p),p.beforeNext(function(){d.delete(h)&&d.size<1&&c.delete(s)})}}else a=new nq([np(l,f)])}else a=new nq([eT.of({data:{}})]),t=this.prepareContext(t);var b=this.transform(e).clientQuery;return b&&(a=nM(a,function(e){return o.localState.runResolvers({document:b,remoteResult:e,context:t,variables:n})})),a},e.prototype.getResultsFromLink=function(e,t,n){var r=e.lastRequestId=this.generateRequestId(),i=this.cache.transformForLink(this.transform(e.document).document);return nM(this.getObservableFromLink(i,n.context,n.variables),function(a){var o=nA(a),s=o.length>0;if(r>=e.lastRequestId){if(s&&"none"===n.errorPolicy)throw e.markError(new tN.cA({graphQLErrors:o}));e.markResult(a,i,n,t),e.markReady()}var u={data:a.data,loading:!1,networkStatus:nZ.I.ready};return s&&"ignore"!==n.errorPolicy&&(u.errors=o,u.networkStatus=nZ.I.error),u},function(t){var n=(0,tN.MS)(t)?t:new tN.cA({networkError:t});throw r>=e.lastRequestId&&e.markError(n),n})},e.prototype.fetchQueryObservable=function(e,t,n){return this.fetchConcastWithInfo(e,t,n).concast},e.prototype.fetchConcastWithInfo=function(e,t,n){var r,i,a=this;void 0===n&&(n=nZ.I.loading);var o=this.transform(t.query).document,s=this.getVariables(o,t.variables),u=this.getQuery(e),c=this.defaultOptions.watchQuery,l=t.fetchPolicy,f=void 0===l?c&&c.fetchPolicy||"cache-first":l,d=t.errorPolicy,h=void 0===d?c&&c.errorPolicy||"none":d,p=t.returnPartialData,b=void 0!==p&&p,m=t.notifyOnNetworkStatusChange,g=void 0!==m&&m,v=t.context,y=void 0===v?{}:v,w=Object.assign({},t,{query:o,variables:s,fetchPolicy:f,errorPolicy:h,returnPartialData:b,notifyOnNetworkStatusChange:g,context:y}),_=function(e){w.variables=e;var r=a.fetchQueryByPolicy(u,w,n);return"standby"!==w.fetchPolicy&&r.sources.length>0&&u.observableQuery&&u.observableQuery.applyNextFetchPolicy("after-fetch",t),r},E=function(){return a.fetchCancelFns.delete(e)};if(this.fetchCancelFns.set(e,function(e){E(),setTimeout(function(){return r.cancel(e)})}),this.transform(w.query).hasClientExports)r=new nq(this.localState.addExportedVariables(w.query,w.variables,w.context).then(_).then(function(e){return e.sources})),i=!0;else{var S=_(w.variables);i=S.fromLink,r=new nq(S.sources)}return r.promise.then(E,E),{concast:r,fromLink:i}},e.prototype.refetchQueries=function(e){var t=this,n=e.updateCache,r=e.include,i=e.optimistic,a=void 0!==i&&i,o=e.removeOptimistic,s=void 0===o?a?nG("refetchQueries"):void 0:o,u=e.onQueryUpdated,c=new Map;r&&this.getObservableQueries(r).forEach(function(e,n){c.set(n,{oq:e,lastDiff:t.getQuery(n).getDiff()})});var l=new Map;return n&&this.cache.batch({update:n,optimistic:a&&s||!1,removeOptimistic:s,onWatchUpdated:function(e,t,n){var r=e.watcher instanceof r9&&e.watcher.observableQuery;if(r){if(u){c.delete(r.queryId);var i=u(r,t,n);return!0===i&&(i=r.refetch()),!1!==i&&l.set(r,i),i}null!==u&&c.set(r.queryId,{oq:r,lastDiff:n,diff:t})}}}),c.size&&c.forEach(function(e,n){var r,i=e.oq,a=e.lastDiff,o=e.diff;if(u){if(!o){var s=i.queryInfo;s.reset(),o=s.getDiff()}r=u(i,o,a)}u&&!0!==r||(r=i.refetch()),!1!==r&&l.set(i,r),n.indexOf("legacyOneTimeQuery")>=0&&t.stopQueryNoBroadcast(n)}),s&&this.cache.removeOptimistic(s),l},e.prototype.fetchQueryByPolicy=function(e,t,n){var r=this,i=t.query,a=t.variables,o=t.fetchPolicy,s=t.refetchWritePolicy,u=t.errorPolicy,c=t.returnPartialData,l=t.context,f=t.notifyOnNetworkStatusChange,d=e.networkStatus;e.init({document:this.transform(i).document,variables:a,networkStatus:n});var h=function(){return e.getDiff(a)},p=function(t,n){void 0===n&&(n=e.networkStatus||nZ.I.loading);var o=t.result;!__DEV__||c||(0,nm.D)(o,{})||n5(t.missing);var s=function(e){return eT.of((0,en.pi)({data:e,loading:(0,nZ.O)(n),networkStatus:n},t.complete?null:{partial:!0}))};return o&&r.transform(i).hasForcedResolvers?r.localState.runResolvers({document:i,remoteResult:{data:o},context:l,variables:a,onlyRunForcedResolvers:!0}).then(function(e){return s(e.data||void 0)}):"none"===u&&n===nZ.I.refetch&&Array.isArray(t.missing)?s(void 0):s(o)},b="no-cache"===o?0:n===nZ.I.refetch&&"merge"!==s?1:2,m=function(){return r.getResultsFromLink(e,b,{variables:a,context:l,fetchPolicy:o,errorPolicy:u})},g=f&&"number"==typeof d&&d!==n&&(0,nZ.O)(n);switch(o){default:case"cache-first":var v=h();if(v.complete)return{fromLink:!1,sources:[p(v,e.markReady())]};if(c||g)return{fromLink:!0,sources:[p(v),m()]};return{fromLink:!0,sources:[m()]};case"cache-and-network":var v=h();if(v.complete||c||g)return{fromLink:!0,sources:[p(v),m()]};return{fromLink:!0,sources:[m()]};case"cache-only":return{fromLink:!1,sources:[p(h(),e.markReady())]};case"network-only":if(g)return{fromLink:!0,sources:[p(h()),m()]};return{fromLink:!0,sources:[m()]};case"no-cache":if(g)return{fromLink:!0,sources:[p(e.getDiff()),m(),]};return{fromLink:!0,sources:[m()]};case"standby":return{fromLink:!1,sources:[]}}},e.prototype.getQuery=function(e){return e&&!this.queries.has(e)&&this.queries.set(e,new r9(this,e)),this.queries.get(e)},e.prototype.prepareContext=function(e){void 0===e&&(e={});var t=this.localState.prepareContext(e);return(0,en.pi)((0,en.pi)({},t),{clientAwareness:this.clientAwareness})},e}(),ir=__webpack_require__(14012),ii=!1,ia=function(){function e(e){var t=this;this.resetStoreCallbacks=[],this.clearStoreCallbacks=[];var n=e.uri,r=e.credentials,i=e.headers,a=e.cache,o=e.ssrMode,s=void 0!==o&&o,u=e.ssrForceFetchDelay,c=void 0===u?0:u,l=e.connectToDevTools,f=void 0===l?"object"==typeof window&&!window.__APOLLO_CLIENT__&&__DEV__:l,d=e.queryDeduplication,h=void 0===d||d,p=e.defaultOptions,b=e.assumeImmutableResults,m=void 0!==b&&b,g=e.resolvers,v=e.typeDefs,y=e.fragmentMatcher,w=e.name,_=e.version,E=e.link;if(E||(E=n?new nh({uri:n,credentials:r,headers:i}):ta.empty()),!a)throw __DEV__?new Q.ej("To initialize Apollo Client, you must specify a 'cache' property in the options object. \nFor more information, please visit: https://go.apollo.dev/c/docs"):new Q.ej(9);if(this.link=E,this.cache=a,this.disableNetworkFetches=s||c>0,this.queryDeduplication=h,this.defaultOptions=p||Object.create(null),this.typeDefs=v,c&&setTimeout(function(){return t.disableNetworkFetches=!1},c),this.watchQuery=this.watchQuery.bind(this),this.query=this.query.bind(this),this.mutate=this.mutate.bind(this),this.resetStore=this.resetStore.bind(this),this.reFetchObservableQueries=this.reFetchObservableQueries.bind(this),f&&"object"==typeof window&&(window.__APOLLO_CLIENT__=this),!ii&&f&&__DEV__&&(ii=!0,"undefined"!=typeof window&&window.document&&window.top===window.self&&!window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__)){var S=window.navigator,k=S&&S.userAgent,x=void 0;"string"==typeof k&&(k.indexOf("Chrome/")>-1?x="https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm":k.indexOf("Firefox/")>-1&&(x="https://addons.mozilla.org/en-US/firefox/addon/apollo-developer-tools/")),x&&__DEV__&&Q.kG.log("Download the Apollo DevTools for a better development experience: "+x)}this.version=nb,this.localState=new r4({cache:a,client:this,resolvers:g,fragmentMatcher:y}),this.queryManager=new it({cache:this.cache,link:this.link,defaultOptions:this.defaultOptions,queryDeduplication:h,ssrMode:s,clientAwareness:{name:w,version:_},localState:this.localState,assumeImmutableResults:m,onBroadcast:f?function(){t.devToolsHookCb&&t.devToolsHookCb({action:{},state:{queries:t.queryManager.getQueryStore(),mutations:t.queryManager.mutationStore||{}},dataWithOptimisticResults:t.cache.extract(!0)})}:void 0})}return e.prototype.stop=function(){this.queryManager.stop()},e.prototype.watchQuery=function(e){return this.defaultOptions.watchQuery&&(e=(0,ir.J)(this.defaultOptions.watchQuery,e)),this.disableNetworkFetches&&("network-only"===e.fetchPolicy||"cache-and-network"===e.fetchPolicy)&&(e=(0,en.pi)((0,en.pi)({},e),{fetchPolicy:"cache-first"})),this.queryManager.watchQuery(e)},e.prototype.query=function(e){return this.defaultOptions.query&&(e=(0,ir.J)(this.defaultOptions.query,e)),__DEV__?(0,Q.kG)("cache-and-network"!==e.fetchPolicy,"The cache-and-network fetchPolicy does not work with client.query, because client.query can only return a single result. Please use client.watchQuery to receive multiple results from the cache and the network, or consider using a different fetchPolicy, such as cache-first or network-only."):(0,Q.kG)("cache-and-network"!==e.fetchPolicy,10),this.disableNetworkFetches&&"network-only"===e.fetchPolicy&&(e=(0,en.pi)((0,en.pi)({},e),{fetchPolicy:"cache-first"})),this.queryManager.query(e)},e.prototype.mutate=function(e){return this.defaultOptions.mutate&&(e=(0,ir.J)(this.defaultOptions.mutate,e)),this.queryManager.mutate(e)},e.prototype.subscribe=function(e){return this.queryManager.startGraphQLSubscription(e)},e.prototype.readQuery=function(e,t){return void 0===t&&(t=!1),this.cache.readQuery(e,t)},e.prototype.readFragment=function(e,t){return void 0===t&&(t=!1),this.cache.readFragment(e,t)},e.prototype.writeQuery=function(e){var t=this.cache.writeQuery(e);return!1!==e.broadcast&&this.queryManager.broadcastQueries(),t},e.prototype.writeFragment=function(e){var t=this.cache.writeFragment(e);return!1!==e.broadcast&&this.queryManager.broadcastQueries(),t},e.prototype.__actionHookForDevTools=function(e){this.devToolsHookCb=e},e.prototype.__requestRaw=function(e){return np(this.link,e)},e.prototype.resetStore=function(){var e=this;return Promise.resolve().then(function(){return e.queryManager.clearStore({discardWatches:!1})}).then(function(){return Promise.all(e.resetStoreCallbacks.map(function(e){return e()}))}).then(function(){return e.reFetchObservableQueries()})},e.prototype.clearStore=function(){var e=this;return Promise.resolve().then(function(){return e.queryManager.clearStore({discardWatches:!0})}).then(function(){return Promise.all(e.clearStoreCallbacks.map(function(e){return e()}))})},e.prototype.onResetStore=function(e){var t=this;return this.resetStoreCallbacks.push(e),function(){t.resetStoreCallbacks=t.resetStoreCallbacks.filter(function(t){return t!==e})}},e.prototype.onClearStore=function(e){var t=this;return this.clearStoreCallbacks.push(e),function(){t.clearStoreCallbacks=t.clearStoreCallbacks.filter(function(t){return t!==e})}},e.prototype.reFetchObservableQueries=function(e){return this.queryManager.reFetchObservableQueries(e)},e.prototype.refetchQueries=function(e){var t=this.queryManager.refetchQueries(e),n=[],r=[];t.forEach(function(e,t){n.push(t),r.push(e)});var i=Promise.all(r);return i.queries=n,i.results=r,i.catch(function(e){__DEV__&&Q.kG.debug("In client.refetchQueries, Promise.all promise rejected with error ".concat(e))}),i},e.prototype.getObservableQueries=function(e){return void 0===e&&(e="active"),this.queryManager.getObservableQueries(e)},e.prototype.extract=function(e){return this.cache.extract(e)},e.prototype.restore=function(e){return this.cache.restore(e)},e.prototype.addResolvers=function(e){this.localState.addResolvers(e)},e.prototype.setResolvers=function(e){this.localState.setResolvers(e)},e.prototype.getResolvers=function(){return this.localState.getResolvers()},e.prototype.setLocalStateFragmentMatcher=function(e){this.localState.setFragmentMatcher(e)},e.prototype.setLink=function(e){this.link=this.queryManager.link=e},e}(),io=function(){function e(){this.getFragmentDoc=rZ(eA)}return e.prototype.batch=function(e){var t,n=this,r="string"==typeof e.optimistic?e.optimistic:!1===e.optimistic?null:void 0;return this.performTransaction(function(){return t=e.update(n)},r),t},e.prototype.recordOptimisticTransaction=function(e,t){this.performTransaction(e,t)},e.prototype.transformDocument=function(e){return e},e.prototype.transformForLink=function(e){return e},e.prototype.identify=function(e){},e.prototype.gc=function(){return[]},e.prototype.modify=function(e){return!1},e.prototype.readQuery=function(e,t){return void 0===t&&(t=!!e.optimistic),this.read((0,en.pi)((0,en.pi)({},e),{rootId:e.id||"ROOT_QUERY",optimistic:t}))},e.prototype.readFragment=function(e,t){return void 0===t&&(t=!!e.optimistic),this.read((0,en.pi)((0,en.pi)({},e),{query:this.getFragmentDoc(e.fragment,e.fragmentName),rootId:e.id,optimistic:t}))},e.prototype.writeQuery=function(e){var t=e.id,n=e.data,r=(0,en._T)(e,["id","data"]);return this.write(Object.assign(r,{dataId:t||"ROOT_QUERY",result:n}))},e.prototype.writeFragment=function(e){var t=e.id,n=e.data,r=e.fragment,i=e.fragmentName,a=(0,en._T)(e,["id","data","fragment","fragmentName"]);return this.write(Object.assign(a,{query:this.getFragmentDoc(r,i),dataId:t,result:n}))},e.prototype.updateQuery=function(e,t){return this.batch({update:function(n){var r=n.readQuery(e),i=t(r);return null==i?r:(n.writeQuery((0,en.pi)((0,en.pi)({},e),{data:i})),i)}})},e.prototype.updateFragment=function(e,t){return this.batch({update:function(n){var r=n.readFragment(e),i=t(r);return null==i?r:(n.writeFragment((0,en.pi)((0,en.pi)({},e),{data:i})),i)}})},e}(),is=function(e){function t(n,r,i,a){var o,s=e.call(this,n)||this;if(s.message=n,s.path=r,s.query=i,s.variables=a,Array.isArray(s.path)){s.missing=s.message;for(var u=s.path.length-1;u>=0;--u)s.missing=((o={})[s.path[u]]=s.missing,o)}else s.missing=s.path;return s.__proto__=t.prototype,s}return(0,en.ZT)(t,e),t}(Error),iu=__webpack_require__(10542),ic=Object.prototype.hasOwnProperty;function il(e){return null==e}function id(e,t){var n=e.__typename,r=e.id,i=e._id;if("string"==typeof n&&(t&&(t.keyObject=il(r)?il(i)?void 0:{_id:i}:{id:r}),il(r)&&!il(i)&&(r=i),!il(r)))return"".concat(n,":").concat("number"==typeof r||"string"==typeof r?r:JSON.stringify(r))}var ih={dataIdFromObject:id,addTypename:!0,resultCaching:!0,canonizeResults:!1};function ip(e){return(0,n1.o)(ih,e)}function ib(e){var t=e.canonizeResults;return void 0===t?ih.canonizeResults:t}function im(e,t){return eD(t)?e.get(t.__ref,"__typename"):t&&t.__typename}var ig=/^[_a-z][_0-9a-z]*/i;function iv(e){var t=e.match(ig);return t?t[0]:e}function iy(e,t,n){return!!(0,eO.s)(t)&&((0,tP.k)(t)?t.every(function(t){return iy(e,t,n)}):e.selections.every(function(e){if(eQ(e)&&td(e,n)){var r=eX(e);return ic.call(t,r)&&(!e.selectionSet||iy(e.selectionSet,t[r],n))}return!0}))}function iw(e){return(0,eO.s)(e)&&!eD(e)&&!(0,tP.k)(e)}function i_(){return new tB}function iE(e,t){var n=eL(e4(e));return{fragmentMap:n,lookupFragment:function(e){var r=n[e];return!r&&t&&(r=t.lookup(e)),r||null}}}var iS=Object.create(null),ik=function(){return iS},ix=Object.create(null),iT=function(){function e(e,t){var n=this;this.policies=e,this.group=t,this.data=Object.create(null),this.rootIds=Object.create(null),this.refs=Object.create(null),this.getFieldValue=function(e,t){return(0,iu.J)(eD(e)?n.get(e.__ref,t):e&&e[t])},this.canRead=function(e){return eD(e)?n.has(e.__ref):"object"==typeof e},this.toReference=function(e,t){if("string"==typeof e)return eI(e);if(eD(e))return e;var r=n.policies.identify(e)[0];if(r){var i=eI(r);return t&&n.merge(r,e),i}}}return e.prototype.toObject=function(){return(0,en.pi)({},this.data)},e.prototype.has=function(e){return void 0!==this.lookup(e,!0)},e.prototype.get=function(e,t){if(this.group.depend(e,t),ic.call(this.data,e)){var n=this.data[e];if(n&&ic.call(n,t))return n[t]}return"__typename"===t&&ic.call(this.policies.rootTypenamesById,e)?this.policies.rootTypenamesById[e]:this instanceof iL?this.parent.get(e,t):void 0},e.prototype.lookup=function(e,t){return(t&&this.group.depend(e,"__exists"),ic.call(this.data,e))?this.data[e]:this instanceof iL?this.parent.lookup(e,t):this.policies.rootTypenamesById[e]?Object.create(null):void 0},e.prototype.merge=function(e,t){var n,r=this;eD(e)&&(e=e.__ref),eD(t)&&(t=t.__ref);var i="string"==typeof e?this.lookup(n=e):e,a="string"==typeof t?this.lookup(n=t):t;if(a){__DEV__?(0,Q.kG)("string"==typeof n,"store.merge expects a string ID"):(0,Q.kG)("string"==typeof n,1);var o=new tB(iI).merge(i,a);if(this.data[n]=o,o!==i&&(delete this.refs[n],this.group.caching)){var s=Object.create(null);i||(s.__exists=1),Object.keys(a).forEach(function(e){if(!i||i[e]!==o[e]){s[e]=1;var t=iv(e);t===e||r.policies.hasKeyArgs(o.__typename,t)||(s[t]=1),void 0!==o[e]||r instanceof iL||delete o[e]}}),s.__typename&&!(i&&i.__typename)&&this.policies.rootTypenamesById[n]===o.__typename&&delete s.__typename,Object.keys(s).forEach(function(e){return r.group.dirty(n,e)})}}},e.prototype.modify=function(e,t){var n=this,r=this.lookup(e);if(r){var i=Object.create(null),a=!1,o=!0,s={DELETE:iS,INVALIDATE:ix,isReference:eD,toReference:this.toReference,canRead:this.canRead,readField:function(t,r){return n.policies.readField("string"==typeof t?{fieldName:t,from:r||eI(e)}:t,{store:n})}};if(Object.keys(r).forEach(function(u){var c=iv(u),l=r[u];if(void 0!==l){var f="function"==typeof t?t:t[u]||t[c];if(f){var d=f===ik?iS:f((0,iu.J)(l),(0,en.pi)((0,en.pi)({},s),{fieldName:c,storeFieldName:u,storage:n.getStorage(e,u)}));d===ix?n.group.dirty(e,u):(d===iS&&(d=void 0),d!==l&&(i[u]=d,a=!0,l=d))}void 0!==l&&(o=!1)}}),a)return this.merge(e,i),o&&(this instanceof iL?this.data[e]=void 0:delete this.data[e],this.group.dirty(e,"__exists")),!0}return!1},e.prototype.delete=function(e,t,n){var r,i=this.lookup(e);if(i){var a=this.getFieldValue(i,"__typename"),o=t&&n?this.policies.getStoreFieldName({typename:a,fieldName:t,args:n}):t;return this.modify(e,o?((r={})[o]=ik,r):ik)}return!1},e.prototype.evict=function(e,t){var n=!1;return e.id&&(ic.call(this.data,e.id)&&(n=this.delete(e.id,e.fieldName,e.args)),this instanceof iL&&this!==t&&(n=this.parent.evict(e,t)||n),(e.fieldName||n)&&this.group.dirty(e.id,e.fieldName||"__exists")),n},e.prototype.clear=function(){this.replace(null)},e.prototype.extract=function(){var e=this,t=this.toObject(),n=[];return this.getRootIdSet().forEach(function(t){ic.call(e.policies.rootTypenamesById,t)||n.push(t)}),n.length&&(t.__META={extraRootIds:n.sort()}),t},e.prototype.replace=function(e){var t=this;if(Object.keys(this.data).forEach(function(n){e&&ic.call(e,n)||t.delete(n)}),e){var n=e.__META,r=(0,en._T)(e,["__META"]);Object.keys(r).forEach(function(e){t.merge(e,r[e])}),n&&n.extraRootIds.forEach(this.retain,this)}},e.prototype.retain=function(e){return this.rootIds[e]=(this.rootIds[e]||0)+1},e.prototype.release=function(e){if(this.rootIds[e]>0){var t=--this.rootIds[e];return t||delete this.rootIds[e],t}return 0},e.prototype.getRootIdSet=function(e){return void 0===e&&(e=new Set),Object.keys(this.rootIds).forEach(e.add,e),this instanceof iL?this.parent.getRootIdSet(e):Object.keys(this.policies.rootTypenamesById).forEach(e.add,e),e},e.prototype.gc=function(){var e=this,t=this.getRootIdSet(),n=this.toObject();t.forEach(function(r){ic.call(n,r)&&(Object.keys(e.findChildRefIds(r)).forEach(t.add,t),delete n[r])});var r=Object.keys(n);if(r.length){for(var i=this;i instanceof iL;)i=i.parent;r.forEach(function(e){return i.delete(e)})}return r},e.prototype.findChildRefIds=function(e){if(!ic.call(this.refs,e)){var t=this.refs[e]=Object.create(null),n=this.data[e];if(!n)return t;var r=new Set([n]);r.forEach(function(e){eD(e)&&(t[e.__ref]=!0),(0,eO.s)(e)&&Object.keys(e).forEach(function(t){var n=e[t];(0,eO.s)(n)&&r.add(n)})})}return this.refs[e]},e.prototype.makeCacheKey=function(){return this.group.keyMaker.lookupArray(arguments)},e}(),iM=function(){function e(e,t){void 0===t&&(t=null),this.caching=e,this.parent=t,this.d=null,this.resetCaching()}return e.prototype.resetCaching=function(){this.d=this.caching?rW():null,this.keyMaker=new n_(t_.mr)},e.prototype.depend=function(e,t){if(this.d){this.d(iO(e,t));var n=iv(t);n!==t&&this.d(iO(e,n)),this.parent&&this.parent.depend(e,t)}},e.prototype.dirty=function(e,t){this.d&&this.d.dirty(iO(e,t),"__exists"===t?"forget":"setDirty")},e}();function iO(e,t){return t+"#"+e}function iA(e,t){iD(e)&&e.group.depend(t,"__exists")}!function(e){var t=function(e){function t(t){var n=t.policies,r=t.resultCaching,i=void 0===r||r,a=t.seed,o=e.call(this,n,new iM(i))||this;return o.stump=new iC(o),o.storageTrie=new n_(t_.mr),a&&o.replace(a),o}return(0,en.ZT)(t,e),t.prototype.addLayer=function(e,t){return this.stump.addLayer(e,t)},t.prototype.removeLayer=function(){return this},t.prototype.getStorage=function(){return this.storageTrie.lookupArray(arguments)},t}(e);e.Root=t}(iT||(iT={}));var iL=function(e){function t(t,n,r,i){var a=e.call(this,n.policies,i)||this;return a.id=t,a.parent=n,a.replay=r,a.group=i,r(a),a}return(0,en.ZT)(t,e),t.prototype.addLayer=function(e,n){return new t(e,this,n,this.group)},t.prototype.removeLayer=function(e){var t=this,n=this.parent.removeLayer(e);return e===this.id?(this.group.caching&&Object.keys(this.data).forEach(function(e){var r=t.data[e],i=n.lookup(e);i?r?r!==i&&Object.keys(r).forEach(function(n){(0,nm.D)(r[n],i[n])||t.group.dirty(e,n)}):(t.group.dirty(e,"__exists"),Object.keys(i).forEach(function(n){t.group.dirty(e,n)})):t.delete(e)}),n):n===this.parent?this:n.addLayer(this.id,this.replay)},t.prototype.toObject=function(){return(0,en.pi)((0,en.pi)({},this.parent.toObject()),this.data)},t.prototype.findChildRefIds=function(t){var n=this.parent.findChildRefIds(t);return ic.call(this.data,t)?(0,en.pi)((0,en.pi)({},n),e.prototype.findChildRefIds.call(this,t)):n},t.prototype.getStorage=function(){for(var e=this.parent;e.parent;)e=e.parent;return e.getStorage.apply(e,arguments)},t}(iT),iC=function(e){function t(t){return e.call(this,"EntityStore.Stump",t,function(){},new iM(t.group.caching,t.group))||this}return(0,en.ZT)(t,e),t.prototype.removeLayer=function(){return this},t.prototype.merge=function(){return this.parent.merge.apply(this.parent,arguments)},t}(iL);function iI(e,t,n){var r=e[n],i=t[n];return(0,nm.D)(r,i)?r:i}function iD(e){return!!(e instanceof iT&&e.group.caching)}function iN(e){return[e.selectionSet,e.objectOrReference,e.context,e.context.canonizeResults,]}var iP=function(){function e(e){var t=this;this.knownResults=new(t_.mr?WeakMap:Map),this.config=(0,n1.o)(e,{addTypename:!1!==e.addTypename,canonizeResults:ib(e)}),this.canon=e.canon||new nk,this.executeSelectionSet=rZ(function(e){var n,r=e.context.canonizeResults,i=iN(e);i[3]=!r;var a=(n=t.executeSelectionSet).peek.apply(n,i);return a?r?(0,en.pi)((0,en.pi)({},a),{result:t.canon.admit(a.result)}):a:(iA(e.context.store,e.enclosingRef.__ref),t.execSelectionSetImpl(e))},{max:this.config.resultCacheMaxSize,keyArgs:iN,makeCacheKey:function(e,t,n,r){if(iD(n.store))return n.store.makeCacheKey(e,eD(t)?t.__ref:t,n.varString,r)}}),this.executeSubSelectedArray=rZ(function(e){return iA(e.context.store,e.enclosingRef.__ref),t.execSubSelectedArrayImpl(e)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(e){var t=e.field,n=e.array,r=e.context;if(iD(r.store))return r.store.makeCacheKey(t,n,r.varString)}})}return e.prototype.resetCanon=function(){this.canon=new nk},e.prototype.diffQueryAgainstStore=function(e){var t,n=e.store,r=e.query,i=e.rootId,a=void 0===i?"ROOT_QUERY":i,o=e.variables,s=e.returnPartialData,u=void 0===s||s,c=e.canonizeResults,l=void 0===c?this.config.canonizeResults:c,f=this.config.cache.policies;o=(0,en.pi)((0,en.pi)({},e9(e6(r))),o);var d=eI(a),h=this.executeSelectionSet({selectionSet:e8(r).selectionSet,objectOrReference:d,enclosingRef:d,context:(0,en.pi)({store:n,query:r,policies:f,variables:o,varString:nx(o),canonizeResults:l},iE(r,this.config.fragments))});if(h.missing&&(t=[new is(iR(h.missing),h.missing,r,o)],!u))throw t[0];return{result:h.result,complete:!t,missing:t}},e.prototype.isFresh=function(e,t,n,r){if(iD(r.store)&&this.knownResults.get(e)===n){var i=this.executeSelectionSet.peek(n,t,r,this.canon.isKnown(e));if(i&&e===i.result)return!0}return!1},e.prototype.execSelectionSetImpl=function(e){var t,n=this,r=e.selectionSet,i=e.objectOrReference,a=e.enclosingRef,o=e.context;if(eD(i)&&!o.policies.rootTypenamesById[i.__ref]&&!o.store.has(i.__ref))return{result:this.canon.empty,missing:"Dangling reference to missing ".concat(i.__ref," object")};var s=o.variables,u=o.policies,c=o.store.getFieldValue(i,"__typename"),l=[],f=new tB;function d(e,n){var r;return e.missing&&(t=f.merge(t,((r={})[n]=e.missing,r))),e.result}this.config.addTypename&&"string"==typeof c&&!u.rootIdsByTypename[c]&&l.push({__typename:c});var h=new Set(r.selections);h.forEach(function(e){var r,p;if(td(e,s)){if(eQ(e)){var b=u.readField({fieldName:e.name.value,field:e,variables:o.variables,from:i},o),m=eX(e);void 0===b?nj.added(e)||(t=f.merge(t,((r={})[m]="Can't find field '".concat(e.name.value,"' on ").concat(eD(i)?i.__ref+" object":"object "+JSON.stringify(i,null,2)),r))):(0,tP.k)(b)?b=d(n.executeSubSelectedArray({field:e,array:b,enclosingRef:a,context:o}),m):e.selectionSet?null!=b&&(b=d(n.executeSelectionSet({selectionSet:e.selectionSet,objectOrReference:b,enclosingRef:eD(b)?b:a,context:o}),m)):o.canonizeResults&&(b=n.canon.pass(b)),void 0!==b&&l.push(((p={})[m]=b,p))}else{var g=eC(e,o.lookupFragment);if(!g&&e.kind===nL.h.FRAGMENT_SPREAD)throw __DEV__?new Q.ej("No fragment named ".concat(e.name.value)):new Q.ej(5);g&&u.fragmentMatches(g,c)&&g.selectionSet.selections.forEach(h.add,h)}}});var p={result:tF(l),missing:t},b=o.canonizeResults?this.canon.admit(p):(0,iu.J)(p);return b.result&&this.knownResults.set(b.result,r),b},e.prototype.execSubSelectedArrayImpl=function(e){var t,n=this,r=e.field,i=e.array,a=e.enclosingRef,o=e.context,s=new tB;function u(e,n){var r;return e.missing&&(t=s.merge(t,((r={})[n]=e.missing,r))),e.result}return r.selectionSet&&(i=i.filter(o.store.canRead)),i=i.map(function(e,t){return null===e?null:(0,tP.k)(e)?u(n.executeSubSelectedArray({field:r,array:e,enclosingRef:a,context:o}),t):r.selectionSet?u(n.executeSelectionSet({selectionSet:r.selectionSet,objectOrReference:e,enclosingRef:eD(e)?e:a,context:o}),t):(__DEV__&&ij(o.store,r,e),e)}),{result:o.canonizeResults?this.canon.admit(i):i,missing:t}},e}();function iR(e){try{JSON.stringify(e,function(e,t){if("string"==typeof t)throw t;return t})}catch(t){return t}}function ij(e,t,n){if(!t.selectionSet){var r=new Set([n]);r.forEach(function(n){(0,eO.s)(n)&&(__DEV__?(0,Q.kG)(!eD(n),"Missing selection set for object of type ".concat(im(e,n)," returned for query field ").concat(t.name.value)):(0,Q.kG)(!eD(n),6),Object.values(n).forEach(r.add,r))})}}function iF(e){var t=nG("stringifyForDisplay");return JSON.stringify(e,function(e,n){return void 0===n?t:n}).split(JSON.stringify(t)).join("")}var iY=Object.create(null);function iB(e){var t=JSON.stringify(e);return iY[t]||(iY[t]=Object.create(null))}function iU(e){var t=iB(e);return t.keyFieldsFn||(t.keyFieldsFn=function(t,n){var r=function(e,t){return n.readField(t,e)},i=n.keyObject=i$(e,function(e){var i=iW(n.storeObject,e,r);return void 0===i&&t!==n.storeObject&&ic.call(t,e[0])&&(i=iW(t,e,iG)),__DEV__?(0,Q.kG)(void 0!==i,"Missing field '".concat(e.join("."),"' while extracting keyFields from ").concat(JSON.stringify(t))):(0,Q.kG)(void 0!==i,2),i});return"".concat(n.typename,":").concat(JSON.stringify(i))})}function iH(e){var t=iB(e);return t.keyArgsFn||(t.keyArgsFn=function(t,n){var r=n.field,i=n.variables,a=n.fieldName,o=JSON.stringify(i$(e,function(e){var n=e[0],a=n.charAt(0);if("@"===a){if(r&&(0,tP.O)(r.directives)){var o=n.slice(1),s=r.directives.find(function(e){return e.name.value===o}),u=s&&eZ(s,i);return u&&iW(u,e.slice(1))}return}if("$"===a){var c=n.slice(1);if(i&&ic.call(i,c)){var l=e.slice(0);return l[0]=c,iW(i,l)}return}if(t)return iW(t,e)}));return(t||"{}"!==o)&&(a+=":"+o),a})}function i$(e,t){var n=new tB;return iz(e).reduce(function(e,r){var i,a=t(r);if(void 0!==a){for(var o=r.length-1;o>=0;--o)a=((i={})[r[o]]=a,i);e=n.merge(e,a)}return e},Object.create(null))}function iz(e){var t=iB(e);if(!t.paths){var n=t.paths=[],r=[];e.forEach(function(t,i){(0,tP.k)(t)?(iz(t).forEach(function(e){return n.push(r.concat(e))}),r.length=0):(r.push(t),(0,tP.k)(e[i+1])||(n.push(r.slice(0)),r.length=0))})}return t.paths}function iG(e,t){return e[t]}function iW(e,t,n){return n=n||iG,iK(t.reduce(function e(t,r){return(0,tP.k)(t)?t.map(function(t){return e(t,r)}):t&&n(t,r)},e))}function iK(e){return(0,eO.s)(e)?(0,tP.k)(e)?e.map(iK):i$(Object.keys(e).sort(),function(t){return iW(e,t)}):e}function iV(e){return void 0!==e.args?e.args:e.field?eZ(e.field,e.variables):null}eK.setStringify(nx);var iq=function(){},iZ=function(e,t){return t.fieldName},iX=function(e,t,n){return(0,n.mergeObjects)(e,t)},iJ=function(e,t){return t},iQ=function(){function e(e){this.config=e,this.typePolicies=Object.create(null),this.toBeAdded=Object.create(null),this.supertypeMap=new Map,this.fuzzySubtypes=new Map,this.rootIdsByTypename=Object.create(null),this.rootTypenamesById=Object.create(null),this.usingPossibleTypes=!1,this.config=(0,en.pi)({dataIdFromObject:id},e),this.cache=this.config.cache,this.setRootTypename("Query"),this.setRootTypename("Mutation"),this.setRootTypename("Subscription"),e.possibleTypes&&this.addPossibleTypes(e.possibleTypes),e.typePolicies&&this.addTypePolicies(e.typePolicies)}return e.prototype.identify=function(e,t){var n,r,i=this,a=t&&(t.typename||(null===(n=t.storeObject)||void 0===n?void 0:n.__typename))||e.__typename;if(a===this.rootTypenamesById.ROOT_QUERY)return["ROOT_QUERY"];for(var o=t&&t.storeObject||e,s=(0,en.pi)((0,en.pi)({},t),{typename:a,storeObject:o,readField:t&&t.readField||function(){var e=i0(arguments,o);return i.readField(e,{store:i.cache.data,variables:e.variables})}}),u=a&&this.getTypePolicy(a),c=u&&u.keyFn||this.config.dataIdFromObject;c;){var l=c((0,en.pi)((0,en.pi)({},e),o),s);if((0,tP.k)(l))c=iU(l);else{r=l;break}}return r=r?String(r):void 0,s.keyObject?[r,s.keyObject]:[r]},e.prototype.addTypePolicies=function(e){var t=this;Object.keys(e).forEach(function(n){var r=e[n],i=r.queryType,a=r.mutationType,o=r.subscriptionType,s=(0,en._T)(r,["queryType","mutationType","subscriptionType"]);i&&t.setRootTypename("Query",n),a&&t.setRootTypename("Mutation",n),o&&t.setRootTypename("Subscription",n),ic.call(t.toBeAdded,n)?t.toBeAdded[n].push(s):t.toBeAdded[n]=[s]})},e.prototype.updateTypePolicy=function(e,t){var n=this,r=this.getTypePolicy(e),i=t.keyFields,a=t.fields;function o(e,t){e.merge="function"==typeof t?t:!0===t?iX:!1===t?iJ:e.merge}o(r,t.merge),r.keyFn=!1===i?iq:(0,tP.k)(i)?iU(i):"function"==typeof i?i:r.keyFn,a&&Object.keys(a).forEach(function(t){var r=n.getFieldPolicy(e,t,!0),i=a[t];if("function"==typeof i)r.read=i;else{var s=i.keyArgs,u=i.read,c=i.merge;r.keyFn=!1===s?iZ:(0,tP.k)(s)?iH(s):"function"==typeof s?s:r.keyFn,"function"==typeof u&&(r.read=u),o(r,c)}r.read&&r.merge&&(r.keyFn=r.keyFn||iZ)})},e.prototype.setRootTypename=function(e,t){void 0===t&&(t=e);var n="ROOT_"+e.toUpperCase(),r=this.rootTypenamesById[n];t!==r&&(__DEV__?(0,Q.kG)(!r||r===e,"Cannot change root ".concat(e," __typename more than once")):(0,Q.kG)(!r||r===e,3),r&&delete this.rootIdsByTypename[r],this.rootIdsByTypename[t]=n,this.rootTypenamesById[n]=t)},e.prototype.addPossibleTypes=function(e){var t=this;this.usingPossibleTypes=!0,Object.keys(e).forEach(function(n){t.getSupertypeSet(n,!0),e[n].forEach(function(e){t.getSupertypeSet(e,!0).add(n);var r=e.match(ig);r&&r[0]===e||t.fuzzySubtypes.set(e,RegExp(e))})})},e.prototype.getTypePolicy=function(e){var t=this;if(!ic.call(this.typePolicies,e)){var n=this.typePolicies[e]=Object.create(null);n.fields=Object.create(null);var r=this.supertypeMap.get(e);r&&r.size&&r.forEach(function(e){var r=t.getTypePolicy(e),i=r.fields;Object.assign(n,(0,en._T)(r,["fields"])),Object.assign(n.fields,i)})}var i=this.toBeAdded[e];return i&&i.length&&i.splice(0).forEach(function(n){t.updateTypePolicy(e,n)}),this.typePolicies[e]},e.prototype.getFieldPolicy=function(e,t,n){if(e){var r=this.getTypePolicy(e).fields;return r[t]||n&&(r[t]=Object.create(null))}},e.prototype.getSupertypeSet=function(e,t){var n=this.supertypeMap.get(e);return!n&&t&&this.supertypeMap.set(e,n=new Set),n},e.prototype.fragmentMatches=function(e,t,n,r){var i=this;if(!e.typeCondition)return!0;if(!t)return!1;var a=e.typeCondition.name.value;if(t===a)return!0;if(this.usingPossibleTypes&&this.supertypeMap.has(a))for(var o=this.getSupertypeSet(t,!0),s=[o],u=function(e){var t=i.getSupertypeSet(e,!1);t&&t.size&&0>s.indexOf(t)&&s.push(t)},c=!!(n&&this.fuzzySubtypes.size),l=!1,f=0;f1?a:t}:(r=(0,en.pi)({},i),ic.call(r,"from")||(r.from=t)),__DEV__&&void 0===r.from&&__DEV__&&Q.kG.warn("Undefined 'from' passed to readField with arguments ".concat(iF(Array.from(e)))),void 0===r.variables&&(r.variables=n),r}function i2(e){return function(t,n){if((0,tP.k)(t)||(0,tP.k)(n))throw __DEV__?new Q.ej("Cannot automatically merge arrays"):new Q.ej(4);if((0,eO.s)(t)&&(0,eO.s)(n)){var r=e.getFieldValue(t,"__typename"),i=e.getFieldValue(n,"__typename");if(r&&i&&r!==i)return n;if(eD(t)&&iw(n))return e.merge(t.__ref,n),t;if(iw(t)&&eD(n))return e.merge(t,n.__ref),n;if(iw(t)&&iw(n))return(0,en.pi)((0,en.pi)({},t),n)}return n}}function i3(e,t,n){var r="".concat(t).concat(n),i=e.flavors.get(r);return i||e.flavors.set(r,i=e.clientOnly===t&&e.deferred===n?e:(0,en.pi)((0,en.pi)({},e),{clientOnly:t,deferred:n})),i}var i4=function(){function e(e,t,n){this.cache=e,this.reader=t,this.fragments=n}return e.prototype.writeToStore=function(e,t){var n=this,r=t.query,i=t.result,a=t.dataId,o=t.variables,s=t.overwrite,u=e2(r),c=i_();o=(0,en.pi)((0,en.pi)({},e9(u)),o);var l=(0,en.pi)((0,en.pi)({store:e,written:Object.create(null),merge:function(e,t){return c.merge(e,t)},variables:o,varString:nx(o)},iE(r,this.fragments)),{overwrite:!!s,incomingById:new Map,clientOnly:!1,deferred:!1,flavors:new Map}),f=this.processSelectionSet({result:i||Object.create(null),dataId:a,selectionSet:u.selectionSet,mergeTree:{map:new Map},context:l});if(!eD(f))throw __DEV__?new Q.ej("Could not identify object ".concat(JSON.stringify(i))):new Q.ej(7);return l.incomingById.forEach(function(t,r){var i=t.storeObject,a=t.mergeTree,o=t.fieldNodeSet,s=eI(r);if(a&&a.map.size){var u=n.applyMerges(a,s,i,l);if(eD(u))return;i=u}if(__DEV__&&!l.overwrite){var c=Object.create(null);o.forEach(function(e){e.selectionSet&&(c[e.name.value]=!0)});var f=function(e){return!0===c[iv(e)]},d=function(e){var t=a&&a.map.get(e);return Boolean(t&&t.info&&t.info.merge)};Object.keys(i).forEach(function(e){f(e)&&!d(e)&&at(s,i,e,l.store)})}e.merge(r,i)}),e.retain(f.__ref),f},e.prototype.processSelectionSet=function(e){var t=this,n=e.dataId,r=e.result,i=e.selectionSet,a=e.context,o=e.mergeTree,s=this.cache.policies,u=Object.create(null),c=n&&s.rootTypenamesById[n]||eJ(r,i,a.fragmentMap)||n&&a.store.get(n,"__typename");"string"==typeof c&&(u.__typename=c);var l=function(){var e=i0(arguments,u,a.variables);if(eD(e.from)){var t=a.incomingById.get(e.from.__ref);if(t){var n=s.readField((0,en.pi)((0,en.pi)({},e),{from:t.storeObject}),a);if(void 0!==n)return n}}return s.readField(e,a)},f=new Set;this.flattenFields(i,r,a,c).forEach(function(e,n){var i,a=r[eX(n)];if(f.add(n),void 0!==a){var d=s.getStoreFieldName({typename:c,fieldName:n.name.value,field:n,variables:e.variables}),h=i5(o,d),p=t.processFieldValue(a,n,n.selectionSet?i3(e,!1,!1):e,h),b=void 0;n.selectionSet&&(eD(p)||iw(p))&&(b=l("__typename",p));var m=s.getMergeFunction(c,n.name.value,b);m?h.info={field:n,typename:c,merge:m}:i7(o,d),u=e.merge(u,((i={})[d]=p,i))}else __DEV__&&!e.clientOnly&&!e.deferred&&!nj.added(n)&&!s.getReadFunction(c,n.name.value)&&__DEV__&&Q.kG.error("Missing field '".concat(eX(n),"' while writing result ").concat(JSON.stringify(r,null,2)).substring(0,1e3))});try{var d=s.identify(r,{typename:c,selectionSet:i,fragmentMap:a.fragmentMap,storeObject:u,readField:l}),h=d[0],p=d[1];n=n||h,p&&(u=a.merge(u,p))}catch(b){if(!n)throw b}if("string"==typeof n){var m=eI(n),g=a.written[n]||(a.written[n]=[]);if(g.indexOf(i)>=0||(g.push(i),this.reader&&this.reader.isFresh(r,m,i,a)))return m;var v=a.incomingById.get(n);return v?(v.storeObject=a.merge(v.storeObject,u),v.mergeTree=i8(v.mergeTree,o),f.forEach(function(e){return v.fieldNodeSet.add(e)})):a.incomingById.set(n,{storeObject:u,mergeTree:i9(o)?void 0:o,fieldNodeSet:f}),m}return u},e.prototype.processFieldValue=function(e,t,n,r){var i=this;return t.selectionSet&&null!==e?(0,tP.k)(e)?e.map(function(e,a){var o=i.processFieldValue(e,t,n,i5(r,a));return i7(r,a),o}):this.processSelectionSet({result:e,selectionSet:t.selectionSet,context:n,mergeTree:r}):__DEV__?nJ(e):e},e.prototype.flattenFields=function(e,t,n,r){void 0===r&&(r=eJ(t,e,n.fragmentMap));var i=new Map,a=this.cache.policies,o=new n_(!1);return function e(s,u){var c=o.lookup(s,u.clientOnly,u.deferred);c.visited||(c.visited=!0,s.selections.forEach(function(o){if(td(o,n.variables)){var s=u.clientOnly,c=u.deferred;if(!(s&&c)&&(0,tP.O)(o.directives)&&o.directives.forEach(function(e){var t=e.name.value;if("client"===t&&(s=!0),"defer"===t){var r=eZ(e,n.variables);r&&!1===r.if||(c=!0)}}),eQ(o)){var l=i.get(o);l&&(s=s&&l.clientOnly,c=c&&l.deferred),i.set(o,i3(n,s,c))}else{var f=eC(o,n.lookupFragment);if(!f&&o.kind===nL.h.FRAGMENT_SPREAD)throw __DEV__?new Q.ej("No fragment named ".concat(o.name.value)):new Q.ej(8);f&&a.fragmentMatches(f,r,t,n.variables)&&e(f.selectionSet,i3(n,s,c))}}}))}(e,n),i},e.prototype.applyMerges=function(e,t,n,r,i){var a=this;if(e.map.size&&!eD(n)){var o,s,u=!(0,tP.k)(n)&&(eD(t)||iw(t))?t:void 0,c=n;u&&!i&&(i=[eD(u)?u.__ref:u]);var l=function(e,t){return(0,tP.k)(e)?"number"==typeof t?e[t]:void 0:r.store.getFieldValue(e,String(t))};e.map.forEach(function(e,t){var n=l(u,t),o=l(c,t);if(void 0!==o){i&&i.push(t);var f=a.applyMerges(e,n,o,r,i);f!==o&&(s=s||new Map).set(t,f),i&&(0,Q.kG)(i.pop()===t)}}),s&&(n=(0,tP.k)(c)?c.slice(0):(0,en.pi)({},c),s.forEach(function(e,t){n[t]=e}))}return e.info?this.cache.policies.runMergeFunction(t,n,e.info,r,i&&(o=r.store).getStorage.apply(o,i)):n},e}(),i6=[];function i5(e,t){var n=e.map;return n.has(t)||n.set(t,i6.pop()||{map:new Map}),n.get(t)}function i8(e,t){if(e===t||!t||i9(t))return e;if(!e||i9(e))return t;var n=e.info&&t.info?(0,en.pi)((0,en.pi)({},e.info),t.info):e.info||t.info,r=e.map.size&&t.map.size,i=r?new Map:e.map.size?e.map:t.map,a={info:n,map:i};if(r){var o=new Set(t.map.keys());e.map.forEach(function(e,n){a.map.set(n,i8(e,t.map.get(n))),o.delete(n)}),o.forEach(function(n){a.map.set(n,i8(t.map.get(n),e.map.get(n)))})}return a}function i9(e){return!e||!(e.info||e.map.size)}function i7(e,t){var n=e.map,r=n.get(t);r&&i9(r)&&(i6.push(r),n.delete(t))}var ae=new Set;function at(e,t,n,r){var i=function(e){var t=r.getFieldValue(e,n);return"object"==typeof t&&t},a=i(e);if(a){var o=i(t);if(!(!o||eD(a)||(0,nm.D)(a,o)||Object.keys(a).every(function(e){return void 0!==r.getFieldValue(o,e)}))){var s=r.getFieldValue(e,"__typename")||r.getFieldValue(t,"__typename"),u=iv(n),c="".concat(s,".").concat(u);if(!ae.has(c)){ae.add(c);var l=[];(0,tP.k)(a)||(0,tP.k)(o)||[a,o].forEach(function(e){var t=r.getFieldValue(e,"__typename");"string"!=typeof t||l.includes(t)||l.push(t)}),__DEV__&&Q.kG.warn("Cache data may be lost when replacing the ".concat(u," field of a ").concat(s," object.\n\nThis could cause additional (usually avoidable) network requests to fetch data that were otherwise cached.\n\nTo address this problem (which is not a bug in Apollo Client), ").concat(l.length?"either ensure all objects of type "+l.join(" and ")+" have an ID or a custom merge function, or ":"","define a custom merge function for the ").concat(c," field, so InMemoryCache can safely merge these objects:\n\n existing: ").concat(JSON.stringify(a).slice(0,1e3),"\n incoming: ").concat(JSON.stringify(o).slice(0,1e3),"\n\nFor more information about these options, please refer to the documentation:\n\n * Ensuring entity objects have IDs: https://go.apollo.dev/c/generating-unique-identifiers\n * Defining custom merge functions: https://go.apollo.dev/c/merging-non-normalized-objects\n"))}}}}var an=function(e){function t(t){void 0===t&&(t={});var n=e.call(this)||this;return n.watches=new Set,n.typenameDocumentCache=new Map,n.makeVar=r2,n.txCount=0,n.config=ip(t),n.addTypename=!!n.config.addTypename,n.policies=new iQ({cache:n,dataIdFromObject:n.config.dataIdFromObject,possibleTypes:n.config.possibleTypes,typePolicies:n.config.typePolicies}),n.init(),n}return(0,en.ZT)(t,e),t.prototype.init=function(){var e=this.data=new iT.Root({policies:this.policies,resultCaching:this.config.resultCaching});this.optimisticData=e.stump,this.resetResultCache()},t.prototype.resetResultCache=function(e){var t=this,n=this.storeReader,r=this.config.fragments;this.storeWriter=new i4(this,this.storeReader=new iP({cache:this,addTypename:this.addTypename,resultCacheMaxSize:this.config.resultCacheMaxSize,canonizeResults:ib(this.config),canon:e?void 0:n&&n.canon,fragments:r}),r),this.maybeBroadcastWatch=rZ(function(e,n){return t.broadcastWatch(e,n)},{max:this.config.resultCacheMaxSize,makeCacheKey:function(e){var n=e.optimistic?t.optimisticData:t.data;if(iD(n)){var r=e.optimistic,i=e.id,a=e.variables;return n.makeCacheKey(e.query,e.callback,nx({optimistic:r,id:i,variables:a}))}}}),new Set([this.data.group,this.optimisticData.group,]).forEach(function(e){return e.resetCaching()})},t.prototype.restore=function(e){return this.init(),e&&this.data.replace(e),this},t.prototype.extract=function(e){return void 0===e&&(e=!1),(e?this.optimisticData:this.data).extract()},t.prototype.read=function(e){var t=e.returnPartialData,n=void 0!==t&&t;try{return this.storeReader.diffQueryAgainstStore((0,en.pi)((0,en.pi)({},e),{store:e.optimistic?this.optimisticData:this.data,config:this.config,returnPartialData:n})).result||null}catch(r){if(r instanceof is)return null;throw r}},t.prototype.write=function(e){try{return++this.txCount,this.storeWriter.writeToStore(this.data,e)}finally{--this.txCount||!1===e.broadcast||this.broadcastWatches()}},t.prototype.modify=function(e){if(ic.call(e,"id")&&!e.id)return!1;var t=e.optimistic?this.optimisticData:this.data;try{return++this.txCount,t.modify(e.id||"ROOT_QUERY",e.fields)}finally{--this.txCount||!1===e.broadcast||this.broadcastWatches()}},t.prototype.diff=function(e){return this.storeReader.diffQueryAgainstStore((0,en.pi)((0,en.pi)({},e),{store:e.optimistic?this.optimisticData:this.data,rootId:e.id||"ROOT_QUERY",config:this.config}))},t.prototype.watch=function(e){var t=this;return this.watches.size||r0(this),this.watches.add(e),e.immediate&&this.maybeBroadcastWatch(e),function(){t.watches.delete(e)&&!t.watches.size&&r1(t),t.maybeBroadcastWatch.forget(e)}},t.prototype.gc=function(e){nx.reset();var t=this.optimisticData.gc();return e&&!this.txCount&&(e.resetResultCache?this.resetResultCache(e.resetResultIdentities):e.resetResultIdentities&&this.storeReader.resetCanon()),t},t.prototype.retain=function(e,t){return(t?this.optimisticData:this.data).retain(e)},t.prototype.release=function(e,t){return(t?this.optimisticData:this.data).release(e)},t.prototype.identify=function(e){if(eD(e))return e.__ref;try{return this.policies.identify(e)[0]}catch(t){__DEV__&&Q.kG.warn(t)}},t.prototype.evict=function(e){if(!e.id){if(ic.call(e,"id"))return!1;e=(0,en.pi)((0,en.pi)({},e),{id:"ROOT_QUERY"})}try{return++this.txCount,this.optimisticData.evict(e,this.data)}finally{--this.txCount||!1===e.broadcast||this.broadcastWatches()}},t.prototype.reset=function(e){var t=this;return this.init(),nx.reset(),e&&e.discardWatches?(this.watches.forEach(function(e){return t.maybeBroadcastWatch.forget(e)}),this.watches.clear(),r1(this)):this.broadcastWatches(),Promise.resolve()},t.prototype.removeOptimistic=function(e){var t=this.optimisticData.removeLayer(e);t!==this.optimisticData&&(this.optimisticData=t,this.broadcastWatches())},t.prototype.batch=function(e){var t,n=this,r=e.update,i=e.optimistic,a=void 0===i||i,o=e.removeOptimistic,s=e.onWatchUpdated,u=function(e){var i=n,a=i.data,o=i.optimisticData;++n.txCount,e&&(n.data=n.optimisticData=e);try{return t=r(n)}finally{--n.txCount,n.data=a,n.optimisticData=o}},c=new Set;return s&&!this.txCount&&this.broadcastWatches((0,en.pi)((0,en.pi)({},e),{onWatchUpdated:function(e){return c.add(e),!1}})),"string"==typeof a?this.optimisticData=this.optimisticData.addLayer(a,u):!1===a?u(this.data):u(),"string"==typeof o&&(this.optimisticData=this.optimisticData.removeLayer(o)),s&&c.size?(this.broadcastWatches((0,en.pi)((0,en.pi)({},e),{onWatchUpdated:function(e,t){var n=s.call(this,e,t);return!1!==n&&c.delete(e),n}})),c.size&&c.forEach(function(e){return n.maybeBroadcastWatch.dirty(e)})):this.broadcastWatches(e),t},t.prototype.performTransaction=function(e,t){return this.batch({update:e,optimistic:t||null!==t})},t.prototype.transformDocument=function(e){if(this.addTypename){var t=this.typenameDocumentCache.get(e);return t||(t=nj(e),this.typenameDocumentCache.set(e,t),this.typenameDocumentCache.set(t,t)),t}return e},t.prototype.transformForLink=function(e){var t=this.config.fragments;return t?t.transform(e):e},t.prototype.broadcastWatches=function(e){var t=this;this.txCount||this.watches.forEach(function(n){return t.maybeBroadcastWatch(n,e)})},t.prototype.broadcastWatch=function(e,t){var n=e.lastDiff,r=this.diff(e);(!t||(e.optimistic&&"string"==typeof t.optimistic&&(r.fromOptimisticTransaction=!0),!t.onWatchUpdated||!1!==t.onWatchUpdated.call(this,e,r,n)))&&(n&&(0,nm.D)(n.result,r.result)||e.callback(e.lastDiff=r,n))},t}(io),ar={possibleTypes:{ApproveJobProposalSpecPayload:["ApproveJobProposalSpecSuccess","JobAlreadyExistsError","NotFoundError"],BridgePayload:["Bridge","NotFoundError"],CancelJobProposalSpecPayload:["CancelJobProposalSpecSuccess","NotFoundError"],ChainPayload:["Chain","NotFoundError"],CreateAPITokenPayload:["CreateAPITokenSuccess","InputErrors"],CreateBridgePayload:["CreateBridgeSuccess"],CreateCSAKeyPayload:["CSAKeyExistsError","CreateCSAKeySuccess"],CreateFeedsManagerChainConfigPayload:["CreateFeedsManagerChainConfigSuccess","InputErrors","NotFoundError"],CreateFeedsManagerPayload:["CreateFeedsManagerSuccess","InputErrors","NotFoundError","SingleFeedsManagerError"],CreateJobPayload:["CreateJobSuccess","InputErrors"],CreateOCR2KeyBundlePayload:["CreateOCR2KeyBundleSuccess"],CreateOCRKeyBundlePayload:["CreateOCRKeyBundleSuccess"],CreateP2PKeyPayload:["CreateP2PKeySuccess"],DeleteAPITokenPayload:["DeleteAPITokenSuccess","InputErrors"],DeleteBridgePayload:["DeleteBridgeConflictError","DeleteBridgeInvalidNameError","DeleteBridgeSuccess","NotFoundError"],DeleteCSAKeyPayload:["DeleteCSAKeySuccess","NotFoundError"],DeleteFeedsManagerChainConfigPayload:["DeleteFeedsManagerChainConfigSuccess","NotFoundError"],DeleteJobPayload:["DeleteJobSuccess","NotFoundError"],DeleteOCR2KeyBundlePayload:["DeleteOCR2KeyBundleSuccess","NotFoundError"],DeleteOCRKeyBundlePayload:["DeleteOCRKeyBundleSuccess","NotFoundError"],DeleteP2PKeyPayload:["DeleteP2PKeySuccess","NotFoundError"],DeleteVRFKeyPayload:["DeleteVRFKeySuccess","NotFoundError"],DismissJobErrorPayload:["DismissJobErrorSuccess","NotFoundError"],Error:["CSAKeyExistsError","DeleteBridgeConflictError","DeleteBridgeInvalidNameError","InputError","JobAlreadyExistsError","NotFoundError","RunJobCannotRunError","SingleFeedsManagerError"],EthTransactionPayload:["EthTransaction","NotFoundError"],FeaturesPayload:["Features"],FeedsManagerPayload:["FeedsManager","NotFoundError"],GetSQLLoggingPayload:["SQLLogging"],GlobalLogLevelPayload:["GlobalLogLevel"],JobPayload:["Job","NotFoundError"],JobProposalPayload:["JobProposal","NotFoundError"],JobRunPayload:["JobRun","NotFoundError"],JobSpec:["BlockHeaderFeederSpec","BlockhashStoreSpec","BootstrapSpec","CronSpec","DirectRequestSpec","FluxMonitorSpec","GatewaySpec","KeeperSpec","OCR2Spec","OCRSpec","StandardCapabilitiesSpec","VRFSpec","WebhookSpec","WorkflowSpec"],NodePayload:["Node","NotFoundError"],PaginatedPayload:["BridgesPayload","ChainsPayload","EthTransactionAttemptsPayload","EthTransactionsPayload","JobRunsPayload","JobsPayload","NodesPayload"],RejectJobProposalSpecPayload:["NotFoundError","RejectJobProposalSpecSuccess"],RunJobPayload:["NotFoundError","RunJobCannotRunError","RunJobSuccess"],SetGlobalLogLevelPayload:["InputErrors","SetGlobalLogLevelSuccess"],SetSQLLoggingPayload:["SetSQLLoggingSuccess"],SetServicesLogLevelsPayload:["InputErrors","SetServicesLogLevelsSuccess"],UpdateBridgePayload:["NotFoundError","UpdateBridgeSuccess"],UpdateFeedsManagerChainConfigPayload:["InputErrors","NotFoundError","UpdateFeedsManagerChainConfigSuccess"],UpdateFeedsManagerPayload:["InputErrors","NotFoundError","UpdateFeedsManagerSuccess"],UpdateJobProposalSpecDefinitionPayload:["NotFoundError","UpdateJobProposalSpecDefinitionSuccess"],UpdatePasswordPayload:["InputErrors","UpdatePasswordSuccess"],VRFKeyPayload:["NotFoundError","VRFKeySuccess"]}};let ai=ar;var aa=(r=void 0,location.origin),ao=new nh({uri:"".concat(aa,"/query"),credentials:"include"}),as=new ia({cache:new an({possibleTypes:ai.possibleTypes}),link:ao});if(a.Z.locale(o),u().defaultFormat="YYYY-MM-DD h:mm:ss A","undefined"!=typeof document){var au,ac,al=f().hydrate;ac=X,al(c.createElement(et,{client:as},c.createElement(d.zj,null,c.createElement(i.MuiThemeProvider,{theme:J.r},c.createElement(ac,null)))),document.getElementById("root"))}})()})(); \ No newline at end of file diff --git a/core/web/assets/main.d14a79e7e016a7c6b5f5.js.gz b/core/web/assets/main.026013f04da39527a75d.js.gz similarity index 86% rename from core/web/assets/main.d14a79e7e016a7c6b5f5.js.gz rename to core/web/assets/main.026013f04da39527a75d.js.gz index f16490ab26a21f36e301a689663c3083e199495b..8524ee8d01a3a4be87692f99e938d155562e3d92 100644 GIT binary patch delta 160208 zcmV)CK*GP-{YZp>Nq~d_gaU*Egam{Iga(8Mgb0KQgbIWUgbaiYgbuV148ecv+AJVN zT>G$=mTLuIfj>QZ{>ZeZ&|G2!))AnE$T)uftoz8c=ES~!`qZ=*@I5{1JU6Wg-X9%z zpO_Yymkf^?7*vr7N2yDpjjnkWyhruLLaMK+^9( zLLy;IBeD}(s*ttb7U(IdmR4#JE-yutCB8^6FQJC9stR!Pc2F^Wt$Ke-iY@MDqN3!j zOhqbXtx}b?hk*G(+1(Qe;FT%v? zZsa(3(n@w(W!vvNn^AxLmag)YC+b#1RI#0n4;A3LDLu=j6@;`{$vz=EOaXXQ3F;Qsws0Zk38uye`=}!8UhH0bT`M7Z?=qA^QbDv+?R6~( zNmxmvk(T9#VhF=+h;wP7ztSB(=F8yNZTTl3G#@_!!(IU@5Vu4rrDny%(XoZz>C!bT zPdMsWZ*1H^U(|oCdcrD}>XSIj;;?Sj12IK-<$Kw@Zq?^PCE!i4zT)uM`p3>``EHp} z_rITzoz%qo$=$kc%yQ8TZtpC;#3C+=u_97%tgF%gJpw~oZG#bvgzahmbfd9R z6&2z6>HW3g4&2;w8QglG*8;l7%3Zvf&u01^qOlvjr!d`}%6ex`HWvvi95sO7;EKBn ztxKHTUF3g?{N*Hx9S^3Di!XCZ{b{FKece6fYM((#?Ph-(4_tT8^0`XVU^{29X=#$; z*5`@frCaW1)B4B2xOYL}y4}V)HmYCW^Qj((LgnOLNwEc>AYgo`8V4NQ{ujwB;Iexi zD_u@-YnyeX^^Au#09zzB(Ok`(@if-S73ur3)B{1wt1g$K+vFEYKwv+_DBmnpQvH^5f z;mdzAfi*K9f-djVP3~)*2N}rXWo)HuX(?#lAe_}Ft9*}W=XE=FFOb#(PUw7*$*;m&N#Mh+%y~rrLj7^=8zpw-`tQ>eDGfaKCQU=Rrsdl_kyv z?xbe8jJib(fhN6VOgB>N3&#V4xm9mE<34Fq|7ye~L72P}KbM!pOk_X(6yFpV3b?bg zHZ=e?ISHyOwc&5&&)vWmQT8jPjq>nc=^GZWYBct88Nu%r3-Yf}qmSD#akyA!uo8cM z8$hVR^6g&@Xo-ZnS~1O%cCY9w4oTy;V~Rg{EL)lf|0n>z6& zCh^UM|J9G65`}IpCr~0{q)o@<>zhW}vj1WvIgHCAVm2MqDy3gGW0SAU7)zC&2T%>1 z*@W_>y?+uRi!U;6l-7b?+Kn7rQ6GQIABuG*so|PjAJ?=h@qx+Z7F?WvGq|5D>Kzc4 znDqbKP5}JkZ-4nq;wFGy9$k(6v%i-S<4XGP?{f|S5+os6$)vM8 zv-8CkK@gV%;NaX(#EDEsksyD#2P3(f61BY|zA6YTcO)TQX)&uG3*C%re)1_|Duf11OD3cKROK5x!H(_^Q8dn8mW=DTH0hezwHdFUG zlk*m&kRp5!clkSIygE^kiSoE|FrG-*_b;?6=C`UXN>t!iTm?mqDay=Zl1rsPq#U?n zyf{oPE^b-F_!ENa^p5vfuR$|QFWNRiKWHwU1qG=BwEpyi9j!J^1_PiMb!0?S=Rkh? z5DV89(@aOzRAi-k|JQ$q-)@*XC{^Mq>ygIwST+(dcxbd5qm*TUl9V>tg&cC!r+?V! zQ6mNw(6o*?jm1T6SWg_l1KrKTh&4R@l@~ry`i2r;ua~g1f>{lGOazWojc9on82GL}RLl^&se--{E@GD6;3UoqXf=!reCMjxJ1%!?i%i_;va{S6ToE;8em(f;QRYBWc`)r@4j!)$&7eF>xKl>& z7Dgd@{aigmA}R+7ga-){3@Q9fDt8K;kSco9icc_HHj7|`tFqG8yV_E_#%ZZ8SXp0E zZ^XXMTy0rmEWCeRQYVr5p3#pdbc6}M^zTSr8;sAnj?6j45PjBBWcBms9Z&&h4uIC6 zDmW;dP!g?bwh)WlASc)hWFX^;&8+R@}jSM{qB3S$`4zDZa z97Hp)j8eg7r*hIvAY5O@EQJwj90Aehb$|jpI)TcwUBQC`K}8eXm*&G2R(4 z*pH?XJt7}5Iiovc}zE+1mPdgNB{(yNc*l>E)fvCkRN?qa( z)M@pn$6&%UsA+=QFR&~zbR0f=oY1^0_#DLI5jwaRNoNWYcd&rl2d;$+Y?I@OC2jDlgeLY1q`v{NJ5aR8TQwUSzq;sW&zvn?PmdDBggq=x8bj0 zp&!!Yy^h&PeLsw`#`(kWIvJ>!H!&Nkmv=P_4ZE3xW`}B;ALkpQSmU)rkg<=ZL)F$r%s#2MPU76o<;{37xbg@)EsEY5 z3<>4?%RuSazE9BpkL~4xO18&NBX$z8{brNxgDt(92r#_t9GG2pk&p2pX2({;N0o+g z=hc5A)iCw#%a|Rh`MoJ7qxQ^|mA0F`EgJPQd~G!~owAom>aYW!1#!&YsK(D?_Et6i zd)#{3BJ5TC^l!gqtJB}I)o-5O5cW&_^lz7It5>a0m#wvDn5+Jqr<|}C@zcNQgr)fW z4xV-5QY?5Kqb%@9NNbGWR1Cx|bN$>G8uWjs5I7|-`5lXTxgfW$#Sk9((PZbO7rC z5qs;=ZV<6wiub=qt9oJojG2DK+}5%yk*oQCuhVL#~KTv!18sbqfu zXH{#I zPQ|x?+r{(NblPt=({E#Hd#4#HlwE%-mHyD$i{L)ismuX}8#q18{LFx;*KDSNny7C< zE-AU18H*K&5Z7#$BJO4ZE@&E$V;-AUi*N58z7E-565aVQ39FM2rP&b?54A&rMG*j~ zfoK}XOp7LpHVqs`kWCLVu$Y4CXzS~I3t@w6g9PzvwJM|y%tPw1KQYl~i?Dy5FMw4W z#49UcMTjxV361@J><#Is_mpE!P7&;}_dfg67ojf2uVoNX(u+aQhe3s~>K?RYN}^ss zJ{Vf$fqV%2gK>5n-;)pOwEhvZpVVpn)qPs6Q~7h*EE&>Wf7Su~wa{|wS*Nk5r(BF& z7eo*eWYNSRQp+DWqDk?I22Ot@Nl|a6Z>#TP_OqJmkMX3(u9LCovWWdbV4zYCSj4`c z5!QC9m3{>O62e-JmoBtDBW%4+I?a#mJtJ%*eoW-8+5hRZEKj&NIX0>-OU}(UtrN>O zU6+fxZJW*7y{cY>T&jH8E+KwC(a5cYThJX^Ca7HV3HaLNpx43b@Q$iK0=sd-@&q^K}vcxFFY!i``V=001 zh}cefC3dQQV+IAB8N+{Py$Z;N-%i&zFHK#_d=ok_q0Hmo$@-2w zhsieBCy)hXc-w>DAmbqT0{21qvXP{vE!tso-AlpM&RY11b<%$#t#N0Tg1v4U47S0| zrc`QwYlbD)9$yMKnC-Al*1ob}3Za<+deAyjy=7~$lHs)ZdRvJ*WI)(6{S#z5?&yex zx0Ccyx)A5eet9JZ_J$k$ zkKn%k{}9^m{j1^J+bYhzE#utVuYq%m)<@MXjDZvO=A8mb^5ky|olESQ&Vq2D;AwUUg5J$cQlXT)Kwnl$v(6W+bsql^_Dj9wkE(6jceE&zo0~x{757M81TNq} z8n@}7Ba4}tuP)h@vk>)IR$oOsrSU61TBuu)fGI)A(;sbFl=A6iGCUlpAcpIp<+7su zHRgl~P{w~#kRW*jTr7>yrDNQ=nbD~FEpiNjS9>o{PtYmZ7e(%7@OTaKtiq*y)3eeP z)d78{yzEM|%;R91HOv=_U=$`oDKk2(<@2D~LM%1k!2hL4xohQBkC3-8bH1Z$md8&A4DU3C62qK7Z0Y>en*7aM?N|g zClI)GI$h~ar?8u*)3JdXHBjp!%&h7Va6c%oIIKm#46}UW#H_mi&yXC1o8gfopy)!_GET=Yc-aOe&a!3rpVY|VdA=&AqkoWx>1OtRM(aRr>v96A8)@+j z36W47t)EXvs5I~B#WG8!C9ry>v_Q3TYEtX^A;sy?k7F@}TC4{VomBz?*7kX!7pQ++ zi`ic08_ZF{T$sWja=)rxPfE|7R4-%8xmNZRHz&shH`g`0{w43>)EtbRGV?24tA4I0 z2jhoIQ}6j;@J@kX+13hOyK&$u?i6i`VUa1O(1LR-AI4++X=OM0l9Nfw`jK|*IAi^p zYQ2sb(0FPND=V)NL%<2n;)!)Hiw{*k;KbPs6hI4tYE|>+RL|a(xTI30oQt?2{9SzR_R-z!CKN?(U>Kk;3b4YrS z7~+sw=B@jFkc?&UC+*F@gLQt9X=c=$it+1Ys(5D6~+>)X4V>j9DX7!|*@y%P`# zUj93+)-L=8H~)=xdwttdu*q{B8$xNA<#Z~GgzV_JoIh2ZmrZ75;QNu`PfaMdPCc}c z{HVFl^6hDuUUsH5dEuL6a~6LWeWU^oHK>$q zIFb#SG%!~GxGN!xqDaIVLg#u=h={`9eiKKcfxZ*)!8L1`It0IeoOBl zidt<2{Gc&p@-~5xN7h(R%F>mO%F9(P{d6i%&5sM)6IvIele0UEcdkv>8(Ztm9}PF6 zmFBxd2e0)`b5W0|h~6iNs{nUhZyMW6rqLU~7ARK2*abqe)B4!eV zn6QM#5VgY2WyyjGg}~4%m5#bdgBi(ejUM&2!PdBB;^q4-A|JxT(*Qi~!QH-`cGpzk z_j!fRoXdR>zDj@T4SKR7?ykOnFc%V;=)~e@d^A!*m_!^5c=uzJ%xa&>`|wvXK}dm@ zVkE=TBF=)K{>caUg!dv(S6zeU^9U8)+ax_4M4TY0fz05(Da1jmDyJ#G;Ub#cu~hOd z9Ynb!+HI2ZKNBILtji!Lw>KlwWM`>;w`+f}y*VQgFEoELp${QEm%tR~QARXO_Qx`L zm2}71kz_*v&57Q5c#TITK$uNAb3pB|fVKf{cSgK3b_4FIY2)P8e&Ztf$b=Ux_3?N{ zyyN7ik&LAm1Spz0fP42D*xkt^jB&HGzGGjhFa1Io_|l*rnq~Y(l=Ed2{(tR`th*vg zBSjaM4Wxg(%J1Q{fffff+*UTxQy30>f*^iABfKGY0!tAt-~MALk+aXBM1KD_CGusI$g6)MO5~R^C32=H zk>3pg^1}RhRiZ>*EKiBN{l7zrytOHjcP>hVcN2f{my#i`9c0M6$H)-*i<9z5V*!*0 zj|EU3wCug)pgc->wz;M}{z|%mI&Q#&D&0_kd@<3GF)6vY$*NRC`aeQ7wAXhlWJ6kz z4awIg8{QN*enMmtc~2o~f;S`H5A30FLIu51I+$RYZI9b1jIMam=w93 z7tVk5ZOZy6cjP@3H|Fy|VWaMD-p;~{mP}+43Br3(N(v}&d+SK;6d?bMrLqN<->DpZ z>ze_Q?_K9NO%fSR`UCdqyEM6v+D3-CL6SR`_6Ny*neac6&FpULhmW}zc#JSmM6;#wDvwQ)c+=u*kt z1CFwr@=*ln&4_@MM72fx4$k2nO*s`Z@*v2FWa*F#Dw#+0*g+)~%sTQ1TM$^xB?7Ib z7UqRKJJa4wdX;~2V8-`>FMrTpihqDZ$=1fUwwd`A6cVf6HQl|w?zgwub$^$&d#!)1 zYt|35yBo{mRQ_yHyg&bwQ@r0VMe+U-UJ&`SKgrT=B!4AzAS3VKmU1!R;$!1JSxoaLJKf>gQ?I)?39&^^|K$e~=`pKYj{vaBt)Bf9|%(2soep;o=Wc~=D9jV^nu?W?P+!Wy#PG33V^T=KQ{6@Ft4sIMB4JO0>iHLtO% zzEnL}TjZI2DJ}?w2c&QA6T%>3ESUTlmmrNp;gQIBe$cGg^s@rG_3D3mG|*#;UFB*_ z758=3PxrjWwBfC$k=K|)M0z_seKEHkt8>lS!}6%Q4ZEsfWxj96XKTiQF<7-i$_Qzp zPa*$R(WfZoJ+?!KDIcA}&d|DQRWF$__FPm4n!!|{aa!AS#WFZsc*(ME%14;Mgvh|M z9|eX+;8E7wQCQyAR-}I`k$xWap{@&?2HCS8qRFfy|8sp$2n`l6^H^yG&Hx5Nr}Tkr z0<$1`WQLj3vX3(`P<`xE;KU<)Ozr{AHywNo`fwBjJGe{%VE&IaQ!F~Bf0>c9Nd75| zoJCeQa)zPTjGS>kWg}-X{ui^(6~l`Ctms+>c_Y7`svsBd#^QfQqdJ+VHc>g-0vpeE zM102j101?3^;2RwFy@INQa7KG-)-7hR+LtAu*mEjSdRr}=b~(OF8+sXzD2Kqxnrm% zDhNab(O&Q7cI{OI1ewG))9H%1wx#q-yEA^-M$LhSn_uM+QSo|mSto|rfJ@B;PqHCz z*{*_lc(FTNTgrdR_df4Znac~ZpC7o_GRfJ3z~i7#&P%s&aF9tuV<(9~IoF4yl zx>B3TbXqF{+ooZWUa7Rv@+RM=$)|@PPbCk^6FmV8xiNoFzF$WjP@UMhnSu#WHF>Oy z!lbcnqls&aO2m|5IbdrF1rx8mc`=1ubC33QMz}TUg@fZp0f*lEaZLf>-J)Q80&_DW;4fB!@Xg2 zdDR&d-0r{-DLryaM&z0d$xYmcq&9=3+fj|(G@D(;4&MZ`E)1+2kZUbu&>iwU9%)?c z_u_6ao#uB+Pe&z*dcf>y(ZqE)N>mKy%n;LiG;e?5w%o$4Y2kJ*AE_iAGZ>c9i#2}C+5qSV}J9dTwF&qDS|GLfMf zusH-+W!!Aa4gW6KySA#tBK0RTau-D9QtWHIH;yJVGLJ(Leg8TjlOfA8dc&egiL#!N z9B_Z7H>za|tTO_$bJl?uGg1u8S*dv4Y}#z3{U)%2h`}i;kF`BR1IVmas+OWwoNu+- zo6=dVzJ+^Goz7-6gVpVR4EB6C<*h*LVI|M-F8ZT|mu*1Az`ur2^*DyGOGlvXK8Fu4 zQrcyEbINs>BIg*F8IdA+f~CfFU637_FN}Y&wz)m#8#jx49RpBXL(9$ZmsiA@_{iw4 z(V|(*e9==-2yC2dXSps2)#=pEQf&^CO=RBNVl2JqRU$!!7t2N>x^z(xbRJ?>VP9fK zz2AhlDz|(r3^Ylv(iGw*#B|)|$OJ{cu@+kY=Wjanxk)gH5zQvbR6oI3W<@`ifH!}0 z<$)9*Dm)(0&*IMa&L4!NpH%M3sK~k~0xh{CjG){B0da^1!y8-A0wPqRul4p$Ktvt| ztDiFVC-W!gr>`RK`T6OqZ#{B|zYp>Ei~Tp>Mc#@>UY;Hw@1I59Hy+tPc^i36kG$PK zJACuuIP!e+`z-PTkDR|fJKTR6d0~GTdgS2r`1DQWMIJf)@!kIMdE~_&*}sUq|Mtj> zv;Bh~4lkgI%i`%Q@~+g=A-tJ*B-3ePFvHPaBR=R_wRi1F+4wgMRbsCqSAw*Pl%?wn4S6kBNHapv9y05K>rfAi{Ix! zqQtG4mFGec#f9jd_U;yCrm*_Udn$*PW6LAY5C*+$=iSYw?=K1=c2AUYxyH0x%^2Xx}x2S{AZ5vY9(i-l0&=eqqm2Z zmuJ>BVaE*Q*&F%>g1#wGN9=ifeP^$d%vH0BU=DV03w8}X4F4QG@qYVl{KQ-*zSnAb zs|7FXx3_~(ChtZgmLAXyg6C>=*xF`5o_J4e?(d)~Ma{1|NSS}D)sN;?>vj}r~bFGuKsUsMyso| z1D>&5j2Su@Hrg#HB&(~seXHfTR(B(6t6bOi;8xqg9$k&smv3idBeL&wgB)OQ5=!W5 z8w2XeK-b>NYrlW=ArEco<+igawX$BndpuOM&*KjtsBi{En zw_QMOHeKcGxiqefSn)h!4;!WjOcAg8*>X=CkF8@^+wOU&bM30X>4xfsqwX_z+c{=% zeX_Ce6Bl6H>+`=kbav8ScTWP)kF)yLf)1QpZxhyfW7B`V)~<4Et$#0eKCvQUp4AS- z=9WI}yZXOI0$VNpzpejkq_DN2|8MI5`unYI{eLH)<{RuRDX+Y)zOAco@96)!`)%F* zj_!U(cfX^%-_hOg=R{Ma@>cFd1m^TV{ zUNXMUzwm$af;}%XL&6}tIG}OS#lkUJ^M7fw)ez$VfxI(P1X(OQy`(|o#Kr=vtC^ww zRuq4EL(%!++l}^g3Uj6I3qccyM3PMPM-ol1NWe?B0hM@DjEYc0f#jnSVCh7-rQ|Av*+>FPLS_4M#d!fl+fmZHgJ3VhRX)+19)3e z3Bs9zu$EPfWAPSS!+5Br-c|Heyij5AUFCmrQX3#y*hE15Z2);Towi$ToT+Kc-`oIk zt832Fse)NB4``3{sRlirigyq|VlmVzFoTHxH;Ht^tbTI4KsPG^g7_F7;qDn5?SR=m zWL(-iZ_Dbi!nh8?y#UOqT62nPKEVy1mSMon1}{}LB>l{qG5@j|Q?pBoVV~Itu@HY{ z>ES0a9+EgAgE)?`H69yx@Fd{XKF$O8uEtcuG9yVq z%48f$W{4!oYFi)3F7DiMjx5La7Dx(!6etL+ow;ZzzNHL_u~~cG_g7aF@@yT4Hqksp zd2C>YSD)j=5HsD?_=)$#rZP8opwNGN>e+?Q*0J!n-^!)Cs`R>4igzg#_shj_HKOFO zQoN~((@OC+7XQCW=}rV|Jcz|BzdR=}8myG8*Ge{OC7TM2gXb-^`TIHSVDXaGEf8)j zUMZG!>4-HlNb3L*e;dF3HqMu;uQzRXHFmMAgMcKf@ur@miSF_RJ?0&{dNF?+W|qaP ztI2FuZvUOg?e%*N#bKB4yWh(@r+Z!}%caNpLF<;0B81T?4pvvw z&gCivO*nF-ZB|)2}L@LNQjgzt9(f1uXCo1e_CKK@;O{JZu^ z%|7#_cFjpej=Q@DgaBDxrHX$HqZW6a1yOrL)xo+oKkOqJhr_q`Q10*z+r( zU47zt-V>6o#+$I#0gPo+Oq^IiBMg6GdS;YVtJ z{fkX^s#}J^EwjhgHg_ZTZM?mOB|EJ>wzjneCC_%Sq}^KIV{5xR(OQ4oYVXA(*N3?) zaD%tu7U^UwF+>}4-yIp;9saW|6)u0QMmUBM;uDN+{5*cv!Y3Hn_<7u3Uk^IL>T2dB z!9hD<5q~tlzRRTFI}0$_JtVHk!2umwpjcnGzIOv0Nkp#vy^KWKL>BMMab2?O$(L&-{M=wtgP#Hi_0jd?f zDn~RG4@Qu#LIPuFc{QSi%nJsV*L5Wa8!`4Vhd`jog4&3+%e8-sqlRICJY+0Alfqg* zX5(vRNNYt#YZSv)K0`ba#h82@_pGn|L>*rl7t;DiS@)I=sp-2*2Q<|Wup9JG4w$A- zyXJW;it&Q7Jg+tyOZ~gYQ-(>w9HRlNyYq)kvSEEZsQm9O{OHiw2l$1)wX_ggU{%=Q zJp#R2BgU2)Uk887j$dJC9S+RU*h=*=uk*Q@kkVd%WPa8mIDLC~hI&Lx{RG~zs^3WO zJ7r6uHNWUecs;Q8cotn=k$nB|DZ_|WJQ3$iMg<_wtzy4&e!y!~;V1|Ab#%cJWbIP~ z9(mSxfQ2Bw%JMT6YL3h~y`tft>TmtPp1XxF@Fzv$9%=&$n~ z^g29*_ql3`EUugyA z^gg;(TMK`#H8ZW{LDz6iTq%x9r_;byoxnQ_kB=mwi99h1G1<|_6B3ofrX8`xI`K07W4BI-Z@C(R0g9jjH_V`{tZ z`7BP&rDNmT2qKGGfJLJQLI<2?5!1_B7+70V$-{qyAe#I_R9d;{_U0j2a|}ugC9H+Y zN8@t!x0*cwLu*snF`Ld(Sj>s4OcP7&XU9S;I(Qo6SgT|#V$1^F6{yC6M%oK@cnKh1 zbQCLNsp0@NwB;~q75gn1w>e(R4B6GUKCpH|=JEmhfj!(OY0vl20Yux}W5E9^5wm9> zpR#|!RTU;?)EYL+oSG^GBCEHG@fKcM2Z`w6MH$Jx@?!K9HMaDX@@3SIYmq*e5YBTa z_qaI|wSrA0F=Ud}I}LCZ_# zoHA@c;#|tVl7x-^E>QfhomOpcRwW?E%AAK&gX#e9ACeAcYIv`q8!xTst(q#kHC0lz@sg@FkH-ssNoTg;0x7Pe*d5dA@~TrJ7WXfLP9T+Qo#R#mL)%VauUzeAsT*SfH1;n_ zpm=$71`PC1^H}%AEZ-uyl*A!lO7GR!*!)l+D?3;CLR?d~P7sSL2k^tiFK>Sjm9(dh z27{<7ozxTxSvb`FH{S&%Qu58|n-74b7j_o09E5pKU&N5XmG)9~^_gNBm%w|@5NhJ{ zJ$q!9M?mD1bK9sHnJA~c(iFWX*rZ)!|?&Ufce!wQVNhcB$E3ROHoq$?#R4z zf2wsVwa?xOEhTp7N>KGu`{I94jED1vhYA|U&_-jqXkLr7IXNb>KU*v{F7J^?WoURg zLu}oWY{vP39rEWVe#z*h!pr$sd$aA&4Z@w_Iq+BQq z(#_rLkes5omd(laiV;WBX1zqAXu(*8Q92)W%o)q)La(Yhnt!j?pl5%f=gtC!8Q?{? zE=elPEEb4^9a!YA*dK_*+%xopk{r0aWn8NbzIe4smzP{qLe|PJT4)FQ`1&wFoV*kS zj)o%@g)_?$FUVE+{BuR)iaD zif6FiB}Pm9OmP_<43dBQV|GKk59cqBU1QTSvq_oSokJAupS%sggu6!n+HxP`$oEJ) zl^a6YW8{>xjp=)Az=vG2o)O`LGn1q5ibf_|u(iuU8@>#hhr^M4P(3LiR>aCiAEJxv zM3v3hDonpOPkP}jy}Z(NSyjbRzhrQj?#rbNw6BB?$Rp?7Fd=_0SwDOHg5V2S1^O9y zwCd~YKK%vLl&ZUg+c;ps(YGh{)y(3zpYriRZ8cU;o-H_>%u6cW3UJ|JPri z4hHJ$16XlyUqFAFm4J#vJz?ObfrPaSau~wk3kWxflsbO|PFCmh@XazdE4BL-Jwja< zY;<{*kD$)De*J|)p84-xCm1N6^hb6%#*_H`rP8wB1#9IRz_Ry4{VLB}d*nKI)cZ@X z^vBS25w7Da@i24cAb$l$22sr4yAg4~%i-H1e#sZ?NR5AG`6HlPL?nOSmaLI1waw_T z2VT5N7Mc9jB#o9S^3sCF+Bc8N8EaoGEoQ8J`KXk!_QfMYM#tEek}=vw+>ctAR)GDP zwmk*zSGMIPDZN|zCg&eNeOMpg!plhEc;9cS3<=tM3!a1tFTdEJpf0;R{Q2VW%{iWE z%TA&ytXqFdj`df=+LC0|ZQjUy;irMvm%ylycol%sc5)@*<`N>VzZN`}kn0iP%pug5 zygeKjM+LlUL#CxC{@I|nubmp`EzJbGzft~@b+H+* z&%z|7wQw+A3jw}7h%I()G1iffX;Nx8?q32=i$8z*a&XS!kG>K}3$AK0L^T_=JiY%{ zV~~R4|8mgIqxioPZ0mf&Vi;>YumHvm_3+o{rV9PE+tLF}Y?k1($}(hwlIJK?QZ`}~ z1Lu0~LFIVKDSA9Mv0q)wkXzw=mT0*ckwVNmj5A$gaq`j3W7!^)=+s&Y=6CXio)C7j z1#y3IscjUmat%*s5g#!~x^+vblKM-|SJ+6Su#uri@(He>nyc(c{tJ3%+gzs!lvyfO zkqvWW2v;t_x|Ol!SJ52E+TTkVfaNhYF}ue?8%kM(;HVFoNEP3lc!ws4Oc8>jjO0P@Y?KGSJY9K9+3;bnmKqySnT zG?S4hImn(Y2eQwZQf|VzU|JB&+6l&$7WQ5oCP$YlDl5ico!9vzJIM+==FOQu6%TPW zmq-oIvmz5h3To$-`QqxJ6Qo+h|3v17Jx!uyJ{R_{x}vvGf&i34c7ao9orqZbH3%i z(*nL=)mJ-I?me+ioy737kynbB@|}f#F%a!5Q2hJ}!kURc zAnaSw>aV2)6)77HAZ-8B%il6`wfcYbhCsf-P^NrnCyp0C+hh4PkNb|nQbKUhRuOh} zx(UJ{8g3~{$@k@O(&r4EM=$e?i7d3@WYqJ&>1_3NM=cM-?JLI<6TS>c5p7`4V;DIG z!-rsIKVbHwH0aP~bA@7RBp&REpPEg`Y?BOFcu!N|d+%u~Fr1HZ4@9sfkk>@D$QZASP_36|z;cGmgPt_4oM1jsQ_9l@H z+EDSVbT%N^TKG-q1s(AoH;5$SM_+so__s*C@g5ISDK2QM>Qz8Q-0p~a!b(VBAuq*R z`^rjHDXu!6!Xd?qFf@OpxMWx6_JB;Q1qD%05{Y+Dvsug>W!W(Ey>vB3qT9w>5fqYi z752oc$`jiz$DCUCgNb+_b_a~6z!U#qep+=lpw3V6iXB^O6UzRGS6Wutwk~TcjJ-v~ zZalg9V-SfJNm<6^0qx$x8m^Nb&tN^x`f6;HMPh?60dEc$?~;E_)50V5wr3q*Y{jBA zo%*5`Lk6$#=8r)vcHtipTcI^DD77Bp?VNE!%{i~&t0krYEi6&Z8pET_EmMz(R;UeU zVxbZviD!@~VdL2rBudzcg}>3-SO*yhiy=LxjQim@W9JW|3(}fY(80M(QdZ76R>ann ze$e^w;pO2^A3lFHn=2`6Hd9E|=Y!2qiupD3x8hm&@w|s;K^dT9`!+sxpH7$Q;S|eqeW&B3?l+5WSAgRER zxQQMPodq*;2}#Z5Rh~%b@m6pw^-&nAvDOD+rE2vt;3%#FlFkbHDHSy$kH9ry4aQEZ zCjt5TfzFDTN4|r6hPWeAl5*H#>uuO!DTQP$o2@qdPM~~i19IJ@8ScDi&tT_`q0aW^ zX3+7|G){k~Q$NL{dzq%;j}U7oZe7LRk1DiMnnLl3j} zg9|w0`CaV=(Y(oQY!p0b0#|Ydf5z~~O3qgzy4-2_F!^3*J_+8_BzU4|!d{T4inG>^um0Kp6s1S_3Rv;5aM|J5~dAicMM zg2YWD5rYTFyJ`q~ndFQ4q`}pmcwiFp&yJE*vYy@mkieCT?qJ-50OdG2(y#{#yTHr~ z5ty2)^q zWb6s7((eg}Jh}tPM+0UZDAaY~#o55>qI#+pLvCXW)Fr0Qp22C*4hGbjnt6j$v)Iacegxr6#sgkNex=bYwKqg>hi3TDM_+`)dQr+cLv7F^% zx312Sd>xQ$>#ph95l`{vA!(crKtg}W;lBtm{jX!e)EnSRh<7#?KoU1-u?i{i8Y%l@ z%u^5)G&D{rFG>m$Z3vN0ty9B^hquufE+`;h80~?qGIDmkv19Qs>1{#J_$@_49V9|R zLMveA(yafJK$FQDc5Z($dd!4NdXV`IhRF3 zG?bJxY`jnD2L|}mQ7(Tq?RJWgn zPs*33AR9p7E1GPC8S}O_fe5>fg}=42g9OS zA)8Iiyk#DBtIeh?l_G`*v}8(<|PB={W-ZT0U^3tEsQ9#n3FNwZ{@*L*PrU(@S2`pW+$wL?k z$U(J_TgvWuGR|I7Nn?MS3wrF7;BywQ!mug<>H!@L0J&*yx*?LaWYoxg{?wI_^c!f6 zgiJG)>_4m?ykJJ`&eRKOdtQSIT~SD*WC5cYK2&z#(L9Xkp*>Mh0uSSCPSVvzpkK8LrsxgGk*f<4NIxc zB`AZ{uC_J^gS*Gxy}qzvbi?Fd=RQGZb$~fO!4XVUNNY0jzY4d0U>%U z)icc&UVW9i3Tl62u&7l_$4bT=@FJg`LfJ?kNI&m`4hGkdw%MeYyvcR_%Z+iJ?y1aZ8Pxv1R6eN;o(>m+b2LViBK}dW18tkl%b2T_8B7}lZAhL*aN5!O~nbYl`H9u(%ezv z-B{`D!J}A7x@kuxE;i8V_$%3TiixxJ?5ER}d~TFvO5RqT*95UPeulGGTO90Ia=h+9 z-&hOwW_>!H`pW8(jL8c=WXaei!m0pp29`6If;jdwu`Wa-`h25?_=-uC-(Cg86r4oZV?ljyzm1ArWY$4*;w2m>8`aC=>a~rA} z+V2$G01`r&Yq5Skq=ajC=K_bB+Ahq$0O6Abm|o1o^ul0z@i~~@be4z%jaYlJw4bI^ z8}!x-^BtZn{04tj>tiAD9a~WkaM4~2n$4BAiDZ9RT{WQHn$49t?>_R;o;_VRwHM9* zdOC$<^gy=du@q~I9^$rrn+$mO!O>fl@{4@CPCRE!8ZMPu)wc4TSYFQZNvZFy`UP=$ zWo+2YN+{CIOtF}Bev08{PzDkKaRad2Mp1u>$^p@p;oMz^N#NHGRrO41-fa%y7C?(B z>y3ZA%ui|feFa8yFh!Y0$Ri@4=5eC6z!C-gurwr%%akP;JY*>;pP1r2u*#&hp8NwO zNFkRVH0cp9%TkYcRtxxqEqKH$x8Pkt-T_6*7GPFdU&rBVHhoWDO=}<$^6+xEw)1rA zq26eXir$*8S*wKFDZ3!nAN6^fL5SNlm(G7=ppGb>0ER~U#mkKn8t3rldj?CsRI`0m z)boRg6Ue5FQXe|7UUkZgk&;QhPLy|&?9nJ8)(E2f~Vqu&Y3L44cdWO}Ww1b}CQVzOn4HTCIPj z?x*=R>SXyGv)^J>W9NZ#6r%F)0ER$$zx=Fde-80rR=wz=d^r{$EMgN)6IiZH?{oI$ zgbkCRPB~6eMR`SlA@Nsu%|#C-mxfS@ETScUi*-+ul$m`1zw@_aWEy|ee6{tI*FYng zw+RXZB5fR|AFVpc$gYw<6*Uaady(j|R7y;L&6!fzYM+J`e=${|f$t;>%Cu~44-~g@ zX&E-D>aM|Vn@gM!(bv7%+Rh|Ip25yPdH zQEfmb3R_1O<|YN?q6#E!%~A!%`5OXK4AzSlFge6NsZs6h&VqofNVQ>&+${d;tA)3Zz2Go>LuB<2=@XY-(}= z3EGu7p2H{DG)A-OmuW>tY`MQv_>P~?icL_k_DYHYV#=}sc=|!9V>FEf$M0KK4BH2b zA^nt_Wr(;%(s(~jDX4Zj;<-cv$@EfOXD&(2^y0A>Qj8D^ZOG5-{ zBx5x;wg>+sZ!A!?%X;35F}pl}e;8gTgJzRms$U_7u98W5HJ!3c@4x@sJbP#nqRiP% zE_C2C6P1~JrHv9km?)3AlGHJfL?$5K;30^QLAu&Y1jBsjiXSxT3&@I`PE8U{SmmGt z4F?@xw&XT?k zYRXob=v2pgTj^o%lC?HoDBh_t?*`o$14X%7Cd7|$zgQ(`77!5cgpTlo>C`)C>RU4$ zb<`lQGI;Ai2YHln{mIk6`FqhjK0OMA^!K9OX?uIRu^#w)(ZPU!4o9pP>|rC{JPjqw zr0vh5rfP4#)0`(sFZ@gIH_=cQI1S|cUNH*WEo)5RMWfNLJU1F)7&a2ocvXARXngnp z0E8JAW!;Px4}HdZ*$EZ&hNY%-rheeR*>A$Ll)9%55`-aUq{Em`r#@GP#Rup6vDeM0 zN9ZtoW%Utz*yD$Pp?cI7hx@T;`2YtSzaAGfMSAC_`(#pL=Sz}~S)fP=5vQMg%i3wb02;)xXF%=+6{AQF5Qyl4hPoNGZP*&T1g3?b z+G`e6@`+QJGH^zcC}Y+Fo(KP!`|9X3?yHxN)P*tI80C$B!6XZAGVK%SxX;X+(yit= z^QA7|{`*S(vMcrMpXf^ceaW$ABlOk!pBmIZ9 zvFJekz(SFK^ca-A!T(rvo$}rd7QWEGuvn&4WK<;)^@w+2KVFe5lD>}9U;Ol4ZW;)q z0xrrU-Vg9k4I&YJeglKRA7f>s2@M1!{U%=DY?1U&SBlDTL@Wx`2e}<{K=4sF_&x@O-8hb%+|(#iEu19gzdP&49hcLIPfuTF0T?r8gvKbK9CCTi zZ^Y?;7(8cK$TRyk*JQ#WIyvp_g5QiJ;$Vm$))pCYhx8L-H^9!m*MA@C{hesq0$Z^Zl{ z1EE>=25oM`0^T!{z7B_UH96Ljdh4^JzMkt22 zsm;=^MILVk@Z}EJaWTdnYJx6NNX8 z0ggvTNv84yd-OU>24l$_C`R58(6*;6yFE#I;AX_Gld zztSR~vZ&oA*)ZBB!(Ozx5IMMj^&^=mx_!OX0{Y?c-tx|NmzmM;<4p4YL*(@b?9&;*|ZsyA>E{%SCXyX$QDGPxJd z&eI>rq;&WoMCyWjHo8@RB$}(Qb8GYD0HlsSzax{yeGr>dibka1qoOXU4!3mLBTzje z`ux?QMXyY?gm=JY3(63P3zZf1O!-lc=tjHEximG<&3e0do7 zlky1X){T{I7e)!GrfuH_L(w_rA{UhiMm~5m!x)Er9`n~oQX@f`qvn_Dw zZ=pl~#@0qa(slU#thKvoi@i5;Ho{Lg$`*)rpb0ztO1mTLkyoVg=N4Av6?s*JDFZJ# z5j^7ArersQq?qXDGQEn$WqMV(49x;SpaW&YR0MPKaWf(ik6HnS9i2}K`g6qd z(x0FgXSyEtczCjZe{t~o!`bP(i$h`>z`#Qw02fynt0--S>FdDhbv9>P&4OUBdKPZO z{r4o@P=StusQ!BJflOo)c~4=bxBxRlwK=xqbW?4EEe!s!-r5XEx(jQ+wTS^AAneGq zR%-|L2ZSBjS>N5=2nc83kJ#SYXa|H#sK2`o^?3@vciKCDTLIw^P-1&`cOB|b^jX|l zhdPOSo7bp~ky{3n(=R!nFo5gIP!ZAkf8|t7MZ^Qh*P9XEO++*q()5N4MRSxtK+1z> z^@GC`H|3$}jCuDu=dK$OqJW}|q*k4l=>QqRfE^cY!GR!o>79VL^BM~Fa*qx=;PRoN zVs^b?l6r`L*!XzKCFrujpv3gnfLrEAtFLDyP41%!N(=i*3fyLw4w&B#-~vRh&}&A~ zHR~rS^CHCg$TvNC;-qtkM82)5H`0yHI1k(X8C$a>yn`ydqTw*9KfXoQE#UY~M zw~oU!2z=htj-eyR`|+H^2K(Cv*xX~6R_W<9xhE*TaFa1RZo(DLfX&j&TaRSjWW*vb zP3|3kgdD#uH-J#p#HSLwKh53fWypIN%9HmT)Q~kKJmOMEqw3`f3|~*Me5SfdASQ5tqYC)Smb0^Kkr5Gx`Sk3k( zsosqqGT=s#cSd`BoJE@oM28L#eOP#*A%qffa7)DvL%f7RI&YIfkEMv2O2I`RXM^-~ zqW1O@{Mv*bJn4@IgZFrWt+W)sQBd0a z{2yWv!9Ol<5WzqF+uGoZtPS|ZKaaHmKPjp4aeqvwdg-TAerkSP*lKxQyo_32Z|wgI zYI!|XrIzRW&P!G%#|elbX;x%mZ#cPs!BWjaSdCdz`LQcdzU`~5iaZQbJe~3bUxM7g ziYCYptkbOra>+v8y9%>p$b7z!F%EDlNAX;;Ox+kGYHka9!{C<2t3oD{4j>>4@YNr; zfyqu{equ{iJrAX-S)71WbsQ%kRqa0JR0JVd`9QMN=f{4gLq>x-@-lo!eT4*j00H9KG}&CyYHU_VZja#q^o!5-j?=c`BGM8roz&Cjbo5`G|^WV+JNP z8l)NcQ?lHT=sSd=nQ;%xar>%@LT;=Jq}*oIum!nKceOiU`uL zN8LocKqCN6l$9me;9jx@{dqG2H~k~kp^C1q4FL#$>BLy*Wnu(<3L&L`mIyHS;@R_M zSn^PD1_M`dX)Lc)h!v#sCe2Hl(oK43tNZTF{=19Ur)NjM9=`Oz#~Iy#9>VXtD&m;| zz82ph$LHq3^kKlbAPo=lBCsr@Hy{>-S2M!jU{tJA zuL=H3J~RGGdjsUbN7Y63mOcP{KIj-a%2f?K02D6Q=Ks8>{%c`>M%|d7|1!^*zZlGm z`d~a#^-xfw^1n&?{fx;7;(U?DH<+;l9|AKZh1YyjPk%rfx~lplDEt?c`(eqUAq>L> zK&W^yG=Ti3u(RwYkVbmk*MYy72OcEQ-hs;kELK4HYyABJf*HLF2>+(ONvqnKZ(Ge~ zo=>V!&$O=g?1yN7QiP|x^Z9GkL-9ZB&GX;EQ8zYuDShQ_=^=&&kNdVq+L%7JRs-xR zrc-aLrD~)x|HhvbUW^mHR=!+o2md9AS}8Fji(D}vFs5?Hphe^f+O zLDSANh!)A;gYKri4jBE1*fT3oa9@TG_cHuZeUUSTd#-d_nt_|S1RW6HbbfawW-N~5 zynMy{E;zqEGqx!2&_Z=TX}*&G;pgntk&uJ%C6x@qRJ}^lA(des=ooU54On&x4C!U- z%EB6d6v9P+OJtFc9a`P9UPSx{AIgFtj$@Om!#Qimc+_e9^*G0_{&1;E8-T2 zpX@vvChY*qp+ZQespJ;1{V<(EDub|VY{B9EN{e`SH+ft@Y7{>W?^7=IyZn|b-D?nx zGzFJkP-V<&>@We9@uWzl!hA~vK?GW*F$i4=?#Cs6zgqr%F6dbC3%N|vZ%7mA%@Xk( zPyvx=L6iZ(h6flH7UJpV>!TU!ALjrynDFnF@|tPyU-UPQC;6oK&)|ZNyn=Vbq!Cuy z&FMAKK}4_tB5O#Wh+J|=(zw-0pUY0Vx*C8+-MR$QLPyVIL1T29!IfwXKXU=-CBKT(+3YG%uIZ=&YRCLXrR!;-_dmDNf${a? zXxV6fjxfw9zh+vJ$TwB=>+jD`--Jr~$omf}5;kukL7_i^^9>TrRyZ1$3NhlS1B?5A z0`!;*gmWDDL8!=#ux}%t*w@!)S>$KNo>Oxhm-1>4|3>&X#tTn1wf!%7p>NsX+l7pB zECTQYTBG@K!}hW8SZSwF%e3$2#J9oOX=vL;CEJ$0tS?2hT?d(n)6!_EMq+DeL`h4NR~8g9a{<`<`Mkp&J_m<)=5FudXI7tLG{yx;j1K}<&l*1Ig}S$f(pe_L(`aj-Vf>ya2S@PdOwgRqJ&D27O^u3(9EvRLJl4Trx1|I{-$kzF}A;` zu6e%C0W&*^h{_BhqAf%jEEj((_S(@JBmh8EiMlA(4HLmm`*5}c|5BA?w-lZxLoVRE zh;>6T9$vGQDB@s0gCa$LnS?w$Q`t3oDrKehJ%|~hCJgyAKb_aLY3?(-b$)gg5IS%G zAs=9+-AuAk7O67SPM`JzpLPSQQG$|tQ)yA7c?0>2;HuOT8p0I7Qp4^4?>AH?wD<2j z_<#8wT;QEsdsTqYw>JX|R`7~c*eeabjaxyU24e9BVQPaQ%MH7KBxewWh4e-x*Kn$x zxcXxlKT?*G50z;dD&6r!py{Z_4&Zo&=A+<_Bl!q@opSXd87mVC?G)9GS$Ln)(THKR zK2@b(6ruu-^i*w8uPu;;FfM#LH*u5fA6-5zm?>)KGKuh*zX~g5P?69`UNPD~fP#9`V$4 z@*hxCo0Uhr+MGP%m1l$_?tb*H0`l;vNkgyM^l#(K-c>+u^W;kJ!(Xk)yGq81(cdn6 z7MjsH2=M}(zAeUDG`3M6zhXH(wKf(Ym;*Veib5hN1^eG^x zQ1=At?#HK4_c%UkSg3n0ddYpx$FKVj+27gT zXm8}pAbP7$FBy@yR{{AwuBxXpLi-qO6ckYw8jFth&P-A$jYy+pM(zT#ACOmZcRC%L zbMdNwrt^A*jm}7)Ox#V*0`hwh{XU~3xD`imM`y7b1snK5K?nMm_-t&y+_4o~!9#H{0iUKXN03$&&|IK!=3h#2f9cjcxYKA|>yf)SNXTMbc?fjoZ!(v_cl$mB)v?hiEb@a))40V-a*5;%{980{<6m zisHP0>Pq9(P^F7%`XVr5y)+fF7DZrghsp5Jl){vak;*EH6v+wyNyCZ`pIoC4#!IQEg3wJK5jEdKY$sVI+9kvE^~s?(4Nn1 zMg$DtqHeNBKL$Si6cBn6yLCr@^xhA^YG0G!(9G%M&SeI@rEyO7Lz+m!6&HbaL7>T_ zHPVG%lYAB`rzHb2J~vFNktOuPz=571T~tG9*@y~lMoEJJA`j4ga3bA!writ<vphJ7(Zf+O8xbXXbjC^lB`|y4vOwyaD>#bJnDRc{N?e&%F^0W(# z`6P|J^>vR}KE^{TQ~t?sH=xV4c4K{`vAz*_B$H|KkwxBrY;14tZg0Ab-Mti4f+iY> z*A6$gTU(ZM@ou=i-rjV7_0|e^T08C5PNV)~E&tWt4%-_W8;$kdaCc)fFp&6ODe^X2;l{?shDRPEPc`6?&lqQ#pp!*=W2>QCnm-Kfv`LR*dY~@LmtbVJvC*{{C+dwlDHvqp$vXJlNq6rMBKS=H)@0Ry^ zOn3;D)4Y@o27Hw9%mY8A9{5Em*q4IX%?pU47P0o$+G=ZaUaBwaZ(&7VoBKUwLx@$( z=^(k$v5JRWnAhvuEm)o*{ZuXCLiwC~+dHO8xu6b|QY?XgjoMj*Y*Y{&29j`NT!#0m z%dJ++p6!NvvMRQz^OfFj)&9B=P`G?@6~sQH2MDFmPl_R#>QuH#W2`730ir^1<!=#bYmW9lZ&BP_xY*xEId_Y5}lXNFmH z27KA_ObpIEK(kkxf`tQT#CxxvqQ=E7&l>xR#MIsZFIeN905bnEm+tz|=utW9iG>LB z$c}S=*KTf1%MxgN9Joy+2)fB&Jp6q4Ee+jrbQXn-$zqVth_}{I$*Z}zX~Fs$}m>}$-infKwle40J*61O6h*7xz9 zF8~F3FR|H%M+E8CUHGk7hu-`kqZrYke3lGIz9y2J6O`d|*Pw(e6$7+f$ByXQUxwcF zRXj5x89b7Pyf>YSAXqXmg%$&)#`ir9sgxn^j+Z7 zKb3fezDEUJYr7Q?`U3t1Qah*bs-|-$MNGa(QzL<)7KQA)K(gzBoA-awv z{UHy%JR|gv*Z&Dl_7rsAsy(i z@jSRI76pF2Lj5L~(Hm8#n5!`VYvbj7R)PvQ+JuGjmH_it=<4vNlSUEX=O5C4C31dV zusB4}O8O6r4}=>@g$D{fRBkUBABg^8#Rq~`On4xzwfQ-wzbXv+{UbYAG1h79jzC>I zN+3}Vd2jYuOf69d-h8TO^9$*y`EjY}Ph_HR0K{&Yw*)7Lxt0x^v6L| zO=CaSdF)d#+$lO;cSV@1IG^PT=8k1{tlKZPH#DpjWz49j!Dv74D}k(Omie(+(gSWS zuLu0`|BfE;M_UiL8<#`F<;Mt+P&`3zuBb(_O8Pn8_uEZ=*}BqOj9Yf~@OwsN`ha$x zU=(_JmESQmp1`q)GQR~;Fd&|M=C=c)UPqa~4vffruXUf+wu~cs5}+<1`8s9HGB=iH zW9(lt2rp@!kFgGHA?mSzK)z$bxGQB1I)GHI4-NK-b;lAmiKlLjPSOeByh0ms8<+*3 z$LmcHW$&f>z()EByO>UWA0is5S3$F>aY`DHRuH9#Pl9H1rNA~R0g1RlF}Vx5&JmqL z^bP=7e5tx6T%jItq=U6nDWqEw{%c1(rgoy}%}6(xgt!e>SB)8eB#PmoOJKNF<*lfw zl`1(sjlul>|Ficl>}}gfqwrsm_2u;;HxMh{DY;lZxyNm8&9$xL^Xt*NQl!aqHO*+*wWuFu`0?+Oo&(H{+uSC;`w5Hx?DSPet?B383nt*q8D6L5en zK}P6a!wdN68VIdJUdm%;nJ)H=Lca|8k;e)+S~#pXf|SR62(58(4#&01faEPI8B%EmvTyB<;$Z=im@es&|C{#ank}pcR-5p6V4A^)xZhDb!sKFv~Ww zz|om5$FYAA53Q}kNi|{#$R18z++rP+1oe8l3x~K4iys+Fi|A)OQVlnnetaO-Lya5o zR8xUxUMT##&W^0(HAeC5aNV}UJWszS9{g0J^CxV_dr8y5upd#=gG<7w6l+Q!OT0e^#qt7h*_cr>>%9|T~W)UhR`%l92 zC_gd#j2vPDP0|;sJ+rn%3``r$2&5sRYk7tX2`w{FKNuRLpy!&F5m-CyJ7>|n=Ws(j?hE zyzk-t65n2&4r~wKyN2T=c;B;zMqu|uI^2IRv1TtBC}{&F?-E~Mh+dnPiuMTs^4~8s(rMx_P4g<%As&vDn77q^zC5>1eB3*-a7Vh=ajINDPg^}19d+5 z!4oq8Gvb~dc+h|UqPE|)r_ONdwXA;eHi1oYK*KYzZNs$mPFrJjS(%;@cs=Nk?S+A1 zn?1b1@-+vJ;k!N4u)N;L2m-p$8`pmr1_RS@?cWBL;g|!{a7F{muto#haIDfYJO}PZ ziDh`!z%)EFG)=>_dUVA?damKw@Xqdy4Bw=Sd;|5`qu(sUaeAiVnmx;Ky`F8DemSs= zVbHS|17jE@P$^Vk`yn)>hnFE0Lk$ahmSOvJ!57e22VS^6*RV!(p*OZ+y90m2?*)cs z(?zCx768J8`aEcnXN9&A_&vN(CaY%ws7zzz&_y=GgxaA~_J}U@!ZJqqwQIO8UF!6K z5%?FUfnoQ|q2Z4b0{_M6VYZPAjWzjNE}a6jQ?-LO+9RiW=BBV8aD`V-5kVfm+ePN63GgBg1qP&#qHeu$NL&J0j#t7!U56i;~1~BS=kCvSe6A%X7G<@gcsRQfHagCAl z#CC01^^QL@%(u1~!1jLxuPw(iyu`Fk0HzNWzQsHjrvr0{Yjb2_Mi&5;V45>@dToT1#5dfzvtJO(?WCr zYtXmoBHx(a0N?n4>+m89!4ah*U7WfA1z0+vZLmz+aQO}nf9rVF=p($3+fjQ^Y z6A$(s*ywSu@f^CyDR02@(4&hi$O&*3ETXL}BA%F)T0i3>#*R9n_G4 z&DjDtA{u|KR}l~i1Jkeox+8}!az(fvK+Qs88!jRp=I_!qMpkIiM(x{jV)sk{k4>w^ ztdk9QL`08k(?yaNmJ0wx1Yyyoo|qZ{sv1)8<%mYl#usp@7Xl3KsOK4$MHdNh>>`efPZvST53pIb z;p2Z_U5p8f2tZ^Rz7tx#dOifWqr=p~&+G;<2O}iidd+0>y#dkbt(np@JREHzfpECJ z1umGkwrwtOa4g`|Jsjxf)nnHj)o(oYjq=eTaEy`PbAfAE3@itUMxaXuKCmg44>Q`f z4AWbT412V+&4p(K%h6)s8UAQ#4vmqy7?^)U*nr>%2=3uvv>cc&Qrsqj8y?&R-h*TS zrZdpP)8W8$V8lkqF(N{@EW>r_zOXEy&1eq7Ev61e;umu^_s#%w(k-T5oZ2=n+UamG zf=$;!#0T3E0n)Z17e&^{HrHE@|4X42Q-d5rn4A0OV6m=0(4>1a&fD3=_2+&!$R_PV>5$hxC2Cc zHeF;v@CmFjq>CJ@+4}}SPgovZBxEh%%7)$o$onOH?S@D#TJ;_>pw;UMmb&4q0Xy0f zJ$iJh(IcRB?2jqO5wIhqSuSE>2eAzd24HK;ZKHm~?Lk178o>kZLi*99OTB+b_i#&a z3={ukNe<#GcM1GM2y?TC7csmh0tL7%b3_;M!Un|Y096438|XdI%Atxehdm2%eTy{0 z-3MCe10Y8ZbklaiX8Kq?5*dtax=8u}9-&U$BkC=hAP9)R#>GI=;t~QnWZ)Q<9|i#4 zptW`S1DBS+BZrE1#{pLApkRLrE)D5pAkE{`rJgScLL{ePqygnR?$WdY7H-dNCay=M zHx4;o{9Am|~|$BUfOKy6uoG(DFtHLd4c2?&EMA|F)}c!;DmN^cD>pi8|I0WAT8 z?a@UpY}*+S`Qkftku(nSL`x({Lx=FCr0`)g^a%0}lAg_8JF*F^u1$ZJns!Cj7FL#x ze>Ju11GxfHoK@p@aF0w=rCfXOLre}aO#gp3Si*90f`xgBf8X67bq5}R$OXP zg4HvZBf~X`rm%mFAs{aQ;uNHbKvg)-zZI+R{a?=NKXpc^4zX;I8jThfY`B(T2DtmV zOCRbp1sxW&wpi06B!d^ZDs5ud+T1Gf%oY$)mZYR0)dBD&z>)xk8rn1^Y`M^k5lmcl zuNnpbF&nlyyWZ;tmf-?T<_H?1rqo6j%pspBmgN9@WxaoOEE~8F2YF+pv8@0}U)=F! zwk0Y>!Zu0b7%tGHfZ%+OE`pK`K;4s=JrGja zI-Cu<0ZDETaDf8_JB?NXwMLS5-ICQx>Q!B67BFR2jmdpMKsgRwYVy_WAYTKJ<=Uis z9J+Nn5vUFlu%Jy%}Pu-cbK(lUQkq zvcZ2^uw?xyIwE&Os{A1ksf!Va6qn9ofHzlGD7<+MtdTJq^;~a=LJZF~hMs$Etu}mR z_bkr=VT-d2V5mSSa+4apVb2NxAa2jLpaA>Y`b;mt9Up8Y+=YWmH_QBn3QY^_2!ftv z!y>)DK7RzmKLVgEoTY7}C~&*BYi%GLm^yzJkc#et8ohKLQ}T_PZV!9r2v%m#@S`^g6g`0fUfUZBj9-!00C?1JjTRtnO7z>x(906>zf|9NL{#~R$ibWaA`fp z#2eM520>Kr23QvQnk!ks^?mewpao3dF#?c}q2?1sBqpf`z)C|V+Kup} zeg;veYuF*^z)%r}pALJ?v-(EJ>s-8CoQ_}<1%>^;pk|QBna0rkS5$2e0%JJ(t84x< zwis`S)5q}*$9W9c1nk;|hPSYmc3^*a3s`Z%()w2XVh2OC=tf!2xan=_`p;Jp=d)8~BSxtqQVb zkQgm&kWPkPPx6JsfoUy(a2O>-S`35bz;LZ5%fL6#R%(LEC@wC=(>TRFJAVFbAMigm(BIT_iE;`v#4wiDn{j=LHw1 zF!Tf9X`O{Ja>BOQdq^}nYQIR_Z#Mc^XMhGy02;HFoe}@-q4*d7#9XsLpY4%)*=#rk z!vpRKtOQM)E^>ie_5eh5Byn?LO8ZMWP`#IoMmi+dmf8+vDDin|c}9@HLNGv*33T&F zV6qVs>j^Cqpp!i#=qd==)6t(}o@$}Bj{{a7Ah-7nJA|nch&JL3=?$0g0``xQiza|I zD)#+>F*N_ArjY;)G?#x4)ag*gG;f1o09ta?hq^vk9*mGf4X{py!GtOA(Mkt_9H@B;lw~{O312kdh9+9Iny!DsMw)^n_Wm5;+YSgV zMj%z2f?X<11+->xz>*$BQy`iH`O63eFr!8S6M$|TH17Ts_+!AEBby9WJy8CFNGt#Y zL=f1MIm!qOCP94%X3srbP-d?YYN64u>rTpl_iKvP8Q!yn(4QGDhy7w1QmdPB1ip`$r>G(O$HqFiBt_ z(?x55q8bX~3oLq2m{zX~Ff~B+kVutwh67N%{8@c)?OuOi!(3D5#K1&rO0xO#s*x(aesehHJxwheCt_$)x{6;Z^nr>4Nw6Ian<7b}32KLv1g6Q={R+6CdH zYYqbOi(M-`Bzvj%O)}m00`ZG!uL4AHwqteleu~qP5UNY!dvS~1eC4CQ!FGoAx5EP8 z4}8JOLDdKmv}iW*#6pwo|JfjNaC05_K(~Nh4&8qdj9`BhaA{KUmP~l?PQVE5^>)Ds zk1q_#?B9c~(E$L0P=K1I7KGsSz$0TO+Y#`=9fsgjr~b*{*+NnvG*eKF)f>LG9diRo z{TWRf`90eLJN3t&gW5tBPdy&_n|P1(bt7XGJobFUwl+|uPJg9ojU@bsZY z$GK{b08LVRn-*Rmg|O&om+#W0w!`-ZhVP^KtA)!iFot#r>|bxx7@zJoRE0IUZK~=C zOVyrpBO6sB-~Ua`RPDdiLe(G9InRG<8&!LRHmWA6nL}}aL@HrH`T^Xpt$cq&5>7WD z0~In0R*%%8VjIu=ZW;&3gF`klvkqO_7Kk8YHa)u3g@J0@M=L}NEKD$uV)}}&(Kv-P z#I?X0&2oAU>FgavT@SO^l}AjxAS5Y_Y$vLop)vNBu_YWs8PLLQEp{}Yf_d0$#MWrS zv4l1^(r!%K!W8mjFnj~cKihxsK;CEr3i5@*`>i#!jer#1AZ9QZAl*&S>4Ccd209s_ zO@h}Wi=YLb>ApBM10+|4*5G5eF}fzHB_$Wc>Ra7<_A)f3Tetl=z35 zNe#RJyiN?^gbA$v_Nh%2|2wp=z@Zbm$VHBauf1TyRM{N3kq zxb$7f;s%O64!lKcc9SmR%q$c)QV!8Ngd#m>>x`NSopTJws!yB&WufkKLprUG!r%4` zhGie%`7b$NkhGQ)(53M%Kn2=l0_HVH0_>6i&02IB)~mz! zAN%GIR2TLLB#B@?jh26Go`NOuj4dESE1*k#q5!a@*^cI9@1(oB+m0vWpu(AX;2 zB*F&5n*mHubS_|fEzF5svcyF-?DEK@%x+W^bPj4cGQ^3|(ZXKB)If{|qA!$T-~1R) zH+57W#=WphL-@V3rev@4ucyV2|nTY=ExY1z<&w|Uu;)7 zevG@6l?3E=$PIs#SD>r&Z2TJk>Pi+Cl%$?v9-=Q4P)*-NY9mD@^ZC4qjhdxAE7ARH zmTx;0y-c!?8N^sVgSf5#(`O090_(eQ+g+tQ{2$gE*u($P`|K<$VhY0(ekih}Dx*F) zRm|e6qGs(3(>{xr{dT+vXq<542EJb7Ssx+*mIL%fK7fBvG999*ER|sjsQ=-1sDdol zwJcVBIA@BJSe`GW|7;lt1fm$lQCjK;`AmygZal3@j7Uh1bz{B}wd)d`-bFKr_MBuP zM&sKv8I>_k!GS9W=bS7f-sYnORcfS1saor-D>XX7D@i>FzYmQd`lF00Nm zju-_LD#m~1T0dyH{nH9#TID%-GrX)ntaB?xtf@a$-JW}4l0bOOjnEDV70!7CKK=Nm z_^jkjJt;2@Q3D1YkaaMGRXH@yVqI(QE+L#ZyR2K1Ba9*e_SLE`Sfm^@2?Q)dz!_Xd z#~;%yk6vPWv0Cjld20}^R++Y01i!4uYRDpRh+BU<3=PXr-pi4#hajwhcKdcyWHWN$ z;B(0G(D*^uViwiTGDFG}Y12*5mW{V!UZO`!7W2};78NYvG5F7w{$eNKv^+12=^gD7 z1H%9G1bz7y;387A8T>3)ob#^M?eFhR+W@1==lrtisWOKV6uAIT(!k)L1IXafcgXVC zxUYY20h`SLUqGP0_5J;hF_@F%#~F`|EWMYVo?&RJ)k>^L@IT&sBPN)>TGcZ$l}k2N zzpsH#rOZ~VnI=Fx)mgdL4e~Ur4#AZ`>*#GWXqO7S2vFs9Q|MqfpmM!)vgQP+7y*St z{yTw$-=Z(>xOTLxl>nDZwb3;F#^w5e{Op1kRdniqI=u>6=$D=IBD)qtV%Z0E_+G_x zY^!t`J#M=aa4>&$Gx(mlrY;;+OhH9?R7B-?x@Mt%OkPL}o@(xB==nO!DxPXq;8=mq zvMEnB(=-E5XITP)e*)LE)oo=?u@4&e-QY4cnh4}f{`;k)RLm+|7N;yqt5fnckMjg$ zIac+5^Orm>#r;|zM@Qu`Pgz8bo!u}1G6h#`V*SpO2m`G`bWX)3t!21fk$Z=IooxsC zwY#z^QGV^t!ut9edPuQ8p&4Vd4j4Zi{!hONl$^~qCDQ0XGq=jqTcK;W!V2qa78&S~ z`YemV*KKvC^^4O!>^;qQ!*+<jggSa1mcOmky3>G}@n`d8p6n8lP_#xCR%VE9d zV(J@FY9pgqglCbVCe~23cE^d`iV`bZLZM=1xYT!fcsA~b>G_vMlt&aaHCuF$L$mJ4 zO#w|pZlKz%TMSP$%!vVyqAc)uQVUQF&`SC9aTazts9=0Ys|8Mk_-xYl&`||G-eI+|- zMPI@Bv090tU#+qS^5%;geMKbSB>IYfnArab(N{!QDf&wGsuL}K$m7{Z3I>>^6d{%6 zJUdZiB#jP38V2p#=`+~>71-fj}ujTNV3hn>#GPDg9c*d>w)V+u{!VLp|8khFb?3w3>?c&v4$ z!IhQ1dHLkJI;%YS#wxGw=kuz6{Fp&_>(|+5h+lqn?U~4pnZL0e_Lc3p2b@uUii~-2 zT{EU?=0CI-BoAYuR(-SDj@~zP(1|w5%Of66a-I-Jq@48@w!B?>C|1G2C89ajEZW^;Xdh3~JClgSdjraEAHOp5kiJJQD5S`iKU&HHv-2Vn%=h=UGo!`gn zy!bcbbzZi4o%_V=Jd-TWLwWO}#p`@(eO0bjI6;X|8R|L{Jk30hqKioD5^Tm%p+)R6 z55J7X&e#41cm`dq^5MX;yNl%hi|`zT z>n9K6D47+#EEVa0y-Ud4>%}wrg|5+El_zx5B9$nqMZ{53Hw6Rl*6-7PEx_+(zjVa1 zjMh?QeV3<04f>Wnvn|@Frr7(eCUM3o+a#>UeWHah7v6RE#w6sSY_E_1n(g)0H*BvL zEgVXFVY$D5)xKIvtiA|~L$OC3PxkgY)3rz+H(LqNS4!oN{=2vTzPO9_uo9b^XB#A=PwU`eQ>|8U&d&db8h^9Fx6p8&S_otzXMaEIPJ@RtU(7V zvOamPYo&1-6-D?l(sg}|T_Dqf$&O58HNAf)?V*W5FPl!QJencf#ExQCviw+Qmy0l+ zC6Tnd!ji}7TE+ao{xz8Y=WoFLKal=kh8@=tK|#d@kB-7)Ez?=W3qp7TtxZ8pJ*{C} zAbOmClv<^aWt`kRDzao5X_YV>%2})~>z}$Jf=f~gqpT_cU2DUb=u1zO-^?s1SfKSf z_Ag6S#T`_Y{h)=|!;BTI4_Lj=BBepab|%EDm@Ct0HtOpZZEOB_*ZO_C*6`nG*RtBX z*3YzSnR2sosqx|(hXQTXoRoy5(g>7rCT)=z$5_MqXA%j@sDkUG! zHFH01qPNEi&j$Bv20`M-usqM;r&imA{1R5;xX^|=!*9ohX6lSyj|J!m7dP2}24$4WbjSb41CvPuiFpQ*mJE+0iH)!mDWUYO)jI6Lou zMPH+7Rl+3c(?)fW9q51}pbTy@m{EE7Q-5`j-w_g3Nc>g`j^d>i&gx4^HFJd)+tJTVC z9Wwz3*o8t}espAE`PV>b9r9A(B9`f5iz@WXkRN%h08(~X?>#Ax`4C#;;v5jOIcyee zJ*dOu2_)Cn(>TDxb&FVY8+zIn!mB>RpWmt|Kkq$^%ISh658ADGHtrqX-_xbsio^>V zB;Sf>b#kwFastb|5oh&!hGA@f%e};lE+LuBu-+)(Syn!TQwO+m)p7(myYbz+Lk8yV zl7Tf)3AUjkt&V#njoAf~nfi7cFrpV~8Lz78G%5MhBMz0?nnCjfCFqLlPC^%Xl`9)^v`9%-Ay?%Oeo1;4z&RU=`0SEz7jb*O{pU z8ja^#rth-bd`X5C2S{e_%5mg)NOf!K;f=|oy<1()n` z%(ajw29P62%!g&D^2o8|k-?I+nOnL{E{q1#P?P%|ORGOFCF?BAZ~8h*1=IUmscU_K zmgrkxd6j*$-&$1t@m4LH3#KDWYccf4slsp<4I?fXi6fiY0&tdpgnzD08!#~?hb?j( zS;t^kth4PUGnFhO40+9PLf)Aehfu;Z6axN()_Be2>)AHAg;09D%ZlqwEfAk60`axp z3EEwSgkn8NIzo})uGg$6w~Zd+s@ob@(O+C=Je{M8K{21rvoGv(bS?~s*aFPEJ5}_# z-zcw(X?7L~n}=zCc6yej5o*2{9mZ$zqFrGUr=OYd_0(ZEhNH0Ft*}s<(Wyh(Z8Z#q zR(bM=m)TNg{o$o|E5Y=(iF1+u*En?VN zp%XeQ!Yj0bbU*=4gQ7VO+`Nh}BDBIOvocIrsBF7C*WEXNYy52MdX3*`x57`Lu%dqh zou7RJBS!YAD#~~+te*x^I_qEEzU{Z+9eCXweu$=7Iz#K028EOto2Vg;zJM9fv*?Rd z6?WUx@F^{wZBxQ7 zh~^{NztT8=4bM6(?zU!mQP%rngqunvtWnop6~rY?vU>YK`{yYfpBu+4&%P8dqWnep zF&gLU({pjM_$WVSuo}ndzyv++B20nZ`lx885hsQlRMG@K;?0h8+hqOyvnc1yL9!f8 zBt?-gm4+w?WzFC);^8z)Nv{lOv>0Eujk3@3Xem#Bl7n32n(UB8WJfK!s(LQ6zaGUG z4T{gMVWSJ}RyLo*(Z=3kTC(1)BtDJlVS}+QG?`I+!FnPueWUP|bQrbhWURY4mn|Od zG%7=&ztu7jZC}r+6~&bsNQE0nq3NuMbyiHbxwH6_2HLx`FfXFRwA3QwV}$-B0g0_v zeY4Mh%pq`UTREbfG7Kq44m?^>wRkiEM6Dc{`rlGUAWYY64rB5nOXBG{OsMipmVX{( zX>tzs!XURphA!lJ&Cq2$Cx)(;eol7rZsTmSn`6t?`Z(TtUxX4T6ysR#sp6P%K?}HK za#tOv3`cx7dLXb6RC#qa{G{Ua){_cHqU;Op5jh{(&; zs!qNimXS;>K0@Pgnw|11s=I9IXLo(Z}sW13`Xw7-vsqNDs{1T&YQ1tk;@G^~Qb zhhr7EUpCG)M>Ve2ckM)2e+p{8rkE3148Sqxm$h_1?QGEgz8J~R(K*QBw^iZLKR65x zl^vDGSRYeADmy-k^~BFd_2jI;$vPs(BOf=3zq6*N<7!Z^IB($nz(o% z`=+I!X8}nCYRs@2o+=NkRq=&&w19V{tyab2fS}bL@UljV`5xz6lc6BZ?Kq#PHH#*W z>w#Do4~#HLHgq{4KHt)IllWICGUjn!ls(Dg_liYUB{NVNhG`G0tBnSFpuV1eRZ~UF z94QkC!It9D+RL@R#;z8xc<}&zxfGvy@k&`GUt1e)U7#{AHPl$G*ZB2oUVNnzpYr0h z+<-qu(W$=Yym(4q+~GAEpd812Ry^SkMV$?DVa2^Igu{wMUOcJM4lC~S z;vSfAJ^zx*twM zGuSImPC(_32}OJn@gaTmkQbknkA7*5Z$y|k+5@*U{ zgLE)B&_T3$R|DG)&|{UgHZzs;b6`@jk9qNihW?gVPR;&NoB>UzRC>{DHmy#wloyY+ zvhn(|r={Nyb=2kZver9IO47@Wi(7JVQfBIGFsLEKz;F{A_J|i3O4aXfT6Hh|eps9S zK>y8SD)2{Myi*E%t0L`x$6CA4NdLP8&~LnWt9OrafQ4TFhm6qh+4=38~+fCl>csXk7Ra%dheafVQJKl9>OrMe%QZVybB*7hO8aXsEJ1+a=~5{0>@AKboOexDx5 z-3B&@18PE4YG^YI7Q^~_UHqVoHGa&Chpd%KQej>^YA1h;N?!bb*iKu71uuSUrxlRz zXTmW*@!|)iW9HUE0n?n~r|rcuhzk@N-+dfsLcyYDb!IWL#tFI zgCj8|JzhAz(2}ol2w%DAsS@DalpTB-cuG^?ljAf01Wj z&yV{}`>M1?rnAO>ZmY(ih+1nfabEbVRmpi3;ZHH5Cqh0|&a0HXKgB#+7{4C%Pfn&; z9t}PfC&ePnquI$x{}>0l3V9V%-i%cR*Q$(vck~bA`1Y;u3{d)ORk*)jg-EE>H^$+E zlNT?azka@2_4~R$=@S*H75P*@F^&H1DjWCJ&Q&UrTtPv91v;If_D*?KQ5%wuy{q1# zl=7s_3mHsBWWpw`9TG`F3)OL{U#^w+(d~X;yh-&-X|UAqQ(I=dnp0aA{JW#~@BeYj z_}lG?rXRgOzFe=4zx&9lGydH_-pheBZcpwt8`S&bTi>zjL)Q*moo?^I)kj`^Xm;Rg z$*a@N9k@Dw=S2By{eSdtSAspLmb#HgXGu7Xv}(cn@893r?>9-`wF_C*bd7HOZK6&1 z`}glPebt+1Idp&$j`i<8vi>d8_}iqf-|pY)D_ec_MHxUbMOUk83Nv+oU#oH;=c@B@ zb*7U=PKA@0KzhQfFG^7lwhYe!MT$KD@E?8kidPSRl&?Okn7n#L22FCrPqb8@q(Ze% zpMT}mXBx-Xy!xuaG9aTQBBH9Nyn0RVpTm0^8rCN!RA#!vtLI7^o@`;k>dvIPLudEL zm+LKTSl#2*6QzK|4Qxo5XMbNgrBIiB6diA&#Q`rT=6J}&I=|1WL+Zmb-ak1>vRPOx zP8M)~scjKYPWr5RvCVC^Cy3Iv`fIyW@1;ufQqFnxtoGg|EdZ+*l5B|d3FL2$ z&nI5Jq_#i&hQ|G}t8uc!=@2b@m*g1LKVNc3TR5Dk9QIgTLW}k9oNZl zY_jwyI_A}#{e8vMxq35Jh=}SIuO2JaUHplEL_~G5MMPBhSSwW!5!L;6G7u5fr*;|; z5!Kyx8W0iHEm}U0c%=}9)jPR-Xoax$Qo4j87z0^RJz}Tf8Qf~s)77f@NoQo*DBcp| zRQ<>+g+i>}DpNxUUL?EF7)GvE{j@s$5ar^bzy zD@dpfT=5gH6oRfY6>3N+PNAQwA+HoluCltnP>83>=9NOGRZa_K*PpPQr`W}m@pz?>b(Q;Pt`>KHd$s(?TB&li{M1gy)iP|S;cBtlX}DTES}g&u zi1e&R+!_v*KKi>65YRv>-&_17yOp*w?ZHaQ1w_8DMgvpwn7PX3C_C8g+cW~0bg)q` zlK)kp<w0uJ6Z;+5ZY4CQBC=v;6YFs(OPf^}=75PZ;(wNfP?WVe%lkq`3N z=1#+lpq&PTGL3LhrYWD6N`v!FK7L@rbl#qGw{NH4=llC4(L~OkA+Om;oCqK>pXOw* z6sn2)XYpiOX(=mMrH`j`aaS)MYVLx6PiIPV&pIcY zly%}1iw@{m5C{~TV?kKh2R=Qc5ja&iS!wX3vYykHT>m~&q{we_K0T$vmVEk=3OnEC zVy0jC^n8-vcq3$ZH=|obbT^ijynYQqIuIVa#HlsWorbY z!oBIqRw}vMp1$JK2h{$5&uuX@z5dFl#4JqFkIl#j?b-Ax9}S1TIT~56<2%FA$Yj&! z9M2{US4ZYxbo_qyH~rRk3MB8eFm;;@+1t}fE?sy}pN?TVYYjP)Hsr`2oU@odCr%1E ztmy9pbALbjACvRp{(kg5ZR*n}e0qo4eQ&F+N~;bV04n5K8vXFW$szQRc=AafYUTKWx8O>ayBz zl*(+-i#0RM=~$xoHRYh=-rm$cLZouMp4vxkaMa}<^QnC_{f&NprJtYa=Lh=viGED_ z8Pbn+42Rd??inS#pr0S<=Oz8TrJqmq^N@aip`W|-^M-zZ9@Eb)`njN=NA&aV7!Kp% z^6>anp+u+d)rWA%P69s+_>?HU=?MHYk9-@@jnAhe#5^IgED5)Ot3WeT?EW@R#vLg7A+1AURf1}Nt1ff3Nqr+_8jRc|(cN zE|tu9GFO_gP}Yf%-)>mg+j@aCyIDEId8`GNI94r={q2^tLI;Ma!zA(@(pA3pi2|bOTIK?goDRY zb*yq)RIO3r92Ro9TJ0q@Wt8jsY9%yVd837+_P*kYB6CeXcfuN!e&gg-4eqZz`K)~O zx*ObIRd7G$2?<{l@DJ!%!N^mD%}I-jLZY{S&C8<=8_~hJPK0oNpqHEHXOXZ{s3%X|=?k9RQabUdqth2^r{D49k&^$% zHd9+FmEZ)4E=1lR zc=9s=?Waa5A_-NY^hive{6v|CO(x-mLFTb|LZ%yu-QZPrRA=*l5YsH3 z%`?1nbT%*W&V|*&qk9KhV(#zHD-8ryiHSc7E1;RWuJ7@Ax>{9F>wMKyeUB%>YL!@+ zmRPmZ49K1Mt5xDOr8-aoPzG+3=0X}Wj`OPP@WDOW7fQ~P(WFI>$aAkbPbbw(OLb7t z#&a##<#}px%59#@6GiisPF2l+$G~p~w8o z)x9gSDxXGdeopoTk=~4sk%UEgC_rA{%RZj)`4_760gpaTqL0lSk+XUJiq9WR<`3xP z|MR&N!8MIjX_)yd5#&aHo4=Aa0-(30>b~;1LdVQs|FIxVRB%4!bE1Fd&%1;r^E+F@ zlKGQO967(&Apw~mb_hG>_qR~wvkqa$ToLBb<_U=}cgZ^DpSlt1L%xH#XY*fnib3Xg zyTu^$H#@{2^T#{HAoE*0#31vFtHmJmN4vxz^LIPMAj)jn*yP)Ptf0WKrNpo=Ys`2G z!~i8eCr1_YJ7Z;1<=X8!!>9VIC9+^5`Jwpk7x8;n{Js&tkHzmT@p~bDABo?0b+J#? zVxP2{ArkM2Z=SW=SU2&oF6*R8yx&#Qi#jKeKw<^Hu3@X2|0a2{7)eJ`bpv4QbY^sARK< z&rysu_x167gcZ+9J|i*K4BW`fa&EC%%pEohyG72kVq4@qtGcl0Y`TR-XUVq6c{cA9 zInQQS8}rQ;n+SP!)`5^`A37-6*=Yxso_*ZJ(z9g;mY$t=VCmVHE|Pb4vI}?59(3aF z*{hwnd-i#MC+?no?Z(}+*E?|c?CB2NJ$t?bchBxzjk{-0cH!>XyyjPfAxhsfgzoD-lA#>l?0S}R%mv&as%L^(okOY&EEogm7} z_#ASvy~fSO6LNtQB}F6xVB&&fGd|~hHeapaXNEq178`l3-UKLojw!6bS|INS`XpSf zAP{CO>aA9*8DgWK+VxkHrzJg6tDtkU!=w3e?VxEAjW5>+8J`39 zIcJ5wUWcod79wt)ir};h9tvX6P779X?v%UFJi%{t@LNi|7+7$?7us|g5Q57TjS%0BQ!+P9sl z{Cli@Sgj(~uH(c0z6Q$cn1heV>0HZLSA{HF&km1f;W3Awf__fu=K=jx^fRTOSM>9l ze!kMrYx;RgKMVRfqn{7-b4ouS>1Rnl=k)V`oPO@m&lCE&hx!z_ODJJZKVNFy$LtxO zk??Bvf-6dp*-K@Mn1LJj*$dj*W}o=%rIPXC&Bbt1(kF#NF=@OTqY63msG?u^>>)Mn zF7H41dKOK~Xx0mB0zui)W^d}VL|uC}c|Rn#$lI^WE!SzYyVA$r#+lB%acv1vb0?*L z>VzbRLtE$@9F!r`MFcA%M8m4MMj5nPVk$pt9A8oajU^Qpz(X<1GtiK*Y`ys&OzUQE zjC=5~T2%osw(^-*0S)nEJ|hX+>=t)bd!(6Sp*REM$S#Sau-@XcTl@Q|w7g=`8pRW$ zpDj7<>=B<`P<`*v1pVm!@$v1|`y*|CGS&u@_p{sDWc=QEKfA3@^p$qh|6j+t2Ja?& z?=Ai4AMf8Euin2m^uJB?_m=+tc%@A^ezAIg^!`|HZdbQ-uymgN$iI94UVHyupTN^w zK6}*RB;}}Q_qnx#0ny3K8c%ud_RJ{ zbzdK+t5pOTLCQyFzwy~yg2k`g{7!}a&pW+6u2#{@txcxnVD2srA%|q=V}2KLKA8PF z=?{keu>k)Md`7at*-uaiNf1o`1-}77QD-i1^GuNVUN8M`9l?xycrPsfxoF`6dou zl&gg>sanK*kt=z_TCJfiYE>!4cVDf#MepW8`F)KJrM$nqeOrQ{eh1cHE%jEaUn46N z2mV+N!o27xKjv^~tJcg!aNM=i`%}{);VwaC{aUQ3rqm8=Ua>`N7(5;^Fas9GbzJd$ zzbNXF7c;M6Q5(O)mupsk15+F;Mo8p*c#wZD9r+&Qw{Pny55c2FNfOKF;L-E%e7IU^ zu~dgC`(x9LN-WUYRxJ{{*~@4iVxNd7(ihXNWA&RSc=z|QF`|cSwn#d@>QJXgYqpqw^Bt-$u;A`In9mkn zaj6Bfr9BPHg)vXEEZ2yi!uLnRAu;ZWfVl?xH=*nw zy0S0k2)#w3Md*K9^--`mRSX~Hfagf14ja42n9l+fi|p^`-%IzS2YLjQ>`{LE_Hn%x zHj`$OsweOlAEgw3tX{T!_KECDau)I-%S0XF_gQ_;^dOXLzu*~JS7L)R>7;~(w@n@S z1Td&v%(Y5it=ba@tT|#H9|0BpNvrgOnq!(mnYYd31Mzw>)290Vz8KIcEEeIEU@h4u z@Ps;v#<6|`%{j)<^wC&T0@aK2Ix%G!i(j5H{8l;Zk=AE_dveOdauwMuJH{o&bGX1O z2~J)zmGzjZ#;T;G-ar*`gCb%H+l+_c5dd7gXU7K%@TE9Ok*EYe{2G~W7ogi``B8Sf zaag|)o*UR=sTI`ZqYMtkV%}Q6lhaB+2hUd0p$9k(0@uFMr8--D;fr(QMV>9=S)}eI zC#ru+3`bCZf4ewuu*qt*ps+gX%oB&oq@>kA^h{3qUOjky^7hV?HxFLbKJ^wMm`q2) z<8J{T5y>lzbj1hXyng=X-s1=Nw?8VgYPyJK-CsR;`SSV8SAFpATg)_Fi^xYx!Rp)! zg|=BTW$iBb)$2R2-*j}LD8sVa@y+3@S8whZFVw)+VG~@Zpr-wh{=r=H|GfF9YpT_y*&g<6?p1yc} z1vr*}4YXmcx8?x2k;A8Z=u9gzl&9O~x?R=7JBLr+ynG=1dy2$YZ|>cD@aokyb8QdG z+HhYPt=Efl1CG*yxeL*zuYeF*d~V6<7GG5*@RBBA^jtXIVkvLV*{xQkj4dxR-AyVW zuNr*1TICr2vdQukI?FO%3-ZGK{SYHz#>F9jkv=%+Iuy zj!dr*(dlg2eh)jrc{>RXx!ZTqWcLk*Jz z{LiWWVAaFeUGY|w^D>Kiq0sqj5gcTHl4^@r`grj{i}guN;a^k|HPs><|8-kZ1k^0Z z&0{bzV@FNl$2$9bZIg*vtUrpg^wo3`orWyuiv-VuYo$I;LEg5%pVwvIDJSX!9t<8Y zo}*>tm0@RyZQJOaei>=)j={02w{?@ql`l|r=+STzX^W@e`)3RXcGesHuDfu5th2BG z+>kY|wR1V0kD}vd_)48BKi1jnE34XYSB4~JU8HWzP~fOQL!8uh}d1 z`B-Pq`Qlkury9-?;dCNM5uH8IE>Xm|O?EOt>fjke_7psbvo2UBKyf0rkdqxdz)_ zD1r93iM$zqtiS)b{XK1eeg}0gc**K!@|4vz@|@LQbMj`>I!#-Ts6uM!jXGwMh1}San{t}eHg%2QXcG4Kx6kIO?(cnQ8TZ|)dxW9xzE;rmn*SbE|zPSbr)wxN+rFGzsUI)2zW9WQVf&XVi z>L@z?Mqq9B8g#$+ZpiVJ_2fBFrxdTbd;lyG_J`LH4ni`2t(HO`-fvHTh1<9qSAce3 zQ~Vso<5HhIuZN<$-_NdT<#ps3HTlJMlS%&o3K4x0DUGPbuC0=Vgt#s_-{?z9eaX8! z@$%Zi`&|o=`u1tFZw*({>nN7Qtyiw=repae9p})o#Ybhy0E5-p&xbdgq;RMUC_XfO zTfl)&)Tl;(c@Y;S&^_W-(+^}I*D}mMMnL4y%{Y>?@-;rQjE4q!t>qzwoT+#S(W|CB zq;|7}hsJafO+QC72>uirSye{)l<`>-9pvaWd$p=q%)cY@ zYn6kDOazw9^ob_?tfSSVHU*LCv+x<<>VAKm>f`T!u*whF*XEPOp{An$TxSWJ>f_mD zaZj7;hv2vSVEIFGZg%hx2q4}$=> zV*+ih>#L_wI*G^W_3Ql2wNvMc8IqzPm!<}KqsJKl-st1mL9Pt+T{sqzKEjVW|r4RfILZLAI^{0umiud<(+dq>E~V`RH3pY3Y%+ z%X-%Wa0hN`D<{DFxwcC@0i3Gp&KR%#{xP1EHNHPuNPP;Gu~xrmi8Hoxr_${?iY3^O zo3kAmO^7HGrKJb~BkTm)iTZXvu-GH6Jv##%oA4u2W8(9TRJ|jorn7fi7eHFZOO4Uf z9dLw8;Ra_S^7@ys=uN}w}(`bB)HQgA$TeIJ~SI}H#;nzC*_5ZT5y@Qzj=Nkz$Md+9fzKBAAU}7zTtEDV^ zd-y_XZ^4d4;q~FGMx@ZZe64bv!8AxFGPDGu*IEFu%$7?DN_e01*@G)e3gog zKd*xujelVoX$~Kw5UP|R>mwr4GA?A0s5uP_)Rxv%S6`A$ecpsyne8=jHi0iddEA(Z{$bqnvUbvi9>m_E9vGf{6W8KR=DiaQt(B{rEUafchT) zaFvxnhb4h998iPlEM6-Z=PO|xu#^?C+mNcC3KK_k|B*-OEFznXI8CGcWi&r%jx)h3 zI6OUr!+7yBdW_?#Yhg#2*K#dnk*%mwy0-Wt!@QSkmQK2|K%kd#Jc&VloKF@Ip?(5B z1;&drxCNc}STW3m7+D~H7CwK0Oj~o#K*CE*@+8!2woH4T%5FQ&}@b_YHZ9o^0x4U0MuU z>*y=RBF@sN&M0sr8v8+z=kQ>0s+BCmR_o}U2fINDEK`E|Hl84V8c03gX$1+k9UaDx z!WiL>>aOJ|ozxaHug=qHe_TKIkF}Uxh99!Ld=TczIT%b#$+8f{JW5OMG-K8sxvK3N zD}ul+H!?|wgVj}5$ z>tlG^ln%MzX^c;Ql=~<@p1?(Z(=k?0HqW_}jjrO-VLSX4i`%B=5TZ)b3%CWPGUQih z#4G&(V_Joi;P4m^hrQs7-bH<=(3T-trz8Hd9%^R>INJVt)8{E=wj1mvCsNYN}u(qj6Unj z68fwk7Vs>;1{=hRgJn0HLOE5toJ|D}WS{e?(IQ-b*o;q&4dUho=6&E}xzUM~?O^cW z010@eIh#RXw_|xId1|z1Bn`+|Vu98SVsxJ=Ie=<{UH1bQ^3esG1GP3?lV7DeSUu6g zAJ`?tq#U2E=`6z{QI2=UJ2GY6r|2>o-BVuFR1*6L@GaO;U#2u6NxP_=j6sbMGx>DQ z7VM*c4$|oBvTyX075Ei2Wy! z`>b_rPP?oPZwm&UEt#Z$8oKHA1q!Pv$!}*!gGif&HKPE(Ba6%C%&l! z5DKw3;y?}@ud8DKQ1CddgaB{#Q_6-chMkZt9)3${;0GSuk~8#89%BK&Tvb3vI{>ZW zhj(xEA-bN&{BQV%;B`;#ndHiIdtVeUw{LEHHt5#$VG+-)R3`4OG-G~Sn8`4+~`JihL)~S5uz== zsYxVi8bei`6%43*z<7XRV^}Ar@n@sW66-BPQ~JE)NM1h4#~=yna()YNfSu)|mP&b3 z$Rg01HO~XzMW67g|ce!-CsY|r+_F=-2%|`)sJK}N$yrVPbY2-Plw%WGc^})z>Dh90zBRx z>ua`WvONX5KqwoNWa?jK#zJzDI+r0RS1~#(F#Y1p-h5=IdhNO9alTCWH zv*@lyK|_Q@lcmOKwv7I%W_{Y(tfxDR?rIh^q-j>17ExaQQw{s2Zdiv*ckv5|04Q?y z^%;~-9bVC}u5M9BnvMy-1pide?lvIbn4B-KD!r?D(oI6$zA7yi@x1JCd^s==Zq`f@ z8wU>TD-4SoYwi0X>c(ri3~VZYn-!+uOBcYeY#L)q*es`(vas|ID+e4!)L?zn0hB9% zDqtvAz8sp3rFPA@(0Wiyc#)lTM7{6CI}lS=OgF4m-WVU^bfzsT;7S?h<9KbSuNN7` zkCoO?jbHZ0$%$k??#Ht?I2&4B!;nI_+ijg6+uv7Sip_634+-(%B!ZHE2Nhblb?R_P zp|c!3<+v3P?^p_zFo$jgu5I1Wfb1#O065<#X# zNG?k3O0)8;Jrj`iy!uNHwY5X%)m8qNb*X+%%}PIRkYehItWm;hK63wD;B ziKpz0!Dd5GaK`|S^ayuJkr}bPW``b&7=iMc)k~=L zCOc!z7OK91XVz?E>Z_+sO@~VR)fCpk#_D^K#9DYo%^;GPiZt2kW<=$}3l>F*Fv2Kqc2$2&EEuAfHL4**~ z8jf_fxZtTaGJO|F)<-GMowB7IAhGW zBvuFDe=EIxyN-i@5Q7-JRD@OO@y&d+fKV8Hw8Y@uJw8^Ph3xXtqKNB$Q+ahoDldW{ z+)yMBD&*nc8_y}|H71p!cU_75p!)x+XUJ7v=XKRTLw==$dUDv1s}37ljRN3MyN=>x zY#RJ3ksBJY{HlumW^n-$@EMBz=tw#Q14m~6~gcy*i5DQ8q|QqpuX zZ3i8b69C+QflwRPYY>UdRcY(bD%fj`mP#1Z!qF>*Tk#j;R|Xwgv&FAS>Xd37Kl~v> z+aA`8YrqZW~Xa-PG`O|=OKsjtfIh$lRgL2C;(@zam+Ns!m+`#V#a>3Pn zYqrb_8~Eil{J^GEz%K+437~(jK}6^kP!9fF3JA4{M-@Iz%OG05`k_=(if6o0~wl)G7NU{17G0n!v}a7sTR1 zlntudJWIycHz0)u;Njq=751O9aB9R?+!)jSWedf*X3QQ*`a}ZG-W)kkg&Bbfs5sH( z9J*Y8w!jo~!3rrWA(W80Avjt+k0?S5 zak(HQ!xqjpjUW?1ws5b`_YzDBALUtf)@O@<(bahmK@oNr9OIx{#*jY^&x8&7!q+d? zkeKmTQ7IC^SyeMMXQg5TuotaX(siBcnzqXcUdy>=WTe?F0`IgCtPKn-o@KMBj}&rk ze^94udqbpnTgLa`HeFX7P25M%A3(>xj!z+K&DIy>&Rl*&Pr}Lb4#i6^Le0uqikZTH z{ry&Xp<4aZ@Jv(9FN`QH^EfKN&L6d<8y{!t$FHKY{V@qq$l`wXkt1{ys1#5LS2$Q$Sj(G~U%}9;uls zEmaiEo1G6|F#OA zDXb*0BU3zXu2yJ21;1zlBrE9Orl8+SCgK10Q!qT<3B)Z7y2U(1Yme>3iLdxbo%F2?RcNOn;au(`tIuLs_HsKECEHmt1-FZcB{HU7+kKxb)xEb)iJ+G zXF-8W?T5m9WG*C+5~8wM)$Uk-I*+jxJ5ikHWZE}<(y+t{1EIe_zXvYa(5Ow`+C!KR z8`kg1>la*S4fM)#mp1WsyKAX4R7dLF$PxoMVs5O6<`Zj zaJkHjClJFwzJBrCVAJl+FH7F10b}xEPf>g@qT}64;9fGwNR#i8xw8>}uE^9o8&Fux z6faS{;EXxhis>I~FQ&87S630q3O~ie0KyODc~ZBk6=*tB~b)FRJ;|>5?Y)H>EO|T80-} zQSWSGx}X=C`VFBg*Yj%{QV{AD{H&67d_|tOub!%8z4m5TWO@7Kp-R%&Th--(^c9^c z9ETD=Jf|^u6RgXBoPW%-ucK&xcKoQw`7;tNolWg}Ebu&!m2~L_N*F8jkG1Oq0I~Ji zvnW1IlG-BfMWzz?`ex|{SCs>hNnqcu!kE@)E_LnB1~O(UiNeGK4fwi|i*E`)w@5%2 z?!L_8Tb>yJS3s!0Hr9g1HF*Pte}kEfDl>^luoz*f%eymJ&h4fOe|2NulZwC$W+a+8 z%*W`O?kmf2ALd>;n;?7}oCe|fPS2KZqO5}?qEm0~(U}4|J%BmaEIXE8>>tz8J=@*2 zUP@QV{*hsst6)S_un)0d1qD`NxwE6PvRIiSMU4QmS$P+9W=C_vK;MpLgsra~EeWba zMiF5wg&nO3y7{uBe+A*%#&$Fj;ZV-tmZ9HkS~`g?!5lz~&KPMCojcU|4lM}Zz4Maa z))BjudH3#U>bpszMDI4GIDp*iIlmH{Ck`d@bDfqDzp9-V7lL3Gdk|e}x|V`FOjX~B z!J)qQ68k-z5yc4|#>)G1u_NyFkRC4+)L7`I zh|VEy^v)U=YsL1U2)!c62hM~`+KR=Du=onmBPV(%@iDLKV=&9Qh7tjMT3pjbr+?j8 z3OErL&b^a6C!3SxTkYihu6~kydy?H-2-NUKp%*~Fe8FQCakRh{o;^7k*CJa!NRIP!1V@9bd*B)`xr4z7c zj8GA?e`j_t2bLgQYayU$7lLq@8|F~wyG``QDEdFtq|!`=0Z2kvd&-p+k2wUFtk{P9 z)rM$cJGHVHH>hF348j~a3-|wN4T0I%Nza%&fJ6zWXaq5PFV~OGZc&;sb)$40)7Pmx zJ$)0qQ+jx~=K}-W=#ALB&)`7gsPjPRlfg^?e`su&Hq3!ZC`-~a=|Vbsk;ChT1~X=5 z77*|Ulh`qAj@(nA?F!}6kR)LYO5O;l>&yY?(a|%|@bq)_GctFW+H&ZGXp4N{=Yi$K zoKG=6aP&qCQAJg^r-*Ke%j8oSiN-OHX2m7*3@`+Sb8+I)Y<#rTJW|n`=DO1*KoKni ze{b%x`*FQ&$>g|%f1Kw_?#;DE!~dsaVvTd&hr>fHIXs*jFb7(qlQ2)8=O7rui8U|2 z>6^+>p&{YmLyQ^xq@b>UbRTpfx?QualjtcUUheB8I(7oB)9H0hPRKlQHo_WEy`%C~ zQVlf|*y>@GkO3n^*)F3H%kCa3F`Y~Fe>N*Xltq|AgdZkELO4F9mtZ^}dn-*Rswzcf z*;`o<1`Wpf@_ul7z)N`C1V_|7G9ijZ^h6w^d`mOhdN&t4n|Yqs-o*EUg>z7@8we(; zk|T)($ny+~7Hv86P_zM&oC=I4`oSetg~lU(SkN>T7>FZ#lSIcnUDxstOcf2We~cSB z=u9}v=@2egXHud{Z-a6tsa;m0V-2AZs`ReK;NDa(S}ZaE6%+%-l7RrEYzn|D5S_X; z9hB2wr7E)-O{TFoDU!L@n3&F0a!N04F~?aZo7dpIx1)ybgGh>rjabb->LhGmrD}th47Na$|Ru*fYXU zczX%w+J=F%9p!e{lgtT=^K&I%VmveiybUD=A|?@;=yJ57g+>t(vlBade+qszo@@Dp zR0l1lg^5NvCFx~khSv7bYn`lsS>h*5^u{RBqk?AHZkHt0Nla2YkReS`7$zPoa>r-y{fvfnlq?BBQZJCxjU;} znh!RiO^57a9em&i+CoF8fAH)^@)9oHFU3~DVVvV#CP4i=X#dxS6@k>wfAZ>Dl~3`2SHAuF>rU@$mWFN5ha4uf!=C_>-T zP~Jf7GOY02^L-Fkd&yF9=S(_9^PCv53}r;3jrU?29>Fv`%Bc)#e-6)K4$pP_T+HEl zK8Lxv?u(aip1gSe8blpg^iV=m1@eTrfJlaXKzR!Icuvw-GYQQDWa%Q&(j}7fvEU*c zex7;6C1G(Jrm^FZQ~e+?(Gs#IQ=JpJzOx=iA3(=7!T7<{DL^PEh++Y*UhcG2*BOcb z1|uwC)Nf}x%&p*je`1-sZSo+=bIHv_X~lnAM@CHD=~9`x0o-!%ra{h#@+g#dfy@o@ zB*^NLjG(sZk}9~B6u6TxlnI@>>x4pjOhFJ6g#0GJg;!f3>;mfkQJlg_JN;&X?YF z$?lPIIH$%t2IzXZqdx0s-i^$4d=ffqylG3=1)HJXO){NqSchy{tQvcG37v5>-QLuF zNQo$yWt`;wtwi#2Ih^k$sl%_*CD|RnnFkt6fuOHtk_1a(Fxb0=dXOjxKwPmOSQ)B|b1N}mInuzesAwh#Wgge~9SZ_6w#-{3PE71E-)>dBA>pDmxD|4u2igX>=m?`J zrLi|n;YoHHWRjRp*D;I;Uc@~zWQ)L;STLnFCzxGd&B#vU(2$O35;1)RPa^Wi52(W? zJNx0=juxB#-D;gmx>@w_uzW3)4-DNYF1>^+f6kN_p)gB$Dd6k{Ye1JA`ruUNT_h2rYDEG?lUBdm8;2d9vi?E}Lw@?8N8 zo4g^!w;~O4a7Y#(@fFi0n9e`uX^?}#AfT4KTYUAvst#F~LO-<*L$WHEpd86fa3jKR ze}i&=V`Wccc`F9wv$L9A@GUOh~FME(w^*v!;HSEj1Oc)0^5r&5RTo9`BqG;?kuPwc z@%=`E>fWwyb`q42kkt7OmIpqSE=5>{8Wn6Cb1fWXUV=(h1wuY3wvIRjgzW`re-#!; zQDE}owp88=DEpOANG|0T*Ivb^BMoMWgN|N3n;ojz5n zpa2F!>&hN{lWU2EbJ$zr+K;K)e`U%vT>CSj8;8neX~=Yr)|9b)iJN-K+@p!C{*|*@ zfnc=^`07@g7MTpcyu+v14W$$F{z*+TT%W!4qql#Jz-J|nRASc~MV}nepot7sj zKVa}m%qaCEo9&bVoL1$JnJlDK(w1n_TvZ!plHn%}opN7K8nfI;8^80Cm&mcD75$t8 z2gFjS^{Y`Qnj8G3f5NE&m9P;P9F%z+P=&TI$%zl(67gDuI^PwCWCq6uQx#)vh_`Yh ze7pr`DYB`VzC+HWd-{}@+3i$y?HHCdN>h`;HVne_mFTZg7=jKH;h)x$t~tC zl{()QeS=96Bo{aPrdh6~%~rQ&W+eWbPiua{UdJj)M=@7Ye;{dwlOn0l9aW-;ot`<+?KrJTbb1 zboY|$A~2Y!(T{}W_Z1@sys)CEQLZ2D%He=nc?F6oo=jYWLKgI$$Mvhy;Uo5S%*fpQ z8){nOGVgTlf04+8mo{7rFN(u6Z-zSEf%nInD(|82d&Qg4Aob>#Z~+8F9u!ffMP@zI z_Vvm+IFLG3a23H0q?Umb>04&4bKt=}xcCUgz`CTAkk^}=h6Nd_h9c(Q_29g#sfKDt zlu!q)BkGstwQx@e5=@Z5J%qETP*aqd99pP!fIA%!e{S$ifHG%{EGV%gOsWobKGI@j z0D`O#yj`=;Bvv(gwTqqduWAJ&9UK%pPw-P5Kjpj__it!O*QapBinq^9>7j(yklqK) zAlT|?tAmtsG&k@icRW-pe3s`==6SiCxx~y$qWT(^yfhCfp9kzgF$XfTS|+zWCU6$)jKB9$co@y*dE=K_Gq zEev6iU_oV9p&Sd>O{t#c7%R)fMPT%U63(^g?e5*VFgF05%sMwwEDFF_*X6<^usZu8 zyPv)vSKP`90f@LEjpZ9sPcWfw=0uMftB$2|eJs&+cNG0F*1(hwtalmP5fHgj&^|%O zf3Eou?HZo*f-xB}XDZIn}qRX@R8fBR1yFpzfdzcuiOzqRx`_dG^q=ccgIbt}t> z?((U^evx7Bk1EXl?%exte@)Xy zZsX&4dotUO4*qd+=RXg>Ir;YF?n&e1o^vuh`R{k{Hz(Wdf5zL<$=WpUn~jt8!`|b^ zC+o)p6J8!aJcgHtkMZU4qsL?Yu6APl3AO6q>RU}axo9?ZO~VIsdvak8^l!D33v+gI zVY<3Ll+y3&Lroii7b{VAo2GL7wt zv3wwscAiGMf2|Ks?w#Dz zrKHTge{nm^(nh9rM>3NnW=O58RmvK$Sh>xKP> zL`0hvBDyJv=;jTHXyGj36KUu&3BBF!_4&lb8M%Me!cWkUN<*^?f7j7qnq&A4UzQ3b}uSz7ro1S z;a*(di+|Sl0{x=Me|Pc+78vVDk;^pUS4|2`vcVqB=p!(!uOPIyT$pyc&fl>wH!K8JMwSUx-CI$>Fa?;O51 z;`N3dd<*%%e{ct-I+39_Wrn_4W$0UIEd%c1q|>imIsLlg^y}X6^y6M|KI!!1J~wKE zpD}fP+|{VaC0q~OJ4x;>2&fW?gYmih{3vzqrkT7B{6J0hVQQnH&0{}wQ&f|<(NXvu zhgEYF=C19;QFwTG5P>_`;wV}E*+kso#v;j<^2yI5a$=0()gpO0 z?RR~vVKaJ7A;<(=opfOIrDY|tGqOmVbV!%}Yr4XS=oZhDCx=3%|D@fdr!-nCw?Xl303n{8yScyK0F+6f7uY@tMs4`hfj`|b z_CmKc^>@(2fr_Qrx=`2Qq2@VV^V?u#nd7^`2xdjSD_X*@X2SzB1qWI)-o82B+u~hM zYEx(7nt3ri)`rC+C<4M+m@6vdsXuV?e^IHbPNE)A0qTfR@t8h_p6zvdD_oBjARxI) zK$>Baa++b1-jHU%TgOkL7;27q#5#Zg`xsV}Ic3#{(ZDX;FY8wv`%#avsk`o6vnZx; z3;7bx09l<96bcJlL_KgQ#)Fo%L78$hcb8UCZm)5q^*(nOTKFn~u7lUKl9u+=e}x4A zI}2z4tSnHE8}h!_j{+xmcpMb;NW|z7NfD+pFg*7vSnM+h7AhZ)NUv51mY__qM2ujO z^dffp=U&{be>b9NcKi3wy8dO8)Ohmzm-|njJbd@?{+mZmG$0cyq3(&aU*Jn6Gh*{e zfI)})-HuKsF?!UQKmcS99PRW6f6akTCN4|%bTSE9ETU#hCzFIFhdP<8A&ODE+k)gN zOJ2)668!)>qp?`z(HKzkxX9sY6hg|g0P@Vr9paIt5UzV zQ+VBY4_f{WROQ#VTkg4ge|`$}!^5yp zxEgv|$ec#Fx*eV4XB9NCz$tqOSy3HJ(wp&Et70EarkZY`dAt^r04zGrXp9_FF@1Ac zavzt4G3{jef7kYOH;GDT5Nqnzr_e-Rw2~tkZup-g4EbZKOKOT$+EC~H zTRD@NHX7^Po7H5o?_8smgN@6^#L>q3vEPjM9eDD3#5~YVRy++N5J>jJT%I#~G+WT? z?R)nLnQPqnfet-&&^5RqAGpeVs&6QYnX`SzEq>IAi2ax>-H7R-f7KtclZa_*)@T41 zW?>lmZqSO(yr;-+kxLl|Xrb0~9jQhmZg@Y?* zxF%fXlF*UXO87vK!7SbZGr52Sa1cIflaaMES>`?%QST`s?}Rl5$na7_eg!p-Oea%t zx+hStudpch%)N*Qe@-xF4r1Y$_&6(b?!b;jPCW9*M{DLoOk+q4eF)-HW}vOsT_2}v z;;1ls)eE$_GcWv|Fg26HJyGsxOL)=%rMBT5r%r^QUO5bNP6Wc7a2tc8+*wrRQ>1UE z&UCx=0WHNx(1aJPX_gb*+R`b{&Eer{2*b1Ij0l5gaPbG;fAdEE*jaKadUkkt;EF`Z zq#wZ}=p&E(F$TK^KkLGO-!QS`eKunXx{PFoGFO|7NrqubtznpCFfUt<<*AvI9=XnF zBU^Z}l?XFp7={a`(eiYFu3u`Ddg6p6MPD6`OZX47Ogep+4f5glhb ziSt3TFhhFAjL|s2F!j;G%1uO4FU-#p=J&FCXfV}Ce?E3*pq9HmV6s)VydtsCspTgV zA6GFY=o^5YK+=*xV)-1ZIh!Dpbe`?>HI*#UOPv#`7%+=jFx4VXMR%h|$~(Ozt>sh6V*7Rah1Dn!eekf6?(Z7zrJiB^x1GUY=L5_tITl z2js&_D-NZc$wZT^D~ixM;E98ofH5$?%ASIUT(E;3Gm5hBi(74?~jy}mHkJaIwFmIUr8y*_UYd6D^Y zgY??$)cFodfR$JI?seCGgki@bS+d4qdjp~ye^UC;vupS(GUvG~Jkzl9ZquVZtW$g?>onbAonrmS zEwN7ic8ly&jSOQGXl}tv6>P=anQym3vcW)2IIh2`LwgcAJL@~k#_!3*DMLZD%l5>C zc^sWp*q`}m25}m_(QNE+-x2GAvs#h~95y*46f$;3@UyYtgWQ4-nsQ#rf4d#GQ=p6r zC|%2w+@KE0Au8IMOBsvjVJdH~QWyx_rndY7=C<>C!cN3up>q&$A z@To=^yIe=Yy-&b=>Z5O=+OfhE$y%F>e=Ds`DJW>V-9`(z=OX_*s++rAaWBZ9pnG$b z{^pe`esD03#WF{T6b(Th4%VMnU!7+G-d*Gwmq*N#l-h``)l;H4hNf5^<8UKp@|+az|- zdG^XnAFR_f3?K|O@wkEULlMy1b#h^=cX*hyX_e^L+VTzAl-goZG`W*R9l_I-fTe|EO2-ba`)-5^Rk`d zGvjx%;hw2!44X5Ff7~gE;jQkT+~9f}GF~LM)g-H#-P_H$dezTb#s?0>_*dD-mq19su5IH|!QTkN?(ip?Py z&QvlD{V=xGe<=1=ZhR@m#*nv!B~k)@;%(J;;{_Oh$IvUFl*#0@_H%NXnUNajIaZoe3mJi@qI&4Yxptsf65G|Dt2Ei9yY~*4cPS*;-CTKb5{*amU zw8UaENt8)q&VZ)+QSi_7D7br9k42oG!dpqv%p1-r@3niA@;(y*JP1baV2%Kx;RMx- zv`{B&e}_Bn=K`E5FwMoSV}hRhhpD#K?P?U5HTO;!6HgXzy^u(}d<)55oQNcVJCfvJ z!iQsCC@yrcsF13WKvHT6p{dC;&BYOhBq1sU98ifYKumTsAuouzLari#1|h{5?hBc{ zAfQoCYsh7TjH(q9LCm@l0nll%UeTC&jWgMfe_pKf_w(3G`E#b*czqQRdBvVGAS&WM z3FnFMYpd%(_yEkEu)V%qO+x?hkdD}s;iWWo(=Z-yw{)cb*MEt3rZvu3iF{sBgaoJo zR3iX705mo|?8)?_5bp{&T&?v@0u9B^ ze>%gU?*1i0W5|Rvj^i0@uD4t91UhFtCtN#o4nEF=Xwj8d>=;9cR9O5c0b}90176Vm zoKYq>h4}3d-417G;upp&#>q+W1cE8gAcRi{k^qs1U^4b82&HL9VJ( zqi9@P@*#4R5s0b-LUp6qB7j9n;XE#{Fx59=3&N#kCW+UJS$tTMBOqSfZuth@p)PLzMVPW5{*Y4xp?vsXvk}mayur&oo&L}t&mjvk7xs<~FV5-mD2n%et>TAl%>boIq z0@lEN0e8FzTCTtKwomjR)rNL|YjwA+CfGzA`|c{DGku7a+_}f(I=M4hF;o^ubMmU> zDoetDaBMl;NtsE&NZOXp6mPCse}^7iaI>xNjja64gy)Q;@nvEIl8fLcr=eVD1Nh8N zGz{bzhv#;pSvp~#?L=z=nX$Wv1hUoKoxScz{gUG)>cl-NpGDQPu>i+4zmb;^+gfwk zb?L4E^LrYww$an3A5(XBselQ|8e{?B%MkiP4^-c?fdxe__lqtE_A|~$08jG_bzo$;lJ;402V-gSVrbnz<;;}Ph ztP^26yj@!xkDP&?H#wvdkU3$Q3)7!F51k zTPVV@Y(3j`LL&sflq_hue*tj9UW%;35irP*H4pAXSUz3IH_gLCZ{+1c)X-q23)(bz z=g{O&y1oG;o?I2rn`F`iH@U~m%=XV~y!{a}_Q434)SR0VWW(3N1^RoQ=KLOH< z-0(*7IfN3PoV8iX+8h%;4@|FI6dE0f4I)5OA^qjH}exb za6HF^-gFQKI5fM(hRqk%91kH`=s>asHZwUG^5jGACwTH)8>uIOqOACprt&rdK^3FZ zwL9L-R-QaOAj%!&VeQiACy;cYD;ualQPy%vD0s)4K|nYx$I9n<6~!j*; zq{yQvjE9j^6vdkre{Y$1%qsOh57WnBLx-DPF3&~dm2&u#odjy3CNud^gOg}RD8spr zoxs#!CUr9TtzHy5`&5CVnnZ4(vTrJ%6%Z&~@;L_iY_&}Kk!2&$?nu4mGJ=*-Srtzg6 z4#-ZupxS7m`G^PR9Q)Y$S2%5W-iCWKJtQ0KiydZ+Tv(H-qph9E3yFPV6NG0dgk>c2 z95P-p^@Kd@e@x$SY&~PRAxFx*#EkEMv|%wxlaSU}C!;n=G))UZ7v0Fm>)?2q%*dWR zfy>ZX&q%22<0Fpad1GtN-T-dZTxVvW7Zf;1+!X9xa{WZFuo#gyDVgHEIM%TiS=Poo zyq-b&28W^6>`~QDA$(?>uR1&%z^u@_5`OVKVGI`4dZK{ewHdWmxVFPJq zS(s*Ke`NAQEs_(x{ws>tp40O}AazSoSXuNnd0WW7(i+*<}D%lcdT^|$ovZ|T?H(ytpzzsy4V z^A1Le%H_> zuPjy)ilt?-()=c3C3zo^HHeisE1QTsi7XUx97nC$4(j3IEyYSL6e}f#Sc#N?)K1Dk z3qq%LSu`XGkEX>~Zzen{4qv)Yc(iYue@uRmBt9OhOm+9jX74-z*(_Kq>{W&};$)9% zs&W5UvY{8Qu%JknwwiAkO4NG+Jy-Qz5z3^^gh~3IDr;)8z1clF^U~Vt9(+o5bu}gQ z>YB=9r8N~yc?B@%9VgJ*{k93Nj{3~i5x7noIDyt|_bqttfs>?evpm;cl^T!#7Cn5D=wapkbwm#< zw*+AboZBs5`t5cViU&_-ntAd~I9R@`{x5K_e5j0rT_wAif8}bvu}F!AE0uIGlEY8u293f11zfG?kCg6?pxc^o(~s*ajXyXMddP8p=^{SE%>E zE*RYN=@}V$Bqi~ft%vKR!|Tsub>^K3N(*7xR*9;p1lwkTwugCqR2wZ|88mqFOEmbg zciX`03qj|zTRUFYajx|0l7uqn4t9`bWVPO%(5jFO7_i*Zq!5WAA0@rPf2`kN;1@Oe z)RS;_X{i}epRy}Z!+`B{-3YyeXSXTgPcJ1+^Av_Rbpox|HJdH@Nbku>{X zxI$Phzw#BrYIcJwgmR|qt`Jty-^b~v9jBAO&~dsdAE$G6oJQglU5JNC={Q~7{5bXh z?;NMTe4L*BEfD@&ApEyLfB0{K@Kpj~vbuCe>Wog-3kc~O%tMu^=WZORL`5o79h23$ zvwKgenPkGLzt`!dPZM3+Fx#xe-psrt^4&{Yo%{4cB_GyF>dh}f!3Gs;Ahkgu6v4`k z7hdotjBKOxEkun*5K2*J$>}cqo)cD&b&AbVBCt3wJX{> zNIhSPX_C5es;hu;&=pe6YVF)|JSzCfQ+jDrJ^?f%lRon^CM2ccowz#mp{i&+Nms!~ zsa|I?JsISUf7Hv4KN@+2vSO2=YG4|NzI|&q33qackZRklKQ}Mt*ctfq^1@HSbqIJV z5XnVx^w$ohoSjm8-~p$m0JzsbKUGlZf*S_rak5@0Vc=itby|X}X|Ym>W5JPv9T>YP zJR`f{1C8AXcxskUoy1JkQu7JLFs1(R6KZ##GW+3Ne`s-?$+uhbn2`~#9IT?cx1+ypMT&o62so(qI#PwB-=Z)!2->a5 zbK~ATNnRH?gY_wKAgB|CxBY!{$0X3!j;2kKw5asS@yL{u8!?&6ghm3|>b2)~sQEX$ zINayk5W+){Q8?B=RgsyK9JkYAPWB)Vu0>ALf5XEaWcO~z=}uNwWL~}gI#S5fTSy@< z{x_tMZ@#t^^5P~^$ctM^A)oy%h5R%r-^vho0+)3wv{pQj@l6W`y~vKc>EK ze{a-7+jo<+FoJ#R+Gmju}avyeqL}KdZhD;qV8!`I9)iweTv*!QNVHF_+G1|h7t zoOpVvf&dSyY*020jSu0Z!4_)QeX<-%;n*O8KjvW`CcCs$o{&mo?O z4t8lP7esNh*^DU9o;`b}JPeiJe*5h=qAcyz%1#o+Rdu2cRb5zHmrRCPf07DfOZI55 z$rL^Jm9jBkevk{F>X*f0W@S2Ay@UXv-9c-hlhrFH(E4Vp+ttbHgA-`2UbEBI$?7p^ zytW`+V(fp*DSplca-wLH9Tg0sW|Gxo<99ue8gP|0pkVv1v>2p};)@;gDE_Bl>5k&N zclE$=NAZ{(XhqD>K>yA$fAzz|9WEo{wLVE6<@ST(ln+oHP6!)vYe7%qb{>2kp~l;5 zgc{HfnF;$rFke@2;@tOj4L>fvl(_O5HmTI)otyK05B^>GKKjM^z6YG|E9U9r4J80c z1T4-z=Ks&;{lAx3H-x_J7J+KJg@uNnkDAW7*O#Ci>%3M`j;_D zW(uvGT#3oov`XG%lnl7>SB@KZO_Onwe*uKtYj;bt{D*9bCGa0B21YpPc8dW&htzK3 z?+EWy@J2;4sDLyGV^}0uW4)BYs%9|9`q*w&>!iS7-Kyf949y#~e07Fu4bAInXx_S$ z*S1+RtlQ7Lv94?4^TDZkT@$VA znrL0uMC;ZwX?=c))@N^m>r1q*hlty@(fR}w^w}j^pS_u_ThEns?a0krmuP-@6l30c z2U?%7C2!kC>(*`Dev_J?U!r+Erno(BxosQGTetB=j^Nv(e~Q~f_f0U`XCuWgfWfR! zI7t5tg5~z7^=ISe=AVFizW|;zKY{M}GswH!6F0Yo&YNK8&qnZH02`a1K&E{*E;T?C5NpHE<(2?M? zS>$85Zx-T_f8R&xc)Qi`*FmOSC-@@CQ+_O1^&N9ltJd7qlHIXc=#DMeE!&hbHN{x- zp8ZRs`{frZ`ZWO^S`bYbG2W?YWz7Up(NE|Ugv%yCpjC|QXGtO=W=AQ>k}OHf!O1%( zd(#zHWq0AqzN`t2I!>Y+rnZ4_=ypsJylGrgn%b1Ce-rv7@V$UviP|Xv&1iKR&S)c{ zcz@Q&0VyDAqks_)_1fn`lPVVp|9&R!_M!m&KZ%F7+5LU53 zvbnD}2q$Z#ER1Ywr0xRlHptvbnYIARAu*tn<2Y*pg>y)rvhK~u(pgzrKwO=2T@Ty1^vmRnZtlIk*|tYKWnSpEe(Sid-bE-1Sy5R#tOvZ z>MXP?^%JV>t6i!|=l-G>&QePayk(DRu=o0Ne@Z~=_X|k

(;%$V?{-JoX)(c|0dro?HuRAF2d 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 delta 159844 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�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

(#huIO3;Q) zX_5a-=r&g=REXiTErT}_*62v@jMfJd-d;_9|4l|Kg?ISmRmb-|RP?n59 Date: Thu, 13 Jun 2024 19:01:45 +0100 Subject: [PATCH 4/5] Refactor to use servicestest.Run; add to missing tests (#13543) --- core/services/workflows/engine_test.go | 29 ++++++++------------------ 1 file changed, 9 insertions(+), 20 deletions(-) diff --git a/core/services/workflows/engine_test.go b/core/services/workflows/engine_test.go index 54b92711d17..dff7662cd15 100644 --- a/core/services/workflows/engine_test.go +++ b/core/services/workflows/engine_test.go @@ -13,6 +13,7 @@ import ( "github.com/stretchr/testify/require" "github.com/smartcontractkit/chainlink-common/pkg/capabilities" + "github.com/smartcontractkit/chainlink-common/pkg/services/servicetest" "github.com/smartcontractkit/chainlink-common/pkg/values" "github.com/smartcontractkit/chainlink-common/pkg/workflows" coreCap "github.com/smartcontractkit/chainlink/v2/core/capabilities" @@ -221,9 +222,7 @@ func TestEngineWithHardcodedWorkflow(t *testing.T) { func(c *Config) { c.Store = dbstore }, ) - err := eng.Start(ctx) - require.NoError(t, err) - defer eng.Close() + servicetest.Run(t, eng) eid := getExecutionId(t, eng, testHooks) assert.Equal(t, cr, <-target1.response) @@ -395,9 +394,7 @@ func TestEngine_ErrorsTheWorkflowIfAStepErrors(t *testing.T) { eng, hooks := newTestEngine(t, reg, simpleWorkflow) - err := eng.Start(ctx) - require.NoError(t, err) - defer eng.Close() + servicetest.Run(t, eng) eid := getExecutionId(t, eng, hooks) state, err := eng.executionStates.Get(ctx, eid) @@ -420,10 +417,7 @@ func TestEngine_GracefulEarlyTermination(t *testing.T) { require.NoError(t, reg.Add(ctx, mockTarget())) eng, hooks := newTestEngine(t, reg, simpleWorkflow) - - err := eng.Start(ctx) - require.NoError(t, err) - defer eng.Close() + servicetest.Run(t, eng) eid := getExecutionId(t, eng, hooks) state, err := eng.executionStates.Get(ctx, eid) @@ -516,9 +510,7 @@ func TestEngine_MultiStepDependencies(t *testing.T) { require.NoError(t, reg.Add(ctx, action)) eng, hooks := newTestEngine(t, reg, multiStepWorkflow) - err := eng.Start(ctx) - require.NoError(t, err) - defer eng.Close() + servicetest.Run(t, eng) eid := getExecutionId(t, eng, hooks) state, err := eng.executionStates.Get(ctx, eid) @@ -589,8 +581,7 @@ func TestEngine_ResumesPendingExecutions(t *testing.T) { multiStepWorkflow, func(c *Config) { c.Store = dbstore }, ) - err = eng.Start(ctx) - require.NoError(t, err) + servicetest.Run(t, eng) eid := getExecutionId(t, eng, hooks) gotEx, err := dbstore.Get(ctx, eid) @@ -648,8 +639,7 @@ func TestEngine_TimesOutOldExecutions(t *testing.T) { }, ) clock.Advance(15 * time.Minute) - err = eng.Start(ctx) - require.NoError(t, err) + servicetest.Run(t, eng) _ = getExecutionId(t, eng, hooks) gotEx, err := dbstore.Get(ctx, "") @@ -725,12 +715,11 @@ func TestEngine_WrapsTargets(t *testing.T) { c.clock = clock }, ) - err := eng.Start(ctx) - require.NoError(t, err) + servicetest.Run(t, eng) <-hooks.initSuccessful - err = eng.workflow.walkDo(workflows.KeywordTrigger, func(s *step) error { + err := eng.workflow.walkDo(workflows.KeywordTrigger, func(s *step) error { if s.Ref == workflows.KeywordTrigger { return nil } From 66f154745d3d973aa8b629a99a65a660a1d1b3bc Mon Sep 17 00:00:00 2001 From: Cedric Date: Thu, 13 Jun 2024 19:18:03 +0100 Subject: [PATCH 5/5] Syncer (#13427) * [KS-211] Implement basic syncer * Rename config entry Capabilities.Registry -> Capabilities.ExternalRegistry * Drop --gen-go-grpc options as they aren't needed * Fully-qualified proto name * Some more comments * Correctly set ExternalRegistry defaults * Add logging * Unpad signatures * Fix tests * Add changeset * Correctly close syncer in tests * Client: remoteDON -> myDON --- .changeset/shaggy-ears-share.md | 5 + core/capabilities/reader.go | 110 +++ core/capabilities/reader_test.go | 210 +++++ core/capabilities/registry.go | 7 +- core/capabilities/registry_test.go | 3 +- core/capabilities/remote/trigger_publisher.go | 4 +- .../remote/trigger_publisher_test.go | 2 +- .../capabilities/remote/trigger_subscriber.go | 4 +- .../remote/trigger_subscriber_test.go | 2 +- core/capabilities/remote/types/config.go | 7 - core/capabilities/remote/types/message.pb.go | 597 -------------- core/capabilities/remote/types/messages.pb.go | 696 ++++++++++++++++ .../types/{message.proto => messages.proto} | 7 + core/capabilities/remote/types/types.go | 4 + core/capabilities/syncer.go | 740 +++++++++++++++--- core/capabilities/syncer_test.go | 581 +++++++++++++- core/config/capabilities_config.go | 13 +- core/config/docs/core.toml | 8 + core/config/toml/types.go | 24 +- core/services/chainlink/application.go | 22 +- .../services/chainlink/config_capabilities.go | 28 + core/services/chainlink/config_test.go | 5 + .../testdata/config-empty-effective.toml | 5 + .../chainlink/testdata/config-full.toml | 5 + .../config-multi-chain-effective.toml | 5 + .../testdata/config-empty-effective.toml | 5 + core/web/resolver/testdata/config-full.toml | 5 + .../config-multi-chain-effective.toml | 5 + docs/CONFIG.md | 27 + testdata/scripts/keys/eth/list/help.txtar | 2 +- testdata/scripts/node/validate/default.txtar | 5 + .../disk-based-logging-disabled.txtar | 5 + .../validate/disk-based-logging-no-dir.txtar | 5 + .../node/validate/disk-based-logging.txtar | 5 + .../node/validate/invalid-ocr-p2p.txtar | 5 + testdata/scripts/node/validate/invalid.txtar | 5 + testdata/scripts/node/validate/valid.txtar | 5 + testdata/scripts/node/validate/warnings.txtar | 7 +- 38 files changed, 2429 insertions(+), 751 deletions(-) create mode 100644 .changeset/shaggy-ears-share.md create mode 100644 core/capabilities/reader.go create mode 100644 core/capabilities/reader_test.go delete mode 100644 core/capabilities/remote/types/message.pb.go create mode 100644 core/capabilities/remote/types/messages.pb.go rename core/capabilities/remote/types/{message.proto => messages.proto} (85%) diff --git a/.changeset/shaggy-ears-share.md b/.changeset/shaggy-ears-share.md new file mode 100644 index 00000000000..5946faf03cf --- /dev/null +++ b/.changeset/shaggy-ears-share.md @@ -0,0 +1,5 @@ +--- +"chainlink": minor +--- + +#internal Add RegistrySyncer diff --git a/core/capabilities/reader.go b/core/capabilities/reader.go new file mode 100644 index 00000000000..1c86cb1e28b --- /dev/null +++ b/core/capabilities/reader.go @@ -0,0 +1,110 @@ +package capabilities + +import ( + "context" + "encoding/json" + + "github.com/smartcontractkit/chainlink-common/pkg/types" + kcr "github.com/smartcontractkit/chainlink/v2/core/gethwrappers/keystone/generated/keystone_capability_registry" + p2ptypes "github.com/smartcontractkit/chainlink/v2/core/services/p2p/types" + evmrelaytypes "github.com/smartcontractkit/chainlink/v2/core/services/relay/evm/types" +) + +type remoteRegistryReader struct { + r types.ContractReader +} + +var _ reader = (*remoteRegistryReader)(nil) + +type hashedCapabilityID [32]byte +type donID uint32 + +type state struct { + IDsToDONs map[donID]kcr.CapabilityRegistryDONInfo + IDsToNodes map[p2ptypes.PeerID]kcr.CapabilityRegistryNodeInfo + IDsToCapabilities map[hashedCapabilityID]kcr.CapabilityRegistryCapability +} + +func (r *remoteRegistryReader) state(ctx context.Context) (state, error) { + dons := []kcr.CapabilityRegistryDONInfo{} + err := r.r.GetLatestValue(ctx, "capabilityRegistry", "getDONs", nil, &dons) + if err != nil { + return state{}, err + } + + idsToDONs := map[donID]kcr.CapabilityRegistryDONInfo{} + for _, d := range dons { + idsToDONs[donID(d.Id)] = d + } + + caps := kcr.GetCapabilities{} + err = r.r.GetLatestValue(ctx, "capabilityRegistry", "getCapabilities", nil, &caps) + if err != nil { + return state{}, err + } + + idsToCapabilities := map[hashedCapabilityID]kcr.CapabilityRegistryCapability{} + for i, c := range caps.Capabilities { + idsToCapabilities[caps.HashedCapabilityIds[i]] = c + } + + nodes := &kcr.GetNodes{} + err = r.r.GetLatestValue(ctx, "capabilityRegistry", "getNodes", nil, &nodes) + if err != nil { + return state{}, err + } + + idsToNodes := map[p2ptypes.PeerID]kcr.CapabilityRegistryNodeInfo{} + for _, node := range nodes.NodeInfo { + idsToNodes[node.P2pId] = node + } + + return state{IDsToDONs: idsToDONs, IDsToCapabilities: idsToCapabilities, IDsToNodes: idsToNodes}, nil +} + +type contractReaderFactory interface { + NewContractReader(context.Context, []byte) (types.ContractReader, error) +} + +func newRemoteRegistryReader(ctx context.Context, relayer contractReaderFactory, remoteRegistryAddress string) (*remoteRegistryReader, error) { + contractReaderConfig := evmrelaytypes.ChainReaderConfig{ + Contracts: map[string]evmrelaytypes.ChainContractReader{ + "capabilityRegistry": { + ContractABI: kcr.CapabilityRegistryABI, + Configs: map[string]*evmrelaytypes.ChainReaderDefinition{ + "getDONs": { + ChainSpecificName: "getDONs", + }, + "getCapabilities": { + ChainSpecificName: "getCapabilities", + }, + "getNodes": { + ChainSpecificName: "getNodes", + }, + }, + }, + }, + } + + contractReaderConfigEncoded, err := json.Marshal(contractReaderConfig) + if err != nil { + return nil, err + } + + cr, err := relayer.NewContractReader(ctx, contractReaderConfigEncoded) + if err != nil { + return nil, err + } + + err = cr.Bind(ctx, []types.BoundContract{ + { + Address: remoteRegistryAddress, + Name: "capabilityRegistry", + }, + }) + if err != nil { + return nil, err + } + + return &remoteRegistryReader{r: cr}, err +} diff --git a/core/capabilities/reader_test.go b/core/capabilities/reader_test.go new file mode 100644 index 00000000000..3407ec43a43 --- /dev/null +++ b/core/capabilities/reader_test.go @@ -0,0 +1,210 @@ +package capabilities + +import ( + "context" + "crypto/rand" + "encoding/json" + "fmt" + "math/big" + "testing" + "time" + + "github.com/ethereum/go-ethereum/accounts/abi/bind" + "github.com/ethereum/go-ethereum/accounts/abi/bind/backends" + "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/core" + "github.com/ethereum/go-ethereum/eth/ethconfig" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" + + "github.com/smartcontractkit/chainlink-common/pkg/types" + evmclient "github.com/smartcontractkit/chainlink/v2/core/chains/evm/client" + "github.com/smartcontractkit/chainlink/v2/core/chains/evm/logpoller" + kcr "github.com/smartcontractkit/chainlink/v2/core/gethwrappers/keystone/generated/keystone_capability_registry" + "github.com/smartcontractkit/chainlink/v2/core/internal/testutils" + "github.com/smartcontractkit/chainlink/v2/core/internal/testutils/pgtest" + "github.com/smartcontractkit/chainlink/v2/core/logger" + p2ptypes "github.com/smartcontractkit/chainlink/v2/core/services/p2p/types" + "github.com/smartcontractkit/chainlink/v2/core/services/relay/evm" + evmrelaytypes "github.com/smartcontractkit/chainlink/v2/core/services/relay/evm/types" +) + +var writeChainCapability = kcr.CapabilityRegistryCapability{ + LabelledName: "write-chain", + Version: "1.0.1", + ResponseType: uint8(1), +} + +func startNewChainWithRegistry(t *testing.T) (*kcr.CapabilityRegistry, common.Address, *bind.TransactOpts, *backends.SimulatedBackend) { + owner := testutils.MustNewSimTransactor(t) + + oneEth, _ := new(big.Int).SetString("100000000000000000000", 10) + gasLimit := ethconfig.Defaults.Miner.GasCeil * 2 // 60 M blocks + + simulatedBackend := backends.NewSimulatedBackend(core.GenesisAlloc{owner.From: { + Balance: oneEth, + }}, gasLimit) + simulatedBackend.Commit() + + capabilityRegistryAddress, _, capabilityRegistry, err := kcr.DeployCapabilityRegistry(owner, simulatedBackend) + require.NoError(t, err, "DeployCapabilityRegistry failed") + + fmt.Println("Deployed CapabilityRegistry at", capabilityRegistryAddress.Hex()) + simulatedBackend.Commit() + + return capabilityRegistry, capabilityRegistryAddress, owner, simulatedBackend +} + +type crFactory struct { + lggr logger.Logger + logPoller logpoller.LogPoller + client evmclient.Client +} + +func (c *crFactory) NewContractReader(ctx context.Context, cfg []byte) (types.ContractReader, error) { + crCfg := &evmrelaytypes.ChainReaderConfig{} + if err := json.Unmarshal(cfg, crCfg); err != nil { + return nil, err + } + svc, err := evm.NewChainReaderService(ctx, c.lggr, c.logPoller, c.client, *crCfg) + if err != nil { + return nil, err + } + + return svc, svc.Start(ctx) +} + +func newContractReaderFactory(t *testing.T, simulatedBackend *backends.SimulatedBackend) *crFactory { + lggr := logger.TestLogger(t) + client := evmclient.NewSimulatedBackendClient( + t, + simulatedBackend, + testutils.SimulatedChainID, + ) + db := pgtest.NewSqlxDB(t) + lp := logpoller.NewLogPoller( + logpoller.NewORM(testutils.SimulatedChainID, db, lggr), + client, + lggr, + logpoller.Opts{ + PollPeriod: 100 * time.Millisecond, + FinalityDepth: 2, + BackfillBatchSize: 3, + RpcBatchSize: 2, + KeepFinalizedBlocksDepth: 1000, + }, + ) + return &crFactory{ + lggr: lggr, + client: client, + logPoller: lp, + } +} + +func randomWord() [32]byte { + word := make([]byte, 32) + _, err := rand.Read(word) + if err != nil { + panic(err) + } + return [32]byte(word) +} + +func TestReader_Integration(t *testing.T) { + ctx := testutils.Context(t) + reg, regAddress, owner, sim := startNewChainWithRegistry(t) + + _, err := reg.AddCapabilities(owner, []kcr.CapabilityRegistryCapability{writeChainCapability}) + require.NoError(t, err, "AddCapability failed for %s", writeChainCapability.LabelledName) + sim.Commit() + + cid, err := reg.GetHashedCapabilityId(&bind.CallOpts{}, writeChainCapability.LabelledName, writeChainCapability.Version) + require.NoError(t, err) + + _, err = reg.AddNodeOperators(owner, []kcr.CapabilityRegistryNodeOperator{ + { + Admin: owner.From, + Name: "TEST_NOP", + }, + }) + require.NoError(t, err) + + nodeSet := [][32]byte{ + randomWord(), + randomWord(), + randomWord(), + } + + nodes := []kcr.CapabilityRegistryNodeInfo{ + { + // The first NodeOperatorId has id 1 since the id is auto-incrementing. + NodeOperatorId: uint32(1), + Signer: randomWord(), + P2pId: nodeSet[0], + HashedCapabilityIds: [][32]byte{cid}, + }, + { + // The first NodeOperatorId has id 1 since the id is auto-incrementing. + NodeOperatorId: uint32(1), + Signer: randomWord(), + P2pId: nodeSet[1], + HashedCapabilityIds: [][32]byte{cid}, + }, + { + // The first NodeOperatorId has id 1 since the id is auto-incrementing. + NodeOperatorId: uint32(1), + Signer: randomWord(), + P2pId: nodeSet[2], + HashedCapabilityIds: [][32]byte{cid}, + }, + } + _, err = reg.AddNodes(owner, nodes) + require.NoError(t, err) + + cfgs := []kcr.CapabilityRegistryCapabilityConfiguration{ + { + CapabilityId: cid, + Config: []byte(`{"hello": "world"}`), + }, + } + _, err = reg.AddDON( + owner, + nodeSet, + cfgs, + true, + true, + 1, + ) + sim.Commit() + + require.NoError(t, err) + + factory := newContractReaderFactory(t, sim) + reader, err := newRemoteRegistryReader(ctx, factory, regAddress.Hex()) + require.NoError(t, err) + + s, err := reader.state(ctx) + require.NoError(t, err) + assert.Len(t, s.IDsToCapabilities, 1) + + gotCap := s.IDsToCapabilities[cid] + assert.Equal(t, writeChainCapability, gotCap) + + assert.Len(t, s.IDsToDONs, 1) + assert.Equal(t, kcr.CapabilityRegistryDONInfo{ + Id: 1, // initial Id + ConfigCount: 1, // initial Count + IsPublic: true, + AcceptsWorkflows: true, + F: 1, + NodeP2PIds: nodeSet, + CapabilityConfigurations: cfgs, + }, s.IDsToDONs[1]) + + assert.Len(t, s.IDsToNodes, 3) + assert.Equal(t, map[p2ptypes.PeerID]kcr.CapabilityRegistryNodeInfo{ + nodeSet[0]: nodes[0], + nodeSet[1]: nodes[1], + nodeSet[2]: nodes[2], + }, s.IDsToNodes) +} diff --git a/core/capabilities/registry.go b/core/capabilities/registry.go index 84174e0232f..6a3a4ffb83b 100644 --- a/core/capabilities/registry.go +++ b/core/capabilities/registry.go @@ -2,6 +2,7 @@ package capabilities import ( "context" + "errors" "fmt" "sync" @@ -9,6 +10,10 @@ import ( "github.com/smartcontractkit/chainlink/v2/core/logger" ) +var ( + ErrCapabilityAlreadyExists = errors.New("capability already exists") +) + // Registry is a struct for the registry of capabilities. // Registry is safe for concurrent use. type Registry struct { @@ -141,7 +146,7 @@ func (r *Registry) Add(ctx context.Context, c capabilities.BaseCapability) error id := info.ID _, ok := r.m[id] if ok { - return fmt.Errorf("capability with id: %s already exists", id) + return fmt.Errorf("%w: id %s found in registry", ErrCapabilityAlreadyExists, id) } r.m[id] = c diff --git a/core/capabilities/registry_test.go b/core/capabilities/registry_test.go index 5208781700a..77e5d9edcd6 100644 --- a/core/capabilities/registry_test.go +++ b/core/capabilities/registry_test.go @@ -2,6 +2,7 @@ package capabilities_test import ( "context" + "errors" "fmt" "testing" @@ -85,7 +86,7 @@ func TestRegistry_NoDuplicateIDs(t *testing.T) { c2 := &mockCapability{CapabilityInfo: ci} err = r.Add(ctx, c2) - assert.ErrorContains(t, err, "capability with id: capability-1@1.0.0 already exists") + assert.True(t, errors.Is(err, coreCapabilities.ErrCapabilityAlreadyExists)) } func TestRegistry_ChecksExecutionAPIByType(t *testing.T) { diff --git a/core/capabilities/remote/trigger_publisher.go b/core/capabilities/remote/trigger_publisher.go index 12d539a2dc0..9710d102d49 100644 --- a/core/capabilities/remote/trigger_publisher.go +++ b/core/capabilities/remote/trigger_publisher.go @@ -21,7 +21,7 @@ import ( // // TriggerPublisher communicates with corresponding TriggerSubscribers on remote nodes. type triggerPublisher struct { - config types.RemoteTriggerConfig + config *types.RemoteTriggerConfig underlying commoncap.TriggerCapability capInfo commoncap.CapabilityInfo capDonInfo commoncap.DON @@ -48,7 +48,7 @@ type pubRegState struct { var _ types.Receiver = &triggerPublisher{} var _ services.Service = &triggerPublisher{} -func NewTriggerPublisher(config types.RemoteTriggerConfig, underlying commoncap.TriggerCapability, capInfo commoncap.CapabilityInfo, capDonInfo commoncap.DON, workflowDONs map[string]commoncap.DON, dispatcher types.Dispatcher, lggr logger.Logger) *triggerPublisher { +func NewTriggerPublisher(config *types.RemoteTriggerConfig, underlying commoncap.TriggerCapability, capInfo commoncap.CapabilityInfo, capDonInfo commoncap.DON, workflowDONs map[string]commoncap.DON, dispatcher types.Dispatcher, lggr logger.Logger) *triggerPublisher { config.ApplyDefaults() return &triggerPublisher{ config: config, diff --git a/core/capabilities/remote/trigger_publisher_test.go b/core/capabilities/remote/trigger_publisher_test.go index 15bdd39b55f..ff7c1cde3c7 100644 --- a/core/capabilities/remote/trigger_publisher_test.go +++ b/core/capabilities/remote/trigger_publisher_test.go @@ -40,7 +40,7 @@ func TestTriggerPublisher_Register(t *testing.T) { } dispatcher := remoteMocks.NewDispatcher(t) - config := remotetypes.RemoteTriggerConfig{ + config := &remotetypes.RemoteTriggerConfig{ RegistrationRefreshMs: 100, RegistrationExpiryMs: 100_000, MinResponsesToAggregate: 1, diff --git a/core/capabilities/remote/trigger_subscriber.go b/core/capabilities/remote/trigger_subscriber.go index b8c3d37a596..a16725af49a 100644 --- a/core/capabilities/remote/trigger_subscriber.go +++ b/core/capabilities/remote/trigger_subscriber.go @@ -23,7 +23,7 @@ import ( // // TriggerSubscriber communicates with corresponding TriggerReceivers on remote nodes. type triggerSubscriber struct { - config types.RemoteTriggerConfig + config *types.RemoteTriggerConfig capInfo commoncap.CapabilityInfo capDonInfo capabilities.DON capDonMembers map[p2ptypes.PeerID]struct{} @@ -55,7 +55,7 @@ var _ services.Service = &triggerSubscriber{} // TODO makes this configurable with a default const defaultSendChannelBufferSize = 1000 -func NewTriggerSubscriber(config types.RemoteTriggerConfig, capInfo commoncap.CapabilityInfo, capDonInfo capabilities.DON, localDonInfo capabilities.DON, dispatcher types.Dispatcher, aggregator types.Aggregator, lggr logger.Logger) *triggerSubscriber { +func NewTriggerSubscriber(config *types.RemoteTriggerConfig, capInfo commoncap.CapabilityInfo, capDonInfo capabilities.DON, localDonInfo capabilities.DON, dispatcher types.Dispatcher, aggregator types.Aggregator, lggr logger.Logger) *triggerSubscriber { if aggregator == nil { lggr.Warnw("no aggregator provided, using default MODE aggregator", "capabilityId", capInfo.ID) aggregator = NewDefaultModeAggregator(uint32(capDonInfo.F + 1)) diff --git a/core/capabilities/remote/trigger_subscriber_test.go b/core/capabilities/remote/trigger_subscriber_test.go index e50f570bb7b..f8c5e6ff6e9 100644 --- a/core/capabilities/remote/trigger_subscriber_test.go +++ b/core/capabilities/remote/trigger_subscriber_test.go @@ -58,7 +58,7 @@ func TestTriggerSubscriber_RegisterAndReceive(t *testing.T) { }) // register trigger - config := remotetypes.RemoteTriggerConfig{ + config := &remotetypes.RemoteTriggerConfig{ RegistrationRefreshMs: 100, RegistrationExpiryMs: 100, MinResponsesToAggregate: 1, diff --git a/core/capabilities/remote/types/config.go b/core/capabilities/remote/types/config.go index 588ae98095c..bb9e0fa4347 100644 --- a/core/capabilities/remote/types/config.go +++ b/core/capabilities/remote/types/config.go @@ -8,13 +8,6 @@ const ( // NOTE: consider splitting this config into values stored in Registry (KS-118) // and values defined locally by Capability owners. -type RemoteTriggerConfig struct { - RegistrationRefreshMs uint32 - RegistrationExpiryMs uint32 - MinResponsesToAggregate uint32 - MessageExpiryMs uint32 -} - func (c *RemoteTriggerConfig) ApplyDefaults() { if c.RegistrationRefreshMs == 0 { c.RegistrationRefreshMs = DefaultRegistrationRefreshMs diff --git a/core/capabilities/remote/types/message.pb.go b/core/capabilities/remote/types/message.pb.go deleted file mode 100644 index 7cef9d45748..00000000000 --- a/core/capabilities/remote/types/message.pb.go +++ /dev/null @@ -1,597 +0,0 @@ -// Code generated by protoc-gen-go. DO NOT EDIT. -// versions: -// protoc-gen-go v1.33.0 -// protoc v4.25.1 -// source: core/capabilities/remote/types/message.proto - -package types - -import ( - protoreflect "google.golang.org/protobuf/reflect/protoreflect" - protoimpl "google.golang.org/protobuf/runtime/protoimpl" - reflect "reflect" - sync "sync" -) - -const ( - // Verify that this generated code is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) - // Verify that runtime/protoimpl is sufficiently up-to-date. - _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) -) - -type Error int32 - -const ( - Error_OK Error = 0 - Error_VALIDATION_FAILED Error = 1 - Error_CAPABILITY_NOT_FOUND Error = 2 - Error_INVALID_REQUEST Error = 3 - Error_TIMEOUT Error = 4 - Error_INTERNAL_ERROR Error = 5 -) - -// Enum value maps for Error. -var ( - Error_name = map[int32]string{ - 0: "OK", - 1: "VALIDATION_FAILED", - 2: "CAPABILITY_NOT_FOUND", - 3: "INVALID_REQUEST", - 4: "TIMEOUT", - 5: "INTERNAL_ERROR", - } - Error_value = map[string]int32{ - "OK": 0, - "VALIDATION_FAILED": 1, - "CAPABILITY_NOT_FOUND": 2, - "INVALID_REQUEST": 3, - "TIMEOUT": 4, - "INTERNAL_ERROR": 5, - } -) - -func (x Error) Enum() *Error { - p := new(Error) - *p = x - return p -} - -func (x Error) String() string { - return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) -} - -func (Error) Descriptor() protoreflect.EnumDescriptor { - return file_core_capabilities_remote_types_message_proto_enumTypes[0].Descriptor() -} - -func (Error) Type() protoreflect.EnumType { - return &file_core_capabilities_remote_types_message_proto_enumTypes[0] -} - -func (x Error) Number() protoreflect.EnumNumber { - return protoreflect.EnumNumber(x) -} - -// Deprecated: Use Error.Descriptor instead. -func (Error) EnumDescriptor() ([]byte, []int) { - return file_core_capabilities_remote_types_message_proto_rawDescGZIP(), []int{0} -} - -type Message struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` - Body []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` // proto-encoded MessageBody to sign -} - -func (x *Message) Reset() { - *x = Message{} - if protoimpl.UnsafeEnabled { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[0] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *Message) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*Message) ProtoMessage() {} - -func (x *Message) ProtoReflect() protoreflect.Message { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[0] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use Message.ProtoReflect.Descriptor instead. -func (*Message) Descriptor() ([]byte, []int) { - return file_core_capabilities_remote_types_message_proto_rawDescGZIP(), []int{0} -} - -func (x *Message) GetSignature() []byte { - if x != nil { - return x.Signature - } - return nil -} - -func (x *Message) GetBody() []byte { - if x != nil { - return x.Body - } - return nil -} - -type MessageBody struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` - Sender []byte `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` - Receiver []byte `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` - Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` - MessageId []byte `protobuf:"bytes,5,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // scoped to sender - CapabilityId string `protobuf:"bytes,6,opt,name=capability_id,json=capabilityId,proto3" json:"capability_id,omitempty"` - CapabilityDonId string `protobuf:"bytes,7,opt,name=capability_don_id,json=capabilityDonId,proto3" json:"capability_don_id,omitempty"` - CallerDonId string `protobuf:"bytes,8,opt,name=caller_don_id,json=callerDonId,proto3" json:"caller_don_id,omitempty"` - Method string `protobuf:"bytes,9,opt,name=method,proto3" json:"method,omitempty"` - Error Error `protobuf:"varint,10,opt,name=error,proto3,enum=remote.Error" json:"error,omitempty"` - ErrorMsg string `protobuf:"bytes,11,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` - // payload contains a CapabilityRequest or CapabilityResponse - Payload []byte `protobuf:"bytes,12,opt,name=payload,proto3" json:"payload,omitempty"` - // Types that are assignable to Metadata: - // - // *MessageBody_TriggerRegistrationMetadata - // *MessageBody_TriggerEventMetadata - Metadata isMessageBody_Metadata `protobuf_oneof:"metadata"` -} - -func (x *MessageBody) Reset() { - *x = MessageBody{} - if protoimpl.UnsafeEnabled { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[1] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *MessageBody) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*MessageBody) ProtoMessage() {} - -func (x *MessageBody) ProtoReflect() protoreflect.Message { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[1] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use MessageBody.ProtoReflect.Descriptor instead. -func (*MessageBody) Descriptor() ([]byte, []int) { - return file_core_capabilities_remote_types_message_proto_rawDescGZIP(), []int{1} -} - -func (x *MessageBody) GetVersion() uint32 { - if x != nil { - return x.Version - } - return 0 -} - -func (x *MessageBody) GetSender() []byte { - if x != nil { - return x.Sender - } - return nil -} - -func (x *MessageBody) GetReceiver() []byte { - if x != nil { - return x.Receiver - } - return nil -} - -func (x *MessageBody) GetTimestamp() int64 { - if x != nil { - return x.Timestamp - } - return 0 -} - -func (x *MessageBody) GetMessageId() []byte { - if x != nil { - return x.MessageId - } - return nil -} - -func (x *MessageBody) GetCapabilityId() string { - if x != nil { - return x.CapabilityId - } - return "" -} - -func (x *MessageBody) GetCapabilityDonId() string { - if x != nil { - return x.CapabilityDonId - } - return "" -} - -func (x *MessageBody) GetCallerDonId() string { - if x != nil { - return x.CallerDonId - } - return "" -} - -func (x *MessageBody) GetMethod() string { - if x != nil { - return x.Method - } - return "" -} - -func (x *MessageBody) GetError() Error { - if x != nil { - return x.Error - } - return Error_OK -} - -func (x *MessageBody) GetErrorMsg() string { - if x != nil { - return x.ErrorMsg - } - return "" -} - -func (x *MessageBody) GetPayload() []byte { - if x != nil { - return x.Payload - } - return nil -} - -func (m *MessageBody) GetMetadata() isMessageBody_Metadata { - if m != nil { - return m.Metadata - } - return nil -} - -func (x *MessageBody) GetTriggerRegistrationMetadata() *TriggerRegistrationMetadata { - if x, ok := x.GetMetadata().(*MessageBody_TriggerRegistrationMetadata); ok { - return x.TriggerRegistrationMetadata - } - return nil -} - -func (x *MessageBody) GetTriggerEventMetadata() *TriggerEventMetadata { - if x, ok := x.GetMetadata().(*MessageBody_TriggerEventMetadata); ok { - return x.TriggerEventMetadata - } - return nil -} - -type isMessageBody_Metadata interface { - isMessageBody_Metadata() -} - -type MessageBody_TriggerRegistrationMetadata struct { - TriggerRegistrationMetadata *TriggerRegistrationMetadata `protobuf:"bytes,13,opt,name=trigger_registration_metadata,json=triggerRegistrationMetadata,proto3,oneof"` -} - -type MessageBody_TriggerEventMetadata struct { - TriggerEventMetadata *TriggerEventMetadata `protobuf:"bytes,14,opt,name=trigger_event_metadata,json=triggerEventMetadata,proto3,oneof"` -} - -func (*MessageBody_TriggerRegistrationMetadata) isMessageBody_Metadata() {} - -func (*MessageBody_TriggerEventMetadata) isMessageBody_Metadata() {} - -type TriggerRegistrationMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - LastReceivedEventId string `protobuf:"bytes,1,opt,name=last_received_event_id,json=lastReceivedEventId,proto3" json:"last_received_event_id,omitempty"` -} - -func (x *TriggerRegistrationMetadata) Reset() { - *x = TriggerRegistrationMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[2] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TriggerRegistrationMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TriggerRegistrationMetadata) ProtoMessage() {} - -func (x *TriggerRegistrationMetadata) ProtoReflect() protoreflect.Message { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[2] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TriggerRegistrationMetadata.ProtoReflect.Descriptor instead. -func (*TriggerRegistrationMetadata) Descriptor() ([]byte, []int) { - return file_core_capabilities_remote_types_message_proto_rawDescGZIP(), []int{2} -} - -func (x *TriggerRegistrationMetadata) GetLastReceivedEventId() string { - if x != nil { - return x.LastReceivedEventId - } - return "" -} - -type TriggerEventMetadata struct { - state protoimpl.MessageState - sizeCache protoimpl.SizeCache - unknownFields protoimpl.UnknownFields - - TriggerEventId string `protobuf:"bytes,1,opt,name=trigger_event_id,json=triggerEventId,proto3" json:"trigger_event_id,omitempty"` - WorkflowIds []string `protobuf:"bytes,2,rep,name=workflow_ids,json=workflowIds,proto3" json:"workflow_ids,omitempty"` -} - -func (x *TriggerEventMetadata) Reset() { - *x = TriggerEventMetadata{} - if protoimpl.UnsafeEnabled { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[3] - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - ms.StoreMessageInfo(mi) - } -} - -func (x *TriggerEventMetadata) String() string { - return protoimpl.X.MessageStringOf(x) -} - -func (*TriggerEventMetadata) ProtoMessage() {} - -func (x *TriggerEventMetadata) ProtoReflect() protoreflect.Message { - mi := &file_core_capabilities_remote_types_message_proto_msgTypes[3] - if protoimpl.UnsafeEnabled && x != nil { - ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) - if ms.LoadMessageInfo() == nil { - ms.StoreMessageInfo(mi) - } - return ms - } - return mi.MessageOf(x) -} - -// Deprecated: Use TriggerEventMetadata.ProtoReflect.Descriptor instead. -func (*TriggerEventMetadata) Descriptor() ([]byte, []int) { - return file_core_capabilities_remote_types_message_proto_rawDescGZIP(), []int{3} -} - -func (x *TriggerEventMetadata) GetTriggerEventId() string { - if x != nil { - return x.TriggerEventId - } - return "" -} - -func (x *TriggerEventMetadata) GetWorkflowIds() []string { - if x != nil { - return x.WorkflowIds - } - return nil -} - -var File_core_capabilities_remote_types_message_proto protoreflect.FileDescriptor - -var file_core_capabilities_remote_types_message_proto_rawDesc = []byte{ - 0x0a, 0x2c, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, - 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x3b, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, - 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x12, - 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x62, - 0x6f, 0x64, 0x79, 0x22, 0xcd, 0x04, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, - 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, - 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, - 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, - 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, 0x04, - 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x12, - 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, - 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, 0x23, - 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, - 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, - 0x79, 0x5f, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, - 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6e, 0x49, 0x64, 0x12, - 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x64, - 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x44, 0x6f, - 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x09, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x23, 0x0a, 0x05, 0x65, - 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x72, 0x65, 0x6d, - 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, 0x72, - 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x0b, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, 0x07, - 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x70, - 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x69, 0x0a, 0x1d, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, - 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, - 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x48, 0x00, 0x52, 0x1b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, 0x67, - 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, - 0x61, 0x12, 0x54, 0x0a, 0x16, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, - 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x48, - 0x00, 0x52, 0x14, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, - 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, - 0x61, 0x74, 0x61, 0x22, 0x52, 0x0a, 0x1b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, - 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, - 0x74, 0x61, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, 0x69, - 0x76, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, 0x64, - 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x14, 0x54, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, - 0x28, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, - 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x69, 0x67, 0x67, - 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, 0x72, - 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, - 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x73, 0x2a, 0x76, 0x0a, 0x05, - 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x15, 0x0a, - 0x11, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, - 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, - 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x13, - 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, - 0x54, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x04, - 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, - 0x4f, 0x52, 0x10, 0x05, 0x42, 0x20, 0x5a, 0x1e, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x61, 0x70, - 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, - 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, -} - -var ( - file_core_capabilities_remote_types_message_proto_rawDescOnce sync.Once - file_core_capabilities_remote_types_message_proto_rawDescData = file_core_capabilities_remote_types_message_proto_rawDesc -) - -func file_core_capabilities_remote_types_message_proto_rawDescGZIP() []byte { - file_core_capabilities_remote_types_message_proto_rawDescOnce.Do(func() { - file_core_capabilities_remote_types_message_proto_rawDescData = protoimpl.X.CompressGZIP(file_core_capabilities_remote_types_message_proto_rawDescData) - }) - return file_core_capabilities_remote_types_message_proto_rawDescData -} - -var file_core_capabilities_remote_types_message_proto_enumTypes = make([]protoimpl.EnumInfo, 1) -var file_core_capabilities_remote_types_message_proto_msgTypes = make([]protoimpl.MessageInfo, 4) -var file_core_capabilities_remote_types_message_proto_goTypes = []interface{}{ - (Error)(0), // 0: remote.Error - (*Message)(nil), // 1: remote.Message - (*MessageBody)(nil), // 2: remote.MessageBody - (*TriggerRegistrationMetadata)(nil), // 3: remote.TriggerRegistrationMetadata - (*TriggerEventMetadata)(nil), // 4: remote.TriggerEventMetadata -} -var file_core_capabilities_remote_types_message_proto_depIdxs = []int32{ - 0, // 0: remote.MessageBody.error:type_name -> remote.Error - 3, // 1: remote.MessageBody.trigger_registration_metadata:type_name -> remote.TriggerRegistrationMetadata - 4, // 2: remote.MessageBody.trigger_event_metadata:type_name -> remote.TriggerEventMetadata - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name -} - -func init() { file_core_capabilities_remote_types_message_proto_init() } -func file_core_capabilities_remote_types_message_proto_init() { - if File_core_capabilities_remote_types_message_proto != nil { - return - } - if !protoimpl.UnsafeEnabled { - file_core_capabilities_remote_types_message_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*Message); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_core_capabilities_remote_types_message_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*MessageBody); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_core_capabilities_remote_types_message_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TriggerRegistrationMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - file_core_capabilities_remote_types_message_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { - switch v := v.(*TriggerEventMetadata); i { - case 0: - return &v.state - case 1: - return &v.sizeCache - case 2: - return &v.unknownFields - default: - return nil - } - } - } - file_core_capabilities_remote_types_message_proto_msgTypes[1].OneofWrappers = []interface{}{ - (*MessageBody_TriggerRegistrationMetadata)(nil), - (*MessageBody_TriggerEventMetadata)(nil), - } - type x struct{} - out := protoimpl.TypeBuilder{ - File: protoimpl.DescBuilder{ - GoPackagePath: reflect.TypeOf(x{}).PkgPath(), - RawDescriptor: file_core_capabilities_remote_types_message_proto_rawDesc, - NumEnums: 1, - NumMessages: 4, - NumExtensions: 0, - NumServices: 0, - }, - GoTypes: file_core_capabilities_remote_types_message_proto_goTypes, - DependencyIndexes: file_core_capabilities_remote_types_message_proto_depIdxs, - EnumInfos: file_core_capabilities_remote_types_message_proto_enumTypes, - MessageInfos: file_core_capabilities_remote_types_message_proto_msgTypes, - }.Build() - File_core_capabilities_remote_types_message_proto = out.File - file_core_capabilities_remote_types_message_proto_rawDesc = nil - file_core_capabilities_remote_types_message_proto_goTypes = nil - file_core_capabilities_remote_types_message_proto_depIdxs = nil -} diff --git a/core/capabilities/remote/types/messages.pb.go b/core/capabilities/remote/types/messages.pb.go new file mode 100644 index 00000000000..0e51b395993 --- /dev/null +++ b/core/capabilities/remote/types/messages.pb.go @@ -0,0 +1,696 @@ +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc v4.25.1 +// source: core/capabilities/remote/types/messages.proto + +package types + +import ( + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" + sync "sync" +) + +const ( + // Verify that this generated code is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) + // Verify that runtime/protoimpl is sufficiently up-to-date. + _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) +) + +type Error int32 + +const ( + Error_OK Error = 0 + Error_VALIDATION_FAILED Error = 1 + Error_CAPABILITY_NOT_FOUND Error = 2 + Error_INVALID_REQUEST Error = 3 + Error_TIMEOUT Error = 4 + Error_INTERNAL_ERROR Error = 5 +) + +// Enum value maps for Error. +var ( + Error_name = map[int32]string{ + 0: "OK", + 1: "VALIDATION_FAILED", + 2: "CAPABILITY_NOT_FOUND", + 3: "INVALID_REQUEST", + 4: "TIMEOUT", + 5: "INTERNAL_ERROR", + } + Error_value = map[string]int32{ + "OK": 0, + "VALIDATION_FAILED": 1, + "CAPABILITY_NOT_FOUND": 2, + "INVALID_REQUEST": 3, + "TIMEOUT": 4, + "INTERNAL_ERROR": 5, + } +) + +func (x Error) Enum() *Error { + p := new(Error) + *p = x + return p +} + +func (x Error) String() string { + return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) +} + +func (Error) Descriptor() protoreflect.EnumDescriptor { + return file_core_capabilities_remote_types_messages_proto_enumTypes[0].Descriptor() +} + +func (Error) Type() protoreflect.EnumType { + return &file_core_capabilities_remote_types_messages_proto_enumTypes[0] +} + +func (x Error) Number() protoreflect.EnumNumber { + return protoreflect.EnumNumber(x) +} + +// Deprecated: Use Error.Descriptor instead. +func (Error) EnumDescriptor() ([]byte, []int) { + return file_core_capabilities_remote_types_messages_proto_rawDescGZIP(), []int{0} +} + +type Message struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Signature []byte `protobuf:"bytes,1,opt,name=signature,proto3" json:"signature,omitempty"` + Body []byte `protobuf:"bytes,2,opt,name=body,proto3" json:"body,omitempty"` // proto-encoded MessageBody to sign +} + +func (x *Message) Reset() { + *x = Message{} + if protoimpl.UnsafeEnabled { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[0] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *Message) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*Message) ProtoMessage() {} + +func (x *Message) ProtoReflect() protoreflect.Message { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[0] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use Message.ProtoReflect.Descriptor instead. +func (*Message) Descriptor() ([]byte, []int) { + return file_core_capabilities_remote_types_messages_proto_rawDescGZIP(), []int{0} +} + +func (x *Message) GetSignature() []byte { + if x != nil { + return x.Signature + } + return nil +} + +func (x *Message) GetBody() []byte { + if x != nil { + return x.Body + } + return nil +} + +type MessageBody struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + Version uint32 `protobuf:"varint,1,opt,name=version,proto3" json:"version,omitempty"` + Sender []byte `protobuf:"bytes,2,opt,name=sender,proto3" json:"sender,omitempty"` + Receiver []byte `protobuf:"bytes,3,opt,name=receiver,proto3" json:"receiver,omitempty"` + Timestamp int64 `protobuf:"varint,4,opt,name=timestamp,proto3" json:"timestamp,omitempty"` + MessageId []byte `protobuf:"bytes,5,opt,name=message_id,json=messageId,proto3" json:"message_id,omitempty"` // scoped to sender + CapabilityId string `protobuf:"bytes,6,opt,name=capability_id,json=capabilityId,proto3" json:"capability_id,omitempty"` + CapabilityDonId string `protobuf:"bytes,7,opt,name=capability_don_id,json=capabilityDonId,proto3" json:"capability_don_id,omitempty"` + CallerDonId string `protobuf:"bytes,8,opt,name=caller_don_id,json=callerDonId,proto3" json:"caller_don_id,omitempty"` + Method string `protobuf:"bytes,9,opt,name=method,proto3" json:"method,omitempty"` + Error Error `protobuf:"varint,10,opt,name=error,proto3,enum=remote.Error" json:"error,omitempty"` + ErrorMsg string `protobuf:"bytes,11,opt,name=errorMsg,proto3" json:"errorMsg,omitempty"` + // payload contains a CapabilityRequest or CapabilityResponse + Payload []byte `protobuf:"bytes,12,opt,name=payload,proto3" json:"payload,omitempty"` + // Types that are assignable to Metadata: + // + // *MessageBody_TriggerRegistrationMetadata + // *MessageBody_TriggerEventMetadata + Metadata isMessageBody_Metadata `protobuf_oneof:"metadata"` +} + +func (x *MessageBody) Reset() { + *x = MessageBody{} + if protoimpl.UnsafeEnabled { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[1] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *MessageBody) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*MessageBody) ProtoMessage() {} + +func (x *MessageBody) ProtoReflect() protoreflect.Message { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[1] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use MessageBody.ProtoReflect.Descriptor instead. +func (*MessageBody) Descriptor() ([]byte, []int) { + return file_core_capabilities_remote_types_messages_proto_rawDescGZIP(), []int{1} +} + +func (x *MessageBody) GetVersion() uint32 { + if x != nil { + return x.Version + } + return 0 +} + +func (x *MessageBody) GetSender() []byte { + if x != nil { + return x.Sender + } + return nil +} + +func (x *MessageBody) GetReceiver() []byte { + if x != nil { + return x.Receiver + } + return nil +} + +func (x *MessageBody) GetTimestamp() int64 { + if x != nil { + return x.Timestamp + } + return 0 +} + +func (x *MessageBody) GetMessageId() []byte { + if x != nil { + return x.MessageId + } + return nil +} + +func (x *MessageBody) GetCapabilityId() string { + if x != nil { + return x.CapabilityId + } + return "" +} + +func (x *MessageBody) GetCapabilityDonId() string { + if x != nil { + return x.CapabilityDonId + } + return "" +} + +func (x *MessageBody) GetCallerDonId() string { + if x != nil { + return x.CallerDonId + } + return "" +} + +func (x *MessageBody) GetMethod() string { + if x != nil { + return x.Method + } + return "" +} + +func (x *MessageBody) GetError() Error { + if x != nil { + return x.Error + } + return Error_OK +} + +func (x *MessageBody) GetErrorMsg() string { + if x != nil { + return x.ErrorMsg + } + return "" +} + +func (x *MessageBody) GetPayload() []byte { + if x != nil { + return x.Payload + } + return nil +} + +func (m *MessageBody) GetMetadata() isMessageBody_Metadata { + if m != nil { + return m.Metadata + } + return nil +} + +func (x *MessageBody) GetTriggerRegistrationMetadata() *TriggerRegistrationMetadata { + if x, ok := x.GetMetadata().(*MessageBody_TriggerRegistrationMetadata); ok { + return x.TriggerRegistrationMetadata + } + return nil +} + +func (x *MessageBody) GetTriggerEventMetadata() *TriggerEventMetadata { + if x, ok := x.GetMetadata().(*MessageBody_TriggerEventMetadata); ok { + return x.TriggerEventMetadata + } + return nil +} + +type isMessageBody_Metadata interface { + isMessageBody_Metadata() +} + +type MessageBody_TriggerRegistrationMetadata struct { + TriggerRegistrationMetadata *TriggerRegistrationMetadata `protobuf:"bytes,13,opt,name=trigger_registration_metadata,json=triggerRegistrationMetadata,proto3,oneof"` +} + +type MessageBody_TriggerEventMetadata struct { + TriggerEventMetadata *TriggerEventMetadata `protobuf:"bytes,14,opt,name=trigger_event_metadata,json=triggerEventMetadata,proto3,oneof"` +} + +func (*MessageBody_TriggerRegistrationMetadata) isMessageBody_Metadata() {} + +func (*MessageBody_TriggerEventMetadata) isMessageBody_Metadata() {} + +type TriggerRegistrationMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + LastReceivedEventId string `protobuf:"bytes,1,opt,name=last_received_event_id,json=lastReceivedEventId,proto3" json:"last_received_event_id,omitempty"` +} + +func (x *TriggerRegistrationMetadata) Reset() { + *x = TriggerRegistrationMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[2] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TriggerRegistrationMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerRegistrationMetadata) ProtoMessage() {} + +func (x *TriggerRegistrationMetadata) ProtoReflect() protoreflect.Message { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[2] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerRegistrationMetadata.ProtoReflect.Descriptor instead. +func (*TriggerRegistrationMetadata) Descriptor() ([]byte, []int) { + return file_core_capabilities_remote_types_messages_proto_rawDescGZIP(), []int{2} +} + +func (x *TriggerRegistrationMetadata) GetLastReceivedEventId() string { + if x != nil { + return x.LastReceivedEventId + } + return "" +} + +type TriggerEventMetadata struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + TriggerEventId string `protobuf:"bytes,1,opt,name=trigger_event_id,json=triggerEventId,proto3" json:"trigger_event_id,omitempty"` + WorkflowIds []string `protobuf:"bytes,2,rep,name=workflow_ids,json=workflowIds,proto3" json:"workflow_ids,omitempty"` +} + +func (x *TriggerEventMetadata) Reset() { + *x = TriggerEventMetadata{} + if protoimpl.UnsafeEnabled { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[3] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *TriggerEventMetadata) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*TriggerEventMetadata) ProtoMessage() {} + +func (x *TriggerEventMetadata) ProtoReflect() protoreflect.Message { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[3] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use TriggerEventMetadata.ProtoReflect.Descriptor instead. +func (*TriggerEventMetadata) Descriptor() ([]byte, []int) { + return file_core_capabilities_remote_types_messages_proto_rawDescGZIP(), []int{3} +} + +func (x *TriggerEventMetadata) GetTriggerEventId() string { + if x != nil { + return x.TriggerEventId + } + return "" +} + +func (x *TriggerEventMetadata) GetWorkflowIds() []string { + if x != nil { + return x.WorkflowIds + } + return nil +} + +type RemoteTriggerConfig struct { + state protoimpl.MessageState + sizeCache protoimpl.SizeCache + unknownFields protoimpl.UnknownFields + + RegistrationRefreshMs uint32 `protobuf:"varint,1,opt,name=registrationRefreshMs,proto3" json:"registrationRefreshMs,omitempty"` + RegistrationExpiryMs uint32 `protobuf:"varint,2,opt,name=registrationExpiryMs,proto3" json:"registrationExpiryMs,omitempty"` + MinResponsesToAggregate uint32 `protobuf:"varint,3,opt,name=minResponsesToAggregate,proto3" json:"minResponsesToAggregate,omitempty"` + MessageExpiryMs uint32 `protobuf:"varint,4,opt,name=messageExpiryMs,proto3" json:"messageExpiryMs,omitempty"` +} + +func (x *RemoteTriggerConfig) Reset() { + *x = RemoteTriggerConfig{} + if protoimpl.UnsafeEnabled { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[4] + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + ms.StoreMessageInfo(mi) + } +} + +func (x *RemoteTriggerConfig) String() string { + return protoimpl.X.MessageStringOf(x) +} + +func (*RemoteTriggerConfig) ProtoMessage() {} + +func (x *RemoteTriggerConfig) ProtoReflect() protoreflect.Message { + mi := &file_core_capabilities_remote_types_messages_proto_msgTypes[4] + if protoimpl.UnsafeEnabled && x != nil { + ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) + if ms.LoadMessageInfo() == nil { + ms.StoreMessageInfo(mi) + } + return ms + } + return mi.MessageOf(x) +} + +// Deprecated: Use RemoteTriggerConfig.ProtoReflect.Descriptor instead. +func (*RemoteTriggerConfig) Descriptor() ([]byte, []int) { + return file_core_capabilities_remote_types_messages_proto_rawDescGZIP(), []int{4} +} + +func (x *RemoteTriggerConfig) GetRegistrationRefreshMs() uint32 { + if x != nil { + return x.RegistrationRefreshMs + } + return 0 +} + +func (x *RemoteTriggerConfig) GetRegistrationExpiryMs() uint32 { + if x != nil { + return x.RegistrationExpiryMs + } + return 0 +} + +func (x *RemoteTriggerConfig) GetMinResponsesToAggregate() uint32 { + if x != nil { + return x.MinResponsesToAggregate + } + return 0 +} + +func (x *RemoteTriggerConfig) GetMessageExpiryMs() uint32 { + if x != nil { + return x.MessageExpiryMs + } + return 0 +} + +var File_core_capabilities_remote_types_messages_proto protoreflect.FileDescriptor + +var file_core_capabilities_remote_types_messages_proto_rawDesc = []byte{ + 0x0a, 0x2d, 0x63, 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, + 0x69, 0x65, 0x73, 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, + 0x2f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, + 0x06, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x22, 0x3b, 0x0a, 0x07, 0x4d, 0x65, 0x73, 0x73, 0x61, + 0x67, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x74, 0x75, 0x72, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x62, 0x6f, 0x64, 0x79, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, + 0x62, 0x6f, 0x64, 0x79, 0x22, 0xcd, 0x04, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x42, 0x6f, 0x64, 0x79, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x16, + 0x0a, 0x06, 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, + 0x73, 0x65, 0x6e, 0x64, 0x65, 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x72, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x08, 0x72, 0x65, 0x63, 0x65, 0x69, 0x76, + 0x65, 0x72, 0x12, 0x1c, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x18, + 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, + 0x12, 0x1d, 0x0a, 0x0a, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, + 0x20, 0x01, 0x28, 0x0c, 0x52, 0x09, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x49, 0x64, 0x12, + 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, + 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x49, 0x64, 0x12, 0x2a, 0x0a, 0x11, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, + 0x74, 0x79, 0x5f, 0x64, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x0f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x44, 0x6f, 0x6e, 0x49, 0x64, + 0x12, 0x22, 0x0a, 0x0d, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x5f, 0x64, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x61, 0x6c, 0x6c, 0x65, 0x72, 0x44, + 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x09, + 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x23, 0x0a, 0x05, + 0x65, 0x72, 0x72, 0x6f, 0x72, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x0d, 0x2e, 0x72, 0x65, + 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x52, 0x05, 0x65, 0x72, 0x72, 0x6f, + 0x72, 0x12, 0x1a, 0x0a, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x18, 0x0b, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x4d, 0x73, 0x67, 0x12, 0x18, 0x0a, + 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, + 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 0x69, 0x0a, 0x1d, 0x74, 0x72, 0x69, 0x67, 0x67, + 0x65, 0x72, 0x5f, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, + 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x48, 0x00, 0x52, 0x1b, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, 0x65, + 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, + 0x74, 0x61, 0x12, 0x54, 0x0a, 0x16, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, + 0x65, 0x6e, 0x74, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x0e, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2e, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x48, 0x00, 0x52, 0x14, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, + 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x0a, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, + 0x64, 0x61, 0x74, 0x61, 0x22, 0x52, 0x0a, 0x1b, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x52, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x74, 0x61, 0x64, + 0x61, 0x74, 0x61, 0x12, 0x33, 0x0a, 0x16, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x72, 0x65, 0x63, 0x65, + 0x69, 0x76, 0x65, 0x64, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, + 0x01, 0x28, 0x09, 0x52, 0x13, 0x6c, 0x61, 0x73, 0x74, 0x52, 0x65, 0x63, 0x65, 0x69, 0x76, 0x65, + 0x64, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x22, 0x63, 0x0a, 0x14, 0x54, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, + 0x12, 0x28, 0x0a, 0x10, 0x74, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x5f, 0x65, 0x76, 0x65, 0x6e, + 0x74, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x74, 0x72, 0x69, 0x67, + 0x67, 0x65, 0x72, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x21, 0x0a, 0x0c, 0x77, 0x6f, + 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x0b, 0x77, 0x6f, 0x72, 0x6b, 0x66, 0x6c, 0x6f, 0x77, 0x49, 0x64, 0x73, 0x22, 0xe3, 0x01, + 0x0a, 0x13, 0x52, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x54, 0x72, 0x69, 0x67, 0x67, 0x65, 0x72, 0x43, + 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x34, 0x0a, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x73, 0x18, 0x01, + 0x20, 0x01, 0x28, 0x0d, 0x52, 0x15, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x52, 0x65, 0x66, 0x72, 0x65, 0x73, 0x68, 0x4d, 0x73, 0x12, 0x32, 0x0a, 0x14, 0x72, + 0x65, 0x67, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x79, 0x4d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x14, 0x72, 0x65, 0x67, 0x69, 0x73, + 0x74, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x4d, 0x73, 0x12, + 0x38, 0x0a, 0x17, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x54, + 0x6f, 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x17, 0x6d, 0x69, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x73, 0x54, 0x6f, + 0x41, 0x67, 0x67, 0x72, 0x65, 0x67, 0x61, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x0f, 0x6d, 0x65, 0x73, + 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, 0x79, 0x4d, 0x73, 0x18, 0x04, 0x20, 0x01, + 0x28, 0x0d, 0x52, 0x0f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x45, 0x78, 0x70, 0x69, 0x72, + 0x79, 0x4d, 0x73, 0x2a, 0x76, 0x0a, 0x05, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x12, 0x06, 0x0a, 0x02, + 0x4f, 0x4b, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x41, 0x54, 0x49, + 0x4f, 0x4e, 0x5f, 0x46, 0x41, 0x49, 0x4c, 0x45, 0x44, 0x10, 0x01, 0x12, 0x18, 0x0a, 0x14, 0x43, + 0x41, 0x50, 0x41, 0x42, 0x49, 0x4c, 0x49, 0x54, 0x59, 0x5f, 0x4e, 0x4f, 0x54, 0x5f, 0x46, 0x4f, + 0x55, 0x4e, 0x44, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x49, 0x4e, 0x56, 0x41, 0x4c, 0x49, 0x44, + 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0x03, 0x12, 0x0b, 0x0a, 0x07, 0x54, 0x49, + 0x4d, 0x45, 0x4f, 0x55, 0x54, 0x10, 0x04, 0x12, 0x12, 0x0a, 0x0e, 0x49, 0x4e, 0x54, 0x45, 0x52, + 0x4e, 0x41, 0x4c, 0x5f, 0x45, 0x52, 0x52, 0x4f, 0x52, 0x10, 0x05, 0x42, 0x20, 0x5a, 0x1e, 0x63, + 0x6f, 0x72, 0x65, 0x2f, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, + 0x2f, 0x72, 0x65, 0x6d, 0x6f, 0x74, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var ( + file_core_capabilities_remote_types_messages_proto_rawDescOnce sync.Once + file_core_capabilities_remote_types_messages_proto_rawDescData = file_core_capabilities_remote_types_messages_proto_rawDesc +) + +func file_core_capabilities_remote_types_messages_proto_rawDescGZIP() []byte { + file_core_capabilities_remote_types_messages_proto_rawDescOnce.Do(func() { + file_core_capabilities_remote_types_messages_proto_rawDescData = protoimpl.X.CompressGZIP(file_core_capabilities_remote_types_messages_proto_rawDescData) + }) + return file_core_capabilities_remote_types_messages_proto_rawDescData +} + +var file_core_capabilities_remote_types_messages_proto_enumTypes = make([]protoimpl.EnumInfo, 1) +var file_core_capabilities_remote_types_messages_proto_msgTypes = make([]protoimpl.MessageInfo, 5) +var file_core_capabilities_remote_types_messages_proto_goTypes = []interface{}{ + (Error)(0), // 0: remote.Error + (*Message)(nil), // 1: remote.Message + (*MessageBody)(nil), // 2: remote.MessageBody + (*TriggerRegistrationMetadata)(nil), // 3: remote.TriggerRegistrationMetadata + (*TriggerEventMetadata)(nil), // 4: remote.TriggerEventMetadata + (*RemoteTriggerConfig)(nil), // 5: remote.RemoteTriggerConfig +} +var file_core_capabilities_remote_types_messages_proto_depIdxs = []int32{ + 0, // 0: remote.MessageBody.error:type_name -> remote.Error + 3, // 1: remote.MessageBody.trigger_registration_metadata:type_name -> remote.TriggerRegistrationMetadata + 4, // 2: remote.MessageBody.trigger_event_metadata:type_name -> remote.TriggerEventMetadata + 3, // [3:3] is the sub-list for method output_type + 3, // [3:3] is the sub-list for method input_type + 3, // [3:3] is the sub-list for extension type_name + 3, // [3:3] is the sub-list for extension extendee + 0, // [0:3] is the sub-list for field type_name +} + +func init() { file_core_capabilities_remote_types_messages_proto_init() } +func file_core_capabilities_remote_types_messages_proto_init() { + if File_core_capabilities_remote_types_messages_proto != nil { + return + } + if !protoimpl.UnsafeEnabled { + file_core_capabilities_remote_types_messages_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*Message); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_core_capabilities_remote_types_messages_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*MessageBody); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_core_capabilities_remote_types_messages_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TriggerRegistrationMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_core_capabilities_remote_types_messages_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*TriggerEventMetadata); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + file_core_capabilities_remote_types_messages_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { + switch v := v.(*RemoteTriggerConfig); i { + case 0: + return &v.state + case 1: + return &v.sizeCache + case 2: + return &v.unknownFields + default: + return nil + } + } + } + file_core_capabilities_remote_types_messages_proto_msgTypes[1].OneofWrappers = []interface{}{ + (*MessageBody_TriggerRegistrationMetadata)(nil), + (*MessageBody_TriggerEventMetadata)(nil), + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_core_capabilities_remote_types_messages_proto_rawDesc, + NumEnums: 1, + NumMessages: 5, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_core_capabilities_remote_types_messages_proto_goTypes, + DependencyIndexes: file_core_capabilities_remote_types_messages_proto_depIdxs, + EnumInfos: file_core_capabilities_remote_types_messages_proto_enumTypes, + MessageInfos: file_core_capabilities_remote_types_messages_proto_msgTypes, + }.Build() + File_core_capabilities_remote_types_messages_proto = out.File + file_core_capabilities_remote_types_messages_proto_rawDesc = nil + file_core_capabilities_remote_types_messages_proto_goTypes = nil + file_core_capabilities_remote_types_messages_proto_depIdxs = nil +} diff --git a/core/capabilities/remote/types/message.proto b/core/capabilities/remote/types/messages.proto similarity index 85% rename from core/capabilities/remote/types/message.proto rename to core/capabilities/remote/types/messages.proto index 4d0507fd1e0..a576e0e5fa1 100644 --- a/core/capabilities/remote/types/message.proto +++ b/core/capabilities/remote/types/messages.proto @@ -48,3 +48,10 @@ message TriggerEventMetadata { string trigger_event_id = 1; repeated string workflow_ids = 2; } + +message RemoteTriggerConfig { + uint32 registrationRefreshMs = 1; + uint32 registrationExpiryMs = 2; + uint32 minResponsesToAggregate = 3; + uint32 messageExpiryMs = 4; +} diff --git a/core/capabilities/remote/types/types.go b/core/capabilities/remote/types/types.go index a825c42be56..37d05174dfb 100644 --- a/core/capabilities/remote/types/types.go +++ b/core/capabilities/remote/types/types.go @@ -1,3 +1,7 @@ +// Note: the proto_path below directive ensures the generated protobuf's file descriptor has a fully +// qualified path, ensuring we avoid conflicts with other files called messages.proto +// +//go:generate protoc --proto_path=../../../../ --go_out=../../../../ --go_opt=paths=source_relative core/capabilities/remote/types/messages.proto package types import ( diff --git a/core/capabilities/syncer.go b/core/capabilities/syncer.go index 2361f60d8b4..ca55fe1ba8d 100644 --- a/core/capabilities/syncer.go +++ b/core/capabilities/syncer.go @@ -2,36 +2,46 @@ package capabilities import ( "context" - "encoding/hex" + "errors" "fmt" "math/big" "slices" + "strings" "sync" "time" + "google.golang.org/protobuf/proto" + "github.com/smartcontractkit/chainlink-common/pkg/capabilities" "github.com/smartcontractkit/chainlink-common/pkg/capabilities/datastreams" "github.com/smartcontractkit/chainlink-common/pkg/capabilities/triggers" "github.com/smartcontractkit/chainlink-common/pkg/services" "github.com/smartcontractkit/chainlink-common/pkg/types/core" - "github.com/smartcontractkit/chainlink/v2/core/capabilities/remote/target" "github.com/smartcontractkit/libocr/ragep2p" ragetypes "github.com/smartcontractkit/libocr/ragep2p/types" "github.com/smartcontractkit/chainlink/v2/core/capabilities/remote" + "github.com/smartcontractkit/chainlink/v2/core/capabilities/remote/target" remotetypes "github.com/smartcontractkit/chainlink/v2/core/capabilities/remote/types" "github.com/smartcontractkit/chainlink/v2/core/capabilities/streams" + kcr "github.com/smartcontractkit/chainlink/v2/core/gethwrappers/keystone/generated/keystone_capability_registry" "github.com/smartcontractkit/chainlink/v2/core/logger" p2ptypes "github.com/smartcontractkit/chainlink/v2/core/services/p2p/types" ) +type reader interface { + state(ctx context.Context) (state, error) +} + type registrySyncer struct { peerWrapper p2ptypes.PeerWrapper registry core.CapabilitiesRegistry dispatcher remotetypes.Dispatcher + stopCh services.StopChan subServices []services.Service networkSetup HardcodedDonNetworkSetup + reader reader wg sync.WaitGroup lggr logger.Logger @@ -39,6 +49,10 @@ type registrySyncer struct { var _ services.Service = ®istrySyncer{} +var ( + defaultTickInterval = 12 * time.Second +) + var defaultStreamConfig = p2ptypes.StreamConfig{ IncomingMessageBufferSize: 1000000, OutgoingMessageBufferSize: 1000000, @@ -53,172 +67,652 @@ var defaultStreamConfig = p2ptypes.StreamConfig{ }, } -const maxRetryCount = 60 - // RegistrySyncer updates local Registry to match its onchain counterpart -func NewRegistrySyncer(peerWrapper p2ptypes.PeerWrapper, registry core.CapabilitiesRegistry, dispatcher remotetypes.Dispatcher, lggr logger.Logger, - networkSetup HardcodedDonNetworkSetup) *registrySyncer { +func NewRegistrySyncer( + peerWrapper p2ptypes.PeerWrapper, + registry core.CapabilitiesRegistry, + dispatcher remotetypes.Dispatcher, + lggr logger.Logger, + networkSetup HardcodedDonNetworkSetup, + relayer contractReaderFactory, + registryAddress string, +) (*registrySyncer, error) { + stopCh := make(services.StopChan) + ctx, _ := stopCh.NewCtx() + reader, err := newRemoteRegistryReader(ctx, relayer, registryAddress) + if err != nil { + return nil, err + } + + return newRegistrySyncer( + stopCh, + peerWrapper, + registry, + dispatcher, + lggr.Named("RegistrySyncer"), + networkSetup, + reader, + ), nil +} + +func newRegistrySyncer( + stopCh services.StopChan, + peerWrapper p2ptypes.PeerWrapper, + registry core.CapabilitiesRegistry, + dispatcher remotetypes.Dispatcher, + lggr logger.Logger, + networkSetup HardcodedDonNetworkSetup, + reader reader, +) *registrySyncer { return ®istrySyncer{ + stopCh: stopCh, peerWrapper: peerWrapper, registry: registry, dispatcher: dispatcher, networkSetup: networkSetup, lggr: lggr, + reader: reader, } } func (s *registrySyncer) Start(ctx context.Context) error { + // NOTE: Decrease wg.Add and uncomment line 124 below + // this for a hardcoded syncer s.wg.Add(1) - go s.launch(context.Background()) + // go s.launch() + go s.syncLoop() return nil } -// NOTE: this implementation of the Syncer is temporary and will be replaced by one -// that reads the configuration from chain (KS-117). -func (s *registrySyncer) launch(ctx context.Context) { +func (s *registrySyncer) syncLoop() { defer s.wg.Done() - capId := "streams-trigger@1.0.0" - triggerInfo, err := capabilities.NewRemoteCapabilityInfo( - capId, - capabilities.CapabilityTypeTrigger, - "Remote Trigger", - &s.networkSetup.TriggerCapabilityDonInfo, - ) + + ctx, cancel := s.stopCh.NewCtx() + defer cancel() + + ticker := time.NewTicker(defaultTickInterval) + defer ticker.Stop() + + // Sync for a first time outside the loop; this means we'll start a remote + // sync immediately once spinning up syncLoop, as by default a ticker will + // fire for the first time at T+N, where N is the interval. + s.lggr.Debug("starting initial sync with remote registry") + err := s.sync(ctx) if err != nil { - s.lggr.Errorw("failed to create capability info for streams-trigger", "error", err) - return + s.lggr.Errorw("failed to sync with remote registry", "error", err) } - targetCapId := "write_ethereum-testnet-sepolia@1.0.0" - targetInfo, err := capabilities.NewRemoteCapabilityInfo( - targetCapId, - capabilities.CapabilityTypeTarget, - "Remote Target", - &s.networkSetup.TargetCapabilityDonInfo, - ) + for { + select { + case <-s.stopCh: + return + case <-ticker.C: + s.lggr.Debug("starting regular sync with the remote registry") + err := s.sync(ctx) + if err != nil { + s.lggr.Errorw("failed to sync with remote registry", "error", err) + } + } + } +} + +func (s *registrySyncer) sync(ctx context.Context) error { + readerState, err := s.reader.state(ctx) if err != nil { - s.lggr.Errorw("failed to create capability info for write_ethereum-testnet-sepolia", "error", err) - return + return fmt.Errorf("failed to sync with remote registry: %w", err) + } + + // Let's start by updating the list of Peers + // We do this by creating a new entry for each node belonging + // to a public DON. + // We also add the hardcoded peers determined by the NetworkSetup. + allPeers := make(map[ragetypes.PeerID]p2ptypes.StreamConfig) + // TODO: Remove this when we're no longer hard-coding + // a `networkSetup`. + for p, cfg := range s.networkSetup.allPeers { + allPeers[p] = cfg } - myId := s.peerWrapper.GetPeer().ID() - config := remotetypes.RemoteTriggerConfig{ - RegistrationRefreshMs: 20000, - RegistrationExpiryMs: 60000, - MinResponsesToAggregate: uint32(s.networkSetup.TriggerCapabilityDonInfo.F) + 1, + publicDONs := []kcr.CapabilityRegistryDONInfo{} + for _, d := range readerState.IDsToDONs { + if !d.IsPublic { + continue + } + + publicDONs = append(publicDONs, d) + + for _, nid := range d.NodeP2PIds { + allPeers[nid] = defaultStreamConfig + } } - err = s.peerWrapper.GetPeer().UpdateConnections(s.networkSetup.allPeers) + + // TODO: be a bit smarter about who we connect to; we should ideally only + // be connecting to peers when we need to. + // https://smartcontract-it.atlassian.net/browse/KS-330 + err = s.peerWrapper.GetPeer().UpdateConnections(allPeers) if err != nil { - s.lggr.Errorw("failed to update connections", "error", err) - return - } - if s.networkSetup.IsWorkflowDon(myId) { - s.lggr.Info("member of a workflow DON - starting remote subscribers") - codec := streams.NewCodec(s.lggr) - aggregator := triggers.NewMercuryRemoteAggregator(codec, hexStringsToBytes(s.networkSetup.triggerDonSigners), int(s.networkSetup.TriggerCapabilityDonInfo.F+1), s.lggr) - triggerCap := remote.NewTriggerSubscriber(config, triggerInfo, s.networkSetup.TriggerCapabilityDonInfo, s.networkSetup.WorkflowsDonInfo, s.dispatcher, aggregator, s.lggr) - err = s.registry.Add(ctx, triggerCap) - if err != nil { - s.lggr.Errorw("failed to add remote trigger capability to registry", "error", err) - return + return fmt.Errorf("failed to update peer connections: %w", err) + } + + // Next, we need to split the DONs into the following: + // - workflow DONs the current node is a part of. + // These will need remote shims to all remote capabilities on other DONs. + // + // We'll also construct a set to record what DONs the current node is a part of, + // regardless of any modifiers (public/acceptsWorkflows etc). + myID := s.peerWrapper.GetPeer().ID() + myWorkflowDONs := []kcr.CapabilityRegistryDONInfo{} + remoteWorkflowDONs := []kcr.CapabilityRegistryDONInfo{} + myDONs := map[uint32]bool{} + for _, d := range readerState.IDsToDONs { + for _, peerID := range d.NodeP2PIds { + if peerID == myID { + myDONs[d.Id] = true + } } - err = s.dispatcher.SetReceiver(capId, s.networkSetup.TriggerCapabilityDonInfo.ID, triggerCap) - if err != nil { - s.lggr.Errorw("workflow DON failed to set receiver for trigger", "capabilityId", capId, "donId", s.networkSetup.TriggerCapabilityDonInfo.ID, "error", err) - return + + if d.AcceptsWorkflows { + if myDONs[d.Id] { + myWorkflowDONs = append(myWorkflowDONs, d) + } else { + remoteWorkflowDONs = append(remoteWorkflowDONs, d) + } } - s.subServices = append(s.subServices, triggerCap) + } - s.lggr.Info("member of a workflow DON - starting remote targets") - targetCap := target.NewClient(targetInfo, s.networkSetup.WorkflowsDonInfo, s.dispatcher, 60*time.Second, s.lggr) - err = s.registry.Add(ctx, targetCap) - if err != nil { - s.lggr.Errorw("failed to add remote target capability to registry", "error", err) - return + // - remote capability DONs (with IsPublic = true) the current node is a part of. + // These need server-side shims. + myCapabilityDONs := []kcr.CapabilityRegistryDONInfo{} + remoteCapabilityDONs := []kcr.CapabilityRegistryDONInfo{} + for _, d := range publicDONs { + if len(d.CapabilityConfigurations) > 0 { + if myDONs[d.Id] { + myCapabilityDONs = append(myCapabilityDONs, d) + } else { + remoteCapabilityDONs = append(remoteCapabilityDONs, d) + } } - err = s.dispatcher.SetReceiver(targetCapId, s.networkSetup.TargetCapabilityDonInfo.ID, targetCap) - if err != nil { - s.lggr.Errorw("workflow DON failed to set receiver for target", "capabilityId", capId, "donId", s.networkSetup.TargetCapabilityDonInfo.ID, "error", err) - return + } + + // Now, if my node is a workflow DON, let's setup any shims + // to external capabilities. + if len(myWorkflowDONs) > 0 { + myDON := myWorkflowDONs[0] + + // TODO: this is a bit nasty; figure out how best to handle this. + if len(myWorkflowDONs) > 1 { + s.lggr.Warn("node is part of more than one workflow DON; assigning first DON as caller") + } + + for _, rcd := range remoteCapabilityDONs { + err := s.addRemoteCapabilities(ctx, myDON, rcd, readerState) + if err != nil { + return err + } } - s.subServices = append(s.subServices, targetCap) } - if s.networkSetup.IsTriggerDon(myId) { - s.lggr.Info("member of a capability DON - starting remote publishers") - /*{ - // ---- This is for local tests only, until a full-blown Syncer is implemented - // ---- Normally this is set up asynchronously (by the Relayer + job specs in Mercury's case) - localTrigger := triggers.NewMercuryTriggerService(1000, s.lggr) - mockMercuryDataProducer := NewMockMercuryDataProducer(localTrigger, s.lggr) - err = s.registry.Add(ctx, localTrigger) + // Finally, if I'm a capability DON, let's enable external access + // to the capability. + if len(myCapabilityDONs) > 0 { + for _, mcd := range myCapabilityDONs { + err := s.enableExternalAccess(ctx, myID, mcd, readerState, remoteWorkflowDONs) if err != nil { - s.lggr.Errorw("failed to add local trigger capability to registry", "error", err) return err } - s.subServices = append(s.subServices, localTrigger) - s.subServices = append(s.subServices, mockMercuryDataProducer) - // ---- - }*/ - - count := 0 - for { - count++ - if count > maxRetryCount { - s.lggr.Error("failed to get Streams Trigger from the Registry") - return + } + } + + return nil +} + +func signersFor(don kcr.CapabilityRegistryDONInfo, state state) ([][]byte, error) { + s := [][]byte{} + for _, nodeID := range don.NodeP2PIds { + node, ok := state.IDsToNodes[nodeID] + if !ok { + return nil, fmt.Errorf("could not find node for id %s", nodeID) + } + + // NOTE: the capability registry stores signers as [32]byte, + // but we only need the first [20], as the rest is padded. + s = append(s, node.Signer[0:20]) + } + + return s, nil +} + +func toDONInfo(don kcr.CapabilityRegistryDONInfo) *capabilities.DON { + peerIDs := []p2ptypes.PeerID{} + for _, p := range don.NodeP2PIds { + peerIDs = append(peerIDs, p) + } + + return &capabilities.DON{ + ID: fmt.Sprint(don.Id), + Members: peerIDs, + F: don.F, + } +} + +func toCapabilityType(capabilityType uint8) capabilities.CapabilityType { + switch capabilityType { + case 0: + return capabilities.CapabilityTypeTrigger + case 1: + return capabilities.CapabilityTypeAction + case 2: + return capabilities.CapabilityTypeConsensus + case 3: + return capabilities.CapabilityTypeTarget + default: + // Not found + return capabilities.CapabilityType(-1) + } +} + +func (s *registrySyncer) addRemoteCapabilities(ctx context.Context, myDON kcr.CapabilityRegistryDONInfo, remoteDON kcr.CapabilityRegistryDONInfo, state state) error { + for _, c := range remoteDON.CapabilityConfigurations { + capability, ok := state.IDsToCapabilities[c.CapabilityId] + if !ok { + return fmt.Errorf("could not find capability matching id %s", c.CapabilityId) + } + + switch toCapabilityType(capability.CapabilityType) { + case capabilities.CapabilityTypeTrigger: + newTriggerFn := func(info capabilities.CapabilityInfo) (capabilityService, error) { + if !strings.HasPrefix(info.ID, "streams-trigger") { + return nil, errors.New("not supported: trigger capability does not have id = streams-trigger") + } + + codec := streams.NewCodec(s.lggr) + + signers, err := signersFor(remoteDON, state) + if err != nil { + return nil, err + } + + aggregator := triggers.NewMercuryRemoteAggregator( + codec, + signers, + int(remoteDON.F+1), + s.lggr, + ) + cfg := &remotetypes.RemoteTriggerConfig{} + cfg.ApplyDefaults() + err = proto.Unmarshal(c.Config, cfg) + if err != nil { + return nil, err + } + // TODO: We need to implement a custom, Mercury-specific + // aggregator here, because there is no guarantee that + // all trigger events in the workflow will have the same + // payloads. As a workaround, we validate the signatures. + // When this is solved, we can move to a generic aggregator + // and remove this. + triggerCap := remote.NewTriggerSubscriber( + cfg, + info, + *toDONInfo(remoteDON), + *toDONInfo(myDON), + s.dispatcher, + aggregator, + s.lggr, + ) + return triggerCap, nil } - underlying, err2 := s.registry.GetTrigger(ctx, capId) - if err2 != nil { - // NOTE: it's possible that the jobs are not launched yet at this moment. - // If not found yet, Syncer won't add to Registry but retry on the next tick. - s.lggr.Infow("trigger not found yet ...", "capabilityId", capId, "error", err2) - time.Sleep(1 * time.Second) - continue + err := s.addToRegistryAndSetDispatcher(ctx, capability, remoteDON, newTriggerFn) + if err != nil { + return fmt.Errorf("failed to add trigger shim: %w", err) } - workflowDONs := map[string]capabilities.DON{ - s.networkSetup.WorkflowsDonInfo.ID: s.networkSetup.WorkflowsDonInfo, + case capabilities.CapabilityTypeAction: + s.lggr.Warn("no remote client configured for capability type action, skipping configuration") + case capabilities.CapabilityTypeConsensus: + s.lggr.Warn("no remote client configured for capability type consensus, skipping configuration") + case capabilities.CapabilityTypeTarget: + newTargetFn := func(info capabilities.CapabilityInfo) (capabilityService, error) { + client := target.NewClient( + info, + *toDONInfo(myDON), + s.dispatcher, + defaultTargetRequestTimeout, + s.lggr, + ) + return client, nil } - triggerCap := remote.NewTriggerPublisher(config, underlying, triggerInfo, s.networkSetup.TriggerCapabilityDonInfo, workflowDONs, s.dispatcher, s.lggr) - err = s.dispatcher.SetReceiver(capId, s.networkSetup.TriggerCapabilityDonInfo.ID, triggerCap) + + err := s.addToRegistryAndSetDispatcher(ctx, capability, remoteDON, newTargetFn) if err != nil { - s.lggr.Errorw("capability DON failed to set receiver", "capabilityId", capId, "donId", s.networkSetup.TriggerCapabilityDonInfo.ID, "error", err) - return + return fmt.Errorf("failed to add target shim: %w", err) } - s.subServices = append(s.subServices, triggerCap) - break + default: + s.lggr.Warnf("unknown capability type, skipping configuration: %+v", capability) } } - if s.networkSetup.IsTargetDon(myId) { - s.lggr.Info("member of a target DON - starting remote shims") - underlying, err2 := s.registry.GetTarget(ctx, targetCapId) - if err2 != nil { - s.lggr.Errorw("target not found yet", "capabilityId", targetCapId, "error", err2) - return + return nil +} + +type capabilityService interface { + capabilities.BaseCapability + remotetypes.Receiver + services.Service +} + +func (s *registrySyncer) addToRegistryAndSetDispatcher(ctx context.Context, capabilityInfo kcr.CapabilityRegistryCapability, don kcr.CapabilityRegistryDONInfo, newCapFn func(info capabilities.CapabilityInfo) (capabilityService, error)) error { + fullCapID := fmt.Sprintf("%s@%s", capabilityInfo.LabelledName, capabilityInfo.Version) + info, err := capabilities.NewRemoteCapabilityInfo( + fullCapID, + toCapabilityType(capabilityInfo.CapabilityType), + fmt.Sprintf("Remote Capability for %s", fullCapID), + toDONInfo(don), + ) + if err != nil { + return err + } + s.lggr.Debugw("Adding remote capability to registry", "id", info.ID, "don", info.DON) + capability, err := newCapFn(info) + if err != nil { + return err + } + + err = s.registry.Add(ctx, capability) + if err != nil { + // If the capability already exists, then it's either local + // or we've handled this in a previous syncer iteration, + // let's skip and move on to other capabilities. + if errors.Is(err, ErrCapabilityAlreadyExists) { + return nil } - workflowDONs := map[string]capabilities.DON{ - s.networkSetup.WorkflowsDonInfo.ID: s.networkSetup.WorkflowsDonInfo, + + return err + } + + err = s.dispatcher.SetReceiver( + fullCapID, + fmt.Sprint(don.Id), + capability, + ) + if err != nil { + return err + } + s.lggr.Debugw("Setting receiver for capability", "id", fullCapID, "donID", don.Id) + err = capability.Start(ctx) + if err != nil { + return err + } + s.subServices = append(s.subServices, capability) + return nil +} + +var ( + defaultTargetRequestTimeout = time.Minute +) + +func (s *registrySyncer) enableExternalAccess(ctx context.Context, myPeerID p2ptypes.PeerID, don kcr.CapabilityRegistryDONInfo, state state, remoteWorkflowDONs []kcr.CapabilityRegistryDONInfo) error { + idsToDONs := map[string]capabilities.DON{} + for _, d := range remoteWorkflowDONs { + idsToDONs[fmt.Sprint(d.Id)] = *toDONInfo(d) + } + + for _, c := range don.CapabilityConfigurations { + capability, ok := state.IDsToCapabilities[c.CapabilityId] + if !ok { + return fmt.Errorf("could not find capability matching id %s", c.CapabilityId) } - targetCap := target.NewServer(myId, underlying, targetInfo, *targetInfo.DON, workflowDONs, s.dispatcher, 60*time.Second, s.lggr) - err = s.dispatcher.SetReceiver(targetCapId, s.networkSetup.TargetCapabilityDonInfo.ID, targetCap) - if err != nil { - s.lggr.Errorw("capability DON failed to set receiver", "capabilityId", capId, "donId", s.networkSetup.TargetCapabilityDonInfo.ID, "error", err) - return + + switch toCapabilityType(capability.CapabilityType) { + case capabilities.CapabilityTypeTrigger: + newTriggerPublisher := func(capability capabilities.BaseCapability, info capabilities.CapabilityInfo) (receiverService, error) { + cfg := &remotetypes.RemoteTriggerConfig{} + cfg.ApplyDefaults() + err := proto.Unmarshal(c.Config, cfg) + if err != nil { + return nil, err + } + publisher := remote.NewTriggerPublisher( + cfg, + capability.(capabilities.TriggerCapability), + info, + *toDONInfo(don), + idsToDONs, + s.dispatcher, + s.lggr, + ) + return publisher, nil + } + + err := s.addReceiver(ctx, capability, don, newTriggerPublisher) + if err != nil { + return fmt.Errorf("failed to add server-side receiver: %w", err) + } + case capabilities.CapabilityTypeAction: + s.lggr.Warn("no remote client configured for capability type action, skipping configuration") + case capabilities.CapabilityTypeConsensus: + s.lggr.Warn("no remote client configured for capability type consensus, skipping configuration") + case capabilities.CapabilityTypeTarget: + newTargetServer := func(capability capabilities.BaseCapability, info capabilities.CapabilityInfo) (receiverService, error) { + return target.NewServer( + myPeerID, + capability.(capabilities.TargetCapability), + info, + *toDONInfo(don), + idsToDONs, + s.dispatcher, + defaultTargetRequestTimeout, + s.lggr, + ), nil + } + + err := s.addReceiver(ctx, capability, don, newTargetServer) + if err != nil { + return fmt.Errorf("failed to add server-side receiver: %w", err) + } + default: + s.lggr.Warnf("unknown capability type, skipping configuration: %+v", capability) } - s.subServices = append(s.subServices, targetCap) } - // NOTE: temporary service start - should be managed by capability creation - for _, srv := range s.subServices { - err = srv.Start(ctx) - if err != nil { - s.lggr.Errorw("failed to start remote trigger caller", "error", err) - return - } + return nil +} + +type receiverService interface { + services.Service + remotetypes.Receiver +} + +func (s *registrySyncer) addReceiver(ctx context.Context, capability kcr.CapabilityRegistryCapability, don kcr.CapabilityRegistryDONInfo, newReceiverFn func(capability capabilities.BaseCapability, info capabilities.CapabilityInfo) (receiverService, error)) error { + fullCapID := fmt.Sprintf("%s@%s", capability.LabelledName, capability.Version) + info, err := capabilities.NewRemoteCapabilityInfo( + fullCapID, + toCapabilityType(capability.CapabilityType), + fmt.Sprintf("Remote Capability for %s", fullCapID), + toDONInfo(don), + ) + if err != nil { + return err + } + underlying, err := s.registry.Get(ctx, fullCapID) + if err != nil { + return err + } + + receiver, err := newReceiverFn(underlying, info) + if err != nil { + return err + } + + s.lggr.Debugw("Enabling external access for capability", "id", fullCapID, "donID", don.Id) + err = s.dispatcher.SetReceiver(fullCapID, fmt.Sprint(don.Id), receiver) + if err != nil { + return err } - s.lggr.Info("registry syncer started") + + err = receiver.Start(ctx) + if err != nil { + return err + } + + s.subServices = append(s.subServices, receiver) + return nil } +//func hexStringsToBytes(strs []string) (res [][]byte) { +// for _, s := range strs { +// b, _ := hex.DecodeString(s[2:]) +// res = append(res, b) +// } +// return res +//} + +//const maxRetryCount = 60 + +//// NOTE: this implementation of the Syncer is temporary and will be replaced by one +//// that reads the configuration from chain (KS-117). +//func (s *registrySyncer) launch() { +// ctx, _ := s.stopCh.NewCtx() +// defer s.wg.Done() +// capId := "streams-trigger@1.0.0" +// triggerInfo, err := capabilities.NewRemoteCapabilityInfo( +// capId, +// capabilities.CapabilityTypeTrigger, +// "Remote Trigger", +// &s.networkSetup.TriggerCapabilityDonInfo, +// ) +// if err != nil { +// s.lggr.Errorw("failed to create capability info for streams-trigger", "error", err) +// return +// } +// +// targetCapId := "write_ethereum-testnet-sepolia@1.0.0" +// targetInfo, err := capabilities.NewRemoteCapabilityInfo( +// targetCapId, +// capabilities.CapabilityTypeTarget, +// "Remote Target", +// &s.networkSetup.TargetCapabilityDonInfo, +// ) +// if err != nil { +// s.lggr.Errorw("failed to create capability info for write_ethereum-testnet-sepolia", "error", err) +// return +// } +// +// myId := s.peerWrapper.GetPeer().ID() +// config := &remotetypes.RemoteTriggerConfig{ +// RegistrationRefreshMs: 20000, +// RegistrationExpiryMs: 60000, +// MinResponsesToAggregate: uint32(s.networkSetup.TriggerCapabilityDonInfo.F) + 1, +// } +// err = s.peerWrapper.GetPeer().UpdateConnections(s.networkSetup.allPeers) +// if err != nil { +// s.lggr.Errorw("failed to update connections", "error", err) +// return +// } +// if s.networkSetup.IsWorkflowDon(myId) { +// s.lggr.Info("member of a workflow DON - starting remote subscribers") +// codec := streams.NewCodec(s.lggr) +// aggregator := triggers.NewMercuryRemoteAggregator(codec, hexStringsToBytes(s.networkSetup.triggerDonSigners), int(s.networkSetup.TriggerCapabilityDonInfo.F+1), s.lggr) +// triggerCap := remote.NewTriggerSubscriber(config, triggerInfo, s.networkSetup.TriggerCapabilityDonInfo, s.networkSetup.WorkflowsDonInfo, s.dispatcher, aggregator, s.lggr) +// err = s.registry.Add(ctx, triggerCap) +// if err != nil { +// s.lggr.Errorw("failed to add remote trigger capability to registry", "error", err) +// return +// } +// err = s.dispatcher.SetReceiver(capId, s.networkSetup.TriggerCapabilityDonInfo.ID, triggerCap) +// if err != nil { +// s.lggr.Errorw("workflow DON failed to set receiver for trigger", "capabilityId", capId, "donId", s.networkSetup.TriggerCapabilityDonInfo.ID, "error", err) +// return +// } +// s.subServices = append(s.subServices, triggerCap) +// +// s.lggr.Info("member of a workflow DON - starting remote targets") +// targetCap := target.NewClient(targetInfo, s.networkSetup.WorkflowsDonInfo, s.dispatcher, 60*time.Second, s.lggr) +// err = s.registry.Add(ctx, targetCap) +// if err != nil { +// s.lggr.Errorw("failed to add remote target capability to registry", "error", err) +// return +// } +// err = s.dispatcher.SetReceiver(targetCapId, s.networkSetup.TargetCapabilityDonInfo.ID, targetCap) +// if err != nil { +// s.lggr.Errorw("workflow DON failed to set receiver for target", "capabilityId", capId, "donId", s.networkSetup.TargetCapabilityDonInfo.ID, "error", err) +// return +// } +// s.subServices = append(s.subServices, targetCap) +// } +// if s.networkSetup.IsTriggerDon(myId) { +// s.lggr.Info("member of a capability DON - starting remote publishers") +// +// /*{ +// // ---- This is for local tests only, until a full-blown Syncer is implemented +// // ---- Normally this is set up asynchronously (by the Relayer + job specs in Mercury's case) +// localTrigger := triggers.NewMercuryTriggerService(1000, s.lggr) +// mockMercuryDataProducer := NewMockMercuryDataProducer(localTrigger, s.lggr) +// err = s.registry.Add(ctx, localTrigger) +// if err != nil { +// s.lggr.Errorw("failed to add local trigger capability to registry", "error", err) +// return err +// } +// s.subServices = append(s.subServices, localTrigger) +// s.subServices = append(s.subServices, mockMercuryDataProducer) +// // ---- +// }*/ +// +// count := 0 +// for { +// count++ +// if count > maxRetryCount { +// s.lggr.Error("failed to get Streams Trigger from the Registry") +// return +// } +// underlying, err2 := s.registry.GetTrigger(ctx, capId) +// if err2 != nil { +// // NOTE: it's possible that the jobs are not launched yet at this moment. +// // If not found yet, Syncer won't add to Registry but retry on the next tick. +// s.lggr.Infow("trigger not found yet ...", "capabilityId", capId, "error", err2) +// time.Sleep(1 * time.Second) +// continue +// } +// workflowDONs := map[string]capabilities.DON{ +// s.networkSetup.WorkflowsDonInfo.ID: s.networkSetup.WorkflowsDonInfo, +// } +// triggerCap := remote.NewTriggerPublisher(config, underlying, triggerInfo, s.networkSetup.TriggerCapabilityDonInfo, workflowDONs, s.dispatcher, s.lggr) +// err = s.dispatcher.SetReceiver(capId, s.networkSetup.TriggerCapabilityDonInfo.ID, triggerCap) +// if err != nil { +// s.lggr.Errorw("capability DON failed to set receiver", "capabilityId", capId, "donId", s.networkSetup.TriggerCapabilityDonInfo.ID, "error", err) +// return +// } +// s.subServices = append(s.subServices, triggerCap) +// break +// } +// } +// if s.networkSetup.IsTargetDon(myId) { +// s.lggr.Info("member of a target DON - starting remote shims") +// underlying, err2 := s.registry.GetTarget(ctx, targetCapId) +// if err2 != nil { +// s.lggr.Errorw("target not found yet", "capabilityId", targetCapId, "error", err2) +// return +// } +// workflowDONs := map[string]capabilities.DON{ +// s.networkSetup.WorkflowsDonInfo.ID: s.networkSetup.WorkflowsDonInfo, +// } +// targetCap := target.NewServer(myId, underlying, targetInfo, *targetInfo.DON, workflowDONs, s.dispatcher, 60*time.Second, s.lggr) +// err = s.dispatcher.SetReceiver(targetCapId, s.networkSetup.TargetCapabilityDonInfo.ID, targetCap) +// if err != nil { +// s.lggr.Errorw("capability DON failed to set receiver", "capabilityId", capId, "donId", s.networkSetup.TargetCapabilityDonInfo.ID, "error", err) +// return +// } +// s.subServices = append(s.subServices, targetCap) +// } +// // NOTE: temporary service start - should be managed by capability creation +// for _, srv := range s.subServices { +// err = srv.Start(ctx) +// if err != nil { +// s.lggr.Errorw("failed to start remote trigger caller", "error", err) +// return +// } +// } +// s.lggr.Info("registry syncer started") +//} + func (s *registrySyncer) Close() error { + close(s.stopCh) s.wg.Wait() for _, subService := range s.subServices { err := subService.Close() @@ -416,11 +910,3 @@ func (m *mockMercuryDataProducer) Ready() error { func (m *mockMercuryDataProducer) Name() string { return "mockMercuryDataProducer" } - -func hexStringsToBytes(strs []string) (res [][]byte) { - for _, s := range strs { - b, _ := hex.DecodeString(s[2:]) - res = append(res, b) - } - return res -} diff --git a/core/capabilities/syncer_test.go b/core/capabilities/syncer_test.go index a654f303a95..c0eaa26a5b8 100644 --- a/core/capabilities/syncer_test.go +++ b/core/capabilities/syncer_test.go @@ -1,18 +1,25 @@ -package capabilities_test +package capabilities import ( + "context" + "fmt" "testing" + "github.com/stretchr/testify/assert" "github.com/stretchr/testify/mock" "github.com/stretchr/testify/require" ragetypes "github.com/smartcontractkit/libocr/ragep2p/types" + "github.com/smartcontractkit/chainlink-common/pkg/capabilities" + "github.com/smartcontractkit/chainlink-common/pkg/services" commonMocks "github.com/smartcontractkit/chainlink-common/pkg/types/mocks" - coreCapabilities "github.com/smartcontractkit/chainlink/v2/core/capabilities" + "github.com/smartcontractkit/chainlink-common/pkg/utils/tests" remoteMocks "github.com/smartcontractkit/chainlink/v2/core/capabilities/remote/types/mocks" + kcr "github.com/smartcontractkit/chainlink/v2/core/gethwrappers/keystone/generated/keystone_capability_registry" "github.com/smartcontractkit/chainlink/v2/core/internal/testutils" "github.com/smartcontractkit/chainlink/v2/core/logger" + p2ptypes "github.com/smartcontractkit/chainlink/v2/core/services/p2p/types" "github.com/smartcontractkit/chainlink/v2/core/services/p2p/types/mocks" ) @@ -28,13 +35,575 @@ func TestSyncer_CleanStartClose(t *testing.T) { wrapper := mocks.NewPeerWrapper(t) wrapper.On("GetPeer").Return(peer) registry := commonMocks.NewCapabilitiesRegistry(t) - registry.On("Add", mock.Anything, mock.Anything).Return(nil) dispatcher := remoteMocks.NewDispatcher(t) - dispatcher.On("SetReceiver", mock.Anything, mock.Anything, mock.Anything).Return(nil) - networkSetup, err := coreCapabilities.NewHardcodedDonNetworkSetup() + networkSetup, err := NewHardcodedDonNetworkSetup() + require.NoError(t, err) + mr := &mockReader{} + syncer := newRegistrySyncer(make(services.StopChan), wrapper, registry, dispatcher, lggr, networkSetup, mr) require.NoError(t, err) - syncer := coreCapabilities.NewRegistrySyncer(wrapper, registry, dispatcher, lggr, networkSetup) require.NoError(t, syncer.Start(ctx)) require.NoError(t, syncer.Close()) } + +type mockReader struct { + s state + err error +} + +func (m mockReader) state(ctx context.Context) (state, error) { + return m.s, m.err +} + +type mockTrigger struct { + capabilities.CapabilityInfo +} + +func (m *mockTrigger) RegisterTrigger(ctx context.Context, request capabilities.CapabilityRequest) (<-chan capabilities.CapabilityResponse, error) { + return nil, nil +} + +func (m *mockTrigger) UnregisterTrigger(ctx context.Context, request capabilities.CapabilityRequest) error { + return nil +} + +func newMockTrigger(info capabilities.CapabilityInfo) *mockTrigger { + return &mockTrigger{CapabilityInfo: info} +} + +type mockCapability struct { + capabilities.CapabilityInfo +} + +func (m *mockCapability) Execute(ctx context.Context, req capabilities.CapabilityRequest) (<-chan capabilities.CapabilityResponse, error) { + return nil, nil +} + +func (m *mockCapability) RegisterToWorkflow(ctx context.Context, request capabilities.RegisterToWorkflowRequest) error { + return nil +} + +func (m *mockCapability) UnregisterFromWorkflow(ctx context.Context, request capabilities.UnregisterFromWorkflowRequest) error { + return nil +} + +func TestSyncer_WiresUpExternalCapabilities(t *testing.T) { + ctx := tests.Context(t) + lggr := logger.TestLogger(t) + registry := NewRegistry(lggr) + dispatcher := remoteMocks.NewDispatcher(t) + + var pid ragetypes.PeerID + err := pid.UnmarshalText([]byte("12D3KooWBCF1XT5Wi8FzfgNCqRL76Swv8TRU3TiD4QiJm8NMNX7N")) + require.NoError(t, err) + peer := mocks.NewPeer(t) + peer.On("UpdateConnections", mock.Anything).Return(nil) + peer.On("ID").Return(pid) + wrapper := mocks.NewPeerWrapper(t) + wrapper.On("GetPeer").Return(peer) + + nodes := [][32]byte{ + pid, + randomWord(), + randomWord(), + randomWord(), + } + + fullTriggerCapID := "streams-trigger@1.0.0" + mt := newMockTrigger(capabilities.MustNewCapabilityInfo( + fullTriggerCapID, + capabilities.CapabilityTypeTrigger, + "streams trigger", + )) + require.NoError(t, registry.Add(ctx, mt)) + + fullTargetID := "write-chain_evm_1@1.0.0" + mtarg := &mockCapability{ + CapabilityInfo: capabilities.MustNewCapabilityInfo( + fullTargetID, + capabilities.CapabilityTypeTarget, + "write chain", + ), + } + require.NoError(t, registry.Add(ctx, mtarg)) + + triggerCapID := randomWord() + targetCapID := randomWord() + dID := uint32(1) + // The below state describes a Workflow DON (AcceptsWorkflows = true), + // which exposes the streams-trigger and write_chain capabilities. + // We expect a publisher to be wired up with this configuration, and + // no entries should be added to the registry. + mr := &mockReader{ + s: state{ + IDsToDONs: map[donID]kcr.CapabilityRegistryDONInfo{ + donID(dID): { + Id: dID, + ConfigCount: uint32(0), + F: uint8(1), + IsPublic: true, + AcceptsWorkflows: true, + NodeP2PIds: nodes, + CapabilityConfigurations: []kcr.CapabilityRegistryCapabilityConfiguration{ + { + CapabilityId: triggerCapID, + Config: []byte(""), + }, + { + CapabilityId: targetCapID, + Config: []byte(""), + }, + }, + }, + }, + IDsToCapabilities: map[hashedCapabilityID]kcr.CapabilityRegistryCapability{ + triggerCapID: { + LabelledName: "streams-trigger", + Version: "1.0.0", + CapabilityType: 0, + }, + targetCapID: { + LabelledName: "write-chain_evm_1", + Version: "1.0.0", + CapabilityType: 3, + }, + }, + IDsToNodes: map[p2ptypes.PeerID]kcr.CapabilityRegistryNodeInfo{ + nodes[0]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[0], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + nodes[1]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[1], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + nodes[2]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[2], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + nodes[3]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[3], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + }, + }, + } + syncer := newRegistrySyncer(make(services.StopChan), wrapper, registry, dispatcher, lggr, HardcodedDonNetworkSetup{}, mr) + require.NoError(t, err) + + dispatcher.On("SetReceiver", fullTriggerCapID, fmt.Sprint(dID), mock.AnythingOfType("*remote.triggerPublisher")).Return(nil) + dispatcher.On("SetReceiver", fullTargetID, fmt.Sprint(dID), mock.AnythingOfType("*target.server")).Return(nil) + + err = syncer.sync(ctx) + require.NoError(t, err) + defer syncer.Close() +} + +func TestSyncer_IgnoresCapabilitiesForPrivateDON(t *testing.T) { + ctx := tests.Context(t) + lggr := logger.TestLogger(t) + registry := NewRegistry(lggr) + dispatcher := remoteMocks.NewDispatcher(t) + + var pid ragetypes.PeerID + err := pid.UnmarshalText([]byte("12D3KooWBCF1XT5Wi8FzfgNCqRL76Swv8TRU3TiD4QiJm8NMNX7N")) + require.NoError(t, err) + peer := mocks.NewPeer(t) + peer.On("UpdateConnections", mock.Anything).Return(nil) + peer.On("ID").Return(pid) + wrapper := mocks.NewPeerWrapper(t) + wrapper.On("GetPeer").Return(peer) + + nodes := [][32]byte{ + pid, + randomWord(), + randomWord(), + randomWord(), + } + + triggerCapID := randomWord() + targetCapID := randomWord() + dID := uint32(1) + // The below state describes a Workflow DON (AcceptsWorkflows = true), + // which isn't public (IsPublic = false), but hosts the + // the streams-trigger and write_chain capabilities. + // We expect no action to be taken by the syncer. + mr := &mockReader{ + s: state{ + IDsToDONs: map[donID]kcr.CapabilityRegistryDONInfo{ + donID(dID): { + Id: dID, + ConfigCount: uint32(0), + F: uint8(1), + IsPublic: false, + AcceptsWorkflows: true, + NodeP2PIds: nodes, + CapabilityConfigurations: []kcr.CapabilityRegistryCapabilityConfiguration{ + { + CapabilityId: triggerCapID, + Config: []byte(""), + }, + { + CapabilityId: targetCapID, + Config: []byte(""), + }, + }, + }, + }, + IDsToCapabilities: map[hashedCapabilityID]kcr.CapabilityRegistryCapability{ + triggerCapID: { + LabelledName: "streams-trigger", + Version: "1.0.0", + CapabilityType: 0, + }, + targetCapID: { + LabelledName: "write-chain_evm_1", + Version: "1.0.0", + CapabilityType: 3, + }, + }, + IDsToNodes: map[p2ptypes.PeerID]kcr.CapabilityRegistryNodeInfo{ + nodes[0]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[0], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + nodes[1]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[1], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + nodes[2]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[2], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + nodes[3]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: nodes[3], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + }, + }, + } + syncer := newRegistrySyncer(make(services.StopChan), wrapper, registry, dispatcher, lggr, HardcodedDonNetworkSetup{}, mr) + require.NoError(t, err) + + // If the DON were public, this would fail with two errors: + // - error fetching the capabilities from the registry since they haven't been added + // - erroneous calls to dispatcher.SetReceiver, since the call hasn't been registered. + err = syncer.sync(ctx) + require.NoError(t, err) + defer syncer.Close() + + // Finally, assert that no services were added. + assert.Len(t, syncer.subServices, 0) +} + +func TestSyncer_WiresUpClientsForPublicWorkflowDON(t *testing.T) { + ctx := tests.Context(t) + lggr := logger.TestLogger(t) + registry := NewRegistry(lggr) + dispatcher := remoteMocks.NewDispatcher(t) + + var pid ragetypes.PeerID + err := pid.UnmarshalText([]byte("12D3KooWBCF1XT5Wi8FzfgNCqRL76Swv8TRU3TiD4QiJm8NMNX7N")) + require.NoError(t, err) + peer := mocks.NewPeer(t) + peer.On("UpdateConnections", mock.Anything).Return(nil) + peer.On("ID").Return(pid) + wrapper := mocks.NewPeerWrapper(t) + wrapper.On("GetPeer").Return(peer) + + workflowDonNodes := [][32]byte{ + pid, + randomWord(), + randomWord(), + randomWord(), + } + + capabilityDonNodes := [][32]byte{ + randomWord(), + randomWord(), + randomWord(), + randomWord(), + } + + fullTriggerCapID := "streams-trigger@1.0.0" + fullTargetID := "write-chain_evm_1@1.0.0" + triggerCapID := randomWord() + targetCapID := randomWord() + dID := uint32(1) + capDonID := uint32(2) + // The below state describes a Workflow DON (AcceptsWorkflows = true), + // which exposes the streams-trigger and write_chain capabilities. + // We expect receivers to be wired up and both capabilities to be added to the registry. + mr := &mockReader{ + s: state{ + IDsToDONs: map[donID]kcr.CapabilityRegistryDONInfo{ + donID(dID): { + Id: dID, + ConfigCount: uint32(0), + F: uint8(1), + IsPublic: true, + AcceptsWorkflows: true, + NodeP2PIds: workflowDonNodes, + }, + donID(capDonID): { + Id: capDonID, + ConfigCount: uint32(0), + F: uint8(1), + IsPublic: true, + AcceptsWorkflows: false, + NodeP2PIds: capabilityDonNodes, + CapabilityConfigurations: []kcr.CapabilityRegistryCapabilityConfiguration{ + { + CapabilityId: triggerCapID, + Config: []byte(""), + }, + { + CapabilityId: targetCapID, + Config: []byte(""), + }, + }, + }, + }, + IDsToCapabilities: map[hashedCapabilityID]kcr.CapabilityRegistryCapability{ + triggerCapID: { + LabelledName: "streams-trigger", + Version: "1.0.0", + CapabilityType: 0, + }, + targetCapID: { + LabelledName: "write-chain_evm_1", + Version: "1.0.0", + CapabilityType: 3, + }, + }, + IDsToNodes: map[p2ptypes.PeerID]kcr.CapabilityRegistryNodeInfo{ + capabilityDonNodes[0]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[0], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + capabilityDonNodes[1]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[1], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + capabilityDonNodes[2]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[2], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + capabilityDonNodes[3]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[3], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + workflowDonNodes[0]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[0], + }, + workflowDonNodes[1]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[1], + }, + workflowDonNodes[2]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[2], + }, + workflowDonNodes[3]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[3], + }, + }, + }, + } + syncer := newRegistrySyncer(make(services.StopChan), wrapper, registry, dispatcher, lggr, HardcodedDonNetworkSetup{}, mr) + require.NoError(t, err) + + dispatcher.On("SetReceiver", fullTriggerCapID, fmt.Sprint(capDonID), mock.AnythingOfType("*remote.triggerSubscriber")).Return(nil) + dispatcher.On("SetReceiver", fullTargetID, fmt.Sprint(capDonID), mock.AnythingOfType("*target.client")).Return(nil) + + err = syncer.sync(ctx) + require.NoError(t, err) + defer syncer.Close() + + _, err = registry.Get(ctx, fullTriggerCapID) + require.NoError(t, err) + + _, err = registry.Get(ctx, fullTargetID) + require.NoError(t, err) +} + +func TestSyncer_WiresUpClientsForPublicWorkflowDONButIgnoresPrivateCapabilities(t *testing.T) { + ctx := tests.Context(t) + lggr := logger.TestLogger(t) + registry := NewRegistry(lggr) + dispatcher := remoteMocks.NewDispatcher(t) + + var pid ragetypes.PeerID + err := pid.UnmarshalText([]byte("12D3KooWBCF1XT5Wi8FzfgNCqRL76Swv8TRU3TiD4QiJm8NMNX7N")) + require.NoError(t, err) + peer := mocks.NewPeer(t) + peer.On("UpdateConnections", mock.Anything).Return(nil) + peer.On("ID").Return(pid) + wrapper := mocks.NewPeerWrapper(t) + wrapper.On("GetPeer").Return(peer) + + workflowDonNodes := [][32]byte{ + pid, + randomWord(), + randomWord(), + randomWord(), + } + + capabilityDonNodes := [][32]byte{ + randomWord(), + randomWord(), + randomWord(), + randomWord(), + } + + fullTriggerCapID := "streams-trigger@1.0.0" + triggerCapID := randomWord() + targetCapID := randomWord() + dID := uint32(1) + triggerCapDonID := uint32(2) + targetCapDonID := uint32(3) + // The below state describes a Workflow DON (AcceptsWorkflows = true), + // which exposes the streams-trigger and write_chain capabilities. + // We expect receivers to be wired up and both capabilities to be added to the registry. + mr := &mockReader{ + s: state{ + IDsToDONs: map[donID]kcr.CapabilityRegistryDONInfo{ + donID(dID): { + Id: dID, + ConfigCount: uint32(0), + F: uint8(1), + IsPublic: true, + AcceptsWorkflows: true, + NodeP2PIds: workflowDonNodes, + }, + donID(triggerCapDonID): { + Id: triggerCapDonID, + ConfigCount: uint32(0), + F: uint8(1), + IsPublic: true, + AcceptsWorkflows: false, + NodeP2PIds: capabilityDonNodes, + CapabilityConfigurations: []kcr.CapabilityRegistryCapabilityConfiguration{ + { + CapabilityId: triggerCapID, + Config: []byte(""), + }, + }, + }, + donID(targetCapDonID): { + Id: targetCapDonID, + ConfigCount: uint32(0), + F: uint8(1), + IsPublic: false, + AcceptsWorkflows: false, + NodeP2PIds: capabilityDonNodes, + CapabilityConfigurations: []kcr.CapabilityRegistryCapabilityConfiguration{ + { + CapabilityId: targetCapID, + Config: []byte(""), + }, + }, + }, + }, + IDsToCapabilities: map[hashedCapabilityID]kcr.CapabilityRegistryCapability{ + triggerCapID: { + LabelledName: "streams-trigger", + Version: "1.0.0", + CapabilityType: 0, + }, + targetCapID: { + LabelledName: "write-chain_evm_1", + Version: "1.0.0", + CapabilityType: 3, + }, + }, + IDsToNodes: map[p2ptypes.PeerID]kcr.CapabilityRegistryNodeInfo{ + capabilityDonNodes[0]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[0], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + capabilityDonNodes[1]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[1], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + capabilityDonNodes[2]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[2], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + capabilityDonNodes[3]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: capabilityDonNodes[3], + HashedCapabilityIds: [][32]byte{triggerCapID, targetCapID}, + }, + workflowDonNodes[0]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[0], + }, + workflowDonNodes[1]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[1], + }, + workflowDonNodes[2]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[2], + }, + workflowDonNodes[3]: { + NodeOperatorId: 1, + Signer: randomWord(), + P2pId: workflowDonNodes[3], + }, + }, + }, + } + syncer := newRegistrySyncer(make(services.StopChan), wrapper, registry, dispatcher, lggr, HardcodedDonNetworkSetup{}, mr) + require.NoError(t, err) + + dispatcher.On("SetReceiver", fullTriggerCapID, fmt.Sprint(triggerCapDonID), mock.AnythingOfType("*remote.triggerSubscriber")).Return(nil) + + err = syncer.sync(ctx) + require.NoError(t, err) + defer syncer.Close() + + _, err = registry.Get(ctx, fullTriggerCapID) + require.NoError(t, err) +} diff --git a/core/config/capabilities_config.go b/core/config/capabilities_config.go index 8cde986ccb7..ae542c062c5 100644 --- a/core/config/capabilities_config.go +++ b/core/config/capabilities_config.go @@ -1,6 +1,17 @@ package config +import ( + "github.com/smartcontractkit/chainlink-common/pkg/types" +) + +type CapabilitiesExternalRegistry interface { + Address() string + NetworkID() string + ChainID() string + RelayID() types.RelayID +} + type Capabilities interface { Peering() P2P - // NOTE: RegistrySyncer will need config with relay ID, chain ID and contract address when implemented + ExternalRegistry() CapabilitiesExternalRegistry } diff --git a/core/config/docs/core.toml b/core/config/docs/core.toml index 92d75430daf..265609b064c 100644 --- a/core/config/docs/core.toml +++ b/core/config/docs/core.toml @@ -440,6 +440,14 @@ DeltaReconcile = '1m' # Default # but the host and port must be fully specified and cannot be empty. You can specify `0.0.0.0` (IPv4) or `::` (IPv6) to listen on all interfaces, but that is not recommended. ListenAddresses = ['1.2.3.4:9999', '[a52d:0:a88:1274::abcd]:1337'] # Example +[Capabilities.ExternalRegistry] +# Address is the address for the capabilities registry contract. +Address = '0x0' # Example +# NetworkID identifies the target network where the remote registry is located. +NetworkID = 'evm' # Default +# ChainID identifies the target chain id where the remote registry is located. +ChainID = '1' # Default + [Capabilities.Peering] # IncomingMessageBufferSize is the per-remote number of incoming # messages to buffer. Any additional messages received on top of those diff --git a/core/config/toml/types.go b/core/config/toml/types.go index e3e49dbb18b..c8b983b7c26 100644 --- a/core/config/toml/types.go +++ b/core/config/toml/types.go @@ -1406,12 +1406,34 @@ func (m *MercurySecrets) ValidateConfig() (err error) { return err } +type ExternalRegistry struct { + Address *string + NetworkID *string + ChainID *string +} + +func (r *ExternalRegistry) setFrom(f *ExternalRegistry) { + if f.Address != nil { + r.Address = f.Address + } + + if f.NetworkID != nil { + r.NetworkID = f.NetworkID + } + + if f.ChainID != nil { + r.ChainID = f.ChainID + } +} + type Capabilities struct { - Peering P2P `toml:",omitempty"` + Peering P2P `toml:",omitempty"` + ExternalRegistry ExternalRegistry `toml:",omitempty"` } func (c *Capabilities) setFrom(f *Capabilities) { c.Peering.setFrom(&f.Peering) + c.ExternalRegistry.setFrom(&f.ExternalRegistry) } type ThresholdKeyShareSecrets struct { diff --git a/core/services/chainlink/application.go b/core/services/chainlink/application.go index 076c93009a9..2d5eac01670 100644 --- a/core/services/chainlink/application.go +++ b/core/services/chainlink/application.go @@ -217,9 +217,27 @@ func NewApplication(opts ApplicationOpts) (Application, error) { return nil, fmt.Errorf("failed to create hardcoded Don network setup: %w", err) } - // NOTE: RegistrySyncer will depend on a Relayer when fully implemented dispatcher := remote.NewDispatcher(externalPeerWrapper, signer, opts.CapabilitiesRegistry, globalLogger) - registrySyncer := capabilities.NewRegistrySyncer(externalPeerWrapper, opts.CapabilitiesRegistry, dispatcher, globalLogger, networkSetup) + + rid := cfg.Capabilities().ExternalRegistry().RelayID() + registryAddress := cfg.Capabilities().ExternalRegistry().Address() + relayer, err := relayerChainInterops.Get(rid) + if err != nil { + return nil, fmt.Errorf("could not fetch relayer %s configured for capabilities registry: %w", rid, err) + } + + registrySyncer, err := capabilities.NewRegistrySyncer( + externalPeerWrapper, + opts.CapabilitiesRegistry, + dispatcher, + globalLogger, + networkSetup, + relayer, + registryAddress, + ) + if err != nil { + return nil, fmt.Errorf("could not configure syncer: %w", err) + } srvcs = append(srvcs, dispatcher, registrySyncer) } diff --git a/core/services/chainlink/config_capabilities.go b/core/services/chainlink/config_capabilities.go index d432d31ad18..c438ca249dd 100644 --- a/core/services/chainlink/config_capabilities.go +++ b/core/services/chainlink/config_capabilities.go @@ -3,6 +3,8 @@ package chainlink import ( "github.com/smartcontractkit/chainlink/v2/core/config" "github.com/smartcontractkit/chainlink/v2/core/config/toml" + + "github.com/smartcontractkit/chainlink-common/pkg/types" ) var _ config.Capabilities = (*capabilitiesConfig)(nil) @@ -14,3 +16,29 @@ type capabilitiesConfig struct { func (c *capabilitiesConfig) Peering() config.P2P { return &p2p{c: c.c.Peering} } + +func (c *capabilitiesConfig) ExternalRegistry() config.CapabilitiesExternalRegistry { + return &capabilitiesExternalRegistry{ + c: c.c.ExternalRegistry, + } +} + +type capabilitiesExternalRegistry struct { + c toml.ExternalRegistry +} + +func (c *capabilitiesExternalRegistry) RelayID() types.RelayID { + return types.NewRelayID(c.NetworkID(), c.ChainID()) +} + +func (c *capabilitiesExternalRegistry) NetworkID() string { + return *c.c.NetworkID +} + +func (c *capabilitiesExternalRegistry) ChainID() string { + return *c.c.ChainID +} + +func (c *capabilitiesExternalRegistry) Address() string { + return *c.c.Address +} diff --git a/core/services/chainlink/config_test.go b/core/services/chainlink/config_test.go index 11fbfbea3b3..a94aeaa659b 100644 --- a/core/services/chainlink/config_test.go +++ b/core/services/chainlink/config_test.go @@ -444,6 +444,11 @@ func TestConfig_Marshal(t *testing.T) { ListenAddresses: &[]string{"foo", "bar"}, }, }, + ExternalRegistry: toml.ExternalRegistry{ + Address: ptr(""), + ChainID: ptr("1"), + NetworkID: ptr("evm"), + }, } full.Keeper = toml.Keeper{ DefaultTransactionQueueDepth: ptr[uint32](17), diff --git a/core/services/chainlink/testdata/config-empty-effective.toml b/core/services/chainlink/testdata/config-empty-effective.toml index 38c3ed62017..7ee0143870f 100644 --- a/core/services/chainlink/testdata/config-empty-effective.toml +++ b/core/services/chainlink/testdata/config-empty-effective.toml @@ -248,3 +248,8 @@ DefaultBootstrappers = [] DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] + +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' diff --git a/core/services/chainlink/testdata/config-full.toml b/core/services/chainlink/testdata/config-full.toml index 103f068c8e8..fd51d523576 100644 --- a/core/services/chainlink/testdata/config-full.toml +++ b/core/services/chainlink/testdata/config-full.toml @@ -259,6 +259,11 @@ DeltaDial = '1m0s' DeltaReconcile = '2s' ListenAddresses = ['foo', 'bar'] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' Enabled = false diff --git a/core/services/chainlink/testdata/config-multi-chain-effective.toml b/core/services/chainlink/testdata/config-multi-chain-effective.toml index 05dfe21a5d8..13aac2db7fa 100644 --- a/core/services/chainlink/testdata/config-multi-chain-effective.toml +++ b/core/services/chainlink/testdata/config-multi-chain-effective.toml @@ -249,6 +249,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' AutoCreateKey = true diff --git a/core/web/resolver/testdata/config-empty-effective.toml b/core/web/resolver/testdata/config-empty-effective.toml index 38c3ed62017..7ee0143870f 100644 --- a/core/web/resolver/testdata/config-empty-effective.toml +++ b/core/web/resolver/testdata/config-empty-effective.toml @@ -248,3 +248,8 @@ DefaultBootstrappers = [] DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] + +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' diff --git a/core/web/resolver/testdata/config-full.toml b/core/web/resolver/testdata/config-full.toml index 7e1b2291106..d69f0aa5064 100644 --- a/core/web/resolver/testdata/config-full.toml +++ b/core/web/resolver/testdata/config-full.toml @@ -259,6 +259,11 @@ DeltaDial = '1m0s' DeltaReconcile = '2s' ListenAddresses = ['foo', 'bar'] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' Enabled = false diff --git a/core/web/resolver/testdata/config-multi-chain-effective.toml b/core/web/resolver/testdata/config-multi-chain-effective.toml index 05dfe21a5d8..13aac2db7fa 100644 --- a/core/web/resolver/testdata/config-multi-chain-effective.toml +++ b/core/web/resolver/testdata/config-multi-chain-effective.toml @@ -249,6 +249,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' AutoCreateKey = true diff --git a/docs/CONFIG.md b/docs/CONFIG.md index 07a26246d4e..5f40d9fa69d 100644 --- a/docs/CONFIG.md +++ b/docs/CONFIG.md @@ -1199,6 +1199,33 @@ ListenAddresses = ['1.2.3.4:9999', '[a52d:0:a88:1274::abcd]:1337'] # Example ListenAddresses is the addresses the peer will listen to on the network in `host:port` form as accepted by `net.Listen()`, but the host and port must be fully specified and cannot be empty. You can specify `0.0.0.0` (IPv4) or `::` (IPv6) to listen on all interfaces, but that is not recommended. +## Capabilities.ExternalRegistry +```toml +[Capabilities.ExternalRegistry] +Address = '0x0' # Example +NetworkID = 'evm' # Default +ChainID = '1' # Default +``` + + +### Address +```toml +Address = '0x0' # Example +``` +Address is the address for the capabilities registry contract. + +### NetworkID +```toml +NetworkID = 'evm' # Default +``` +NetworkID identifies the target network where the remote registry is located. + +### ChainID +```toml +ChainID = '1' # Default +``` +ChainID identifies the target chain id where the remote registry is located. + ## Capabilities.Peering ```toml [Capabilities.Peering] diff --git a/testdata/scripts/keys/eth/list/help.txtar b/testdata/scripts/keys/eth/list/help.txtar index d7156fd3e69..2fa0f957cef 100644 --- a/testdata/scripts/keys/eth/list/help.txtar +++ b/testdata/scripts/keys/eth/list/help.txtar @@ -6,4 +6,4 @@ NAME: chainlink keys eth list - List available Ethereum accounts with their ETH & LINK balances and other metadata USAGE: - chainlink keys eth list [arguments...] \ No newline at end of file + chainlink keys eth list [arguments...] diff --git a/testdata/scripts/node/validate/default.txtar b/testdata/scripts/node/validate/default.txtar index a8e8e41750d..9c50188141c 100644 --- a/testdata/scripts/node/validate/default.txtar +++ b/testdata/scripts/node/validate/default.txtar @@ -261,6 +261,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + Invalid configuration: invalid secrets: 2 errors: - Database.URL: empty: must be provided and non-empty - Password.Keystore: empty: must be provided and non-empty diff --git a/testdata/scripts/node/validate/disk-based-logging-disabled.txtar b/testdata/scripts/node/validate/disk-based-logging-disabled.txtar index 39cc989ac21..6e2a40beb7f 100644 --- a/testdata/scripts/node/validate/disk-based-logging-disabled.txtar +++ b/testdata/scripts/node/validate/disk-based-logging-disabled.txtar @@ -305,6 +305,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' AutoCreateKey = true diff --git a/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar b/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar index 3fa24f63e36..5db4e8527d3 100644 --- a/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar +++ b/testdata/scripts/node/validate/disk-based-logging-no-dir.txtar @@ -305,6 +305,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' AutoCreateKey = true diff --git a/testdata/scripts/node/validate/disk-based-logging.txtar b/testdata/scripts/node/validate/disk-based-logging.txtar index f80245bb5a5..bcf054cbca3 100644 --- a/testdata/scripts/node/validate/disk-based-logging.txtar +++ b/testdata/scripts/node/validate/disk-based-logging.txtar @@ -305,6 +305,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' AutoCreateKey = true diff --git a/testdata/scripts/node/validate/invalid-ocr-p2p.txtar b/testdata/scripts/node/validate/invalid-ocr-p2p.txtar index 45c97477bd5..3c6e24a897b 100644 --- a/testdata/scripts/node/validate/invalid-ocr-p2p.txtar +++ b/testdata/scripts/node/validate/invalid-ocr-p2p.txtar @@ -290,6 +290,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + Invalid configuration: invalid configuration: P2P.V2.Enabled: invalid value (false): P2P required for OCR or OCR2. Please enable P2P or disable OCR/OCR2. -- err.txt -- diff --git a/testdata/scripts/node/validate/invalid.txtar b/testdata/scripts/node/validate/invalid.txtar index 5d9d51f8727..6b5932cfefd 100644 --- a/testdata/scripts/node/validate/invalid.txtar +++ b/testdata/scripts/node/validate/invalid.txtar @@ -295,6 +295,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' AutoCreateKey = true diff --git a/testdata/scripts/node/validate/valid.txtar b/testdata/scripts/node/validate/valid.txtar index c7510232e59..688829513e9 100644 --- a/testdata/scripts/node/validate/valid.txtar +++ b/testdata/scripts/node/validate/valid.txtar @@ -302,6 +302,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + [[EVM]] ChainID = '1' AutoCreateKey = true diff --git a/testdata/scripts/node/validate/warnings.txtar b/testdata/scripts/node/validate/warnings.txtar index c047b90c133..d8d0de337aa 100644 --- a/testdata/scripts/node/validate/warnings.txtar +++ b/testdata/scripts/node/validate/warnings.txtar @@ -284,6 +284,11 @@ DeltaDial = '15s' DeltaReconcile = '1m0s' ListenAddresses = [] +[Capabilities.ExternalRegistry] +Address = '' +NetworkID = 'evm' +ChainID = '1' + # Configuration warning: Tracing.TLSCertPath: invalid value (something): must be empty when Tracing.Mode is 'unencrypted' -Valid configuration. \ No newline at end of file +Valid configuration.