From 53ba3613b3500c1be8acac999683b5b3cfffde07 Mon Sep 17 00:00:00 2001 From: Ethan <39577870+ethanndickson@users.noreply.github.com> Date: Wed, 30 Apr 2025 15:17:10 +1000 Subject: [PATCH 001/280] feat(cli): use coder connect in `coder ssh --stdio`, if available (#17572) Closes https://github.com/coder/vscode-coder/issues/447 Closes https://github.com/coder/jetbrains-coder/issues/543 Closes https://github.com/coder/coder-jetbrains-toolbox/issues/21 This PR adds Coder Connect support to `coder ssh --stdio`. When connecting to a workspace, if `--force-new-tunnel` is not passed, the CLI will first do a DNS lookup for `...`. If an IP address is returned, and it's within the Coder service prefix, the CLI will not create a new tailnet connection to the workspace, and instead dial the SSH server running on port 22 on the workspace directly over TCP. This allows IDE extensions to use the Coder Connect tunnel, without requiring any modifications to the extensions themselves. Additionally, `using_coder_connect` is added to the `sshNetworkStats` file, which the VS Code extension (and maybe Jetbrains?) will be able to read, and indicate to the user that they are using Coder Connect. One advantage of this approach is that running `coder ssh --stdio` on an offline workspace with Coder Connect enabled will have the CLI wait for the workspace to build, the agent to connect (and optionally, for the startup scripts to finish), before finally connecting using the Coder Connect tunnel. As a result, `coder ssh --stdio` has the overhead of looking up the workspace and agent, and checking if they are running. On my device, this meant `coder ssh --stdio ` was approximately a second slower than just connecting to the workspace directly using `ssh .coder` (I would assume anyone serious about their Coder Connect usage would know to just do the latter anyway). To ensure this doesn't come at a significant performance cost, I've also benchmarked this PR.
Benchmark ## Methodology All tests were completed on `dev.coder.com`, where a Linux workspace running in AWS `us-west1` was created. The machine running Coder Desktop (the 'client') was a Windows VM running in the same AWS region and VPC as the workspace. To test the performance of specifically the SSH connection, a port was forwarded between the client and workspace using: ``` ssh -p 22 -L7001:localhost:7001 ``` where `host` was either an alias for an SSH ProxyCommand that called `coder ssh`, or a Coder Connect hostname. For latency, [`tcping`](https://www.elifulkerson.com/projects/tcping.php) was used against the forwarded port: ``` tcping -n 100 localhost 7001 ``` For throughput, [`iperf3`](https://iperf.fr/iperf-download.php) was used: ``` iperf3 -c localhost -p 7001 ``` where an `iperf3` server was running on the workspace on port 7001. ## Test Cases ### Testcase 1: `coder ssh` `ProxyCommand` that bicopies from Coder Connect This case tests the implementation in this PR, such that we can write a config like: ``` Host codercliconnect ProxyCommand /path/to/coder ssh --stdio workspace ``` With Coder Connect enabled, `ssh -p 22 -L7001:localhost:7001 codercliconnect` will use the Coder Connect tunnel. The results were as follows: **Throughput, 10 tests, back to back:** - Average throughput across all tests: 788.20 Mbits/sec - Minimum average throughput: 731 Mbits/sec - Maximum average throughput: 871 Mbits/sec - Standard Deviation: 38.88 Mbits/sec **Latency, 100 RTTs:** - Average: 0.369ms - Minimum: 0.290ms - Maximum: 0.473ms ### Testcase 2: `ssh` dialing Coder Connect directly without a `ProxyCommand` This is what we assume to be the 'best' way to use Coder Connect **Throughput, 10 tests, back to back:** - Average throughput across all tests: 789.50 Mbits/sec - Minimum average throughput: 708 Mbits/sec - Maximum average throughput: 839 Mbits/sec - Standard Deviation: 39.98 Mbits/sec **Latency, 100 RTTs:** - Average: 0.369ms - Minimum: 0.267ms - Maximum: 0.440ms ### Testcase 3: `coder ssh` `ProxyCommand` that creates its own Tailnet connection in-process This is what normally happens when you run `coder ssh`: **Throughput, 10 tests, back to back:** - Average throughput across all tests: 610.20 Mbits/sec - Minimum average throughput: 569 Mbits/sec - Maximum average throughput: 664 Mbits/sec - Standard Deviation: 27.29 Mbits/sec **Latency, 100 RTTs:** - Average: 0.335ms - Minimum: 0.262ms - Maximum: 0.452ms ## Analysis Performing a two-tailed, unpaired t-test against the throughput of testcases 1 and 2, we find a P value of `0.9450`. This suggests the difference between the data sets is not statistically significant. In other words, there is a 94.5% chance that the difference between the data sets is due to chance. ## Conclusion From the t-test, and by comparison to the status quo (regular `coder ssh`, which uses gvisor, and is noticeably slower), I think it's safe to say any impact on throughput or latency by the `ProxyCommand` performing a bicopy against Coder Connect is negligible. Users are very much unlikely to run into performance issues as a result of using Coder Connect via `coder ssh`, as implemented in this PR. Less scientifically, I ran these same tests on my home network with my Sydney workspace, and both throughput and latency were consistent across testcases 1 and 2.
--- cli/ssh.go | 132 +++++++++++++++++++++++-- cli/ssh_internal_test.go | 85 ++++++++++++++++ cli/ssh_test.go | 151 ++++++++++++++++++++++------- codersdk/workspacesdk/agentconn.go | 4 +- testutil/rwconn.go | 36 +++++++ 5 files changed, 359 insertions(+), 49 deletions(-) create mode 100644 testutil/rwconn.go diff --git a/cli/ssh.go b/cli/ssh.go index 2025c1691b7d7..f9cc1be14c3b8 100644 --- a/cli/ssh.go +++ b/cli/ssh.go @@ -8,6 +8,7 @@ import ( "fmt" "io" "log" + "net" "net/http" "net/url" "os" @@ -66,6 +67,7 @@ func (r *RootCmd) ssh() *serpent.Command { stdio bool hostPrefix string hostnameSuffix string + forceNewTunnel bool forwardAgent bool forwardGPG bool identityAgent string @@ -85,6 +87,7 @@ func (r *RootCmd) ssh() *serpent.Command { containerUser string ) client := new(codersdk.Client) + wsClient := workspacesdk.New(client) cmd := &serpent.Command{ Annotations: workspaceCommand, Use: "ssh ", @@ -203,14 +206,14 @@ func (r *RootCmd) ssh() *serpent.Command { parsedEnv = append(parsedEnv, [2]string{k, v}) } - deploymentSSHConfig := codersdk.SSHConfigResponse{ + cliConfig := codersdk.SSHConfigResponse{ HostnamePrefix: hostPrefix, HostnameSuffix: hostnameSuffix, } workspace, workspaceAgent, err := findWorkspaceAndAgentByHostname( ctx, inv, client, - inv.Args[0], deploymentSSHConfig, disableAutostart) + inv.Args[0], cliConfig, disableAutostart) if err != nil { return err } @@ -275,10 +278,44 @@ func (r *RootCmd) ssh() *serpent.Command { return err } + // If we're in stdio mode, check to see if we can use Coder Connect. + // We don't support Coder Connect over non-stdio coder ssh yet. + if stdio && !forceNewTunnel { + connInfo, err := wsClient.AgentConnectionInfoGeneric(ctx) + if err != nil { + return xerrors.Errorf("get agent connection info: %w", err) + } + coderConnectHost := fmt.Sprintf("%s.%s.%s.%s", + workspaceAgent.Name, workspace.Name, workspace.OwnerName, connInfo.HostnameSuffix) + exists, _ := workspacesdk.ExistsViaCoderConnect(ctx, coderConnectHost) + if exists { + defer cancel() + + if networkInfoDir != "" { + if err := writeCoderConnectNetInfo(ctx, networkInfoDir); err != nil { + logger.Error(ctx, "failed to write coder connect net info file", slog.Error(err)) + } + } + + stopPolling := tryPollWorkspaceAutostop(ctx, client, workspace) + defer stopPolling() + + usageAppName := getUsageAppName(usageApp) + if usageAppName != "" { + closeUsage := client.UpdateWorkspaceUsageWithBodyContext(ctx, workspace.ID, codersdk.PostWorkspaceUsageRequest{ + AgentID: workspaceAgent.ID, + AppName: usageAppName, + }) + defer closeUsage() + } + return runCoderConnectStdio(ctx, fmt.Sprintf("%s:22", coderConnectHost), stdioReader, stdioWriter, stack) + } + } + if r.disableDirect { _, _ = fmt.Fprintln(inv.Stderr, "Direct connections disabled.") } - conn, err := workspacesdk.New(client). + conn, err := wsClient. DialAgent(ctx, workspaceAgent.ID, &workspacesdk.DialAgentOptions{ Logger: logger, BlockEndpoints: r.disableDirect, @@ -660,6 +697,12 @@ func (r *RootCmd) ssh() *serpent.Command { Value: serpent.StringOf(&containerUser), Hidden: true, // Hidden until this features is at least in beta. }, + { + Flag: "force-new-tunnel", + Description: "Force the creation of a new tunnel to the workspace, even if the Coder Connect tunnel is available.", + Value: serpent.BoolOf(&forceNewTunnel), + Hidden: true, + }, sshDisableAutostartOption(serpent.BoolOf(&disableAutostart)), } return cmd @@ -1372,12 +1415,13 @@ func setStatsCallback( } type sshNetworkStats struct { - P2P bool `json:"p2p"` - Latency float64 `json:"latency"` - PreferredDERP string `json:"preferred_derp"` - DERPLatency map[string]float64 `json:"derp_latency"` - UploadBytesSec int64 `json:"upload_bytes_sec"` - DownloadBytesSec int64 `json:"download_bytes_sec"` + P2P bool `json:"p2p"` + Latency float64 `json:"latency"` + PreferredDERP string `json:"preferred_derp"` + DERPLatency map[string]float64 `json:"derp_latency"` + UploadBytesSec int64 `json:"upload_bytes_sec"` + DownloadBytesSec int64 `json:"download_bytes_sec"` + UsingCoderConnect bool `json:"using_coder_connect"` } func collectNetworkStats(ctx context.Context, agentConn *workspacesdk.AgentConn, start, end time.Time, counts map[netlogtype.Connection]netlogtype.Counts) (*sshNetworkStats, error) { @@ -1448,6 +1492,76 @@ func collectNetworkStats(ctx context.Context, agentConn *workspacesdk.AgentConn, }, nil } +type coderConnectDialerContextKey struct{} + +type coderConnectDialer interface { + DialContext(ctx context.Context, network, addr string) (net.Conn, error) +} + +func WithTestOnlyCoderConnectDialer(ctx context.Context, dialer coderConnectDialer) context.Context { + return context.WithValue(ctx, coderConnectDialerContextKey{}, dialer) +} + +func testOrDefaultDialer(ctx context.Context) coderConnectDialer { + dialer, ok := ctx.Value(coderConnectDialerContextKey{}).(coderConnectDialer) + if !ok || dialer == nil { + return &net.Dialer{} + } + return dialer +} + +func runCoderConnectStdio(ctx context.Context, addr string, stdin io.Reader, stdout io.Writer, stack *closerStack) error { + dialer := testOrDefaultDialer(ctx) + conn, err := dialer.DialContext(ctx, "tcp", addr) + if err != nil { + return xerrors.Errorf("dial coder connect host: %w", err) + } + if err := stack.push("tcp conn", conn); err != nil { + return err + } + + agentssh.Bicopy(ctx, conn, &StdioRwc{ + Reader: stdin, + Writer: stdout, + }) + + return nil +} + +type StdioRwc struct { + io.Reader + io.Writer +} + +func (*StdioRwc) Close() error { + return nil +} + +func writeCoderConnectNetInfo(ctx context.Context, networkInfoDir string) error { + fs, ok := ctx.Value("fs").(afero.Fs) + if !ok { + fs = afero.NewOsFs() + } + // The VS Code extension obtains the PID of the SSH process to + // find the log file associated with a SSH session. + // + // We get the parent PID because it's assumed `ssh` is calling this + // command via the ProxyCommand SSH option. + networkInfoFilePath := filepath.Join(networkInfoDir, fmt.Sprintf("%d.json", os.Getppid())) + stats := &sshNetworkStats{ + UsingCoderConnect: true, + } + rawStats, err := json.Marshal(stats) + if err != nil { + return xerrors.Errorf("marshal network stats: %w", err) + } + err = afero.WriteFile(fs, networkInfoFilePath, rawStats, 0o600) + if err != nil { + return xerrors.Errorf("write network stats: %w", err) + } + return nil +} + // Converts workspace name input to owner/workspace.agent format // Possible valid input formats: // workspace diff --git a/cli/ssh_internal_test.go b/cli/ssh_internal_test.go index d5e4c049347b2..caee1ec25b710 100644 --- a/cli/ssh_internal_test.go +++ b/cli/ssh_internal_test.go @@ -3,13 +3,17 @@ package cli import ( "context" "fmt" + "io" + "net" "net/url" "sync" "testing" "time" + gliderssh "github.com/gliderlabs/ssh" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" + "golang.org/x/crypto/ssh" "golang.org/x/xerrors" "cdr.dev/slog" @@ -220,6 +224,87 @@ func TestCloserStack_Timeout(t *testing.T) { testutil.TryReceive(ctx, t, closed) } +func TestCoderConnectStdio(t *testing.T) { + t.Parallel() + + ctx := testutil.Context(t, testutil.WaitShort) + logger := slogtest.Make(t, nil).Leveled(slog.LevelDebug) + stack := newCloserStack(ctx, logger, quartz.NewMock(t)) + + clientOutput, clientInput := io.Pipe() + serverOutput, serverInput := io.Pipe() + defer func() { + for _, c := range []io.Closer{clientOutput, clientInput, serverOutput, serverInput} { + _ = c.Close() + } + }() + + server := newSSHServer("127.0.0.1:0") + ln, err := net.Listen("tcp", server.server.Addr) + require.NoError(t, err) + + go func() { + _ = server.Serve(ln) + }() + t.Cleanup(func() { + _ = server.Close() + }) + + stdioDone := make(chan struct{}) + go func() { + err = runCoderConnectStdio(ctx, ln.Addr().String(), clientOutput, serverInput, stack) + assert.NoError(t, err) + close(stdioDone) + }() + + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ + Reader: serverOutput, + Writer: clientInput, + }, "", &ssh.ClientConfig{ + // #nosec + HostKeyCallback: ssh.InsecureIgnoreHostKey(), + }) + require.NoError(t, err) + defer conn.Close() + + sshClient := ssh.NewClient(conn, channels, requests) + session, err := sshClient.NewSession() + require.NoError(t, err) + defer session.Close() + + // We're not connected to a real shell + err = session.Run("") + require.NoError(t, err) + err = sshClient.Close() + require.NoError(t, err) + _ = clientOutput.Close() + + <-stdioDone +} + +type sshServer struct { + server *gliderssh.Server +} + +func newSSHServer(addr string) *sshServer { + return &sshServer{ + server: &gliderssh.Server{ + Addr: addr, + Handler: func(s gliderssh.Session) { + _, _ = io.WriteString(s.Stderr(), "Connected!") + }, + }, + } +} + +func (s *sshServer) Serve(ln net.Listener) error { + return s.server.Serve(ln) +} + +func (s *sshServer) Close() error { + return s.server.Close() +} + type fakeCloser struct { closes *[]*fakeCloser err error diff --git a/cli/ssh_test.go b/cli/ssh_test.go index 2603c81e88cec..5fcb6205d5e45 100644 --- a/cli/ssh_test.go +++ b/cli/ssh_test.go @@ -41,6 +41,7 @@ import ( "github.com/coder/coder/v2/agent/agentssh" "github.com/coder/coder/v2/agent/agenttest" agentproto "github.com/coder/coder/v2/agent/proto" + "github.com/coder/coder/v2/cli" "github.com/coder/coder/v2/cli/clitest" "github.com/coder/coder/v2/cli/cliui" "github.com/coder/coder/v2/coderd/coderdtest" @@ -473,7 +474,7 @@ func TestSSH(t *testing.T) { assert.NoError(t, err) }) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: serverOutput, Writer: clientInput, }, "", &ssh.ClientConfig{ @@ -542,7 +543,7 @@ func TestSSH(t *testing.T) { signer, err := agentssh.CoderSigner(keySeed) assert.NoError(t, err) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: serverOutput, Writer: clientInput, }, "", &ssh.ClientConfig{ @@ -605,7 +606,7 @@ func TestSSH(t *testing.T) { assert.NoError(t, err) }) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: serverOutput, Writer: clientInput, }, "", &ssh.ClientConfig{ @@ -773,7 +774,7 @@ func TestSSH(t *testing.T) { // have access to the shell. _ = agenttest.New(t, client.URL, authToken) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: proxyCommandStdoutR, Writer: clientStdinW, }, "", &ssh.ClientConfig{ @@ -835,7 +836,7 @@ func TestSSH(t *testing.T) { assert.NoError(t, err) }) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: serverOutput, Writer: clientInput, }, "", &ssh.ClientConfig{ @@ -894,7 +895,7 @@ func TestSSH(t *testing.T) { assert.NoError(t, err) }) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: serverOutput, Writer: clientInput, }, "", &ssh.ClientConfig{ @@ -1082,7 +1083,7 @@ func TestSSH(t *testing.T) { assert.NoError(t, err) }) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: serverOutput, Writer: clientInput, }, "", &ssh.ClientConfig{ @@ -1741,7 +1742,7 @@ func TestSSH(t *testing.T) { assert.NoError(t, err) }) - conn, channels, requests, err := ssh.NewClientConn(&stdioConn{ + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ Reader: serverOutput, Writer: clientInput, }, "", &ssh.ClientConfig{ @@ -2102,6 +2103,111 @@ func TestSSH_Container(t *testing.T) { }) } +func TestSSH_CoderConnect(t *testing.T) { + t.Parallel() + + t.Run("Enabled", func(t *testing.T) { + t.Parallel() + ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitShort) + defer cancel() + + fs := afero.NewMemMapFs() + //nolint:revive,staticcheck + ctx = context.WithValue(ctx, "fs", fs) + + client, workspace, agentToken := setupWorkspaceForAgent(t) + inv, root := clitest.New(t, "ssh", workspace.Name, "--network-info-dir", "/net", "--stdio") + clitest.SetupConfig(t, client, root) + _ = ptytest.New(t).Attach(inv) + + ctx = cli.WithTestOnlyCoderConnectDialer(ctx, &fakeCoderConnectDialer{}) + ctx = withCoderConnectRunning(ctx) + + errCh := make(chan error, 1) + tGo(t, func() { + err := inv.WithContext(ctx).Run() + errCh <- err + }) + + _ = agenttest.New(t, client.URL, agentToken) + coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID) + + err := testutil.TryReceive(ctx, t, errCh) + // Our mock dialer will always fail with this error, if it was called + require.ErrorContains(t, err, "dial coder connect host \"dev.myworkspace.myuser.coder:22\" over tcp") + + // The network info file should be created since we passed `--stdio` + entries, err := afero.ReadDir(fs, "/net") + require.NoError(t, err) + require.True(t, len(entries) > 0) + }) + + t.Run("Disabled", func(t *testing.T) { + t.Parallel() + client, workspace, agentToken := setupWorkspaceForAgent(t) + + _ = agenttest.New(t, client.URL, agentToken) + coderdtest.AwaitWorkspaceAgents(t, client, workspace.ID) + + clientOutput, clientInput := io.Pipe() + serverOutput, serverInput := io.Pipe() + defer func() { + for _, c := range []io.Closer{clientOutput, clientInput, serverOutput, serverInput} { + _ = c.Close() + } + }() + + ctx, cancel := context.WithTimeout(context.Background(), testutil.WaitLong) + defer cancel() + + inv, root := clitest.New(t, "ssh", "--force-new-tunnel", "--stdio", workspace.Name) + clitest.SetupConfig(t, client, root) + inv.Stdin = clientOutput + inv.Stdout = serverInput + inv.Stderr = io.Discard + + ctx = cli.WithTestOnlyCoderConnectDialer(ctx, &fakeCoderConnectDialer{}) + ctx = withCoderConnectRunning(ctx) + + cmdDone := tGo(t, func() { + err := inv.WithContext(ctx).Run() + // Shouldn't fail to dial the Coder Connect host + // since `--force-new-tunnel` was passed + assert.NoError(t, err) + }) + + conn, channels, requests, err := ssh.NewClientConn(&testutil.ReaderWriterConn{ + Reader: serverOutput, + Writer: clientInput, + }, "", &ssh.ClientConfig{ + // #nosec + HostKeyCallback: ssh.InsecureIgnoreHostKey(), + }) + require.NoError(t, err) + defer conn.Close() + + sshClient := ssh.NewClient(conn, channels, requests) + session, err := sshClient.NewSession() + require.NoError(t, err) + defer session.Close() + + // Shells on Mac, Windows, and Linux all exit shells with the "exit" command. + err = session.Run("exit") + require.NoError(t, err) + err = sshClient.Close() + require.NoError(t, err) + _ = clientOutput.Close() + + <-cmdDone + }) +} + +type fakeCoderConnectDialer struct{} + +func (*fakeCoderConnectDialer) DialContext(ctx context.Context, network, addr string) (net.Conn, error) { + return nil, xerrors.Errorf("dial coder connect host %q over %s", addr, network) +} + // tGoContext runs fn in a goroutine passing a context that will be // canceled on test completion and wait until fn has finished executing. // Done and cancel are returned for optionally waiting until completion @@ -2145,35 +2251,6 @@ func tGo(t *testing.T, fn func()) (done <-chan struct{}) { return doneC } -type stdioConn struct { - io.Reader - io.Writer -} - -func (*stdioConn) Close() (err error) { - return nil -} - -func (*stdioConn) LocalAddr() net.Addr { - return nil -} - -func (*stdioConn) RemoteAddr() net.Addr { - return nil -} - -func (*stdioConn) SetDeadline(_ time.Time) error { - return nil -} - -func (*stdioConn) SetReadDeadline(_ time.Time) error { - return nil -} - -func (*stdioConn) SetWriteDeadline(_ time.Time) error { - return nil -} - // tempDirUnixSocket returns a temporary directory that can safely hold unix // sockets (probably). // diff --git a/codersdk/workspacesdk/agentconn.go b/codersdk/workspacesdk/agentconn.go index fa569080f7dd2..97b4268c68780 100644 --- a/codersdk/workspacesdk/agentconn.go +++ b/codersdk/workspacesdk/agentconn.go @@ -185,14 +185,12 @@ func (c *AgentConn) SSHOnPort(ctx context.Context, port uint16) (*gonet.TCPConn, return c.DialContextTCP(ctx, netip.AddrPortFrom(c.agentAddress(), port)) } -// SSHClient calls SSH to create a client that uses a weak cipher -// to improve throughput. +// SSHClient calls SSH to create a client func (c *AgentConn) SSHClient(ctx context.Context) (*ssh.Client, error) { return c.SSHClientOnPort(ctx, AgentSSHPort) } // SSHClientOnPort calls SSH to create a client on a specific port -// that uses a weak cipher to improve throughput. func (c *AgentConn) SSHClientOnPort(ctx context.Context, port uint16) (*ssh.Client, error) { ctx, span := tracing.StartSpan(ctx) defer span.End() diff --git a/testutil/rwconn.go b/testutil/rwconn.go new file mode 100644 index 0000000000000..a731e9c3c0ab0 --- /dev/null +++ b/testutil/rwconn.go @@ -0,0 +1,36 @@ +package testutil + +import ( + "io" + "net" + "time" +) + +type ReaderWriterConn struct { + io.Reader + io.Writer +} + +func (*ReaderWriterConn) Close() (err error) { + return nil +} + +func (*ReaderWriterConn) LocalAddr() net.Addr { + return nil +} + +func (*ReaderWriterConn) RemoteAddr() net.Addr { + return nil +} + +func (*ReaderWriterConn) SetDeadline(_ time.Time) error { + return nil +} + +func (*ReaderWriterConn) SetReadDeadline(_ time.Time) error { + return nil +} + +func (*ReaderWriterConn) SetWriteDeadline(_ time.Time) error { + return nil +} From 7a1e56b707a0fe6d108f9d6030ad2a6de3173608 Mon Sep 17 00:00:00 2001 From: Ethan <39577870+ethanndickson@users.noreply.github.com> Date: Wed, 30 Apr 2025 15:18:13 +1000 Subject: [PATCH 002/280] test: avoid sharing `echo.Responses` across tests (#17610) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit I missed this in https://github.com/coder/coder/pull/17211 because I only searched for `:= &echo.Responses` and not `= &echo.Responses` 🤦 Fixes flakes like https://github.com/coder/coder/actions/runs/14746732612/job/41395403979 --- cli/restart_test.go | 2 +- cli/start_test.go | 14 ++++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/cli/restart_test.go b/cli/restart_test.go index 2179aea74497e..d69344435bf28 100644 --- a/cli/restart_test.go +++ b/cli/restart_test.go @@ -359,7 +359,7 @@ func TestRestartWithParameters(t *testing.T) { client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true}) owner := coderdtest.CreateFirstUser(t, client) member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) - version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, mutableParamsResponse) + version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, mutableParamsResponse()) coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID) template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID) workspace := coderdtest.CreateWorkspace(t, member, template.ID, func(cwr *codersdk.CreateWorkspaceRequest) { diff --git a/cli/start_test.go b/cli/start_test.go index 2e893bc20f5c4..29fa4cdb46e5f 100644 --- a/cli/start_test.go +++ b/cli/start_test.go @@ -33,8 +33,8 @@ const ( mutableParameterValue = "hello" ) -var ( - mutableParamsResponse = &echo.Responses{ +func mutableParamsResponse() *echo.Responses { + return &echo.Responses{ Parse: echo.ParseComplete, ProvisionPlan: []*proto.Response{ { @@ -54,8 +54,10 @@ var ( }, ProvisionApply: echo.ApplyComplete, } +} - immutableParamsResponse = &echo.Responses{ +func immutableParamsResponse() *echo.Responses { + return &echo.Responses{ Parse: echo.ParseComplete, ProvisionPlan: []*proto.Response{ { @@ -74,7 +76,7 @@ var ( }, ProvisionApply: echo.ApplyComplete, } -) +} func TestStart(t *testing.T) { t.Parallel() @@ -210,7 +212,7 @@ func TestStartWithParameters(t *testing.T) { client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true}) owner := coderdtest.CreateFirstUser(t, client) member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) - version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, immutableParamsResponse) + version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, immutableParamsResponse()) coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID) template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID) workspace := coderdtest.CreateWorkspace(t, member, template.ID, func(cwr *codersdk.CreateWorkspaceRequest) { @@ -262,7 +264,7 @@ func TestStartWithParameters(t *testing.T) { client := coderdtest.New(t, &coderdtest.Options{IncludeProvisionerDaemon: true}) owner := coderdtest.CreateFirstUser(t, client) member, _ := coderdtest.CreateAnotherUser(t, client, owner.OrganizationID) - version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, mutableParamsResponse) + version := coderdtest.CreateTemplateVersion(t, client, owner.OrganizationID, mutableParamsResponse()) coderdtest.AwaitTemplateVersionJobCompleted(t, client, version.ID) template := coderdtest.CreateTemplate(t, client, owner.OrganizationID, version.ID) workspace := coderdtest.CreateWorkspace(t, member, template.ID, func(cwr *codersdk.CreateWorkspaceRequest) { From d7e6eb7914d6246b0797ad915290fed7a40ecc84 Mon Sep 17 00:00:00 2001 From: Cian Johnston Date: Wed, 30 Apr 2025 09:18:58 +0100 Subject: [PATCH 003/280] chore(cli): fix test flake when running in coder workspace (#17604) This test was failing inside a Coder workspace due to `CODER_AGENT_TOKEN` being set. --- cli/exp_mcp_test.go | 1 + 1 file changed, 1 insertion(+) diff --git a/cli/exp_mcp_test.go b/cli/exp_mcp_test.go index 93c7acea74f22..c176546a8c6ce 100644 --- a/cli/exp_mcp_test.go +++ b/cli/exp_mcp_test.go @@ -158,6 +158,7 @@ func TestExpMcpServer(t *testing.T) { //nolint:tparallel,paralleltest func TestExpMcpConfigureClaudeCode(t *testing.T) { t.Run("NoReportTaskWhenNoAgentToken", func(t *testing.T) { + t.Setenv("CODER_AGENT_TOKEN", "") ctx := testutil.Context(t, testutil.WaitShort) cancelCtx, cancel := context.WithCancel(ctx) t.Cleanup(cancel) From 650a48c21053d70176c74e998ae11f2931a535b2 Mon Sep 17 00:00:00 2001 From: M Atif Ali Date: Wed, 30 Apr 2025 14:00:10 +0500 Subject: [PATCH 004/280] chore: update windsurf icon (#17607) --- site/static/icon/windsurf.svg | 44 ++--------------------------------- 1 file changed, 2 insertions(+), 42 deletions(-) diff --git a/site/static/icon/windsurf.svg b/site/static/icon/windsurf.svg index a7684d4cb7862..074b225b43fe8 100644 --- a/site/static/icon/windsurf.svg +++ b/site/static/icon/windsurf.svg @@ -1,43 +1,3 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + From fe4c4122c9ee25908371d533c4c93dcea454bc99 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Wed, 30 Apr 2025 17:01:22 +0300 Subject: [PATCH 005/280] fix(dogfood/coder): increase in-container docker daemon shutdown timeout (#17617) The default is 10 seconds and will not successfully clean up large devcontainers inside the workspace. Follow-up to #17528 --- dogfood/coder/main.tf | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/dogfood/coder/main.tf b/dogfood/coder/main.tf index 92f25cb13f62b..ddfd1f8e95e3d 100644 --- a/dogfood/coder/main.tf +++ b/dogfood/coder/main.tf @@ -353,6 +353,10 @@ resource "coder_agent" "dev" { # Allow synchronization between scripts. trap 'touch /tmp/.coder-startup-script.done' EXIT + # Increase the shutdown timeout of the docker service for improved cleanup. + # The 240 was picked as it's lower than the 300 seconds we set for the + # container shutdown grace period. + sudo sh -c 'jq ". += {\"shutdown-timeout\": 240}" /etc/docker/daemon.json > /tmp/daemon.json.new && mv /tmp/daemon.json.new /etc/docker/daemon.json' # Start Docker service sudo service docker start # Install playwright dependencies From ff54ae3f662f571bc30db8577d9d6351abf54ca4 Mon Sep 17 00:00:00 2001 From: Bruno Quaresma Date: Wed, 30 Apr 2025 11:17:41 -0300 Subject: [PATCH 006/280] fix: update devcontainer data every 10s (#17619) Fix https://github.com/coder/internal/issues/594 **Notice:** This is a temporary solution to get the devcontainers feature released. Maybe a better solution, to avoid pulling the API every 10 seconds, is to implement a websocket connection to get updates on containers. --- site/src/modules/resources/AgentRow.tsx | 3 +++ 1 file changed, 3 insertions(+) diff --git a/site/src/modules/resources/AgentRow.tsx b/site/src/modules/resources/AgentRow.tsx index 4d14d2f0a9a39..c4d104501fd67 100644 --- a/site/src/modules/resources/AgentRow.tsx +++ b/site/src/modules/resources/AgentRow.tsx @@ -158,6 +158,9 @@ export const AgentRow: FC = ({ ]), enabled: agent.status === "connected", select: (res) => res.containers.filter((c) => c.status === "running"), + // TODO: Implement a websocket connection to get updates on containers + // without having to poll. + refetchInterval: 10_000, }); return ( From 6936a7b5a25659bc776cec0dd9a8b4b82600d292 Mon Sep 17 00:00:00 2001 From: Danny Kopping Date: Wed, 30 Apr 2025 16:26:30 +0200 Subject: [PATCH 007/280] fix: fix prebuild omissions (#17579) Fixes accidental omission from https://github.com/coder/coder/pull/17527 --------- Signed-off-by: Danny Kopping --- enterprise/coderd/coderd.go | 2 +- enterprise/coderd/coderd_test.go | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/enterprise/coderd/coderd.go b/enterprise/coderd/coderd.go index ca3531b60db78..8b473e8168ffa 100644 --- a/enterprise/coderd/coderd.go +++ b/enterprise/coderd/coderd.go @@ -1166,5 +1166,5 @@ func (api *API) setupPrebuilds(featureEnabled bool) (agplprebuilds.Reconciliatio reconciler := prebuilds.NewStoreReconciler(api.Database, api.Pubsub, api.DeploymentValues.Prebuilds, api.Logger.Named("prebuilds"), quartz.NewReal(), api.PrometheusRegistry) - return reconciler, prebuilds.EnterpriseClaimer{} + return reconciler, prebuilds.NewEnterpriseClaimer(api.Database) } diff --git a/enterprise/coderd/coderd_test.go b/enterprise/coderd/coderd_test.go index 4a3c47e56a671..446fce042d70f 100644 --- a/enterprise/coderd/coderd_test.go +++ b/enterprise/coderd/coderd_test.go @@ -331,7 +331,7 @@ func TestEntitlements_Prebuilds(t *testing.T) { if tc.expectedEnabled { require.IsType(t, &prebuilds.StoreReconciler{}, *reconciler) - require.IsType(t, prebuilds.EnterpriseClaimer{}, *claimer) + require.IsType(t, &prebuilds.EnterpriseClaimer{}, *claimer) } else { require.Equal(t, &agplprebuilds.DefaultReconciler, reconciler) require.Equal(t, &agplprebuilds.DefaultClaimer, claimer) From ef101ae2a03727f78eb3445dd05281a330f9a046 Mon Sep 17 00:00:00 2001 From: Edward Angert Date: Wed, 30 Apr 2025 11:20:44 -0400 Subject: [PATCH 008/280] docs: update ai feature stage to beta and ease the intro note's tone (#17620) [preview](https://coder.com/docs/@ai-feature-stage/ai-coder) --- docs/ai-coder/best-practices.md | 6 +++--- docs/ai-coder/coder-dashboard.md | 6 +++--- docs/ai-coder/create-template.md | 6 +++--- docs/ai-coder/custom-agents.md | 6 +++--- docs/ai-coder/headless.md | 6 +++--- docs/ai-coder/ide-integration.md | 6 +++--- docs/ai-coder/index.md | 6 +++--- docs/ai-coder/issue-tracker.md | 6 +++--- docs/ai-coder/securing.md | 4 ++-- docs/images/guides/ai-agents/landing.png | Bin 178952 -> 155359 bytes docs/images/icons/wand.svg | 4 +--- docs/manifest.json | 16 ++++++++-------- 12 files changed, 35 insertions(+), 37 deletions(-) diff --git a/docs/ai-coder/best-practices.md b/docs/ai-coder/best-practices.md index 3b031278c4b02..b9243dc3d2943 100644 --- a/docs/ai-coder/best-practices.md +++ b/docs/ai-coder/best-practices.md @@ -2,10 +2,10 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/coder-dashboard.md b/docs/ai-coder/coder-dashboard.md index 90004897c3542..6232d16bfb593 100644 --- a/docs/ai-coder/coder-dashboard.md +++ b/docs/ai-coder/coder-dashboard.md @@ -1,9 +1,9 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/create-template.md b/docs/ai-coder/create-template.md index 1b3c385f083e1..febd626406c82 100644 --- a/docs/ai-coder/create-template.md +++ b/docs/ai-coder/create-template.md @@ -2,10 +2,10 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/custom-agents.md b/docs/ai-coder/custom-agents.md index b6c67b6f4b3c9..451c47689b6b0 100644 --- a/docs/ai-coder/custom-agents.md +++ b/docs/ai-coder/custom-agents.md @@ -2,10 +2,10 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/headless.md b/docs/ai-coder/headless.md index b88511524bde3..4a5b1190c7d15 100644 --- a/docs/ai-coder/headless.md +++ b/docs/ai-coder/headless.md @@ -1,9 +1,9 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/ide-integration.md b/docs/ai-coder/ide-integration.md index 0a1bb1ff51ff6..fc61549aba739 100644 --- a/docs/ai-coder/ide-integration.md +++ b/docs/ai-coder/ide-integration.md @@ -1,9 +1,9 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/index.md b/docs/ai-coder/index.md index 7c7227b960e58..1d33eb6492eff 100644 --- a/docs/ai-coder/index.md +++ b/docs/ai-coder/index.md @@ -2,10 +2,10 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/issue-tracker.md b/docs/ai-coder/issue-tracker.md index 680384b37f0e9..76de457e18d61 100644 --- a/docs/ai-coder/issue-tracker.md +++ b/docs/ai-coder/issue-tracker.md @@ -2,10 +2,10 @@ > [!NOTE] > -> This functionality is in early access and is evolving rapidly. +> This functionality is in beta and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/ai-coder/securing.md b/docs/ai-coder/securing.md index 91ce3b6da5249..af1c7825fdaa1 100644 --- a/docs/ai-coder/securing.md +++ b/docs/ai-coder/securing.md @@ -2,8 +2,8 @@ > > This functionality is in early access and is evolving rapidly. > -> For now, we recommend testing it in a demo or staging environment, -> rather than deploying to production. +> When using any AI tool for development, exercise a level of caution appropriate to your use case and environment. +> Always review AI-generated content before using it in critical systems. > > Join our [Discord channel](https://discord.gg/coder) or > [contact us](https://coder.com/contact) to get help or share feedback. diff --git a/docs/images/guides/ai-agents/landing.png b/docs/images/guides/ai-agents/landing.png index b1c09a4f222c7415867f27a85e1f021be3788890..40ac36383bc07a8900646ade83aaf52324733871 100644 GIT binary patch literal 155359 zcmag`1yogA_dgCxmvk!K-6Gu}(hY|$0Ridm?vh5Nq`SKt2|-%AyE_i?-`=bD`*_ED zfA1KF!OpeUo@@5}%pIyACxMLk67kuyXULLo#gv{sgTa3G4C(?N7C7>%V%`e)2Vt)y zA@ZzjgkTrg5i_DtxRq?oXZ3&cShoCns_T;KACm!uajV9tKN1bvz4>^&FVTV1m&HS&Sz z9JvCcAoB@b!Bo#GhRh8U#gCXv>CImH3%3~psrL%Y&J?#Xla-h!MaKyy<;s%}La#?~ zLesHyXB24@O1EO8my!{Mn#QBqp3xzoU1eY{yUm8r;0P3YT z_0Ng?7#%KdQ%`A?Q@nKaZoK0L!teVEE!c7mNfV{F%5o5{&bI@`Vp{ z7pagUD}fY)=zlILg+6*_!TT>ODE~cMAuebdx**X|(D@^gl-U!6&eXvsC$;zC^&}2S~KJC3TV8MVyYn0fMpAP z705tNi3^HmfchksB9a&ri&P?!=qp1eOFGmw;L0EFnmel%`g(auEeCwB`(IbS9e|l8 z9}=R9$-|-^3aF`Z$mhW`W7dfNZ{f)lL4!9h1d)!UQ%n9gl@#6q@)I5rf&HH}$TY+} zp`@nnj}S66j8!RA68C8PVV1C?mq546x^E=nC$FSTFPST4#%eLKEgfG|Gl=1yxclyf zzxBXVGsO^ICRSC%NWd5;j<)o~sX8HS3|=U~2m* z=H^Dw(37-`a0$+p*x`X9j9~N0_K}$REV?gSB(Obtrbtx_0|SHaJ6GI76k%)X8})Ks zow=IbOz38*COa<20}0#u(5H=B^Qo9b#(6qca@MTZhlfVQdM@2TkvWRleXN)Vc3(*u4ev^{wAX{wN?lr4FZ(=knHti6*e^U0b6c&rOh1A{ z95U8nqwvGrke!~U!;BUbQm<`|Rd$f1;qCXMtVl6#-w!=WPFe;j_oI9-mJJDYLE1dO z4IIs?GqWZJbHVmVc?*h$7arZ|p8B0rNiz$GOOi|9zrJm*c`|7!L%Q;~7I=z2chi^z z2h3PUToWzzFV5h&^QA6>Iv*k!4i6T<*pbE>txK89TbzdiaM#XZF1udkkK6Y);MFPb zxFGw@245qVbN7>{ywuU%)%)pNnND!#1LwvP>Ne-Qvi9%d_cN5H^hf)4T$X3f8kL|m zPD3w=qvi1PnT_bcbNs3~Y5DS$q|cxCr{u)U6jZCLt9u`|s2BP$wEYm}V3nDG16`J6 z@3_xxKE}lnR()uIIUy$4PEEq)O_Y=z@Dq45IKJq7@A8%Hb$D7FrFYWNlU_{Et#|6o z&|5FgE1s6?69KCyezB@i)2wmtHiidN#Qe9w3|t#WOsSp=oyxqFUx%GguZ9`Q$)Ok+ zwDT%|dyO(;e?iy%L@t-88_^|8E?xEfx*nrMdsmOy|8n@#$Tqt`2Ddl5cr^B*+pcG{ z{r=ltM`HQ6($c7&oQypF6&906wjqh*~g?f zdbsJMctWJhLJw|?BM-D{b?n%U^3AnO z2MGVvm%bGUH%hS-t*(rPv$daIybzijY{kmmA57zS zYuWF1G1-k5`@;?0L_S3PNdl5O=$Fx4GIP39dWrnJT92;B^*>${`A_f7Sd(1tam3eJ z%oNbhakIXUk^N=Ag>Ffn`J$JdyyUc^(yIILQTFrezJnf&1anvQVNIlLQur|0ege|- za##7f2ar>qVt}nVgUBDcYcsYZJ@>Qm{(KNL_Gm{3MQm3Yi3gVw=8fzi zKLq^wdYLx}E4PHBr^&Vf+jlPT$!E`zdSyRP?Z!0KIKa&w2lM4m^VG@1?F-5H4^QWv3QA78oL51tz zo_qpvt(LyunPzA&FI$yIk{`X+Gl<2Nf! z!*}$rT^-I(6@9PGI&upQ4dXzyCgb(ez;q0r{g?A5w2RSU&!2uQ%?`+j4jVhWR5cRc z>tFPYmxR>N_%v8dWUZW^~aPH2BA;1qqo81&uM83%{hj~ z4W z!b(`tU9J)7KzY>fCze#qR*R6WgpM)zejcbQ+r z=|m877i2_NWOcdz^#Aam6sF-7R2VFl@xao5h~WP&Lat0lQeq-b98(oFuPkutN;S=NKD4tXUv z2Y1ugVIwFHIMe{O_GKvJi@(mZOtwpy$; zo5&kzu*H>_`o^S#lH_)|H$?1xPr5%{T0O^eKFqG-rgOVr-oBBa;Z-%>J$qU--~Kcf zo1!V%20r5Db~(}K`d0D$mxN=53iYC6AFgGJp4HEhSJTzWoHj%kq`(buD_VZ`_ zkIQwI%|5T(A&+1H!&FDz>(Fks=oXuv&Qz>c8e!I4`GKLJAOz-1rA!Ti?+m`uKs{Nt6Cg>wS?^4jV^RA7Cza)6Fy#qoT{ODBm|zWh-XCvAbE-F`la# zo$BhFrQ+VGlh4S`Q7wLbwv&w-z<@97+u?3=bA6gAfW2s_ufI?@NxJ-~?}KSK6S_q~ zUbcUbX9fG`nGK;(n+FgXH8_w{3gir@8RUnfY5&`BuqyJPZ@#ISXKci7TNd z4k#8z_l{mqbvL!TR31jZu#csnq8cpGu-_;yZ=3Fa!D^VieQG{gK>Bn$%73<-Ph3bl z>|I1VY`?jipAkEfhB~pyTA*ERl3S-F)&+&SP`;im5j}oe-u_q=)y>96ODl=Plv=*7 zD}W<-Z&NhF`*5KQwMT~B@0&o@g(^5aW(xx8I?YnLJ=M@Q$V#o{2S<^J;44y5!*N<0OM_ zIR)iZy`(5YUMV%T#QUpx$j(>h0jkAn`wcTHdj|&}Zg1A*9k}a5W=k}bef9eI-LJk* z7838VT?x+DSylhIVBZ|1X$H4R)%&Mq;j>n>a!e3LJlbfp{OSaT#k4q@{ctbi~Z!Jh) zZnx>cef48~YA6q#?cG-vvjwh`B}43}iL^6%x~86%u3oXrLm~Q$TSmM{uAN3zV?=0) zgJzU~yah8~@wJQX4y%~o2I_CW&_@Um>Kx^KIn9>O92RwT?`|K#jcez(8}Z70JS34X z9kc4*2Kdb6N~_l@U7#5!*rhIbKSB9TWm`9HQf)e0ghvo?OL^UowZjih$P1RPvzrV% z)EJW;w}I1_2-)6+NRH0~8gT!#4-k3&Qj3pK>wt`Qbg_jTFSSZI9W4~%SbfT6B$bG| z2oIr&OHF0yCl*wY6&;OpUUG$#eEw6cNL6aKE5n(+=AskZV8{n z+Gb*Ny8ty_PB-Tm4^1~M0@`u6w-L>3x}?#KcJul$#Jw9^Jt8SPYOnl($`GP_h`Id@ zEQ*8fdG?+*f(lc6Ru-~u=GP=;v42vm zhZCaYF5(&b2*ni1b zmGCqASL7u+&1xD%DB~He?$^7WMu363l=`+MgC^mVo5ipH@_eCD@I8{SyITVouwRu- z=3+83o&p!&MH7y@z299OaId~zrwJC%)#4%IzwE)TL#HZLo5$}?_-=QcQuA#9JrXpivzuQ$fljrS zS+AVuG#MvDmn=LyURq%?F-TKpSTIwEL`5=>ORbAGL`Z%T!7YJDQh|PA7c0SJa2K)H z5#vMBzdR8xgp0#@i3&}cu3lWd906Ymd|s!B;f$xxBR+zR(7}qna-m0~yvHr{>;2K{ z0`*Z-$Ofx;1nd5&0wE2n3k%wt<)_LVs>cKzvexlu)i-%5MT>eU1YDVFthohvtROWC zV5KpkQ#h?DOSS4_lJwHC9K9_j3ku5zD!6LkwB?-jJli)!3a4sB=xE-IZ53-x}Uy*+fU~9xRWSGfEP-D1>wSX2VfEEaaa#traKA+c8Uq7phHBYx(6+ zUoE@Q^Rx$}(Ua1l;MqjfY4&76Rw%u~VK;D!?)}R;45Q=mxrEdy-Jg%{lwjGeefsp` z?w($i4wT&ctWc#ecJP`x*?9aw>&Brc>^tE1CGJkNtKjSuUv{zPr#a=df)#Cmv0 z+%u`yurPyx_s<-4uRMuODw>-%y7>Z{IfLI_FSb4@pmIqT@8jeJa@Andj<~SSz}JGB z+)L%fxSW7&nw?$FEWaPKUT8RnnFvQE;w#vXc*&uZ?y_ckdo};UZiIV#_mzybXn}TP z)l$&ic_$pPx#DRA`(rMyf2Sd9ax5X;J5w-RwQ5lg9M;2nwBWn3Eb&2Sb>`x7z-S=Q z^h5up4delB5CWrOXpjrf1bAn0fVl0@eor3x02vhnxP5A+npUxpbs*Qf`sFQpq*KVJ zhN+?{cp7yKgt3Kw#*8o&WZBC(CX_V_Ajz$oPobY|#C7L4vaa`tgYGGim|4K~05d7( zRIB$xLVYswcK+meYo?x1H0k`hZwz;$6S2i|zAo}$u2$5W$nzowQN}M{*95-cX|!!F zfuhopL$V;2plTjrN{OP31BBKgqjbtA|rxN9*yf!^P5@WOz{GqZoEh= zIPo3a+o|Nrc`f+LCK3d;0h*yFY_&zJQ{%30v72$}I2aMadqS_L2L{)TnBa}oU}CKE5{nGA7MD}Q z#VrlfG+MwCHJ4%9plLyhNnIHCz(1LPBlf!a!pM1Z6iey7JKTKKq)bfB!7-(HlN~KE zRxD&Rwe7e+Jpgzc+-EOHf5wt$Z}d-AzOYs+LE|r=nvC45$r}mW?LfG77R#lf#8n!} zEBmcUX;gMG)1|<)ynOYZ0l0q##A&_6fQ?EP*iA*n@ zE6pRBHJ9?So?e-)U4!~lMmekG0$>!ONm*Rar2QaxN_-Ah0gq3;Ya071$F6euizr+z z+lt27`KTa0YsCtqV-7W^-Goq9l&+4Ki7Pt7ACdt93TJMM_kP%S;OBSU zn>-Qgl_2(%3B5VI7#suf-+i`jOVFq`(UM(nvhPNIO5E6Z$A39H_;=AGUKG-czE{o7 zHXf9|RHDHiFW(ci_sKNpG4l{`eFuSf?E|67?OAS>ey2y{#W;P<(;UD?;sQ_iMwgHe zc8v#B#SV>xymdqJf)AP67ODDE^hmr2W@fv+oX$d+J~vcsHq*6dQ;L}3NeIyG_xdWz zjIc!xg!Oe&&^<2VN$TDaneeL$`I||ck(<`F)?$u4kEL_I74YcjPb@Gmv&awLoHBcd zzk(*5aSusO3u_F7>1uHm+>P@-?Ul4UtesJnLF2Os7itL$YwO#M_0m!wSj-XYsZR)L zuuGztlunu)W2C6mah&x&W{zz(XcveMc$cBl*8KTqTzO*!Uz!peO&I$zk!C=GGd8|c zmU2BIH-k2@r9vmQU0rsodnI!+}7hK1EHxgm**%N8Bn zzu7>U)8vhV8qxrhhvu;$u!7+*JIIoAh!r->tv!mu? znD}~XAkz(Ma@fs^1JdfHQLICQa#B)CTOEtJ?$<{=mPZT37mc&TlPm0b-cLpjk7t`h z#sjgGgJ-3oPI<@%*MNk5+#FH|SvEPd)FSnl>$SI;TiPkFPoKigxnShGo9%pF>d zjg2L{89BkhQ&wq#Y+DCRqpsk>;XVoS1BA8c}qW1NdRU{;kEuDxxun7#lWt{pVek1#(RA2LuV^g^f^68XhT!eF?>X!L0Vr#k z2vsc+zT*ydMoBv(ny;#O>Js2cEsYz#(y|0S+VHmO1kh{A@JKb^d%_Y;9-}@P=c=gn zl(Xw)=~9bBz$AX3F>_wE8JgX{+;@%#6k@dk5_$YJ&lX_6n1TtN3arY6{qOGP>fa3* zj=E#rIi0LPcrMlw6NA6bH`)ic)rqXkR~TeBheVO1&a4BKkiDw(z%xvPLwI3yfwc&d zkdmi|V@cQJR_6=P=W4+j9%rE`OYCouFs$~w+>aX7ZJ(sIK43dBY{dZf#HUwIzYw3U zM7NbnC8pr~H1!?`v)tZPozQEU3Ns$=x}yCE>*T zfIW)CZ3I>YQv(YI992raSa~~pEdLELj#_SYyK4K(NzNcl@p9MM9H4&6zdmlg797l% z_C4+jCUX0J7XIqpR|QJ#$IKz&kM7rt&KF8s6|Y#b$O0<*i8E+SQ*DDr*!xA70qt$S z$!nG>>f^_54)2Nvox}*%0;`D-f>^Mq=%x#mB>wiilq-ty^^O zS`|)_zC^oGs;uqKdOM5GNw;z7ZwkV@jtV}d66JiV`eBH8>^P%C4QQh%ehq|Ti2?gje)^qk z{tnw~WX=VBWS2wNFIVAn)+a82&vSY4!lNAidhwdrb?cMq<)d+uPEmb@kS}EzLXx&! zaXIl|I?$Ri}@WzVEDQTvcGe~a;G!N;8PndGc+7L#E~^OV)_JE9OU1CAQY zD0~C++9N35uBqbg{A%8s?#l`2fepdTCB|XDw7zhE=5t<1y4}q%yF9%`Zg=VK0!a8O z#iDF#+h#X6iH3f7!ofAfhf}6hu}%~v5Y%U z?)ho{o5+_^Htsq|VJ<#hpTDW=x{7Pfejxra4s^4TBYdy~k!yfz zgZIpco}s*T@E?N(#t*3ZwT2f)K*HBO;y~bIfWlx$VnZDy|Bk zFr2Pz5DQpMm!2ara=~5f*3DZvVtHT9nlcEZk5ubp6bKKnZ^@y?1>d4mJly{oXaxOWIZ22#)Y3Cwnlfg<$NR#j;KKoDGW#&Dlbo9aj0%_K4@`YFW66+t19!u#Q_mO z0vvIRo<{G1(%P9_@h*^&9F*l;ELi`UW?WE!g;-{WUA#G1KCXX0`6BlMPWf~7)4~@$ zf*;KvC$rO|wwRX8D7OzsCXEf!-lLvW?^tMy+dV2BHi#%i-}#{i45dbbVIJ`(nBFs+ zB@xrPe&UYhkO)oLzm`;*;fZC-YE;FyRBI~>zcE*h9k!m4?)yC0qMK0eplKm_02-p} zC&ZwkhqjUJt-VWgUb;MBQ`6(W`r&)GiG{e*=7Wn-LFc`hpguK}d#b6@oyAn%dL<=< z-*D7P2Cf=nQfKzp{odbnHFtVPnb>N>wFy*8u=$bkiYs;9c8%vaNm8u^uYQR28zMDu z8pdF@WQuabC!^sB-fobaEwwcAJzTKQIg>;^O{wb@Ch?mV?HAT(yaIh#bA5)BcBOyc z)_QNZ!ktYZHU&P;$RrHRaGajK!vjK{ah#{E-t1QX>S!?LeaEWt4lMSDT|veit;?>rxGr13b)jXf zk#UXcg!&b!Q^{IhmNAxAVxVg2O{$v{jj1>bHoh@#jjrho(ZjHMGI>@R+0v8hc8x-8tzS&lV;lWgK zw6<+;!kv4^3KE1Laf!B!%R!}tqi2Zz)8qB!9$x9C&vg%`#4c@f1!RxUQ~(fofx;v4 zatIw&1Q(OWvH{%FSJ?ed#?<*`mu$WF?2aOqfHiyG2BhD#7a4jweUALr&6m(M@WXIo;;qeB<^C5SySTB~AO&7Z}Ze8bsS*=s`3HAndthU9joJPTF^$ z1*!@qdLpvvd>YI6BrB_wC`US1K1l`*?Om~GGane_eD)od+azYgcauy46T0K|wcAOW zbX-=&oA^P!>*>C#s(@-lTqMdf=d_MW(zV_PV@DwkeVw;z)@iLsDNS{qQNJ#Osd_(l z+;ra;`5F4?tzYA|3lI`sNb}ntic!iK_g&&LyZYT4b-RjuC*V91;lNxm@{DLcZc`_& zwwNKmeEoxX!FqKKl6gnh%eAWNqjs)|3SS{3>7nDw7W8)DGx~w+<&3Nm3txRTF&1C+ zHf-m^IrNiGGR8`HG|{Kyr}VQAh`ajz3U|;fRyVu(+;@$%R(;61(Ya!7KKmVCW3ng1 zuWX|NwWKyy_~3uZ9f|(Yx@5)k5LF*zg8QC?DLDV04Y9(hZo$aGaLLm2;IBYD)$36O zQ&L6prV)za%IWY79PhsaefkYVEP{28c;a{ic+R^FH@*9d%}F@zcUOnm#4jU^$ru>) zC1*;t)cGsAD%~#6nDyEWd!;OV4D0KlMH`os>eit6x<(?yGTF z-cl5gQla*bmG^8Ic{H_Gf$-_$(t(ceSj1I431DfO;}B)8Zgi*WD)^xoCbTAG0@F%yrhwOJVcQBsX1M6$KAO0v^e_i>Q|T zmy=H#ZH*)~OAZs?!umh@_)dqQlh@dLO*Vp$niGlxJbz5BHg2cSK)ruH0*gvS!Q8fk zt1l}sS6kg#6kOpJ5G^Y+-{*`rv>(lFWouch*E90CthW^P+)}vU8y%l+CPiHd6|Lxl z|1{qwkFXXm)t$-=q8E6_^onfLUAa+%h15AWg=bM7c-e6ryLzIJJvd(I1Ot69*(zN* z_&GFjRr|Sb&h+Xu7btztq@P{C1{JrT_Tfjx1%$vBySE%vfuBEukNx(U=oqx>WM%;1 zQC_xJfnA>|bJ-~-)%}bj?seTr+5i{qm4K3dW5&x zK2xf_L8r_>kSZUvdPAB}M|fcuq=$;(9ovX;hY!Ra_okTTE{cWR4SL^@Jf@9&C*1WE zrW{_DxXv(E$A#1aW+hrA{|eVGUyjFre}yC== z;A9&hBX$W%6k_xYieB9LW-Xk#7A-k7wIqKv3ZGL>!=7OxG0+Ah+Wrbr7pY`8g+r@8 z@a%Ao+mqkm<=tsN>LgN({^lT+?92T^^Sr~H9I@8Oe9AC5Z>%(Q+q(Tl%lK6b7U;0nn{g9>Pt6l_cqx z6DE>-y7FKZnWN>mc4~()shiCd?pJU4k()9puHR;UKK-OCLVF$GOu<6xabC+t@deWcIbx2d)Mpa=c0mwbe>QG#cAw0RX0P*@~eS zj;3Zn`-0)(U{+MNxlKLXry{3kD1F)cY4LoCpagk=^VE0qHUz!<@*IwVRS*+8woXAWr zj~jSR6Kr2&TU^GW^`JGA?yKK$mZhI?7JEh3C3zl|Cnx4bhN(FoIPyG{voP|GHHfw^ za(uQq9I`L^JN4fIh?YU1)Vf}Q_uQZosodv`s-p@*`Ryv^NeFopO?a>QoHaQ#g^YCH zWbx003|Ot}*>H#_NV_{=Z|VVx;`vQW*VUm{I2}2YYXU99H(k`}_?rfCkr00%=NFbT z$fpQa2v`Y2h4g^vYA4Ivm@D1+7@Tmu(Ah@E?%|zsa_p^_pVy;fsdZ8zgD%KeE#oq`Y?Z3hK8+UFQbBhVjwQ4M50iVN$EEOSaF>lVo-EE2 z5D%Sx^t4c);TiDk)ox0ovw8HUqM@Rhu^6UfC-Z$NoD0bZ7Wbu=PDD34*uAkp%x@gg z)Tn%8$$i{0#Hy6#xMwHI$$CgZ={oL*j&pP`uXCtmQ{GE^z#CH$*o7>M{ID=~Q>IEO zMQ40E&j3$eECu_&HaIt|NGSmoraV7JItg7Z!ykfv$ zGw@r6L`e(*t@ME0e(W0rZZPRYDNGav6(+=5PYOJXoWh4?a9%)vfBL;Zk=z~AtzDx! zPc5aAq%)ocq^yq(l&fv>fDFF8aqp}UvaVj$;AcYe95UTzC&oAehi3b2CVJF~jw1E) z7Z*mb8TxCN4`j&2pUJRlmrn%EL;zVHE~~v85@9f9jL=RUERG6#-N)83W7tP8ZG7ywJmj1I^f91@LXvR3o+)b6 z_6H6E7N@Uiy6czW691+BQl03k)4o&_|{f$<=TmSMuT1+cbV|6R-`v z-%4!-Hcn=jCk_M|E##dgYDLdyelRa%9VsF6E!qN39M9M~>Vol#_?OCe!J~a$kPP&; z5vS|r)zIR@J}h2g{!@Ya;Ym)qkFk|E&%5@fEH3KYudSL6Zq3nOIddJbJUN_T)B6c( zHSYJYp%{$u;VLRbP-@hP{~un?3$o1)wW}18%xZj6?Rai{+OtCF@v(ij3S16ZEOtPS z?8>u|RKG_yHXYQi;FW@n&^A$RDxZcBgB1Qz25?AMqR}9fGqVwrc_MtwjQwE=%dfxb z4}rKkFh)UN3`pL=a?`ZD3tg7LXPB-Sujbd+H@tuRWOsFMb5%Kb_Op^ByWDj#Po3_v zpor~B%?%F+Uj<+WnG;7g zSYzV=Kt9Ga&!fieoh1LhMac@D2F~@sO`w98kE_GGooYY%SWTKQXcWWVz~xKBV>y?! z*X%0fohSdKq!n*SX~|bi!goGgeMjUx%I}QS=8u5+Slr&8;hmnJVZidal*pJSmL{AQHL)dKutRV?fySLdf$~npw6gPsV6! z<2__vETd-4TTWlI6&q;lE;0BlFbCuQgihv!3rd-7p{V7a=C%kh`rGn`nnV;g%dD3*@ZWBTkGL0VS?t zL$oj$9W)l9?#50!3<$FIc-muH;u!Ct$-?9P8k;9TGoi&qf+Ee10jx|+Dv)xwo6&JL zN1rSSvJ@169W@c3-Y;vGlQ&?$<%%|&Xj7PGE}k09s887lsms#?LEwlOw*(AFtI=VS z#nf2vN}sVt)=(P8rkJEUwPL*7F9R1!qyWj|ev?%5nHJkOolb61z7Rys8o;s;=FsZCbOB|Iz0p4a*FdkGT$jj^_mjJ}Ua+3qE@dlEE3G=g zyzM&EB+eD!IZe&T!+!>{5>o<@8SY1}`yY3R84xOMp5HkG7^_|J?;~9648_kE;#b6R zbPqb%zFW?|#~xnpPY?zX0Eiq-lC7tB7MJ#xv%z9>^ae;Iw`*3J z`<%GGJ=HQmG2TU?>WUa{?z0-nz3zo(M;H+RYf}=GeMhog<2UnwviWa zO=Wtllvr#QXH)UGrF!jO zj6Vgttp?5Lx~n4T&_w$}tI52c4ngI=$kcWi3v8mzG02r5KS{niG?q#6MCw1tPrG8K z-;EZ;G1F7GfnELyC|m@H3Bb*su$FN3Qgb}tk(TQ;*O^zGMGAqs2KxX2XG@0?%7n+V z`>{@|0`g#|8)W!&azf_y@p5?yO|V6~>Q$XVsb8UbGTAl?sBsSd%eT**>JPVyh}XcfgOT zQ1G4lSXmaZ!)3EVVqvahuq>EY55&S|cX)s(W2~=ZBo?4W9YVAd-UmtX3e`w+R|ZlL zDfKonZCDA=yf|h`I)L#CH=K~rdw5j{ZCmasEBW@Sy?S6iiSm<_&G5ZTEiDxShf?mK ze=EiLIY%t3V{SsahYD1ogA*_J$q$i!#P10s*31KgkanY#%NoYY67?VBNxxlOB8R#* zvs3QRU&fw(;)&XSX{5S_f)I}m3B0j-cyO)qOy6@x&A`1Y*8U6inIE6Ng!S?fGY63{ z&8eqc@xbRv8@=|kwOv((osJf~Kgm{Cn>6DRz%fUd8r6sEl74+-&s6f1$5b*$3eBvg z#-p4rE7-vJ0ustJI%(IF_*Bqz-M6{N@9E7i6X#JA4hbXh-m|i7Pn_=lL2st!Bq0 z0Z1RH^=TsMpQukZ*kT?+4YbDEjA>pa)sG-s(dL%Vw#))?4jzZy?tVv1{ zV{Z#qK&Kr3w7V#!22B zwR)A|kX$cv%U?aZm%a0l5=Q@kHz)w1&2HP;bt#yt@Y0X$E-Us2#se7^@Kjb38dP1%`VtY%^uk1XXHaS7@a z9KK~~NNLo~I?rf)|1@FzN)Dwc5N;Bne+*g_DZzT^m2vIy3kD!&bc)6PRjHrz^LJpG zHF&tu;(447GGW+d=IM5Q%tn*#Qe$Gii$voc6XZnW#VOI$- z2DQTeZ_?E&le3(E7z88YWFYj8FM2iDp6IoCG-_(h)0PBkWo-VVn5BZAF=9&xu}A;z zgXt9}!AT60>>aDTvBD(F#K1}DgZsn`;Z4dQLZO16kQ*o>{h=n~`J|}II9--^v2#p> zL;FTZS_o7?(>U6G*C9(@+nTZ_1Q{8FXc&h6>Ds3KSTVAUbDzUe7IewmJHS~A)`3w@ zW98sYBu(||<~a+(2io(eWYTz4nLircDF9{L&I@5^ko{U}3*W{Zb8!QW)Cc|f zfAy36z1xW(j!$Ot`&$6MXxNY3a;W&d!RS9&^0slKq|Z;?`;*R ziv;Ud)RE6IRY-vvd`5mLj%|K`-WUlNpFM`#5#EIrgsa+oks0|=zF!dxK zgv=|1ZG|GSajw+kM4`q+6+?b0>|POW3soxeAWUO+CHh!09~hR^GYV!>PG zjM}bbW}+?J3Cj~ygq|0^=cDaHKs}S2zZX9oa>WQT5C3O5ZQAe^RhrhH_~E~s8314q zCXII%nOLib0ZWG_`b4T~Tel&)@|RkXg2%Z%bKkKyLu{{KWqpx4$=`*2m=3AqQ=T%& zeSaoPRnJQ8GgbAiixqSe)G4Xo8`DS5tr8$)GR+{&8cdSE{^gu>MngG@e=l=U33-d67Ug|4DBy?b2r)Qh&R{3t z{`tnPjxw5Ut##GIr-DueMChxdMcgUGq}=bDO57CpZ*ZoZ-xWHlO-HxA!FrH_QH)=(wY|#!$t4*nn#(eZ-cz-hczuvb`#`qx>gMOh?#Bt6nb3_5 zvLYzo(IHLr$QPQLa2MgeciK~vrtfZ{7+#i!NUCUQy(~&$qnhnGw*cLSd}h0KUHJ8C ze*@TsTuD~EwooJ7Bhg#N5#I;A3!09K7;DdzEwv_qt*0?#2sN^3Xjq$w<(-`_($Y^Zje~P1F%e5tGlkK z-;~uLLql3Dx(^FOyN{qLaDoaD_n1h;dyk15W95gAEW7YQwn=sQ-Az4&UIgtiL*Ku? zIU$4v4cKxytXhqPUx;ivCf}n)u$bqWWW@*)S|`~D9Lrk|fq{X6(277j^>Z{F+W^S$ zp8NF|whBr0v@yDitj4WpDw@xv5yOPvvVQs>Tz6&`Mo6=*sQ3e!%hE3yM1z2^C%&F4 zP*hfTwlKD`Wk|ihxS$&^QpIo0VtDB|6PlSZrhbZcxv;&(1<#}NqhGOs#P2oK+$EQj zF!IqKyd^YC{TIb~iNj)|ZAF1RgMSqM!sryxq66hV3)j#7OWb_9NLJeVf$vUSYlA(t zL&It*SXo(z13`!*)0T&D{ZVK%KyL=AnOQd(9$HPD#nLYwNs8k<47Ze)pnzkD{ElO73t$vvJ)c+5Sg&LqCkLO2H zbg$oKKT(!yRI`~(Bmkuba=>i^x>tsUiup}5qy$XF1fsX2-v{*iV6yfjeAS2i<53@< z!S`G?`0AnmJ}UGDdf1bXcKQ*OosA8V-=@&CNn8*$rt+<)L%n*=Aj9u|$iHch9VfI9 zjZe2V(^dVe)f0d!t_bLQse7X!`O=9gvS=$Y{KKYy!nA=AQhcHb{$N3X3;*|*NdtUq z0w)k>=wF>2|0^Bv;^L3+f86!IBltjviFIILpKG_lEYgz&#}OCF#klo#{o?P%QkB8ad%>FRyCs0zh?8t z?ux8WRu(62-oGC7zZ8J}`B@KmJgR@1HUIbI-`g&jnFTxF0t^2b`uE%aeNY%^Tzw81 zH1PkpWC>UeH+uuR-@Ni?d(F=$38DS^@`nVrx=PDg>o`Fq%Wot8YhZ;kc<3n1)ckFZ zHz!inGl&VyYXrqV_U(RC`z?vbPeeGx6PK7E~WsQ)6^C0q&EXx6n@X{R}rwkJF|9A6;i1 zRb{ueeL;{?x>Q=44G2hsfOLn%rlm_-K)M_0?(XjH5KxeoZjkP-Z}B|myze>BJHCG$ zIK~Dx`(F3G=9<@a{pPG>jzr8U-d5?yjaE(j`2YS>)5YNC^q!OntGu-^9?KQ{W$mp( zXhfB)hhe0(t6NY|pwM7rfE-jII1u~y9fV98o}8Q+ayANgkv57f+z>`Lcy}muG4CeW zoJ^HPePUiTbnJpSJF&lv3}oB=_-Q@YJ(3%~?baqb%6xQLCty0>HK{$Gy-l2*j- zoqCw3oR@N6)S!Y)4mu6%_;xmy3UNp-kP@_56~>#+84=F+8E@?OyapxIbJu zb9uW!w!o@y&vB0G-=*E(za~E(Zf@1*FDk;2%BXe^T;KmZ?>T^iKgfiGv%1v$8~(o+ z_<#NkPhCoW`HFa$D#!otYp5;3^Ch;AF%I{0v{sNQ^S*gtdIZwuiV080^f3x zdf5NJ?}h)^7J?G^6(F;Hk)ww2_|-e1eaFzx!TlpFaf?+Lbr+*RS;ZwuC6HiF-Ei2S@b3>S|0~!%IRV&UueB_&aTN!RW%wU= zWV>`buMA=c9%4}b&X5YtKINbg4`WH9{u!U7O_Bpffrd2Z`RAzS!WxRBi-bsyofk)Y z3ksA&-YFnt2ChZ^@4tV6ZjZ=7)juv0iRTAIeWGxmd39k01qz)9nSM!$h`Cp16bIi) zBkguMBj4@Ni>ID7l7CiL5qncHC?P8w2mJ96Rn_TA-5%uWT66W?S7FwYUH)iMAQCG5 z{%Q@&@#JTn-kj5)4RA`NmQH+UjSV0GWsljp-Nm-Wh*XgKeERIURrdP&`aq?@puze; zOz7!K0Jg7EorPwOa>>l`tmTQp$;Jv!jh<^Um)*7)ux}dNoD){MTpfEHz^d(0}iOIL( zWNUnNJ3Cw>RT})(s`n`!zs-nQ40f&aFGf*p<)KlS^cJnmRyIO`LEe(MVI#2!o=jF( zH`DGpVlZ$^KV=4;WxA4V2hiW81(~c^;C31;R;?=O3Iidq>oaZ%T9r}_+RPOYcghi# zE)u-rR#jC!9uXxT1m=%7P4;`E1xkgA5x_4psj1jUs@8I`fUR_IF?LaeS(DXFsb-QIv+yPtwyqgQ6BE1yHjmLnQkz|v-IlTraCnxCY4cp9`*Kv0X zp0x1Z?AqEax?&X{?-SmpeO(FcTLb>x*eDsU>6D)we{HzfINlyQ%>UezyJJ0$aT;_I zESPl;P#^63o*k8_LmUTmnexmT``;hK^>cpqSYtC`>>o?TTGZwf`(SVQqmjvG4Kab^ z2*ZS^Jyrpl zgQN0qEhdW-aBYAWS>xyma}BuGn1%Hk&vfm80r&f_48gVD*Os(6@@&dfUvKv627K{C zqd+866@+pj8ufCo*gmJbwY8jDUII&D>~fcEG`)Jz)Hbv7W|uucAz+C~NJ@UR^h6bM zC9)cgPfR2O+ISQpw>{zlHh$kXdG?`a|M?^aUk|{0dRYtFv0D7z=d|#^|EPs$igZpv zxjUClkBt>~2T}EAh~6#jB5#^S6raw{9kjTkg4U4b)ESRxP)gOyq6A@4@}$Fc8x>!d zKWRRjOj<9l8dAj7yr300fYLD%*?-dUmo@PR-5pNIg2Km->+=qaxKLOvtBxy)a@Vt^}z(44uFFY zld~+e1+?0^FJmuk=Iy5XmI6L|!HKm8d)&R>FVa*m;n+BFjG40;|oLwY1CaWs%)2h_x{Hte;J3Pnft~pT;5( z#i!qtgHY$pXoc-&SFw#D!k8iH6CkpYT>*f?T16jG%xV~M{_NNFnEqU7MD5F$FD1xb zM5jE{acF;}+<0>>@TvXwwaZd59_e)7|D;b`1i}>1`Kd*>n;!W+;832}8s^=^3*0My z#cG;;0-~LV?N2XuF8_>V5tswE7Q)-znKLobgijHfHs4O6@dF`;fKkB>C!DP#!R{l3 z&%Ufd8p#4`18g+FR^c&OY~>xuluLNoOVTdCcYS6?!Ocx)Xx^Ky{&+3_WAhRt2}J}K zNLiV(@5TNB1-qzAlCs$7#Ygfw3tI}vc|>zh75Q=*u~Pq^Uh_VJF>PY=f#{2Q(VCTW znm*;snF8&$)XHLKDfLNuje4=*aCFo~clRKzC0O0HK4Nz=j^2EEDr8*Gh9xhQ63S2T zjzGmh65_a&m}{`jBXHh*;&|Lom2EN4bqwrA{XnaZUaEuAmyQU;b)8Ovid5YkZq_qD z5S|-cTlzyI4&z@WThmo}&j~oh*vw~&iv)f(Z>Bb#-uHfcefDl0uY;1 z2qwlZ>?fTV!EbFH$7OA?rfHt&cBDdNpMtnxb2SCS;fQ^JBDb|yx9C<>cg}ZsbqTz@ zTb z`WEA~ML2kpa)2H@L76b$URV<|P-ifhE}!ciEbwlZ^wB=zSL&7iS*xXcVYJuloNdPt zuwx&$+)O^?+|g|0OhqTh4(LL16i9Qr22BAwh2av!X#7+lfD?z=U5D>VIv!7BOEP@Vi7^w#CU3*#9Sv?k2w;5)vZmUEiVs3<2+ds+&(XakHzl#J8$R-T;bor0#I-2&eAJZct_s;04t=`}00nbZ{rBnsnHeQ2a zF_L#M_o;#`x=2(o_lC(l5-h#ef{53q27j{o48^?EzEj{83Fc+{=A(1HCd265`02LO z@{1K&0;1ijQD&nNPUggQ3c|z$@1N-eUUp;2ZtI>G{ESbWX=&0vWHJAAgc&0G`knEo zNV1vMqu!)RSQ=ozj{@7whq|#wJGz#h!Vy-}@n1!-?uQ+slT2?7aOs%vDB2UzV#6;r z9$6?{7v(xs#uaEQg}h6*Api4phefY<%4vWVuHAY6Dy&AWx+Qe_;d;mN)B^YtPHV-Z zCZG`#<5 zUWW^;K_skp*W@BTJXk`sl*68I5C&)b5EUI=?AnU0;HwIX+a9s@W;hzNryovVTaYp{ zGf!-$r!wdd<=|VZO0SkM;I1EQ4=TW;)i28oSG-zAMOwpJI!NI2t(1A~HAspc z?Rq~UMc0{Tei)eLihMBYkL)=&{_c7i)7?j;T&h76r|lL~yHK5{M~qVc`)TfhmfKZK z?4ikU)xmJWNeeC#8eel2IR(X*$@=#+ZiiA5z*H!0{MzQ`7Tj~tnq*$4wRZREIh_)+ z1?g*=DX~z4Tr-uDZM@!K7q4Q_(U60HL&UR=#K_1(OPfP@&^#vxeq;#+pWw6U4{*{l zG9$#7R|SeDX{pDN2?-cGg7DS;CN$*|VzOnJ;UK3U;Pb?NI6_V@l18$;Di(cIt(%W3Zqstl+Zos zIPEg;_5xs_7y3k!3nGP8A31PaeJ9+f1CN zUTCBzTvNU%Ha3w=0(LCOl3{&?c0C3`zX~V{xV@vfN1hbTd4o_~}V>Kz?^Y^Q!@3U2HEh zu9F_Tv9(`lp2s1;_T*?86PD*$;U54ci2+=m*^P(&_w=^$SY7Nk*v zUb9<7Rt<5fGk(w=kd3!Wo2IYb1Hz@f8Z6Vk3#-7oWwrNG~e{AvsMba35x3z zo0FgHrVpV|2-W!D^GjYI@N?Bj$cBXH{di|LP|GGPK`#+$k65YUFhehPC|ILMuU<91-dGNTm!hI_2jY&}OMZg+u7d?NuX+JxvcJ0@}&x`+jA zE(YBQH;hGm?UirE+d_DHX2)ZFR$+&jM5j5CRJUuIJ)>XPy^@)LC^OmW2YN%t{}xp+o~bA7FRHn4UHg|V3$>iFtCFrr^}hW~Uuo0yv60zqN7 z87{O<&nI+ph}Gx>M=c4$n#gA8lUaxxP1MDo>m4b6o&iVy2&22qd&lB?qP?+=ipI0M zi=qc-+UE0_9a8vNtKo=sv2-$Yt3|!1s~rcc0`xdBwHt_@)$DGIR3oaJeR_E>UAuc=O4tw3j#vENd{NgdP7}P(!4>O zyCx9CX^_Tv*KkNwp-Q0%`9zX!0H{DLb>xNH_rI9g0k&Eey9A)<;6(uQre?>%t%Nabl*NJ&0rq z|0fw$bZcuEX?C(NTl$iT;Ju3v&(+#Pe=NQF*$1-t4=D1k+v8~Zr++HEVp6-1pqJoF zrsH{ssb5pw9{)|*QGMM4AR&2gGicscWfrz{YH}I7Q80O zl9uE8I_YcBQLANmit_R10}G3hTi)366vnNfFDMos2@%;PtU9V(U;Zq~DRmAonv?>A zaK!yLuQx8St98M?W+WoOOK$7r)KXzzllDZ&G}_J`9C$x5_JTgQCmE&~K=3-uFyU5s z{_0UW+3p!@SDhMA5tV+f*&HpoWRAli^N8U(5^N6$gr;EKKw-+7eE^X0PMI%u)4PBK zY*U*xkXX5CWhmUGGb#!eN)MCg%H@l`qb-s78qcb}!PC~TwWee0@^`_F%i%9B{TV@L zMoC%2S9avZbhM}^sQ$lZ`^gMQO2i~vP>G!{1^3i_4b5)0wfrMNDxrVDsmkoHO&>V8 zA-o*D^t7sz+82HLOEVn`V??%c<~tCt;VE%@?EQ!mz-T)-Ha;(g_lEyL zBIt~Q3pxEv2W`pB6|DDJe|?J$ND|iaMR5(s{sf~^4bJ(r?zcyx73VG4_4YfH(nvu? z(LF1Zy1c|}GC(r_G*z0ybnxL~-*tS@@6jz|Qt;=6#gR&>QplsBKV$_ zn}Odpq~J4PfJ3bsfP-m;GGJ+coU>;pvF78grK+ntb+hcK!57RbG4b|u#>U@fu@|;}m)#LkrvCU(+i`0FdNN{ss z(Nj-ZZs|{c|Ndj8zb4J}yr{(Sbxvftqf$guvPwzqTK=`8U9@FyOq=-V!6J6U3uP?6${8jy6-B7gRkf$`QlOpz+WExB+??HQLzOvREn+ zP+(ajUFP{J&7Eu}#4&h6AMSPMwYEl=M+RYG?l%TH>#*xwfAmLmx4C1dC6*@7)~Dzb z+s3Z3n$kt$x6+HICUVA%U2*hpI~RVRtcm1Vjj89IuNy9@z=Oi$$HPWov1#1@pDH_%D@W3KxjF0HwI`jXWmj|B1EcUKPG8=g5 zhqek-I){!Hu~WISii6HAt`n-GX=2s58N+l+XvD5X7sc|Dg?REs1vx{irZKOfpX?Io zf?~Pg>q>fP=nY1dMDVMUeF_XR-Fv#8T#>#5ecr+Mtv?M{<~_kau5w!;F#E-VTJ$O+(iHyi`QzSe4A=M_~t#yITMI z?RWkAc9DrgEjYdN{%7Ac020Dul8yOcpcRKzC(DHM0JX`ca7*3DS*yj4_|%+kXiLpfVTk5zDXmKeGvZ#QASj zldsd)l*_0brMbnm&IKY&&x9(gqH8h}QCn=QF6}?deav$3pC$|bm&(t-1q4y(^&*V( ze~X~xaxjRO_U5=92t@*$`YIkQ8#I3luhB-Zt$=f}ed4Vr;_P9o@BBFPqD>*^oyll+ z0y)K1jRg2yo&PDDP~X7K4c~emwOhmYzK~8L!u&F~#5!peX#?n1bWfR(gAA4=b@3j> zv~*o`#AZwG;n|(k&-<&bfQBdu8q|90Mv7?b1k-enT-DKvRUL&K2^`JEz1@*%`hPaW z2e|&0o*VL!kAK!@m`)S|mTy^wUsP0;v=Pz&ibBhnkH5&wX+G*FXgb|p*F;7|trlbG zd446j?PNkTnkArg)Rlpt+N{s>jncRb z8h?fuYC5-82lxH5DO4*i;t1+9!Kh0X;@U)8d?g; zDB1!AR#thL&r0f)cdhay#Mk4Sw=!qz-=9tBUz<_@p9HgI+g$EhsK{S*F(Bu>h2yZu zf2++Z`?nCCP5_!wNAZl~E2(ChsM9zHG!&Qm4s{>(^~SWwULpv6TF<(t7`LECihEzs zBfQw9mu0g%SEwZE2#Uf-$gj;0ras3YPxQjS3jNKEwJ6z|A;-%@9h)&}b}`T;DtWj2 zd9hVG#%TNs<&e zPCe#bK=xZnzAhdRe#7|Qk5mzsUv4D5WVT+>^Qt@OdCAbUtFQ%9xEjuTZ3ckov}p*btJ`}t)$ zDWRkod!j}%Mp|4dd^KqzQevR-2)tyCgjp9Im3vpNkChx6B^i55@%0LWF+((Le@6Pd z7d*G*WcUB1Bv!*}-uzz6S*8P0w>D$m1mzy%D ziqF%L>ssV04Gyb*72gVSW;o@EqRgq$qz^6CTEAns4rCW;=>*;>V`%}?oD;hC%fw7Zmln7-~YB+#aOD(IQnfn z{P%Jvm(zy*8tSj1SZtY>cy?}$RJrff=7`>&jPS-mi6E9&LL=lghbnEX>$a+@zdJzg z)z(s*kL7-oihrvG05hQ~bO2e?h>Hz!&5ZcrS>V{KiRAAfsh|+~d7)WYwXY<6vP6Bb zTt~2`W)8f~ECgK9P=X`VVMu%JW3joA3qqc;40kf16AJ-7^2iQv1Qa33=Ze7R+h-UR zaNiyGr|rR2^#VgVrJ#s&Jkx&8#;8bs^MKs^_j(=wod3!z87QHpL7`J$T ze(`OdaGy^CiT~|5uK)IeqJlidgI4Xwd#;MOY>M7N8cp><^&K=ZuS$K31bnL3C&4_i z!4gW%#g@*TvZ^e&v`p4pt$LMP0ZuxYUN(1UQ~l!wdCxv?-QPS=gY1i8yHicUuL?cU zttrO3N##xemptyq3PaHIO5+fnH#>B~!N+@=?o;FHT%W17(bGsUb^tI&>gMcchskOmcJYzM{rDe# zC^pzCva43t@oQ;2@T*eB_J`0r+L)w45`J@PzW@D2tWVA7uzm->7*}}c$51qiQ_Tc! z2zMy1dIg?YmA1Rxqq*Pl;SQ~M;t{9ZnkSGyTWL^KGuMn?f$Q@L_JXEaA4#8LcVPnj zaV7Ae|E5j}UPvh{%%1)%_2F{$<=Mx-1$%Q(mPTxJLmO^ej$Ef-*qZ2#Y;^J+xrs<@-LLVBVH@je99<6f5wmmm>SmN z4JwQq)eNNYe|mAbxLqzkr>FhEBNQU!%p(Lv4kh6H(8ulqcuysh7@`qSc|mrsVxcbqpL_+yVAQNc7bS-ft%b-oOy=a#YT} z>W}cTqJU00#f0~8=+9S>Eg0lVIN$}p_#GU-$rxKsn?blv-06I`;JT^b6iK%mh?F@H z76g-Cbf~t=Q5%p_WOl~Hqhun8A1)~gZ6C)0oSCQL$^r5yO%c5|mZ0Br`B=Fyq}r<< zMzb?0|@al*3(=b>E#cbtNa)lv$u zy029o^W}(7O7$orqf#M@JF_zC>_l8zlxXfvn#coE(LL8$0uXuUj$ow6{S&3tKLQG3 zKJUO&-us^6;r^mcX|bSU`~DptX4A~tjSrsA8GVLv*D2{tsgck1*GnC>nZ%Pm+5a_y z7>B|^_M>>lAua(Bwa`!gQ9gTmm+E^W`UYCb`A*9qa;)Ng~@REHr zP>cP{amG%BF@h=rGpu?VLQY8`CR~QMXVxqvvN^D{@kzB@uTMsxm=`fPz`%F_G!1h# z)7tLr1K*&&?52zc@djlSar+%Oaw??gbO6n!G|fO^m_SE&jd|p`9U3uOS-SkmXxlbJ z>3pS|b+$F8j_!_Z4eNfIl~lY9de{lKiw`uZh5RHu_PhC&&$uK}{FHOBuuM!$)GodA zpB?Q2?PYR*X)HH|J|N*MX#O{`BRLUSqmY^|#gjr_$sgS;KBVpw`}_u4FzBF}4A|Jl z2fevMm~L}#Yj;9|cfH=xCXNPdO8UbLcd_TTgYv@AfV3$de9}mwMY|(lp z!nu__a!nM9rwFK{f$b|J*f%wb^75o#i5|J~y zc$w1~6jOz37QFDw66jB{mszBWKaHJBGTu#9{$`(A0V|6XXmq|#suQvglb7HaKjD^Y z-`p;A8J%{w%Xa5gC>h6a{W5HmtP^MaEIEF4!>9}E5Dc^-Qh|HL4)-e9XAQx+D{F=5 zUnV<}6~u7>0}BkY7r+oT#zWve8CpGWS;&>xW=o!ZH`PFk^Jy+5dvJ8Ne}bqy4)n2r(c?PtJosTTDU%4Xyw=IujExKM5TwRi+kq#`)KpAnHi!hn zd~EgsWpl#&$bN4Isdy4y)MO~RVP^Y<_dY-Tbf$c`bR*k(th!rqS)ca9H9M>W9X1rd z^>{!MRz(ldL988?{qwkR!^u$7c)Ck&YH$0&gvvuv-rmEfw@;7u!BcOnU#EPi+r=k_ z}iiGs^25_iEEbYVr};dlQ95_;+43 z<=(1hq_P#A1g*8g&qfd0s&m#EsW&+BBdFTui=7ve(-W$Z5BSKGkTWQ+%@LVX@X~0# z)Kuy3Q$Nu^TF81OO+ds}KT&|EYFw6q49Nk3NWPh42f)po@p@^k%h+~%6PYrvX#onG zd7QbY03G*I;0Hicw4;OvV#!V(X+_K-FQYEFIy91;aK*lfhJ!=zPI#dhlEa3{*)f1Z z_F^SvrO5&hNtzq|oOCW7Z7??G&&_;{$~}J@iIu<7_a8r^AFCQ%OyF0_>5=Tt_no*B z#?yRtyrz;HCcS(D%qC;8(>1)f8dMq8ip4+gNhf*lPO)IkT*$>ed+r~TC869FD#H~* zWvdCy29>qPqM89)=Qh_{0T~2&^YLJ-%SuzPr__-SGea8g&}wliFgwGJ`Lm0A*6h;W z+A#Gl)e%q@%Ni}>whs`5WXW;521@{k*IJX92m}1}k+_2xolA5$voCj!2(M1k9vkX_O@TPD%_jFgUJw?}S3H;irP^w}v7OCY+-UHf;E(1+OjY zWz^dR!oAN3x*Nf$4{;Nd0*ZkIR{;*8xAp2wkncb7BB0dY96Wdv@yB29%T|B0 zIn5W_ogfSB1lU;E| ztDkT5c(oAIAF*#-E^zza^`hg^j`K4Si5#mTET;~A_1x}vXFPW;eZhp}@-}g#g3ksU zHnq|r0TZ?#Z~_>_j+s?e`Br^{=6hZ%8vxEF05MFZ*t4>JiKYp^!va4D?|i{!B6+#9c<1qnj0Q!;D@)-_Yjf)hTq|vtKuX z=I%kfX1dhpw%-`nTzyB2?hcS@t#I%6D>`1M(t@z^n@ILGroHV+-$rf#n z4e_v)b%y@1^BfKJc4$FRZtKF7&qq*{pHr911c!x9F(LkZGSf=+T;c6f z;=3(HUc?R(T!yCa#>jZ-(X;YZ_&xqXDIuSzc;R`r=wF%|DpB+Xy>8X& z2?PymRd-yw7#Bl@020mTRwZpnE7=`{g_Iqh+@sZ)O)>Z}?<|H-c9+y47TnIv7Jl?fs*;YzytMnUdm`ERw;ftB zV{V85j<3FWLIPonh0jbY<-}d(gpr&E6!~EgQ->j?{*)2AGkFK`Q?Fn&gMP02)B!6g z*Uh8#IfI0#qNTkP1J}=U0O)T7VCi&XPBEu)Zcx0|io9!ka7gC>foc{P~O# z1&9xNm;ow=baAIUU;IX}-jmTS zMcF;qR|>z)q|UTfCj=YS`L;N2n8XKW6)6Pt$m&oDNb9Bw1Gjv<|_fjFx z-J8XyO)PJE_w2qUhsFn^Evxg<`u6^ZB=lrGCDR^Q}g;6A3mJGsh}skUsE)l z84dQwzG8M|H^YS~DqYIVOI;*7=>XFJapg2-<6rzOSNrqMr&M$OaxQydnu8{-zyO2U zuR8lZu9)}@-IQMjx0e-aZ=3fU&1zn=VAha4i*4c0_dO%g7}Ie)Yk!J1qjHlhBX;O= zH=jF{%MAA%`{OXAEYMPV=f`=(C6d5VU!p&}AK!C2J%C5yOA9iSZ){{_^R-!PvT(OeA2aQQ(#V344i zYoc`0q?1e*IR<(=b~E`-kZOJTO+Q$UDjq&(aI|7sQ~$fw)wz$B{FhCz2>L6Xh8J|Y zvF&hH#Qeqx`aYrh!NSm-%=T;7PM@RDr{2P3$aBkk@SUk`y8CB_Esi1$aY<*M?@x{a z1&Rr2;*g*lg$|qN0Bi-Y^x-Qx>R>3^sibsq*Pt{m5czs3JQn?5_6LqC`?7I1sc<{G zHEh28P4z~a^2=Z}V=ZB{Ud}dqV_`f2agjToV*U{fSX+`lL-Sw=!WruhDoWmqjnUnEAe zB;W)A1t}ni+ri1L9UNVnind9Pp#h#G$i>uhHa3+LZ9}6qW-5KKh*tOhUW9uOYJa4fqlde zbqi>4QFNvC8ciRQ?$ly5uz)vaY?20@WzOpv9RBl5EBf}Dd96k}+sbY(s9i?;2MV=d zbts%=08_bz*}fOq&{mhEy^}`r#08~H!kgTD7@?q`F2CVwAL#l_a=Nha%~jtoT}z#U zH5!#oeS_tI=Og(j!F>m)1W{Qp$RWAeUwwc{9F;bh=73xtT5Gq%RRP@2_-cJ$fLH5q4|#8*Dj|cqNg=mjtj$4 z(^YN1hNXB`p+N3>mFD5(K#g)i5PQF;KG1GoLjJLZ;|HB`Mr5?FZi3VMWq7@2r!Br} zLAr*wby>}A7G;p%>vsyIzasSY^{>C-g_<8Jto_RH_DnHr z^}1S~nTE|qyQU=gP5b~ul1ih#wQJ&8bl9u#*PC^4A;L4=$)U46cl8NoSqV*8WBU62 zO%*wEx5Q&-<`0|vRH{C_#gLV2HC{lV?WS7^{8Mr!fpdwE;T#6XYvMC8zlf@S6r-IY z4Pxlq`b`jN(0x0@5Naj9T|y=deqmuIHtqr2alYVuAn!G2A!53W zDm8z-cGfM3HZdZ#{O)Ni7|E7vVD2SEkG^P?+)FX9%v(sg*GUF1yjjq-B(NA(4wdeb zU}7p&$o*nYZ?vILZRQ8J=l0U5iq=o^)X5+Rn)}|lMm&OOtAAADg-GGJ`wl8ze~Pxb z{XV&rE#kU|^UV7gUZOx{FB&k+X9Tyc{MxsOrd1_CJ^(+HGF#y7UOFlqAdHbH&Kx*G z{cqqPE!OU~!9m{xb{NVPym8`YBWJkZc^OHPf3NK0x2x-Oq=IR(WB%YOq|3C46)5NB zD1Z~#=iwu0<=c9-k;c*dIy^hX7wA{kNT(kwBK#eU>50u}sCJYz)+m}z48CkmGUtAL zols%YhKmzMdjQ9?YRfXVHtLo_!AU9;8J<&uYS0}pvb}E4-KM^=xmgg7ykPBrXR%}i zpPF)agQm=g!CtUgA7n->^pa&mALpF(qpyr=;Yw23b6phWzl5a?QIH6FntY;}Wf|Q$ zInP7sFY!q#pE`0^mS_}qwKn*kA*W!%LPB`YY4E&iKL%BskF?-s>TB;I{@^U~9L5J# z5_JYLZ9f;nv6-Q8b%0_j}GIUS_&xH$+Ip&_y>KwayqZ@(-F&A3wZT z`g{uJBp_*>|4Je~>I5@4Oj$kS75>m&pKTXC!~lbpLK71z@p}y_e-A|CxkS?T&X_Ch z2PYxG%O(^k7CJ@ICDX_{+AJaw_zCPS)f4~>auh!B**ORIPK*x;hY+l?u;TW|iG z!>)&4(>kQjL-CnDG&zy!Jcn>s47=a1rfD^K!mk#q67T$21ObX)`zQH6Pi|WwMa{1Q z4&g<vpI>MFT ztQ>4*47e~XPCJ_KY3X%AAf;V#^TrHG%5~g2PJ7@f>Tx&Qq@uJc6Uf9z^sA>zgsn4n zaA#~-!)%#pmSVEgp$PraaPGtS6~^P{`{@>OyyIksPaoJ~ax^Z}F0STKjM_}c*oqxUPgi?lTci@0d)^O% zF`%9zB){Z)J`jx*)O-<_jo8{b|2{{EU|@XnB_VlC8F#Ngj*WI&O+Y-MTA2|G!?waV zsG?qmcMPx4&Wq7U#?pUL13l91t9=(pHCHQq=cJNErWZ zwRuubPd5>-le}UvmAeIq9sc@)1kKE>b*lNL)!m+y?dv&9RS6@tQzXXTv4rf#; zcFX7_dJ#ztozZl-n;dlNRpEBOnO(H=`&54; z@C2N#pZ&qF7hG}y@E3w4*TW9~84Bb{TXfJK??7a(e1Ey5P56`+`Yf|O5i=n`{*$%O z=kK63n0DHHg)j*2omcdN8r7h!`M?SLGs&*?z4WdS^l2yNHqczA`j!Xp@B_`; z@fij#S>PunfymNk2N5HHjd-#j2j=HxmHKfgmMg=xB_f03Q^t@nhV{mw?S_v&q{Hjf z7f)++GNn9rcPuZg_8QK+sI*Zz?E&27CIZ-tuF$gkqcAjR>H7H{==qJ&qMV`GDG)>a zdnn+9lf!Zq-hRqU|KrMb^x-Ml%Efhcl(hteCs&u|eU)wHae^yv?d6)ue4_2~=VTi{b2*{p9|<4j~5qWbk_7X^|2XbHy1h?&D*t-Gp5qioMzt7Dw3H?FQ9b zra;ts6>o0$wATIot(6}x4tNldiSj7ctCJ=%?t9krt+)j`gBfZLyK2oGpgX6%69e=)+@?%H?I5>Xv>iE zf^!JE@tnuv8`dy74a@l=hv5Pz^h-mPR(;xKE2&L3o4xS;YeUg*48rAIWL!HDIm0QFfhOXz$YwO%M)=pz@Z@UI6 zt*cIV*yU;>3bg8-KfKH!`Vb5fDvG?b?D=>hNZUkn^50~GCQ$n42R^OTPegB_&1}sz zByFn~I&D?S1}D|`{#6u_U?P6ytD7ITJ20wr3{}s}yz_s8I&hDE@q-&};=*aR3~Aoa zHfe(^F1b$C$?dLOu`nAF2tO2WTM=V0x<1DDJ+z=LMmMQEfIrCJSvDemoJ0J=Y2hn< zKAsxlm(|`B0>#((b1P`x)&VA8gAqu7>IXkB#85)2h&uGQCz0ul9D=jCn0QvaeTWb& z2A8f4vUrQv=(wcl{4PE?7#i_Rh+XaTn&I6~_Ems~ezMPd=an)Ee)NRmk_@NuuV0CU zmzw@Ubby%_vbM2N_&I*hZcePp4wKF2D~deYB<0=px+$KO{cPEGat~+(^P{}`jaS?hG7;Ov zu$hGGiI4MjIcV_34esQ!*A>NKq8A!t-5Pk zt;+D*?fu1taR%Y!2z9+E+0d>x+P(1bY8n8p?!0}0nD%6+7ud>r^YRgQ1fcI%4ZPdD zoJsd-$|2QMs-0{gd|9|S^+$Sea8Rjt(ZSX5t3N)M(GUU7z>;CgE$nL&WkN0G@kz~D zZN8-KW6(n6ME#ip;|35lp=T*vcH^XPmedxY@Keu9)qUu%2DR@$+dUl~1-{ThvvhN% zfN-SdwN4fUEfn+td6LF1*i*c=`Zph(`Yp!&9=o3nH4U4IIjPsIVUImfwe~z)=bKkD zQz`s92~Ly6^KS+(2xEw!??N`uw@92riA2}15`M7?s?*q;#E@+bC{$E`@ZD5x6YWuh zD3QwR+Wj!te73r?SfbY{FSF zfwQSMX8y1(4<$v8urUs8nV`zgBBT3pPQEx*ETVI@*QzLmim~&%B3qa%4Er2PNWrQN zsdq&%4bcQqlO<{rJ43u@!<5O?w=O~MJM5TE`-37|R1PyPNPmf*3fr4}4?xB>7sK2@ zz!OrELRht#3BM~kXa!95!bHUNrF@0?L7VMa`m(*F@_zZJfw2PTKC}p8pCb#-Z1Xz%@w+8U2Ok zV+aM~e`Gxmfk>!`+vRUJS^zpj{X;{OE7U%{z0_bjqU?ncxTX8CBx#2D)T7pqG3J7J9 zoa~|sX{;gLf!7|ZJu2+_c!3e^aMl(V0s3`++bv6{j9@9*@r-8mzugW#CWU`+X@J(ih7g9s!hhx%^M+vgk#F&IA#j2GQNrjCrjH4!~M(R$#s?U=|_^UCCI@ zQBcsLK%<|bxd_=|U`O50_U*N!H5ptg#+7*gO}>tG?&qt#cG_Rs@d#sY5Z?uK;peyC zEs|>@E7q0nn7zU7m>Ent&&Z@pVWmFarXa=}D0KN`s{})!Y`l+>& z<>rX)bh;KtDJN9!L}t63jVdqi7#(Va6lAPB-#9U2mao^xAfc#{CB$n$Ul1t)?ig`Z zTBo_x%^wMx{w;w{@?(;!F2oZc-|Ml%EcA0IrHK~pO&&>uBg;ycN?Wpz)$bw|;yu3> z^I6;$_pc-+noR@SC?8%eufrFUe*0xyvIh6qn-Y2nbM`^v#r|7`=K=!i0gRrnsU+tS zza&4zXPYN6HuWu*(jOOn>ayhKGnkDPA1%ePGfP&F;O9mBJY6Ylw3AI|z)QmBDSbBf zVLr;KPFyJ=ZT5SSnbPIc_0f>o@k4tPF1jxUF{1D0G~^&@pMOS;Rk3874U((c<%`wQ z;1!CDV@Q3|jhGJT))y@+tgoh0O<)KsH1J3>FgjQB!N${-S{ zsY~Xhm63Wg8;0FK@Kp4SiU&JLv3T8En1Yn=Z9UHB2I{!`ey>h{7_21!IPgmshGu=e zJQToDam~Voo1YzjM_i;h#-Q0qCttzeM3dAQ@DtH`jGmTkKeGiJ2WR^($xVk4PU7Mc zzanLM=;vRMn-Ph2p1xJ}I*Y7@&b2L=3?~aH{D(KR30^Q+=E^7$`)6<0Mc%44{}fnq zx?sztcbk+-U*D$~HQDFWzbH53RSuF+foSroEATmsMFyRiF2tLOlSsksRxET@qp-ae zhC44>gM=~6Q%If{5f7-DU>o@UR%qf)z*AZun7J-_fuOH05P08pjHQ(IN9=WLQF$%@ z=Voy9d{$#i9w1Qs5%eWtFpVLw`-`^=Ckv~{A+H|?Vigy$UlBaY*M~2Z{tTZV-@#WZ z+%4;TvnFmv$%qvQ|D{Noqd zOG{QUIm+9V`%SRVl@T;=N^Z|U{5RL@{wy%)v^2)* zL}9CJ$F+Vz$`wkrFETw|3wYiSNW@>g3StZJS|+&$pun_}uH?)-Bo`M8yF6R#F=K^+6?s_`6X>RnH$kE_t2s6h0A<2a6`MvL40QEI!OW4eUO2 zcL8OW6TlqQeqqNUc(ch2h}}$CVai8%cPJ@8dT<*~tWf=KU;mWJ5*Q+BvJqZNeA*_H zFvhFEM#%7Y@F%^FpJ@BP^JS@*H+ii=jXchO4`FM+k(rmJ%xuWVNQ{nRGRvqrDof#%8U z0^rszWF@caDA{m*En3{?LaA|Y9qPG1JByn+^+c6N4S)vH>T8+6!jM5DY^Vw#RuFS zMMc|zylVyHD@kDy9>=1I?Xlv=Z=dX4B0a?Ii6B4o=Kr~*io+zV=X@B9*uPy}zykBH zKQE<7_!z|O38<9=Rqb;`=$5$<#G}Q(K|2^5ICYe$sBFD66qn4CB_nTp8W2MF6K?!9 z80e_RkDjdz{2PFI+aC&n3HM#@-mdVC5NGUBVZKkwf>*h)eNWW8aYc2`dAm<(vRD7h zyEn&b(l@Gd0+Hl^_yW(VD?=XQFZ$L(kZJSYZvM-$j4uO=Q2!N9d_pw`^o@85;8`r; zS+JUq=}?}gh^UcW+wA!HO_HAclriqt`3dL{jmOI3w#0@jCaF4N4)w9OT2%dl`wuMe zMtjODi)!xr>n`sukkm6%V+|6}M`z{AF6g2D{V^{t%sqEY?)dLllE*y$xC#Sbf_@QX zeqpZvyu#Z9s2gbSoq*iG6wLnps1pE#e8REmQ>joplJ0Gd*^dko>LP7UXSI!DcU?tH z1*O#|O_cD<66oiE_sWp;B$t^S7Zq6R>UuSaA$?0Rb42i6Oj1x&%hn3t)54m0(mCRW zK6kVgj2I(|2{pr=wr*Zr_~$l5ZlwM;k>9_6UlnZ~eY;gWZL;k{uq!&lp=Mw})y^D$ zjBrZYv^kE3!w`xGo#bMiwfjZR_H^sfKTFNGAi&^;E5PA&zpTABG(B6zS&r%aX;(f36=P&{UWOucG5(^EIgOs3CfMGQe+rVS$XAjt37# z(~$Ui$~d}pW=WX+ovP8fB+O86`!K@AdO8C0@eC{Ix+FK-`N1_(PZy)Aoi78zA1!&0 zhyagvAISWb_cSP_9Fg@F2f4kt9Z$C_B8*H5U!P55YO2d#!K+w~+e>n?1$oDHba81t8O^SW3|G+TV61sPD{K%(SvwGy9 zF3Bw9E&jI;cXpzxjGf&T{m=0V>>N@p@9x@oA3$6~&|T?Etsa=v!}modVrTvu04W7G zL-B-`W~BVdKm(ypbaeD{_iJ?ZGm(og20!AFp-!5}CeV;am;jP~-~{gkg-5Y-r8*|6 zYrfUVIfWp{ejF8{3SrKk}0{O;q{xBWJgLzQzwB>7PaA1CiIMuP+QWEiKZQ2;CH*n2_iG=>c_2Lsxj& zI8KN_ndb!(9RrgpQ2rVVwDfJ2DrOE1zo76kp@5_{Mjr1{Ezmn@45!Z5s!e-5aYU&U z2y%(_56ilE_3@lLLn~TjvD!G9Ji@b+27R>rsW0a~dPTu^XH@(Nqe*LF?bfeYWyyD~ zXcl4l{X5%#4Z;3T2(hbEkxuE%_*CwP{o?A7B79rnBqGMg&xPCY5)oY$oK!h#S6=;C4`Gd-D$nc1(_+m#L5&O5jT_|M(&QL1=- zaTFgbC&pT?@#!SfNks^>Y7f;V#V^=>i|zcjH)^dC4`p%^ zERGeF4t-N{OJgMuzNG$PqAaNpDG>UdI?)9hf=bXu;2A0gKCFuW6p z1o8_5tY>!%PN0;7nU5@kP{KVQ_Q&3J*6OQ+7ZyxmE}WM=ODo3l=kKuNCxdUz9|J~Lmn(HE~b0@Xf6TX)?nRBjqfP=5-Af? zZQHmgo+hM9;NnMMWnmo;;E0`?2d$m}Bjlu6(d_ zwdj%@&)uYM^$;ilk|zPl+pHrxM^yu3(TON$hgmLimLqq~D1%wq>^y9N1~9uS0~9pR_Swi~~N4cH>T z&Hjm@P*c-(697O0VbA%v&(G``$#(?nDTvc*7JyOID1d-3PGuF?ucqb2R0J^&4CKDz z#Xj5^Rsk;c+mHut^tr2+(3UgB`q<-@R>>;70lBm)3AXlExnFFvmpC1WSqbyz%cSQ<@1UZ}jF};XK{Bs=l|F=sxD7rgrKYJwJyT1^E<@1S zYZi8gcQzH!T??lZ0lt0O3U)mYN3mUs!V{!Tqca7H8*Rok_~){ zU&q5h8r1rxuB=QkF}c2mXrdImO4(uK+w+o`ZziHe`9toFlL$o1dQRl>=#20c}lsjzx3{8)15~@ z7ZrU|PCwOzMqFSysV>**>++*2bZRu&YYtehL&>PhYv?Ir$2Ps7p3@8 zl8K9n`CW^|LMv2QPLq*~y_M6&pO9B%k=01P|3FiKL*lo5`=1C^R;r2NQH!3<=kWPq z+D#@_>p2Kz-jQPJi|mRG@A4U7zn68-6Ht6Mz1+pcktiYMqk3L0<4L^M!F;I;c*i5D z%KoT{N-sp6FVM-Q-vM@N*Tyi>M-oa(H6Y5uQl6|lk&h!Z^EpC)X-LNSkv`5;eLE9H})T;ZH3Mxuvk4h^cSwqQ+& zT~?L$H8e3|f3v}ck5tG^O0N{XfXtnr5PzD=!v5S5vT0}MlIZR2O39S@a=`j{ORZ~p zLVq~$0IC^BXeff*zdVJ_uxouIA@AKxy^C2lQ$V7%+SO7d8bM1cQ2EoO2sH9HFdmkCYhJ>`YFS(-NlYCG%AS8C4^RqB48=R+xs(Uj>O$syVFtP%wH@SK@Dja!)^4LSwlBNRwi;({#Dr zKxT69d($C?eq}+4Xu5B9bK)CXM#o{Neq*pZfsZnHRr_>t^>ACnw_4F=%iCxJL@Xu@ zOytlfo8F;fNgPA(Ll)jlE+D6(=dnt8Q4-O08ubWVB(yV# z>R7Oht>Flnbc(R(BAQJP{N0mVS! zU}uOO5R)XMe7q9G**Dhvm5_(zQExK;Q>4bMyPK@m>odGBPLN!Ii}VHuoV8ps&l$_I zp1VM2N!uAA|Mh*!JPUc~NmrJ%eC|HJ3s+u?Yp;G^3*(;H0uj+LB&M65$9G@D^i=}k zPhzom0#uF%8{DXt{c4-keR15@CjE&U^fe`bn2dtZA%#V~)8Se~N-SRYw9`RD2}e`c z(cw^L_GaFM60T(vBo(wXSqWc22;(?xf`TwPS}-0IBd@Lkff0LE+ZJb>SqJ^{0Ov^ko0{f-V;v9zqBeSNSGxEbl|{bg zjgN{>imYa#P-#W;S|wmrxfdv*v@`_nbR5A4%euI#xNs*ZpD+mh6n*~h-|SG@-eenx z>q9ax;;J{{xUCkVKJrbO%@-hk%wo7VVk0KYvMu=8o00-CuZV<4;M8Z5p(|DNpxn{Z zRMobAzoUEN9nwJtFqoLp^)iaCw3wVBWonwRyg1H}P6=>^Jb8N*InFTF7lJ>k=1n9b z9uRJ)iy07H%U>k!8#M~#F!Qg{db^?|mVMA>hCz3#pmoL$NK9tm!-H?l@XSTOUyO_u z{Mp=s4vAD<54VlP#m07bAT1NC!8$S4+updxv6IW+I(w$L)wJ2DZBncLeC;bx?7S}2 zSTELT7t(OBPOHGyV2@|Z2d0d9t!H$Mj4GqD*ts-qMwKb>a>#1Q+xz!H^E3a#2s=~P z0>DnJa?Dl&b})Ud*d5pv0+u-}x#8NDrWzZ$Rx&yLAy)(13d)6AAL+$)*NqW3R~u>~qg7qeFeQy870?-+>TELg{t6(Si;z)NH>te6G4 z8Eu@Mm%T8JJ5n`j%Sq&}+>AAC^$U?7F-j{dy62!&rFxEusHea9KKPZ31*hpm8`V@a zsovNkb&K10Rn)|0i(55AI|Hn)i$RK%bOlO@k2wnj+u;el`lpRu4flqjub4aa8K=2E zj&9Zx6~V~?XU2?5N*u7--8p7w3#cb5@R~dF8XD&G-yKkOOar#%`q`_JYTvNHCmwrO zyt0Mc;JJ^fu zZSp4$5IfzEPIFCKCq}3e&q@cc37>RtT&&OV=NX~n4``8KEocbky?J9M`eyY*i^D|K zTB|(f&P-g_JIo^;FB3+N#w67s+O1$p?pps)d?X}oUm5|g@;$&OO%p~N(_AOSXB)yj z&_K=3GQqyzJj^>QsdiBGS9Qr8sHem1I%NhdXcda#Rg7@pqCywR1HeRi46Omju~IUd zuH6!YwQ_r0rJ?SXH}93sM~VXX;Fa4l%J7aBpR z7&Y!is~uxtF5cfPV!&ZIW_$Y#wwul)J%dXJl{u5I9owNSki(1hfye5d)qAOQh!aql zMWw-CETv75ghnbXl1_b&uV68PBJOk$X%CcY&yM<=va4ngq0X#!%y_gC>%|8mm>m1a zRC>PDh7-hAPCf0d4R#|oO1$7+QQK)?NIWolp`FaSJ*!FF!lY$Br?C)A8h(y3KsrUX zl3AZJd!2V*cNmdYf&7skw<;3Q6%_?cXeIr(Vi$ZLy349j2Ck~B6Ksh7s*~SAfO$T5 zy1x*Bec$Ghnp)B)s+FR-g()B+AtB%;im@=;{0_CCAmFS2RzU~vgt_q#5!i{kIv>=1 z$Yz8HG_J??J%+3RPJhWS83GA{CH}J5@UoD$@U{*u^~z&|{BlO5wstM-A?v<&&dSaz7$~szQew2r4RPA=}Gn@r=TFIE98UIe^)tgD}(UR5NX-)>FSKe!$UUl zlq`FGl+<-~B|!p_05yoip8tXwZgeXKg5?B+K|=huOY1 zXNBj7+#yYfqagTv?K=Nvb|_G(p9pb*ac5G6Fc-C3#|eJGkU7{k4v<11z6)l400f`S1{r* z9OtEr0N0V_uoAbLv;Ml#e-sE%)c4ZoIiE-C9-$z3hsT1No^DrHfxI@H76A* zbe+a2yEwk8RWyJ{rR8Bo`dT`cNwhj%rPgb5@_=>Q><3^M%5}!%Ojp~~t#uaZk}Hm! z@X@$0R4P9S7zo6$A8(ozDT{{1#Rr65tPV`G_4@vQy@fP?3za8Y_k8R$L{t!3-D11!F zZZTcM$_1P1f_oh3=m$Xp1p$%c z?`I@0^Oc^H_mpbZ%sAjopF~rEE4LDoy!BTgK<$sAkl>B2*C*(^-+7O)l$d=bA{<7D z>aofq+C64!Y{qLbnMGo4J8NDNd@Hvg{vB(p#3!py=rN=coug;&!Mteec``~er4%vX zwDdXhy^0Qj(NN%&KqAMOSxW^Ssm8Eo`DRjW~Mh$6d2JYxy&U`(@0Fa{ZKZ`o6KvV zy-=d7BdL;&uuP#WX6iW4Ir82V1OjUQrmt{8yE9wA1M>VG>kwo-7Rhiae1;{+70`X! z%;ik(cHJhn;RNcg*`j6|oscsKHYS1^NFw#heLnG=_6q8BUduHdcQYDu>X``1`VNzd zXlUQlBNs6+cumZ#S5^SMkB-}FBcr!3MIsg_?Er&$>)p>)tC|9T@KxjPR5ZL}E0 z5-7L*$vnXUHc zt2FDu2na50Xx>1>vbK(UW0zd0w;^EN%IRqWW^Y)nDP}5=DzJ!RQcl+hBAs#CMcb*o zA>GF}Iio_quWjq-FhP=}d)j!ViB!bLI{xme+|cR*$m@?TL^c`_Wmv6YP8=wC>mnja zz&ApwLd+@)E3AoqTv+o+$v8JWY`RYjmJd+y$o1@t%r;7Y=R~p}DrAV&0FJFT3+v z%jJ}nQzKnt4R`u<&asdcWb%fZKEja*+@lq0wsV|qsMqpNy};RcMPEI+$4cCDJukl9 zyRc<6&K8MKH0HkZ zn2kIg=vPX16L}mrUdq2;T|kP(c6^P$fD^yK*JI21DK!;X3$UEHD!_cvC;PJ&-5z8S zLY;6lyUfIy4%Ij4PUo9BnCDGf!$2-j_owhmn?z4@3;9$EhQDxavYfw*i7{^PHtT7y znZ40hir6E}-DS4E*n=?jEr$mM&9BqE_~YdFuat%g%ALGie;jjMeKhsYKUNH>6KSXx_`9yC|)ZzdLjN;V@f$`(prq z5g3x+*i7clQehfN?RJ40{{FpUV*XbcOY_e@iw%EWnJmT=mwjmkH5?Sv`8rXU3%q>I zlnE1_L`Wg}*A3Vs-NpRUu za!_t^c5oFtVe7@Z>ErzSf{<;Psm8PVRWp7|(D$~kz}-e3_xLrP07`16&%#*7l{fNh ziKFrGMs;lLhN+}eA2+Sz$c6ffx&Pn2YAJt!1#WgSXD&c&{(log&IERQv84UjyL^qC=s^5UKBvINRzO!DW4y%)6&1Fc>7s+eK0+D zM;n;wiX4X}-b`1o6*0iPvgKan(faS=0fn(ANW#o4XIV9Gv_6m)6IMR2_WJvm$WOpF znw2dnJe&ku`_irYXe4>_+HS4Cxa0gMP?Msc33T4skd1e4VMG5J&rPCp0I4FrJ5ybd zK3w{2;viW2Qfzpge7Et3~#hDB~>=uXMwiQPR>f;b8aB&br2JkfnP#Wv20t|7?CL`G@|GNY zY;4-`ao+o-=A70#jph?&f;Rdw>#NV>Z!Q@VeMo$@WP) zJQfp9>WVBO9=k3o@aJ~B^^H*_C6DWI>;RJx)@iT#BC1_4BD?EWe+>SEfLqey+iV;b zBjukCYyX4@UTYM0Hv0gnOe)Zy2xu>%6DOy%Wy^cf7S+>fU4{VR79f4+k)s)HYs-tE zB=#03f67)x9TZ7{+M3u4icmaO*wPSXEJiI7;M*dL6^>AY7SImA|N8op)7gFL^T5Q> z7!aj^A6*6Sdc7(n)*t@_iSe=%1C%noDa1ENaL

^;b=!$N5JKwP`^nmPh%Btd%W~ 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ⅇI$ab;Ynt}*LLdV>nY}t(KcTbp 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 literal 178952 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

_sOhHQkk#jT4v(nD6nq!fc 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 diff --git a/docs/images/icons/wand.svg b/docs/images/icons/wand.svg index 92c499bab807c..342b6c55101a7 100644 --- a/docs/images/icons/wand.svg +++ b/docs/images/icons/wand.svg @@ -1,3 +1 @@ - - - + \ No newline at end of file diff --git a/docs/manifest.json b/docs/manifest.json index ea1d19561593f..8692336d089ea 100644 --- a/docs/manifest.json +++ b/docs/manifest.json @@ -684,7 +684,7 @@ "description": "Learn how to run and integrate AI coding agents like GPT-Code, OpenDevin, or SWE-Agent in Coder workspaces to boost developer productivity.", "path": "./ai-coder/index.md", "icon_path": "./images/icons/wand.svg", - "state": ["early access"], + "state": ["beta"], "children": [ { "title": "Learn about coding agents", @@ -695,37 +695,37 @@ "title": "Create a Coder template for agents", "description": "Create a purpose-built template for your AI agents", "path": "./ai-coder/create-template.md", - "state": ["early access"] + "state": ["beta"] }, { "title": "Integrate with your issue tracker", "description": "Assign tickets to AI agents and interact via code reviews", "path": "./ai-coder/issue-tracker.md", - "state": ["early access"] + "state": ["beta"] }, { "title": "Model Context Protocols (MCP) and adding AI tools", "description": "Improve results by adding tools to your AI agents", "path": "./ai-coder/best-practices.md", - "state": ["early access"] + "state": ["beta"] }, { "title": "Supervise agents via Coder UI", "description": "Interact with agents via the Coder UI", "path": "./ai-coder/coder-dashboard.md", - "state": ["early access"] + "state": ["beta"] }, { "title": "Supervise agents via the IDE", "description": "Interact with agents via VS Code or Cursor", "path": "./ai-coder/ide-integration.md", - "state": ["early access"] + "state": ["beta"] }, { "title": "Programmatically manage agents", "description": "Manage agents via MCP, the Coder CLI, and/or REST API", "path": "./ai-coder/headless.md", - "state": ["early access"] + "state": ["beta"] }, { "title": "Securing agents in Coder", @@ -737,7 +737,7 @@ "title": "Custom agents", "description": "Learn how to use custom agents with Coder", "path": "./ai-coder/custom-agents.md", - "state": ["early access"] + "state": ["beta"] } ] }, From 205076e6e7f80b731aeaad523dcca56ee6d334b3 Mon Sep 17 00:00:00 2001 From: Bruno Quaresma Date: Wed, 30 Apr 2025 13:58:12 -0300 Subject: [PATCH 009/280] refactor: change how timings are formatted (#17623) --- .../workspaces/WorkspaceTiming/Chart/utils.ts | 42 +++++++++---------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/site/src/modules/workspaces/WorkspaceTiming/Chart/utils.ts b/site/src/modules/workspaces/WorkspaceTiming/Chart/utils.ts index 55df5b9ffad48..2790701db5265 100644 --- a/site/src/modules/workspaces/WorkspaceTiming/Chart/utils.ts +++ b/site/src/modules/workspaces/WorkspaceTiming/Chart/utils.ts @@ -61,29 +61,29 @@ export const makeTicks = (time: number) => { }; export const formatTime = (time: number): string => { - const seconds = Math.floor(time / 1000); - const minutes = Math.floor(seconds / 60); - const hours = Math.floor(minutes / 60); - const days = Math.floor(hours / 24); + const absTime = Math.abs(time); + let unit = ""; + let value = 0; - const parts: string[] = []; - if (days > 0) { - parts.push(`${days}d`); + if (absTime < second) { + value = time; + unit = "ms"; + } else if (absTime < minute) { + value = time / second; + unit = "s"; + } else if (absTime < hour) { + value = time / minute; + unit = "m"; + } else if (absTime < day) { + value = time / hour; + unit = "h"; + } else { + value = time / day; + unit = "d"; } - if (hours > 0) { - parts.push(`${hours % 24}h`); - } - if (minutes > 0) { - parts.push(`${minutes % 60}m`); - } - if (seconds > 0) { - parts.push(`${seconds % 60}s`); - } - if (time % 1000 > 0) { - parts.push(`${time % 1000}ms`); - } - - return parts.join(" "); + return `${value.toLocaleString(undefined, { + maximumFractionDigits: 2, + })}${unit}`; }; export const calcOffset = (range: TimeRange, baseRange: TimeRange): number => { From f108f9d71ffc4f49030cc6fa2ae35063aa2d3c25 Mon Sep 17 00:00:00 2001 From: brettkolodny Date: Wed, 30 Apr 2025 15:08:25 -0400 Subject: [PATCH 010/280] chore: setup knip and remove unused exports, files, and dependencies (#17608) Closes [coder/interal#600](https://github.com/coder/internal/issues/600) --- site/.knip.jsonc | 17 + site/biome.jsonc | 3 + site/e2e/constants.ts | 8 - site/e2e/helpers.ts | 4 +- site/e2e/tests/deployment/idpOrgSync.spec.ts | 1 - .../e2e/tests/organizations/auditLogs.spec.ts | 2 +- site/package.json | 14 +- site/pnpm-lock.yaml | 440 +++++----------- site/src/__mocks__/react-markdown.tsx | 7 - site/src/api/api.ts | 2 +- site/src/api/errors.ts | 2 +- site/src/api/queries/authCheck.ts | 2 +- site/src/api/queries/groups.ts | 8 +- site/src/api/queries/idpsync.ts | 4 +- site/src/api/queries/organizations.ts | 11 +- site/src/api/queries/settings.ts | 2 +- site/src/api/queries/templates.ts | 6 +- site/src/api/queries/workspaceBuilds.ts | 2 +- site/src/api/queries/workspaces.ts | 2 +- .../components/Avatar/AvatarDataSkeleton.tsx | 1 - site/src/components/Badge/Badge.tsx | 2 +- site/src/components/Button/Button.tsx | 2 +- site/src/components/Chart/Chart.tsx | 11 +- site/src/components/Command/Command.tsx | 4 +- site/src/components/CopyButton/CopyButton.tsx | 2 +- site/src/components/Dialog/Dialog.tsx | 6 +- .../components/DropdownMenu/DropdownMenu.tsx | 20 +- site/src/components/Icons/GitlabIcon.tsx | 29 -- site/src/components/Icons/MarkdownIcon.tsx | 21 - site/src/components/Icons/TerraformIcon.tsx | 22 - site/src/components/Link/Link.tsx | 2 +- site/src/components/Logs/LogLine.tsx | 2 +- .../PageHeader/FullWidthPageHeader.tsx | 2 +- site/src/components/ScrollArea/ScrollArea.tsx | 2 +- site/src/components/Select/Select.tsx | 6 +- site/src/components/Table/Table.tsx | 4 +- site/src/contexts/ProxyContext.tsx | 4 +- .../DeploymentBanner/DeploymentBannerView.tsx | 2 +- .../LicenseBanner/LicenseBannerView.tsx | 2 +- .../modules/dashboard/Navbar/NavbarView.tsx | 3 - .../UserDropdown/UserDropdownContent.tsx | 2 +- .../management/DeploymentSidebarView.tsx | 1 - site/src/modules/navigation.ts | 4 +- .../InboxPopover.stories.tsx | 2 +- .../JobStatusIndicator.stories.tsx | 1 - .../modules/provisioners/ProvisionerGroup.tsx | 487 ------------------ .../modules/provisioners/ProvisionerTag.tsx | 2 +- .../resources/AgentDevcontainerCard.tsx | 2 +- site/src/modules/resources/AgentMetadata.tsx | 2 +- .../src/modules/resources/AppLink/AppLink.tsx | 1 - .../resources/TerminalLink/TerminalLink.tsx | 2 +- .../WorkspaceBuildLogs/WorkspaceBuildLogs.tsx | 2 +- .../WorkspaceOutdatedTooltip.tsx | 4 +- .../workspaces/WorkspaceTiming/Chart/Bar.tsx | 7 +- .../WorkspaceTiming/Chart/XAxis.tsx | 6 +- site/src/pages/404Page/404Page.tsx | 2 +- site/src/pages/AuditPage/AuditHelpTooltip.tsx | 2 +- site/src/pages/AuditPage/AuditPage.tsx | 1 - site/src/pages/AuditPage/AuditPageView.tsx | 2 +- site/src/pages/CliAuthPage/CliAuthPage.tsx | 2 +- .../pages/CliInstallPage/CliInstallPage.tsx | 2 +- .../CreateTokenPage.stories.tsx | 2 +- .../CreateTokenPage/CreateTokenPage.test.tsx | 2 +- .../pages/CreateTokenPage/CreateTokenPage.tsx | 2 +- .../CreateUserPage/CreateUserPage.test.tsx | 2 +- .../pages/CreateUserPage/CreateUserPage.tsx | 4 +- .../CreateWorkspacePage.tsx | 2 +- .../CreateWorkspacePageExperimental.tsx | 2 +- .../CreateWorkspacePageViewExperimental.tsx | 2 +- .../IdpOrgSyncPage/IdpOrgSyncPage.tsx | 4 +- .../IdpOrgSyncPage/IdpOrgSyncPageView.tsx | 4 +- .../NotificationsPage.stories.tsx | 2 +- .../NotificationsPage/NotificationsPage.tsx | 3 +- .../NotificationsPage/storybookUtils.ts | 4 +- .../OverviewPage/ChartSection.tsx | 58 --- site/src/pages/GroupsPage/CreateGroupPage.tsx | 4 +- .../pages/GroupsPage/CreateGroupPageView.tsx | 1 - site/src/pages/GroupsPage/GroupPage.tsx | 2 +- .../pages/GroupsPage/GroupSettingsPage.tsx | 2 +- site/src/pages/GroupsPage/GroupsPage.tsx | 4 +- .../pages/GroupsPage/GroupsPageProvider.tsx | 6 +- site/src/pages/GroupsPage/GroupsPageView.tsx | 2 - .../HealthPage/AccessURLPage.stories.tsx | 2 +- site/src/pages/HealthPage/AccessURLPage.tsx | 2 +- .../src/pages/HealthPage/DERPPage.stories.tsx | 2 +- site/src/pages/HealthPage/DERPPage.tsx | 2 +- .../HealthPage/DERPRegionPage.stories.tsx | 2 +- site/src/pages/HealthPage/DERPRegionPage.tsx | 2 +- .../pages/HealthPage/DatabasePage.stories.tsx | 2 +- site/src/pages/HealthPage/DatabasePage.tsx | 2 +- .../ProvisionerDaemonsPage.stories.tsx | 2 +- .../HealthPage/ProvisionerDaemonsPage.tsx | 2 +- .../HealthPage/WebsocketPage.stories.tsx | 2 +- site/src/pages/HealthPage/WebsocketPage.tsx | 2 +- .../HealthPage/WorkspaceProxyPage.stories.tsx | 2 +- .../pages/HealthPage/WorkspaceProxyPage.tsx | 2 +- .../src/pages/IconsPage/IconsPage.stories.tsx | 2 +- site/src/pages/IconsPage/IconsPage.tsx | 2 +- site/src/pages/LoginPage/LoginPage.test.tsx | 2 +- site/src/pages/LoginPage/LoginPage.tsx | 2 +- .../CustomRolesPage/CreateEditRolePage.tsx | 2 +- .../CreateEditRolePageView.stories.tsx | 2 +- .../CreateEditRolePageView.tsx | 2 +- .../CustomRolesPage/CustomRolesPage.tsx | 4 +- .../CustomRolesPage/CustomRolesPageView.tsx | 2 - .../IdpSyncPage/IdpSyncPage.tsx | 2 +- .../IdpSyncPage/IdpSyncPageView.stories.tsx | 2 +- .../IdpSyncPage/IdpSyncPageView.tsx | 2 +- .../OrganizationMembersPageView.tsx | 1 - .../JobRow.stories.tsx | 2 +- .../OrganizationProvisionerJobsPage.tsx | 2 - .../UserTable/TableColumnHelpTooltip.tsx | 2 +- .../TemplateInsightsPage/IntervalMenu.tsx | 2 +- .../src/pages/TemplatePage/TemplateLayout.tsx | 1 - .../TemplateResourcesPage.tsx | 2 +- .../TemplateVersionsPage/VersionsTable.tsx | 2 +- .../TemplateSettingsPage.test.tsx | 2 +- .../TemplateSettingsPage.tsx | 2 +- .../TemplatePermissionsPage.tsx | 2 +- .../TemplateVariablesForm.tsx | 2 +- .../TemplateVariablesPage.tsx | 2 +- .../TemplateVersionEditorPage.tsx | 2 +- .../TemplateVersionStatusBadge.tsx | 2 +- .../TemplateVersionPage.tsx | 4 +- .../TemplateVersionPageView.tsx | 2 - .../src/pages/TemplatesPage/TemplatesPage.tsx | 2 +- .../pages/TemplatesPage/TemplatesPageView.tsx | 2 +- .../src/pages/TerminalPage/TerminalAlerts.tsx | 8 +- .../AccountPage/AccountPage.test.tsx | 2 +- .../AccountPage/AccountPage.tsx | 2 +- .../AppearancePage/AppearanceForm.tsx | 2 +- .../AppearancePage/AppearancePage.test.tsx | 2 +- .../AppearancePage/AppearancePage.tsx | 2 +- .../ExternalAuthPage/ExternalAuthPageView.tsx | 3 - .../NotificationsPage.stories.tsx | 2 +- .../NotificationsPage/NotificationsPage.tsx | 2 +- .../SSHKeysPage/SSHKeysPage.test.tsx | 2 +- .../SSHKeysPage/SSHKeysPage.tsx | 2 +- .../SchedulePage/SchedulePage.test.tsx | 2 +- .../SchedulePage/SchedulePage.tsx | 2 +- .../SecurityPage/SecurityPage.test.tsx | 2 +- .../SecurityPage/SecurityPage.tsx | 2 +- site/src/pages/UserSettingsPage/Sidebar.tsx | 1 - .../TokensPage/TokensPage.tsx | 2 +- .../WorkspaceProxyPage/WorkspaceProxyPage.tsx | 2 +- .../pages/UsersPage/ResetPasswordDialog.tsx | 2 +- site/src/pages/UsersPage/UsersPageView.tsx | 1 - .../pages/UsersPage/UsersTable/UsersTable.tsx | 2 +- .../WorkspaceBuildPage.test.tsx | 2 +- .../WorkspaceBuildPage/WorkspaceBuildPage.tsx | 2 +- site/src/pages/WorkspacePage/BuildRow.tsx | 123 ----- .../pages/WorkspacePage/ResourcesSidebar.tsx | 2 +- .../WorkspacePage/ResourcesSidebarContent.tsx | 29 -- .../WorkspaceActions/constants.ts | 2 +- .../WorkspacePage/WorkspacePage.test.tsx | 2 +- .../src/pages/WorkspacePage/WorkspacePage.tsx | 2 +- .../WorkspaceScheduleControls.tsx | 6 +- .../pages/WorkspacePage/WorkspaceTopbar.tsx | 2 +- .../WorkspaceSchedulePage.test.tsx | 2 +- .../WorkspaceSchedulePage.tsx | 2 +- site/src/pages/WorkspacesPage/LastUsed.tsx | 49 -- .../WorkspacesPage/WorkspacesPageView.tsx | 2 +- .../filter/WorkspacesFilter.tsx | 2 +- .../src/pages/WorkspacesPage/filter/menus.tsx | 2 +- site/src/testHelpers/entities.ts | 100 ++-- site/src/testHelpers/localStorage.ts | 2 +- site/src/testHelpers/storybook.tsx | 25 - site/src/theme/dark/branding.ts | 2 +- site/src/theme/externalImages.ts | 2 +- site/src/theme/light/branding.ts | 2 +- site/src/theme/mui.ts | 2 +- site/src/theme/roles.ts | 2 +- site/src/utils/appearance.ts | 15 - site/src/utils/colors.ts | 24 - site/src/utils/schedule.tsx | 7 +- site/src/utils/workspace.tsx | 4 - site/vite.config.mts | 1 - 177 files changed, 388 insertions(+), 1506 deletions(-) create mode 100644 site/.knip.jsonc delete mode 100644 site/src/__mocks__/react-markdown.tsx delete mode 100644 site/src/components/Icons/GitlabIcon.tsx delete mode 100644 site/src/components/Icons/MarkdownIcon.tsx delete mode 100644 site/src/components/Icons/TerraformIcon.tsx delete mode 100644 site/src/modules/provisioners/ProvisionerGroup.tsx delete mode 100644 site/src/pages/DeploymentSettingsPage/OverviewPage/ChartSection.tsx delete mode 100644 site/src/pages/WorkspacePage/BuildRow.tsx delete mode 100644 site/src/pages/WorkspacePage/ResourcesSidebarContent.tsx delete mode 100644 site/src/pages/WorkspacesPage/LastUsed.tsx diff --git a/site/.knip.jsonc b/site/.knip.jsonc new file mode 100644 index 0000000000000..f4c082a76ecbf --- /dev/null +++ b/site/.knip.jsonc @@ -0,0 +1,17 @@ +{ + "$schema": "https://unpkg.com/knip@5/schema.json", + "entry": ["./src/index.tsx", "./src/serviceWorker.ts"], + "project": ["./src/**/*.ts", "./src/**/*.tsx", "./e2e/**/*.ts"], + "ignore": ["**/*Generated.ts"], + "ignoreBinaries": ["protoc"], + "ignoreDependencies": [ + "@types/react-virtualized-auto-sizer", + "jest_workaround", + "ts-proto" + ], + // Don't report unused exports of types as long as they are used within the file. + "ignoreExportsUsedInFile": { + "interface": true, + "type": true + } +} diff --git a/site/biome.jsonc b/site/biome.jsonc index d26636fabef18..bc6fa8de6e946 100644 --- a/site/biome.jsonc +++ b/site/biome.jsonc @@ -16,6 +16,9 @@ "useButtonType": { "level": "off" }, "useSemanticElements": { "level": "off" } }, + "correctness": { + "noUnusedImports": "warn" + }, "style": { "noNonNullAssertion": { "level": "off" }, "noParameterAssign": { "level": "off" }, diff --git a/site/e2e/constants.ts b/site/e2e/constants.ts index 98757064c6f3f..4e95d642eac5e 100644 --- a/site/e2e/constants.ts +++ b/site/e2e/constants.ts @@ -78,14 +78,6 @@ export const premiumTestsRequired = Boolean( export const license = process.env.CODER_E2E_LICENSE ?? ""; -/** - * Certain parts of the UI change when organizations are enabled. Organizations - * are enabled by a license entitlement, and license configuration is guaranteed - * to run before any other tests, so having this as a bit of "global state" is - * fine. - */ -export const organizationsEnabled = Boolean(license); - // Disabling terraform tests is optional for environments without Docker + Terraform. // By default, we opt into these tests. export const requireTerraformTests = !process.env.CODER_E2E_DISABLE_TERRAFORM; diff --git a/site/e2e/helpers.ts b/site/e2e/helpers.ts index f4ad6485b2681..71b1c039c5dfb 100644 --- a/site/e2e/helpers.ts +++ b/site/e2e/helpers.ts @@ -81,7 +81,7 @@ export async function login(page: Page, options: LoginOptions = users.owner) { (ctx as any)[Symbol.for("currentUser")] = options; } -export function currentUser(page: Page): LoginOptions { +function currentUser(page: Page): LoginOptions { const ctx = page.context(); // biome-ignore lint/suspicious/noExplicitAny: get the current user const user = (ctx as any)[Symbol.for("currentUser")]; @@ -875,7 +875,7 @@ export const echoResponsesWithExternalAuth = ( }; }; -export const fillParameters = async ( +const fillParameters = async ( page: Page, richParameters: RichParameter[] = [], buildParameters: WorkspaceBuildParameter[] = [], diff --git a/site/e2e/tests/deployment/idpOrgSync.spec.ts b/site/e2e/tests/deployment/idpOrgSync.spec.ts index a693e70007d4d..4f175b93183c0 100644 --- a/site/e2e/tests/deployment/idpOrgSync.spec.ts +++ b/site/e2e/tests/deployment/idpOrgSync.spec.ts @@ -5,7 +5,6 @@ import { deleteOrganization, setupApiCalls, } from "../../api"; -import { users } from "../../constants"; import { login, randomName, requiresLicense } from "../../helpers"; import { beforeCoderTest } from "../../hooks"; diff --git a/site/e2e/tests/organizations/auditLogs.spec.ts b/site/e2e/tests/organizations/auditLogs.spec.ts index 3044d9da2d7ca..0cb92c94a5692 100644 --- a/site/e2e/tests/organizations/auditLogs.spec.ts +++ b/site/e2e/tests/organizations/auditLogs.spec.ts @@ -1,4 +1,4 @@ -import { type Page, expect, test } from "@playwright/test"; +import { expect, test } from "@playwright/test"; import { createOrganization, createOrganizationMember, diff --git a/site/package.json b/site/package.json index 8a08e837dc8a5..265756d773594 100644 --- a/site/package.json +++ b/site/package.json @@ -13,10 +13,11 @@ "dev": "vite", "format": "biome format --write .", "format:check": "biome format .", - "lint": "pnpm run lint:check && pnpm run lint:types && pnpm run lint:circular-deps", + "lint": "pnpm run lint:check && pnpm run lint:types && pnpm run lint:circular-deps && knip", "lint:check": " biome lint --error-on-warnings .", "lint:circular-deps": "dpdm --no-tree --no-warning -T ./src/App.tsx", - "lint:fix": " biome lint --error-on-warnings --write .", + "lint:knip": "knip", + "lint:fix": " biome lint --error-on-warnings --write . && knip --fix", "lint:types": "tsc -p .", "playwright:install": "playwright install --with-deps chromium", "playwright:test": "playwright test --config=e2e/playwright.config.ts", @@ -29,7 +30,6 @@ "test:ci": "jest --selectProjects test --silent", "test:coverage": "jest --selectProjects test --collectCoverage", "test:watch": "jest --selectProjects test --watch", - "test:storybook": "test-storybook", "stats": "STATS=true pnpm build && npx http-server ./stats -p 8081 -c-1", "deadcode": "ts-prune | grep -v \".stories\\|.config\\|e2e\\|__mocks__\\|used in module\\|testHelpers\\|typesGenerated\" || echo \"No deadcode found.\"", "update-emojis": "cp -rf ./node_modules/emoji-datasource-apple/img/apple/64/* ./static/emojis" @@ -68,7 +68,6 @@ "@radix-ui/react-slot": "1.1.1", "@radix-ui/react-switch": "1.1.1", "@radix-ui/react-tooltip": "1.1.7", - "@radix-ui/react-visually-hidden": "1.1.0", "@tanstack/react-query-devtools": "4.35.3", "@xterm/addon-canvas": "0.7.0", "@xterm/addon-fit": "0.10.0", @@ -78,10 +77,8 @@ "@xterm/xterm": "5.5.0", "ansi-to-html": "0.7.2", "axios": "1.8.2", - "canvas": "3.1.0", "chart.js": "4.4.0", "chartjs-adapter-date-fns": "3.0.0", - "chartjs-plugin-annotation": "3.0.1", "chroma-js": "2.4.2", "class-variance-authority": "0.7.1", "clsx": "2.1.1", @@ -91,7 +88,6 @@ "cronstrue": "2.50.0", "date-fns": "2.30.0", "dayjs": "1.11.13", - "emoji-datasource-apple": "15.1.2", "emoji-mart": "5.6.0", "file-saver": "2.0.5", "formik": "2.4.6", @@ -149,7 +145,6 @@ "@tailwindcss/typography": "0.5.16", "@testing-library/jest-dom": "6.6.3", "@testing-library/react": "14.3.1", - "@testing-library/react-hooks": "8.0.1", "@testing-library/user-event": "14.6.1", "@types/chroma-js": "2.4.0", "@types/color-convert": "2.0.4", @@ -181,6 +176,7 @@ "jest-location-mock": "2.0.0", "jest-websocket-mock": "2.5.0", "jest_workaround": "0.1.14", + "knip": "5.51.0", "msw": "2.4.8", "postcss": "8.5.1", "protobufjs": "7.4.0", @@ -188,9 +184,7 @@ "ssh2": "1.16.0", "storybook": "8.5.3", "storybook-addon-remix-react-router": "3.1.0", - "storybook-react-context": "0.7.0", "tailwindcss": "3.4.17", - "ts-node": "10.9.2", "ts-proto": "1.164.0", "ts-prune": "0.10.3", "typescript": "5.6.3", diff --git a/site/pnpm-lock.yaml b/site/pnpm-lock.yaml index 15bc6709ef011..7fea2e807e086 100644 --- a/site/pnpm-lock.yaml +++ b/site/pnpm-lock.yaml @@ -115,9 +115,6 @@ importers: '@radix-ui/react-tooltip': specifier: 1.1.7 version: 1.1.7(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@radix-ui/react-visually-hidden': - specifier: 1.1.0 - version: 1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@tanstack/react-query-devtools': specifier: 4.35.3 version: 4.35.3(@tanstack/react-query@4.35.3(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -145,18 +142,12 @@ importers: axios: specifier: 1.8.2 version: 1.8.2 - canvas: - specifier: 3.1.0 - version: 3.1.0 chart.js: specifier: 4.4.0 version: 4.4.0 chartjs-adapter-date-fns: specifier: 3.0.0 version: 3.0.0(chart.js@4.4.0)(date-fns@2.30.0) - chartjs-plugin-annotation: - specifier: 3.0.1 - version: 3.0.1(chart.js@4.4.0) chroma-js: specifier: 2.4.2 version: 2.4.2 @@ -184,9 +175,6 @@ importers: dayjs: specifier: 1.11.13 version: 1.11.13 - emoji-datasource-apple: - specifier: 15.1.2 - version: 15.1.2 emoji-mart: specifier: 5.6.0 version: 5.6.0 @@ -353,9 +341,6 @@ importers: '@testing-library/react': specifier: 14.3.1 version: 14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@testing-library/react-hooks': - specifier: 8.0.1 - version: 8.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@testing-library/user-event': specifier: 14.6.1 version: 14.6.1(@testing-library/dom@10.4.0) @@ -436,10 +421,10 @@ importers: version: 2.5.2 jest-environment-jsdom: specifier: 29.5.0 - version: 29.5.0(canvas@3.1.0) + version: 29.5.0 jest-fixed-jsdom: specifier: 0.0.9 - version: 0.0.9(jest-environment-jsdom@29.5.0(canvas@3.1.0)) + version: 0.0.9(jest-environment-jsdom@29.5.0) jest-location-mock: specifier: 2.0.0 version: 2.0.0 @@ -449,6 +434,9 @@ importers: jest_workaround: specifier: 0.1.14 version: 0.1.14(@swc/core@1.3.38)(@swc/jest@0.2.37(@swc/core@1.3.38)) + knip: + specifier: 5.51.0 + version: 5.51.0(@types/node@20.17.16)(typescript@5.6.3) msw: specifier: 2.4.8 version: 2.4.8(typescript@5.6.3) @@ -470,15 +458,9 @@ importers: storybook-addon-remix-react-router: specifier: 3.1.0 version: 3.1.0(@storybook/blocks@8.4.6(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.3(prettier@3.4.1)))(@storybook/channels@8.1.11)(@storybook/components@8.4.6(storybook@8.5.3(prettier@3.4.1)))(@storybook/core-events@8.1.11)(@storybook/manager-api@8.4.6(storybook@8.5.3(prettier@3.4.1)))(@storybook/preview-api@8.5.3(storybook@8.5.3(prettier@3.4.1)))(@storybook/theming@8.4.6(storybook@8.5.3(prettier@3.4.1)))(react-dom@18.3.1(react@18.3.1))(react-router-dom@6.26.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react@18.3.1) - storybook-react-context: - specifier: 0.7.0 - version: 0.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.3(prettier@3.4.1)) tailwindcss: specifier: 3.4.17 version: 3.4.17(ts-node@10.9.2(@swc/core@1.3.38)(@types/node@20.17.16)(typescript@5.6.3)) - ts-node: - specifier: 10.9.2 - version: 10.9.2(@swc/core@1.3.38)(@types/node@20.17.16)(typescript@5.6.3) ts-proto: specifier: 1.164.0 version: 1.164.0 @@ -1991,19 +1973,6 @@ packages: '@types/react': optional: true - '@radix-ui/react-visually-hidden@1.1.0': - resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==, tarball: https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.0.tgz} - peerDependencies: - '@types/react': '*' - '@types/react-dom': '*' - react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - react-dom: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc - peerDependenciesMeta: - '@types/react': - optional: true - '@types/react-dom': - optional: true - '@radix-ui/react-visually-hidden@1.1.1': resolution: {integrity: sha512-vVfA2IZ9q/J+gEamvj761Oq1FpWgCDaNOOIfbPVp2MVPLEomUr5+Vf7kJGwQ24YxZSlQVar7Bes8kyTo5Dshpg==, tarball: https://registry.npmjs.org/@radix-ui/react-visually-hidden/-/react-visually-hidden-1.1.1.tgz} peerDependencies: @@ -2476,22 +2445,6 @@ packages: resolution: {integrity: sha512-IteBhl4XqYNkM54f4ejhLRJiZNqcSCoXUOG2CPK7qbD322KjQozM4kHQOfkG2oln9b9HTYqs+Sae8vBATubxxA==, tarball: https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-6.6.3.tgz} engines: {node: '>=14', npm: '>=6', yarn: '>=1'} - '@testing-library/react-hooks@8.0.1': - resolution: {integrity: sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==, tarball: https://registry.npmjs.org/@testing-library/react-hooks/-/react-hooks-8.0.1.tgz} - engines: {node: '>=12'} - peerDependencies: - '@types/react': ^16.9.0 || ^17.0.0 - react: ^16.9.0 || ^17.0.0 - react-dom: ^16.9.0 || ^17.0.0 - react-test-renderer: ^16.9.0 || ^17.0.0 - peerDependenciesMeta: - '@types/react': - optional: true - react-dom: - optional: true - react-test-renderer: - optional: true - '@testing-library/react@14.3.1': resolution: {integrity: sha512-H99XjUhWQw0lTgyMN05W3xQG1Nh4lq574D8keFf1dDoNTJgp66VbJozRaczoF+wsiaPJNt/TcnfpLGufGxSrZQ==, tarball: https://registry.npmjs.org/@testing-library/react/-/react-14.3.1.tgz} engines: {node: '>=14'} @@ -3120,10 +3073,6 @@ packages: caniuse-lite@1.0.30001690: resolution: {integrity: sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w==, tarball: https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz} - canvas@3.1.0: - resolution: {integrity: sha512-tTj3CqqukVJ9NgSahykNwtGda7V33VLObwrHfzT0vqJXu7J4d4C/7kQQW3fOEGDfZZoILPut5H00gOjyttPGyg==, tarball: https://registry.npmjs.org/canvas/-/canvas-3.1.0.tgz} - engines: {node: ^18.12.0 || >= 20.9.0} - case-anything@2.1.13: resolution: {integrity: sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==, tarball: https://registry.npmjs.org/case-anything/-/case-anything-2.1.13.tgz} engines: {node: '>=12.13'} @@ -3182,11 +3131,6 @@ packages: chart.js: '>=2.8.0' date-fns: '>=2.0.0' - chartjs-plugin-annotation@3.0.1: - resolution: {integrity: sha512-hlIrXXKqSDgb+ZjVYHefmlZUXK8KbkCPiynSVrTb/HjTMkT62cOInaT1NTQCKtxKKOm9oHp958DY3RTAFKtkHg==, tarball: https://registry.npmjs.org/chartjs-plugin-annotation/-/chartjs-plugin-annotation-3.0.1.tgz} - peerDependencies: - chart.js: '>=4.0.0' - check-error@2.1.1: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==, tarball: https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz} engines: {node: '>= 16'} @@ -3195,9 +3139,6 @@ packages: resolution: {integrity: sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==, tarball: https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz} engines: {node: '>= 8.10.0'} - chownr@1.1.4: - resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==, tarball: https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz} - chroma-js@2.4.2: resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==, tarball: https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz} @@ -3472,10 +3413,6 @@ packages: decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==, tarball: https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz} - decompress-response@6.0.0: - resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==, tarball: https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz} - engines: {node: '>=10'} - dedent@1.5.3: resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==, tarball: https://registry.npmjs.org/dedent/-/dedent-1.5.3.tgz} peerDependencies: @@ -3491,10 +3428,6 @@ packages: deep-equal@2.2.2: resolution: {integrity: sha512-xjVyBf0w5vH0I42jdAZzOKVldmPgSulmiyPRywoyq7HXC9qdgo17kxJE+rdnif5Tz6+pIrpJI8dCpMNLIGkUiA==, tarball: https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.2.tgz} - deep-extend@0.6.0: - resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==, tarball: https://registry.npmjs.org/deep-extend/-/deep-extend-0.6.0.tgz} - engines: {node: '>=4.0.0'} - deep-is@0.1.4: resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==, tarball: https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz} @@ -3546,10 +3479,6 @@ packages: engines: {node: '>=0.10'} hasBin: true - detect-libc@2.0.3: - resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==, tarball: https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.3.tgz} - engines: {node: '>=8'} - detect-newline@3.1.0: resolution: {integrity: sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==, tarball: https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz} engines: {node: '>=8'} @@ -3606,6 +3535,9 @@ packages: eastasianwidth@0.2.0: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, tarball: https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz} + easy-table@1.2.0: + resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==, tarball: https://registry.npmjs.org/easy-table/-/easy-table-1.2.0.tgz} + ee-first@1.1.1: resolution: {integrity: sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==, tarball: https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz} @@ -3619,9 +3551,6 @@ packages: resolution: {integrity: sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==, tarball: https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz} engines: {node: '>=12'} - emoji-datasource-apple@15.1.2: - resolution: {integrity: sha512-32UZTK36x4DlvgD1smkmBlKmmJH7qUr5Qut4U/on2uQLGqNXGbZiheq6/LEA8xRQEUrmNrGEy25wpEI6wvYmTg==, tarball: https://registry.npmjs.org/emoji-datasource-apple/-/emoji-datasource-apple-15.1.2.tgz} - emoji-mart@5.6.0: resolution: {integrity: sha512-eJp3QRe79pjwa+duv+n7+5YsNhRcMl812EcFVwrnRvYKoNPoQb5qxU8DG6Bgwji0akHdp6D4Ln6tYLG58MFSow==, tarball: https://registry.npmjs.org/emoji-mart/-/emoji-mart-5.6.0.tgz} @@ -3639,8 +3568,9 @@ packages: resolution: {integrity: sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==, tarball: https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz} engines: {node: '>= 0.8'} - end-of-stream@1.4.4: - resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==, tarball: https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz} + enhanced-resolve@5.18.1: + resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==, tarball: https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz} + engines: {node: '>=10.13.0'} entities@2.2.0: resolution: {integrity: sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==, tarball: https://registry.npmjs.org/entities/-/entities-2.2.0.tgz} @@ -3772,10 +3702,6 @@ packages: resolution: {integrity: sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==, tarball: https://registry.npmjs.org/exit/-/exit-0.1.2.tgz} engines: {node: '>= 0.8.0'} - expand-template@2.0.3: - resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==, tarball: https://registry.npmjs.org/expand-template/-/expand-template-2.0.3.tgz} - engines: {node: '>=6'} - expect@29.7.0: resolution: {integrity: sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==, tarball: https://registry.npmjs.org/expect/-/expect-29.7.0.tgz} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -3898,9 +3824,6 @@ packages: front-matter@4.0.2: resolution: {integrity: sha512-I8ZuJ/qG92NWX8i5x1Y8qyj3vizhXS31OxjKDu3LKP+7/qBgfIKValiZIEwoVoJKUHlhWtYrktkxV1XsX+pPlg==, tarball: https://registry.npmjs.org/front-matter/-/front-matter-4.0.2.tgz} - fs-constants@1.0.0: - resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==, tarball: https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz} - fs-extra@11.2.0: resolution: {integrity: sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==, tarball: https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz} engines: {node: '>=14.14'} @@ -3952,9 +3875,6 @@ packages: resolution: {integrity: sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==, tarball: https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz} engines: {node: '>=10'} - github-from-package@0.0.0: - resolution: {integrity: sha512-SyHy3T1v2NUXn29OsWdxmK6RwHD+vkj3v8en8AOBZ1wBQ/hCAQ5bAQTD02kW4W9tUp/3Qh6J8r9EvntiyCmOOw==, tarball: https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz} - glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==, tarball: https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz} engines: {node: '>= 6'} @@ -4122,9 +4042,6 @@ packages: inherits@2.0.4: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==, tarball: https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz} - ini@1.3.8: - resolution: {integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==, tarball: https://registry.npmjs.org/ini/-/ini-1.3.8.tgz} - inline-style-parser@0.2.4: resolution: {integrity: sha512-0aO8FkhNZlj/ZIbNi7Lxxr12obT7cL1moPfE4tg1LkX7LlLfC6DeX4l2ZEud1ukP9jNQyNnfzQVqwbwmAATY4Q==, tarball: https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.4.tgz} @@ -4525,6 +4442,10 @@ packages: resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==, tarball: https://registry.npmjs.org/jiti/-/jiti-1.21.7.tgz} hasBin: true + jiti@2.4.2: + resolution: {integrity: sha512-rg9zJN+G4n2nfJl5MW3BMygZX56zKPNVEYYqq7adpmMh4Jn2QNEwhvQlFy6jPVdcod7txZtKHWnyZiA3a0zP7A==, tarball: https://registry.npmjs.org/jiti/-/jiti-2.4.2.tgz} + hasBin: true + js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, tarball: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz} @@ -4587,6 +4508,14 @@ packages: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==, tarball: https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz} engines: {node: '>=6'} + knip@5.51.0: + resolution: {integrity: sha512-gw5TzLt9FikIk1oPWDc7jPRb/+L3Aw1ia25hWUQBb+hXS/Rbdki/0rrzQygjU5/CVYnRWYqc1kgdNi60Jm1lPg==, tarball: https://registry.npmjs.org/knip/-/knip-5.51.0.tgz} + engines: {node: '>=18.18.0'} + hasBin: true + peerDependencies: + '@types/node': '>=18' + typescript: '>=5.0.4' + leven@3.1.0: resolution: {integrity: sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==, tarball: https://registry.npmjs.org/leven/-/leven-3.1.0.tgz} engines: {node: '>=6'} @@ -4941,10 +4870,6 @@ packages: resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==, tarball: https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz} engines: {node: '>=6'} - mimic-response@3.1.0: - resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==, tarball: https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz} - engines: {node: '>=10'} - min-indent@1.0.1: resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==, tarball: https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz} engines: {node: '>=4'} @@ -4963,9 +4888,6 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==, tarball: https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz} engines: {node: '>=16 || 14 >=14.17'} - mkdirp-classic@0.5.3: - resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==, tarball: https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz} - mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==, tarball: https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz} engines: {node: '>=10'} @@ -5012,9 +4934,6 @@ packages: engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} hasBin: true - napi-build-utils@2.0.0: - resolution: {integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA==, tarball: https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz} - natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, tarball: https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz} @@ -5022,13 +4941,6 @@ packages: resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==, tarball: https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz} engines: {node: '>= 0.6'} - node-abi@3.74.0: - resolution: {integrity: sha512-c5XK0MjkGBrQPGYG24GBADZud0NCbznxNx0ZkS+ebUTrmV1qTDxPxSL8zEAPURXSbLRWVexxmP4986BziahL5w==, tarball: https://registry.npmjs.org/node-abi/-/node-abi-3.74.0.tgz} - engines: {node: '>=10'} - - node-addon-api@7.1.1: - resolution: {integrity: sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==, tarball: https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz} - node-int64@0.4.0: resolution: {integrity: sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==, tarball: https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz} @@ -5143,6 +5055,10 @@ packages: resolution: {integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==, tarball: https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz} engines: {node: '>=8'} + parse-ms@4.0.0: + resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==, tarball: https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz} + engines: {node: '>=18'} + parse5@7.1.2: resolution: {integrity: sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==, tarball: https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz} @@ -5272,11 +5188,6 @@ packages: resolution: {integrity: sha512-6oz2beyjc5VMn/KV1pPw8fliQkhBXrVn1Z3TVyqZxU8kZpzEKhBdmCFqI6ZbmGtamQvQGuU1sgPTk8ZrXDD7jQ==, tarball: https://registry.npmjs.org/postcss/-/postcss-8.5.1.tgz} engines: {node: ^10 || ^12 || >=14} - prebuild-install@7.1.3: - resolution: {integrity: sha512-8Mf2cbV7x1cXPUILADGI3wuhfqWvtiLA1iclTDbFRZkgRQS0NqsPZphna9V+HyTEadheuPmjaJMsbzKQFOzLug==, tarball: https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.1.3.tgz} - engines: {node: '>=10'} - hasBin: true - prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==, tarball: https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz} engines: {node: '>= 0.8.0'} @@ -5298,6 +5209,10 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==, tarball: https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + pretty-ms@9.2.0: + resolution: {integrity: sha512-4yf0QO/sllf/1zbZWYnvWw3NxCQwLXKzIj0G849LSufP15BXKM0rbD2Z3wVnkMfjdn/CB0Dpp444gYAACdsplg==, tarball: https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.2.0.tgz} + engines: {node: '>=18'} + prismjs@1.30.0: resolution: {integrity: sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==, tarball: https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz} engines: {node: '>=6'} @@ -5342,9 +5257,6 @@ packages: psl@1.9.0: resolution: {integrity: sha512-E/ZsdU4HLs/68gYzgGTkMicWTLPdAftJLfJFlLUAAKZGkStNU72sZjT66SnMDVOfOWY/YAoiD7Jxa9iHvngcag==, tarball: https://registry.npmjs.org/psl/-/psl-1.9.0.tgz} - pump@3.0.2: - resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==, tarball: https://registry.npmjs.org/pump/-/pump-3.0.2.tgz} - punycode@2.3.1: resolution: {integrity: sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==, tarball: https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz} engines: {node: '>=6'} @@ -5370,10 +5282,6 @@ packages: resolution: {integrity: sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==, tarball: https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz} engines: {node: '>= 0.8'} - rc@1.2.8: - resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==, tarball: https://registry.npmjs.org/rc/-/rc-1.2.8.tgz} - hasBin: true - react-chartjs-2@5.3.0: resolution: {integrity: sha512-UfZZFnDsERI3c3CZGxzvNJd02SHjaSJ8kgW1djn65H1KK8rehwTjyrRKOG3VTMG8wtHZ5rgAO5oTHtHi9GCCmw==, tarball: https://registry.npmjs.org/react-chartjs-2/-/react-chartjs-2-5.3.0.tgz} peerDependencies: @@ -5411,12 +5319,6 @@ packages: peerDependencies: react: ^18.3.1 - react-error-boundary@3.1.4: - resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==, tarball: https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-3.1.4.tgz} - engines: {node: '>=10', npm: '>=6'} - peerDependencies: - react: '>=16.13.1' - react-fast-compare@2.0.4: resolution: {integrity: sha512-suNP+J1VU1MWFKcyt7RtjiSWUjvidmQSlqu+eHslq+342xCbGTYmC0mEhPCOHxlW0CywylOC1u2DFAT+bv4dBw==, tarball: https://registry.npmjs.org/react-fast-compare/-/react-fast-compare-2.0.4.tgz} @@ -5765,12 +5667,6 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==, tarball: https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz} engines: {node: '>=14'} - simple-concat@1.0.1: - resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==, tarball: https://registry.npmjs.org/simple-concat/-/simple-concat-1.0.1.tgz} - - simple-get@4.0.1: - resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==, tarball: https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz} - sisteransi@1.0.5: resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==, tarball: https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz} @@ -5778,6 +5674,10 @@ packages: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==, tarball: https://registry.npmjs.org/slash/-/slash-3.0.0.tgz} engines: {node: '>=8'} + smol-toml@1.3.4: + resolution: {integrity: sha512-UOPtVuYkzYGee0Bd2Szz8d2G3RfMfJ2t3qVdZUAozZyAk+a0Sxa+QKix0YCwjL/A1RR0ar44nCxaoN9FxdJGwA==, tarball: https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.4.tgz} + engines: {node: '>= 18'} + source-map-js@1.2.1: resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==, tarball: https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz} engines: {node: '>=0.10.0'} @@ -5844,12 +5744,6 @@ packages: react-dom: optional: true - storybook-react-context@0.7.0: - resolution: {integrity: sha512-esCfwMhnHfJZQipRHfVpjH5mYBfOjj2JEi5XFAZ2BXCl3mIEypMdNCQZmNUvuR1u8EsQWClArhtL0h+FCiLcrw==, tarball: https://registry.npmjs.org/storybook-react-context/-/storybook-react-context-0.7.0.tgz} - peerDependencies: - react: '>=18' - react-dom: '>=18' - storybook@8.5.3: resolution: {integrity: sha512-2WtNBZ45u1AhviRU+U+ld588tH8gDa702dNSq5C8UBaE9PlOsazGsyp90dw1s9YRvi+ejrjKAupQAU0GwwUiVg==, tarball: https://registry.npmjs.org/storybook/-/storybook-8.5.3.tgz} hasBin: true @@ -5911,14 +5805,14 @@ packages: resolution: {integrity: sha512-mnVSV2l+Zv6BLpSD/8V87CW/y9EmmbYzGCIavsnsI6/nwn26DwffM/yztm30Z/I2DY9wdS3vXVCMnHDgZaVNoA==, tarball: https://registry.npmjs.org/strip-indent/-/strip-indent-4.0.0.tgz} engines: {node: '>=12'} - strip-json-comments@2.0.1: - resolution: {integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==, tarball: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz} - engines: {node: '>=0.10.0'} - strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==, tarball: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz} engines: {node: '>=8'} + strip-json-comments@5.0.1: + resolution: {integrity: sha512-0fk9zBqO67Nq5M/m45qHCJxylV/DhBlIOVExqgOMiCCrzrhU6tCibRXNqE3jwJLftzE9SNuZtYbpzcO+i9FiKw==, tarball: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.1.tgz} + engines: {node: '>=14.16'} + style-to-object@1.0.8: resolution: {integrity: sha512-xT47I/Eo0rwJmaXC4oilDGDWLohVhR6o/xAQcPQN8q6QBuZVL8qMYL85kLmST5cPjAorwvqIA4qXTRQoYHaL6g==, tarball: https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.8.tgz} @@ -5966,11 +5860,8 @@ packages: engines: {node: '>=14.0.0'} hasBin: true - tar-fs@2.1.2: - resolution: {integrity: sha512-EsaAXwxmx8UB7FRKqeozqEPop69DXcmYwTQwXvyAPF352HJsPdkVhvTaDPYqfNgruveJIJy3TA2l+2zj8LJIJA==, tarball: https://registry.npmjs.org/tar-fs/-/tar-fs-2.1.2.tgz} - - tar-stream@2.2.0: - resolution: {integrity: sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==, tarball: https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz} + tapable@2.2.1: + resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==, tarball: https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz} engines: {node: '>=6'} telejson@7.2.0: @@ -6073,8 +5964,8 @@ packages: '@swc/wasm': optional: true - ts-poet@6.6.0: - resolution: {integrity: sha512-4vEH/wkhcjRPFOdBwIh9ItO6jOoumVLRF4aABDX5JSNEubSqwOulihxQPqai+OkuygJm3WYMInxXQX4QwVNMuw==, tarball: https://registry.npmjs.org/ts-poet/-/ts-poet-6.6.0.tgz} + ts-poet@6.11.0: + resolution: {integrity: sha512-r5AGF8vvb+GjBsnqiTqbLhN1/U2FJt6BI+k0dfCrkKzWvUhNlwMmq9nDHuucHs45LomgHjZPvYj96dD3JawjJA==, tarball: https://registry.npmjs.org/ts-poet/-/ts-poet-6.11.0.tgz} ts-proto-descriptors@1.15.0: resolution: {integrity: sha512-TYyJ7+H+7Jsqawdv+mfsEpZPTIj9siDHS6EMCzG/z3b/PZiphsX+mWtqFfFVe5/N0Th6V3elK9lQqjnrgTOfrg==, tarball: https://registry.npmjs.org/ts-proto-descriptors/-/ts-proto-descriptors-1.15.0.tgz} @@ -6100,9 +5991,6 @@ packages: tslib@2.8.1: resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==, tarball: https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz} - tunnel-agent@0.6.0: - resolution: {integrity: sha512-McnNiV1l8RYeY8tBgEpuodCC1mLUdbSN+CYBL7kJsJNInOP8UjDDEwdk6Mw60vdLLrr5NHKZhMAOSrR2NZuQ+w==, tarball: https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz} - tween-functions@1.2.0: resolution: {integrity: sha512-PZBtLYcCLtEcjL14Fzb1gSxPBeL7nWvGhO5ZFPGqziCcr8uvHp0NDmdjBchp6KHL+tExcg0m3NISmKxhU394dA==, tarball: https://registry.npmjs.org/tween-functions/-/tween-functions-1.2.0.tgz} @@ -6521,6 +6409,15 @@ packages: yup@1.6.1: resolution: {integrity: sha512-JED8pB50qbA4FOkDol0bYF/p60qSEDQqBD0/qeIrUCG1KbPBIQ776fCUNb9ldbPcSTxA69g/47XTo4TqWiuXOA==, tarball: https://registry.npmjs.org/yup/-/yup-1.6.1.tgz} + zod-validation-error@3.4.0: + resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==, tarball: https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.4.0.tgz} + engines: {node: '>=18.0.0'} + peerDependencies: + zod: ^3.18.0 + + zod@3.24.3: + resolution: {integrity: sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==, tarball: https://registry.npmjs.org/zod/-/zod-3.24.3.tgz} + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==, tarball: https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz} @@ -6849,6 +6746,7 @@ snapshots: '@cspotcode/source-map-support@0.8.1': dependencies: '@jridgewell/trace-mapping': 0.3.9 + optional: true '@emoji-mart/data@1.2.1': {} @@ -7373,6 +7271,7 @@ snapshots: dependencies: '@jridgewell/resolve-uri': 3.1.2 '@jridgewell/sourcemap-codec': 1.5.0 + optional: true '@kurkle/color@0.3.2': {} @@ -8145,15 +8044,6 @@ snapshots: optionalDependencies: '@types/react': 18.3.12 - '@radix-ui/react-visually-hidden@1.1.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - '@types/react-dom': 18.3.1 - '@radix-ui/react-visually-hidden@1.1.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@radix-ui/react-primitive': 2.0.1(@types/react-dom@18.3.1)(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -8665,15 +8555,6 @@ snapshots: lodash: 4.17.21 redent: 3.0.0 - '@testing-library/react-hooks@8.0.1(@types/react@18.3.12)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': - dependencies: - '@babel/runtime': 7.26.10 - react: 18.3.1 - react-error-boundary: 3.1.4(react@18.3.1) - optionalDependencies: - '@types/react': 18.3.12 - react-dom: 18.3.1(react@18.3.1) - '@testing-library/react@14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@babel/runtime': 7.26.10 @@ -8699,13 +8580,17 @@ snapshots: mkdirp: 1.0.4 path-browserify: 1.0.1 - '@tsconfig/node10@1.0.11': {} + '@tsconfig/node10@1.0.11': + optional: true - '@tsconfig/node12@1.0.11': {} + '@tsconfig/node12@1.0.11': + optional: true - '@tsconfig/node14@1.0.3': {} + '@tsconfig/node14@1.0.3': + optional: true - '@tsconfig/node16@1.0.4': {} + '@tsconfig/node16@1.0.4': + optional: true '@types/aria-query@5.0.3': {} @@ -9127,7 +9012,8 @@ snapshots: normalize-path: 3.0.0 picomatch: 2.3.1 - arg@4.1.3: {} + arg@4.1.3: + optional: true arg@5.0.2: {} @@ -9135,8 +9021,7 @@ snapshots: dependencies: sprintf-js: 1.0.3 - argparse@2.0.1: - optional: true + argparse@2.0.1: {} aria-hidden@1.2.4: dependencies: @@ -9375,11 +9260,6 @@ snapshots: caniuse-lite@1.0.30001690: {} - canvas@3.1.0: - dependencies: - node-addon-api: 7.1.1 - prebuild-install: 7.1.3 - case-anything@2.1.13: {} ccount@2.0.1: {} @@ -9433,10 +9313,6 @@ snapshots: chart.js: 4.4.0 date-fns: 2.30.0 - chartjs-plugin-annotation@3.0.1(chart.js@4.4.0): - dependencies: - chart.js: 4.4.0 - check-error@2.1.1: {} chokidar@3.6.0: @@ -9451,8 +9327,6 @@ snapshots: optionalDependencies: fsevents: 2.3.3 - chownr@1.1.4: {} - chroma-js@2.4.2: {} chromatic@11.25.2: {} @@ -9584,7 +9458,8 @@ snapshots: - supports-color - ts-node - create-require@1.1.1: {} + create-require@1.1.1: + optional: true cron-parser@4.9.0: dependencies: @@ -9680,10 +9555,6 @@ snapshots: dependencies: character-entities: 2.0.2 - decompress-response@6.0.0: - dependencies: - mimic-response: 3.1.0 - dedent@1.5.3(babel-plugin-macros@3.1.0): optionalDependencies: babel-plugin-macros: 3.1.0 @@ -9711,8 +9582,6 @@ snapshots: which-collection: 1.0.1 which-typed-array: 1.1.18 - deep-extend@0.6.0: {} - deep-is@0.1.4: optional: true @@ -9754,8 +9623,6 @@ snapshots: detect-libc@1.0.3: {} - detect-libc@2.0.3: {} - detect-newline@3.1.0: {} detect-node-es@1.1.0: {} @@ -9768,7 +9635,8 @@ snapshots: diff-sequences@29.6.3: {} - diff@4.0.2: {} + diff@4.0.2: + optional: true dlv@1.1.3: {} @@ -9811,6 +9679,12 @@ snapshots: eastasianwidth@0.2.0: {} + easy-table@1.2.0: + dependencies: + ansi-regex: 5.0.1 + optionalDependencies: + wcwidth: 1.0.1 + ee-first@1.1.1: {} electron-to-chromium@1.5.50: {} @@ -9819,8 +9693,6 @@ snapshots: emittery@0.13.1: {} - emoji-datasource-apple@15.1.2: {} - emoji-mart@5.6.0: {} emoji-regex@8.0.0: {} @@ -9831,9 +9703,10 @@ snapshots: encodeurl@2.0.0: {} - end-of-stream@1.4.4: + enhanced-resolve@5.18.1: dependencies: - once: 1.4.0 + graceful-fs: 4.2.11 + tapable: 2.2.1 entities@2.2.0: {} @@ -10027,8 +9900,6 @@ snapshots: exit@0.1.2: {} - expand-template@2.0.3: {} - expect@29.7.0: dependencies: '@jest/expect-utils': 29.7.0 @@ -10202,8 +10073,6 @@ snapshots: dependencies: js-yaml: 3.14.1 - fs-constants@1.0.0: {} - fs-extra@11.2.0: dependencies: graceful-fs: 4.2.11 @@ -10250,8 +10119,6 @@ snapshots: get-stream@6.0.1: {} - github-from-package@0.0.0: {} - glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -10441,8 +10308,6 @@ snapshots: inherits@2.0.4: {} - ini@1.3.8: {} - inline-style-parser@0.2.4: {} internal-slot@1.0.6: @@ -10772,7 +10637,7 @@ snapshots: jest-util: 29.7.0 pretty-format: 29.7.0 - jest-environment-jsdom@29.5.0(canvas@3.1.0): + jest-environment-jsdom@29.5.0: dependencies: '@jest/environment': 29.6.2 '@jest/fake-timers': 29.6.2 @@ -10781,9 +10646,7 @@ snapshots: '@types/node': 20.17.16 jest-mock: 29.6.2 jest-util: 29.6.2 - jsdom: 20.0.3(canvas@3.1.0) - optionalDependencies: - canvas: 3.1.0 + jsdom: 20.0.3 transitivePeerDependencies: - bufferutil - supports-color @@ -10798,9 +10661,9 @@ snapshots: jest-mock: 29.7.0 jest-util: 29.7.0 - jest-fixed-jsdom@0.0.9(jest-environment-jsdom@29.5.0(canvas@3.1.0)): + jest-fixed-jsdom@0.0.9(jest-environment-jsdom@29.5.0): dependencies: - jest-environment-jsdom: 29.5.0(canvas@3.1.0) + jest-environment-jsdom: 29.5.0 jest-get-type@29.4.3: {} @@ -11047,6 +10910,8 @@ snapshots: jiti@1.21.7: {} + jiti@2.4.2: {} + js-tokens@4.0.0: {} js-yaml@3.14.1: @@ -11057,11 +10922,10 @@ snapshots: js-yaml@4.1.0: dependencies: argparse: 2.0.1 - optional: true jsdoc-type-pratt-parser@4.1.0: {} - jsdom@20.0.3(canvas@3.1.0): + jsdom@20.0.3: dependencies: abab: 2.0.6 acorn: 8.14.0 @@ -11089,8 +10953,6 @@ snapshots: whatwg-url: 11.0.0 ws: 8.17.1 xml-name-validator: 4.0.0 - optionalDependencies: - canvas: 3.1.0 transitivePeerDependencies: - bufferutil - supports-color @@ -11133,6 +10995,25 @@ snapshots: kleur@3.0.3: {} + knip@5.51.0(@types/node@20.17.16)(typescript@5.6.3): + dependencies: + '@nodelib/fs.walk': 1.2.8 + '@types/node': 20.17.16 + easy-table: 1.2.0 + enhanced-resolve: 5.18.1 + fast-glob: 3.3.3 + jiti: 2.4.2 + js-yaml: 4.1.0 + minimist: 1.2.8 + picocolors: 1.1.1 + picomatch: 4.0.2 + pretty-ms: 9.2.0 + smol-toml: 1.3.4 + strip-json-comments: 5.0.1 + typescript: 5.6.3 + zod: 3.24.3 + zod-validation-error: 3.4.0(zod@3.24.3) + leven@3.1.0: {} levn@0.4.1: @@ -11215,7 +11096,8 @@ snapshots: dependencies: semver: 7.6.2 - make-error@1.3.6: {} + make-error@1.3.6: + optional: true makeerror@1.0.12: dependencies: @@ -11762,8 +11644,6 @@ snapshots: mimic-fn@2.1.0: {} - mimic-response@3.1.0: {} - min-indent@1.0.1: {} minimatch@3.1.2: @@ -11778,8 +11658,6 @@ snapshots: minipass@7.1.2: {} - mkdirp-classic@0.5.3: {} - mkdirp@1.0.4: {} mock-socket@9.3.1: {} @@ -11829,18 +11707,10 @@ snapshots: nanoid@3.3.8: {} - napi-build-utils@2.0.0: {} - natural-compare@1.4.0: {} negotiator@0.6.3: {} - node-abi@3.74.0: - dependencies: - semver: 7.6.2 - - node-addon-api@7.1.1: {} - node-int64@0.4.0: {} node-releases@2.0.18: {} @@ -11971,6 +11841,8 @@ snapshots: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 + parse-ms@4.0.0: {} + parse5@7.1.2: dependencies: entities: 4.5.0 @@ -12071,21 +11943,6 @@ snapshots: picocolors: 1.1.1 source-map-js: 1.2.1 - prebuild-install@7.1.3: - dependencies: - detect-libc: 2.0.3 - expand-template: 2.0.3 - github-from-package: 0.0.0 - minimist: 1.2.8 - mkdirp-classic: 0.5.3 - napi-build-utils: 2.0.0 - node-abi: 3.74.0 - pump: 3.0.2 - rc: 1.2.8 - simple-get: 4.0.1 - tar-fs: 2.1.2 - tunnel-agent: 0.6.0 - prelude-ls@1.2.1: optional: true @@ -12106,6 +11963,10 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + pretty-ms@9.2.0: + dependencies: + parse-ms: 4.0.0 + prismjs@1.30.0: {} process-nextick-args@2.0.1: {} @@ -12159,11 +12020,6 @@ snapshots: psl@1.9.0: {} - pump@3.0.2: - dependencies: - end-of-stream: 1.4.4 - once: 1.4.0 - punycode@2.3.1: {} pure-rand@6.1.0: {} @@ -12185,13 +12041,6 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - rc@1.2.8: - dependencies: - deep-extend: 0.6.0 - ini: 1.3.8 - minimist: 1.2.8 - strip-json-comments: 2.0.1 - react-chartjs-2@5.3.0(chart.js@4.4.0)(react@18.3.1): dependencies: chart.js: 4.4.0 @@ -12247,11 +12096,6 @@ snapshots: react: 18.3.1 scheduler: 0.23.2 - react-error-boundary@3.1.4(react@18.3.1): - dependencies: - '@babel/runtime': 7.26.10 - react: 18.3.1 - react-fast-compare@2.0.4: {} react-fast-compare@3.2.2: {} @@ -12694,18 +12538,12 @@ snapshots: signal-exit@4.1.0: {} - simple-concat@1.0.1: {} - - simple-get@4.0.1: - dependencies: - decompress-response: 6.0.0 - once: 1.4.0 - simple-concat: 1.0.1 - sisteransi@1.0.5: {} slash@3.0.0: {} + smol-toml@1.3.4: {} + source-map-js@1.2.1: {} source-map-support@0.5.13: @@ -12761,14 +12599,6 @@ snapshots: react: 18.3.1 react-dom: 18.3.1(react@18.3.1) - storybook-react-context@0.7.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(storybook@8.5.3(prettier@3.4.1)): - dependencies: - '@storybook/preview-api': 8.5.3(storybook@8.5.3(prettier@3.4.1)) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) - transitivePeerDependencies: - - storybook - storybook@8.5.3(prettier@3.4.1): dependencies: '@storybook/core': 8.5.3(prettier@3.4.1) @@ -12833,10 +12663,10 @@ snapshots: dependencies: min-indent: 1.0.1 - strip-json-comments@2.0.1: {} - strip-json-comments@3.1.1: {} + strip-json-comments@5.0.1: {} + style-to-object@1.0.8: dependencies: inline-style-parser: 0.2.4 @@ -12906,20 +12736,7 @@ snapshots: transitivePeerDependencies: - ts-node - tar-fs@2.1.2: - dependencies: - chownr: 1.1.4 - mkdirp-classic: 0.5.3 - pump: 3.0.2 - tar-stream: 2.2.0 - - tar-stream@2.2.0: - dependencies: - bl: 4.1.0 - end-of-stream: 1.4.4 - fs-constants: 1.0.0 - inherits: 2.0.4 - readable-stream: 3.6.2 + tapable@2.2.1: {} telejson@7.2.0: dependencies: @@ -13007,7 +12824,7 @@ snapshots: '@tsconfig/node14': 1.0.3 '@tsconfig/node16': 1.0.4 '@types/node': 20.17.16 - acorn: 8.14.0 + acorn: 8.14.1 acorn-walk: 8.3.4 arg: 4.1.3 create-require: 1.1.1 @@ -13018,8 +12835,9 @@ snapshots: yn: 3.1.1 optionalDependencies: '@swc/core': 1.3.38 + optional: true - ts-poet@6.6.0: + ts-poet@6.11.0: dependencies: dprint-node: 1.0.8 @@ -13032,7 +12850,7 @@ snapshots: dependencies: case-anything: 2.1.13 protobufjs: 7.4.0 - ts-poet: 6.6.0 + ts-poet: 6.11.0 ts-proto-descriptors: 1.15.0 ts-prune@0.10.3: @@ -13056,10 +12874,6 @@ snapshots: tslib@2.8.1: {} - tunnel-agent@0.6.0: - dependencies: - safe-buffer: 5.2.1 - tween-functions@1.2.0: {} tweetnacl@0.14.5: {} @@ -13224,7 +13038,8 @@ snapshots: uuid@9.0.1: {} - v8-compile-cache-lib@3.0.1: {} + v8-compile-cache-lib@3.0.1: + optional: true v8-to-istanbul@9.3.0: dependencies: @@ -13430,7 +13245,8 @@ snapshots: y18n: 5.0.8 yargs-parser: 21.1.1 - yn@3.1.1: {} + yn@3.1.1: + optional: true yocto-queue@0.1.0: {} @@ -13443,4 +13259,10 @@ snapshots: toposort: 2.0.2 type-fest: 2.19.0 + zod-validation-error@3.4.0(zod@3.24.3): + dependencies: + zod: 3.24.3 + + zod@3.24.3: {} + zwitch@2.0.4: {} diff --git a/site/src/__mocks__/react-markdown.tsx b/site/src/__mocks__/react-markdown.tsx deleted file mode 100644 index de1d2ea4d21e0..0000000000000 --- a/site/src/__mocks__/react-markdown.tsx +++ /dev/null @@ -1,7 +0,0 @@ -import type { FC, PropsWithChildren } from "react"; - -const ReactMarkdown: FC = ({ children }) => { - return

; -}; - -export default ReactMarkdown; diff --git a/site/src/api/api.ts b/site/src/api/api.ts index 260f5d4880ef2..ef15beb8166f5 100644 --- a/site/src/api/api.ts +++ b/site/src/api/api.ts @@ -2563,7 +2563,7 @@ interface ClientApi extends ApiMethods { getAxiosInstance: () => AxiosInstance; } -export class Api extends ApiMethods implements ClientApi { +class Api extends ApiMethods implements ClientApi { constructor() { const scopedAxiosInstance = getConfiguredAxiosInstance(); super(scopedAxiosInstance); diff --git a/site/src/api/errors.ts b/site/src/api/errors.ts index 873163e11a68d..bb51bebce651b 100644 --- a/site/src/api/errors.ts +++ b/site/src/api/errors.ts @@ -31,7 +31,7 @@ export const isApiError = (err: unknown): err is ApiError => { ); }; -export const isApiErrorResponse = (err: unknown): err is ApiErrorResponse => { +const isApiErrorResponse = (err: unknown): err is ApiErrorResponse => { return ( typeof err === "object" && err !== null && diff --git a/site/src/api/queries/authCheck.ts b/site/src/api/queries/authCheck.ts index 813bec828500a..11f5fafa7d25a 100644 --- a/site/src/api/queries/authCheck.ts +++ b/site/src/api/queries/authCheck.ts @@ -1,7 +1,7 @@ import { API } from "api/api"; import type { AuthorizationRequest } from "api/typesGenerated"; -export const AUTHORIZATION_KEY = "authorization"; +const AUTHORIZATION_KEY = "authorization"; export const getAuthorizationKey = (req: AuthorizationRequest) => [AUTHORIZATION_KEY, req] as const; diff --git a/site/src/api/queries/groups.ts b/site/src/api/queries/groups.ts index 4ddce87a249a2..dc6285e8d6de7 100644 --- a/site/src/api/queries/groups.ts +++ b/site/src/api/queries/groups.ts @@ -10,7 +10,7 @@ type GroupSortOrder = "asc" | "desc"; export const groupsQueryKey = ["groups"]; -export const groups = () => { +const groups = () => { return { queryKey: groupsQueryKey, queryFn: () => API.getGroups(), @@ -60,7 +60,7 @@ export function groupsByUserIdInOrganization(organization: string) { } satisfies UseQueryOptions; } -export function selectGroupsByUserId(groups: Group[]): GroupsByUserId { +function selectGroupsByUserId(groups: Group[]): GroupsByUserId { // Sorting here means that nothing has to be sorted for the individual // user arrays later const sorted = sortGroupsByName(groups, "asc"); @@ -163,7 +163,7 @@ export const removeMember = (queryClient: QueryClient) => { }; }; -export const invalidateGroup = ( +const invalidateGroup = ( queryClient: QueryClient, organization: string, groupId: string, @@ -176,7 +176,7 @@ export const invalidateGroup = ( queryClient.invalidateQueries(getGroupQueryKey(organization, groupId)), ]); -export function sortGroupsByName( +function sortGroupsByName( groups: readonly T[], order: GroupSortOrder, ) { diff --git a/site/src/api/queries/idpsync.ts b/site/src/api/queries/idpsync.ts index 05fb26a4624d3..eca3ec496faee 100644 --- a/site/src/api/queries/idpsync.ts +++ b/site/src/api/queries/idpsync.ts @@ -2,9 +2,7 @@ import { API } from "api/api"; import type { OrganizationSyncSettings } from "api/typesGenerated"; import type { QueryClient } from "react-query"; -export const getOrganizationIdpSyncSettingsKey = () => [ - "organizationIdpSyncSettings", -]; +const getOrganizationIdpSyncSettingsKey = () => ["organizationIdpSyncSettings"]; export const patchOrganizationSyncSettings = (queryClient: QueryClient) => { return { diff --git a/site/src/api/queries/organizations.ts b/site/src/api/queries/organizations.ts index 238fb4493fb52..c7b42f5f0e79f 100644 --- a/site/src/api/queries/organizations.ts +++ b/site/src/api/queries/organizations.ts @@ -8,7 +8,6 @@ import type { GroupSyncSettings, PaginatedMembersRequest, PaginatedMembersResponse, - ProvisionerJobStatus, RoleSyncSettings, UpdateOrganizationRequest, } from "api/typesGenerated"; @@ -182,20 +181,20 @@ export const provisionerDaemons = ( }; }; -export const getProvisionerDaemonGroupsKey = (organization: string) => [ +const getProvisionerDaemonGroupsKey = (organization: string) => [ "organization", organization, "provisionerDaemons", ]; -export const provisionerDaemonGroups = (organization: string) => { +const provisionerDaemonGroups = (organization: string) => { return { queryKey: getProvisionerDaemonGroupsKey(organization), queryFn: () => API.getProvisionerDaemonGroupsByOrganization(organization), }; }; -export const getGroupIdpSyncSettingsKey = (organization: string) => [ +const getGroupIdpSyncSettingsKey = (organization: string) => [ "organizations", organization, "groupIdpSyncSettings", @@ -220,7 +219,7 @@ export const patchGroupSyncSettings = ( }; }; -export const getRoleIdpSyncSettingsKey = (organization: string) => [ +const getRoleIdpSyncSettingsKey = (organization: string) => [ "organizations", organization, "roleIdpSyncSettings", @@ -350,7 +349,7 @@ export const workspacePermissionsByOrganization = ( }; }; -export const getOrganizationIdpSyncClaimFieldValuesKey = ( +const getOrganizationIdpSyncClaimFieldValuesKey = ( organization: string, field: string, ) => [organization, "idpSync", "fieldValues", field]; diff --git a/site/src/api/queries/settings.ts b/site/src/api/queries/settings.ts index 5b040508ae686..7605d16c41d6d 100644 --- a/site/src/api/queries/settings.ts +++ b/site/src/api/queries/settings.ts @@ -5,7 +5,7 @@ import type { } from "api/typesGenerated"; import type { QueryClient, QueryOptions } from "react-query"; -export const userQuietHoursScheduleKey = (userId: string) => [ +const userQuietHoursScheduleKey = (userId: string) => [ "settings", userId, "quietHours", diff --git a/site/src/api/queries/templates.ts b/site/src/api/queries/templates.ts index 372863de41991..72e5deaefc72a 100644 --- a/site/src/api/queries/templates.ts +++ b/site/src/api/queries/templates.ts @@ -13,7 +13,7 @@ import type { MutationOptions, QueryClient, QueryOptions } from "react-query"; import { delay } from "utils/delay"; import { getTemplateVersionFiles } from "utils/templateVersion"; -export const templateKey = (templateId: string) => ["template", templateId]; +const templateKey = (templateId: string) => ["template", templateId]; export const template = (templateId: string): QueryOptions