diff --git a/Makefile b/Makefile index e8b5a1a2c..a5bcbb998 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,14 @@ clean: cd ./backend && make clean && cd ../ui && yarn clean -init: - cd ./backend && make init +build: + cd ./backend && make build -local: init +run: cd backend/cmd && ./main && cd ../../ui/ && yarn && yarn start -build: - docker-compose build - docker: build - docker-compose --env-file backend/.env up + docker-compose build && docker-compose --env-file .env up ls: @grep '^[^#[:space:]].*:' Makefile | cut -d ':' -f 1 diff --git a/backend/Dockerfile b/backend/Dockerfile index c67641238..919983f24 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -13,4 +13,4 @@ COPY . . EXPOSE 8081 -CMD ["make", "run"] +CMD ["make", "build-run"] diff --git a/backend/Makefile b/backend/Makefile index f0e519b9b..bacad1309 100644 --- a/backend/Makefile +++ b/backend/Makefile @@ -1,10 +1,13 @@ -init: +build: cd cmd && go build -o main . +run: + cd cmd && ./main + clean: go fmt ./... && golangci-lint run ./... --fix start: - cd cmd && ./main + cd cmd && env=../.env ./main -run: init start +build-run: build run diff --git a/backend/cmd/main b/backend/cmd/main index e169c477a..08973469d 100755 Binary files a/backend/cmd/main and b/backend/cmd/main differ diff --git a/backend/cmd/main.go b/backend/cmd/main.go index ac1debaee..80620d467 100644 --- a/backend/cmd/main.go +++ b/backend/cmd/main.go @@ -1,11 +1,92 @@ package main import ( - "backend/packages/api" "backend/packages/config" + "context" + "database/sql" + "fmt" + "log" + "os" + + "github.com/gofiber/fiber/v2" + "github.com/gofiber/fiber/v2/middleware/cors" + _ "github.com/jackc/pgx/v5/stdlib" // pgx driver for database/sql compatibility ) +// GolfClub represents a single row in the golf_clubs table +type GolfClub struct { + ID int `json:"id"` + Club string `json:"club"` + Model string `json:"model"` + Loft string `json:"loft"` + Shaft string `json:"shaft"` + Length string `json:"length"` + Weight string `json:"weight"` + Torque string `json:"torque"` + Tip string `json:"tip"` + Flex string `json:"flex"` +} + func main() { config.InitConfig() - api.StartServer() + + dbHost := os.Getenv("POSTGRES_SERVER_HOST") + dbUser := os.Getenv("POSTGRES_USER") + dbPassword := os.Getenv("POSTGRES_PASSWORD") + dbName := os.Getenv("POSTGRES_DB") + + dsn := fmt.Sprintf("postgres://%s:%s@%s:5432/%s?sslmode=disable", dbUser, dbPassword, dbHost, dbName) + // Open a database connection + db, err := sql.Open("pgx", dsn) + if err != nil { + log.Fatalf("Unable to connect to database: %v\n", err) + } + defer db.Close() + + // Check the connection + if err = db.Ping(); err != nil { + log.Fatalf("Unable to ping the database: %v\n", err) + } + + // Create a new Fiber app + app := fiber.New() + app.Use(cors.New()) + + // Route to get all golf clubs + app.Get("/api/table", func(c *fiber.Ctx) error { + // Prepare the query + query := "SELECT id, club, model, loft, shaft, length, weight, torque, tip, flex FROM golf_clubs" + rows, err := db.QueryContext(context.Background(), query) + if err != nil { + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "Error": "Failed to query database", + }) + } + defer rows.Close() + + // Parse the rows + var clubs []GolfClub + for rows.Next() { + var club GolfClub + if err := rows.Scan(&club.ID, &club.Club, &club.Model, &club.Loft, &club.Shaft, &club.Length, &club.Weight, &club.Torque, &club.Tip, &club.Flex); err != nil { + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "Error": "Error scanning rows", + }) + } + clubs = append(clubs, club) + } + + // Check for errors in iteration + if err = rows.Err(); err != nil { + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "Error": "Error reading rows", + }) + } + + // Return the rows as JSON + return c.JSON(clubs) + }) + + // Start the Fiber server + log.Fatal(app.Listen(":8081")) } diff --git a/backend/go.mod b/backend/go.mod index c2c548b92..644b92084 100644 --- a/backend/go.mod +++ b/backend/go.mod @@ -9,12 +9,12 @@ require ( github.com/golang-migrate/migrate/v4 v4.17.1 github.com/jackc/pgx/v4 v4.18.2 github.com/joho/godotenv v1.5.1 - github.com/sirupsen/logrus v1.9.2 github.com/stretchr/testify v1.9.0 - golang.org/x/crypto v0.22.0 + golang.org/x/crypto v0.23.0 ) require ( + github.com/DATA-DOG/go-sqlmock v1.5.2 // indirect github.com/andybalholm/brotli v1.0.5 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/google/uuid v1.5.0 // indirect @@ -27,8 +27,10 @@ require ( github.com/jackc/pgproto3/v2 v2.3.3 // indirect github.com/jackc/pgservicefile v0.0.0-20221227161230-091c0ba34f0a // indirect github.com/jackc/pgtype v1.14.0 // indirect - github.com/jackc/puddle v1.3.0 // indirect + github.com/jackc/pgx/v5 v5.5.5 // indirect + github.com/jackc/puddle/v2 v2.2.1 // indirect github.com/klauspost/compress v1.17.0 // indirect + github.com/kr/pretty v0.3.0 // indirect github.com/lib/pq v1.10.9 // indirect github.com/mattn/go-colorable v0.1.13 // indirect github.com/mattn/go-isatty v0.0.20 // indirect @@ -40,7 +42,9 @@ require ( github.com/valyala/fasthttp v1.51.0 // indirect github.com/valyala/tcplisten v1.0.0 // indirect go.uber.org/atomic v1.7.0 // indirect - golang.org/x/sys v0.19.0 // indirect - golang.org/x/text v0.14.0 // indirect + golang.org/x/sync v0.5.0 // indirect + golang.org/x/sys v0.20.0 // indirect + golang.org/x/text v0.15.0 // indirect + gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/backend/go.sum b/backend/go.sum index 708ca4aec..40df0c691 100644 --- a/backend/go.sum +++ b/backend/go.sum @@ -1,6 +1,8 @@ github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161 h1:L/gRVlceqvL25UVaW/CKtUDjefjrs0SPonmDGUVOYP0= github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/DATA-DOG/go-sqlmock v1.5.2 h1:OcvFkGmslmlZibjAjaHm3L//6LiuBgolP7OputlJIzU= +github.com/DATA-DOG/go-sqlmock v1.5.2/go.mod h1:88MAG/4G7SMwSE3CeA0ZKzrT5CiOU3OJ+JlNzwDqpNU= github.com/Masterminds/semver/v3 v3.1.1 h1:hLg3sBzpNErnxhQtUy/mmLR2I9foDujNK030IGemrRc= github.com/Masterminds/semver/v3 v3.1.1/go.mod h1:VPu/7SZ7ePZ3QOrcuXROw5FAcLl4a0cBrbBpGY/8hQs= github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow= @@ -19,6 +21,7 @@ github.com/cockroachdb/apd v1.1.0/go.mod h1:8Sl8LxpKi29FqWXR16WEFZRNSz3SoPzUzeMe github.com/coreos/go-systemd v0.0.0-20190321100706-95778dfbb74e/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/coreos/go-systemd v0.0.0-20190719114852-fd7a80b32e1f/go.mod h1:F5haX7vjVVG0kc13fIWeqUViNPyEJxv/OmvnBo0Yme4= github.com/creack/pty v1.1.7/go.mod h1:lj5s0c3V2DBrqTV7llrYr5NG6My20zk30Fl46Y7DoTY= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= @@ -104,28 +107,35 @@ github.com/jackc/pgx/v4 v4.0.0-pre1.0.20190824185557-6972a5742186/go.mod h1:X+GQ github.com/jackc/pgx/v4 v4.12.1-0.20210724153913-640aa07df17c/go.mod h1:1QD0+tgSXP7iUjYm9C1NxKhny7lq6ee99u/z+IHFcgs= github.com/jackc/pgx/v4 v4.18.2 h1:xVpYkNR5pk5bMCZGfClbO962UIqVABcAGt7ha1s/FeU= github.com/jackc/pgx/v4 v4.18.2/go.mod h1:Ey4Oru5tH5sB6tV7hDmfWFahwF15Eb7DNXlRKx2CkVw= +github.com/jackc/pgx/v5 v5.5.5 h1:amBjrZVmksIdNjxGW/IiIMzxMKZFelXbUoPNb+8sjQw= +github.com/jackc/pgx/v5 v5.5.5/go.mod h1:ez9gk+OAat140fv9ErkZDYFWmXLfV+++K0uAOiwgm1A= github.com/jackc/puddle v0.0.0-20190413234325-e4ced69a3a2b/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v0.0.0-20190608224051-11cab39313c9/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.1.3/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= github.com/jackc/puddle v1.3.0 h1:eHK/5clGOatcjX3oWGBO/MpxpbHzSwud5EWTSCI+MX0= -github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dvjSWk= +github.com/jackc/puddle/v2 v2.2.1 h1:RhxXJtFG022u4ibrCSMSiu5aOq1i77R3OHKNJj77OAk= +github.com/jackc/puddle/v2 v2.2.1/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= github.com/jmespath/go-jmespath v0.0.0-20180206201540-c2b33e8439af/go.mod h1:Nht3zPeWKUH0NzdCt2Blrr5ys8VGpn0CEB0cQHVjt7k= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/jpillora/backoff v0.0.0-20180909062703-3050d21c67d7/go.mod h1:2iMrUgbbvHEiQClaW2NsSzMyGHqN+rDFqY705q49KG0= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/kisielk/sqlstruct v0.0.0-20201105191214-5f3e10d3ab46/go.mod h1:yyMNCyc/Ib3bDTKd379tNMpB/7/H5TjM2Y9QJ5THLbE= github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM= github.com/klauspost/compress v1.17.0/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFBFZlji/RkVcI2GknAs/DXo4wKdlNEc= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pretty v0.2.0 h1:s5hAObm+yFO5uHYt5dYjxi2rXrsnmRpJx4OYvIWUaQs= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= +github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.1.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/lib/pq v1.2.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= @@ -166,6 +176,8 @@ github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY= github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rogpeppe/fastuuid v1.1.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rogpeppe/go-internal v1.6.1 h1:/FiVV8dS/e+YqF2JvO3yXRFbBLTIuSDkuC7aBOAvL+k= +github.com/rogpeppe/go-internal v1.6.1/go.mod h1:xXDCJY+GAPziupqXw64V24skbSoqbTEfhy4qGm1nDQc= github.com/rs/xid v1.2.1/go.mod h1:+uKXf+4Djp6Md1KODXJxgGQPKngRmWyn10oCKFzNHOQ= github.com/rs/zerolog v1.13.0/go.mod h1:YbFCdg8HfsridGWAh22vktObvhZbQsZXe4/zB0OKkWU= github.com/rs/zerolog v1.15.0/go.mod h1:xYTKnLHcpfU2225ny5qZjxnj9NvkumZYjJHlAThCjNc= @@ -176,8 +188,6 @@ github.com/shopspring/decimal v1.2.0 h1:abSATXmQEYyShuxI4/vyW3tV1MrKAJzCZ/0zLUXY github.com/shopspring/decimal v1.2.0/go.mod h1:DKyhrW/HYNuLGql+MJL6WCR6knT2jwCFRcu2hWCYk4o= github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= -github.com/sirupsen/logrus v1.9.2 h1:oxx1eChJGI6Uks2ZC4W1zpLlVgqB8ner4EuQwV4Ik1Y= -github.com/sirupsen/logrus v1.9.2/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smartystreets/assertions v1.0.0/go.mod h1:kHHU4qYBaI3q23Pp3VPrmWhuIUrLW/7eUrw0BU5VaoM= github.com/smartystreets/go-aws-auth v0.0.0-20180515143844-0c1422d1fdb9/go.mod h1:SnhjPscd9TpLiy1LpzGSKh3bXCfxxXuqd9xmQJy3slM= github.com/smartystreets/gunit v1.0.0/go.mod h1:qwPWnhz6pn0NnRBP++URONOVyNkPyr4SauJk4cUOwJs= @@ -229,8 +239,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20201203163018-be400aefbc4c/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.22.0 h1:g1v0xeRhjcugydODzvb3mEM9SQ0HGp9s/nh3COQ/C30= -golang.org/x/crypto v0.22.0/go.mod h1:vr6Su+7cTlO45qkww3VDJlzDn0ctJvRgYbC2NvXHt+M= +golang.org/x/crypto v0.23.0 h1:dIJU/v2J8Mdglj/8rJ6UUOM3Zc9zLZxVZwwxMooUSAI= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= @@ -246,6 +256,8 @@ golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -259,11 +271,10 @@ golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.19.0 h1:q5f1RH2jigJ1MoAWp2KTp3gm5zAGFUTarQZ5U386+4o= -golang.org/x/sys v0.19.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0 h1:Od9JTbYCk261bKm4M/mw7AklTlFYIa0bIp9BgSm1S8Y= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= @@ -271,8 +282,8 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= -golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= -golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= +golang.org/x/text v0.15.0 h1:h1V/4gjBv8v9cjcR6+AR5+/cIYK5N/WAgiv4xlsEtAk= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190425163242-31fd60d6bfdc/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= @@ -290,8 +301,9 @@ golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8T golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 h1:YR8cESwS4TdDjEe65xsg0ogRM/Nc3DYOhEAlW+xobZo= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= gopkg.in/inconshreveable/log15.v2 v2.0.0-20180818164646-67afb5ed74ec/go.mod h1:aPpfJ7XW+gOuirDoZ8gHhLh3kZ1B08FtV2bbmy7Jv3s= diff --git a/backend/packages/api/api.go b/backend/packages/api/api.go index 85a2382ec..6e61c8518 100644 --- a/backend/packages/api/api.go +++ b/backend/packages/api/api.go @@ -11,10 +11,8 @@ import ( var server *fiber.App func StartServer() { - conn, err := db.ConnectDB() - if err != nil { - log.WithField("reason", err.Error()).Fatal("Db connection error occurred") - } + conn := db.ConnectDB() + defer conn.Close() runMigration := config.Config[config.RUN_MIGRATION] diff --git a/backend/packages/api/router.go b/backend/packages/api/router.go index 053a31f19..130b3fe62 100644 --- a/backend/packages/api/router.go +++ b/backend/packages/api/router.go @@ -32,6 +32,7 @@ func httpServer(db *sql.DB) *fiber.App { // public api.Get("/ping", Pong) + api.Get("/table", WithDB(GetTable, db)) api.Post("/login", WithDB(Login, db)) api.Post("/user", WithDB(GetAllUsers, db)) diff --git a/backend/packages/api/userController.go b/backend/packages/api/userController.go index 38061c044..676eea035 100644 --- a/backend/packages/api/userController.go +++ b/backend/packages/api/userController.go @@ -5,6 +5,7 @@ import ( "backend/packages/db" "backend/packages/utils" "database/sql" + "log" "net/http" "time" @@ -17,6 +18,19 @@ type Claims struct { jwt.StandardClaims } +type GolfClub struct { + ID int `json:"id"` + Club string `json:"club"` + Model string `json:"model"` + Loft string `json:"loft"` + Shaft string `json:"shaft"` + Length string `json:"length"` + Weight string `json:"weight"` + Torque string `json:"torque"` + Tip string `json:"tip"` + Flex string `json:"flex"` +} + func Pong(c *fiber.Ctx) error { return c.SendString("pong") } @@ -162,3 +176,38 @@ func GetAllUsers(c *fiber.Ctx, dbConn *sql.DB) error { "users": users, }) } + +func GetTable(c *fiber.Ctx, dbConn *sql.DB) error { + rows, err := dbConn.Query(db.GetGolfTable) + if err != nil { + log.Printf("Database query error: %v\n", err) + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "error": "Failed to query the database", + }) + } + defer rows.Close() + + // Parse rows into a slice of GolfClub + var clubs []GolfClub + for rows.Next() { + var club GolfClub + if err := rows.Scan(&club.ID, &club.Club, &club.Model, &club.Loft, &club.Shaft, &club.Length, &club.Weight, &club.Torque, &club.Tip, &club.Flex); err != nil { + log.Printf("Error scanning rows: %v\n", err) + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "error": "Error scanning rows", + }) + } + clubs = append(clubs, club) + } + + // Check if there were any errors during row iteration + if err = rows.Err(); err != nil { + log.Printf("Row iteration error: %v\n", err) + return c.Status(fiber.StatusInternalServerError).JSON(fiber.Map{ + "error": "Error reading golf club rows", + }) + } + + // Return the data as a JSON array + return c.Status(fiber.StatusOK).JSON(clubs) +} diff --git a/backend/packages/db/db.go b/backend/packages/db/db.go index eb14a2e16..6c75b644c 100644 --- a/backend/packages/db/db.go +++ b/backend/packages/db/db.go @@ -1,9 +1,9 @@ package db import ( - "backend/packages/config" "database/sql" "fmt" + "os" "path/filepath" "github.com/apex/log" @@ -12,18 +12,19 @@ import ( _ "github.com/golang-migrate/migrate/v4/source/file" ) -func ConnectDB() (*sql.DB, error) { - user := config.Config[config.POSTGRES_USER] - database := config.Config[config.POSTGRES_DB] - host := config.Config[config.POSTGRES_SERVER_HOST] +func ConnectDB() *sql.DB { + user := os.Getenv("POSTGRES_USER") + password := os.Getenv("POSTGRES_PASSWORD") + database := os.Getenv("POSTGRES_DB") + host := os.Getenv("POSTGRES_SERVER_HOST") - connString := fmt.Sprintf("postgresql://%s@%s:5432/%s?sslmode=disable", user, host, database) + endpoint := fmt.Sprintf("postgres://%s:%s@%s:5432/%s?sslmode=disable", user, password, host, database) + db, err := sql.Open("pgx", endpoint) - db, _ := sql.Open("postgres", connString) - if err := db.Ping(); err != nil { - return nil, err + if err != nil { + log.Fatalf("Error: Unable to connect to database: %v\n", err) } - return db, nil + return db } func Migrate(db *sql.DB, dbName string) error { diff --git a/backend/packages/db/queries.go b/backend/packages/db/queries.go index ddbf779fc..255ea3192 100644 --- a/backend/packages/db/queries.go +++ b/backend/packages/db/queries.go @@ -9,4 +9,5 @@ const ( GetUserByIDQuery = `SELECT * FROM users WHERE id = $1` GetUserByEmailQuery = `SELECT * FROM users WHERE email = $1` GetAllUsersQuery = `SELECT id, email, name FROM users;` + GetGolfTable = `SELECT id, club, model, loft, shaft, length, weight, torque, tip, flex FROM golf_clubs` ) diff --git a/backend/tests/login_session_test.go b/backend/tests/login_session_test.go deleted file mode 100644 index af27e2072..000000000 --- a/backend/tests/login_session_test.go +++ /dev/null @@ -1,97 +0,0 @@ -package tests - -import ( - "backend/packages/api" - "backend/packages/config" - "backend/packages/db" - "bytes" - "database/sql" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "os" - "testing" - "time" - - "github.com/apex/log" - "github.com/stretchr/testify/suite" -) - -type sessionTestSuite struct { - suite.Suite - port string - db *sql.DB -} - -type sessionResponse struct { - Success bool `json:"success"` - User db.User `json:"user"` -} - -func TestSessionTest(t *testing.T) { - err := os.Setenv("ENV", "test") - if err != nil { - log.WithField("reason", err.Error()).Fatal("Failed to set ENV environment variable") - } - - config.InitConfig() - go api.StartServer() - time.Sleep(1 * time.Second) // wait for server to start - - conn, err := db.ConnectDB() - if err != nil { - log.WithField("reason", err.Error()).Fatal("Db connection error occurred") - } - - serverPort, _ := config.Config[config.SERVER_PORT] - - suite.Run(t, &sessionTestSuite{ - port: serverPort, - db: conn, - }) -} - -func (s *sessionTestSuite) AfterTest(su, t string) { - defer s.db.Close() - _, err := s.db.Query(db.DeleteUser, "test@test.com") - if err != nil { - log.WithField("reason", err.Error()).Fatal("Failed executing DELETE USER QUERY") - } - api.StopServer() -} - -func (s *sessionTestSuite) BeforeTest(su, t string) { - passHash := "$2a$10$rbwisPtAZBtJFDNWhLxcAeiTr/uBSd7UL24u80hhH6qlKlmlcCJJu" // hash for "password" - _, err := s.db.Query(db.CreateUserQuery, "testName", passHash, "test@test.com") - s.NoError(err) -} - -func (s *sessionTestSuite) TestLoginAndSession() { - values := map[string]string{"email": "test@test.com", "password": "password"} - jsonData, err := json.Marshal(values) - s.NoError(err) - response, err := http.Post(fmt.Sprintf("http://localhost%s/api/login", s.port), - "application/json", bytes.NewBuffer(jsonData)) - defer response.Body.Close() - s.NoError(err) - - s.Equal(http.StatusOK, response.StatusCode) - token := response.Cookies()[0].Value - - client := &http.Client{} - req, err := http.NewRequest("GET", fmt.Sprintf("http://localhost%s/api/session", s.port), nil) - s.NoError(err) - req.Header.Set("Authorization", token) - res, err := client.Do(req) - defer res.Body.Close() - s.NoError(err) - - s.Equal(http.StatusOK, res.StatusCode) - body, _ := ioutil.ReadAll(res.Body) - var resObj sessionResponse - err = json.Unmarshal(body, &resObj) - s.NoError(err) - s.Equal("test@test.com", resObj.User.Email) - s.Equal("testName", resObj.User.Name) -} diff --git a/backend/tests/ping_test.go b/backend/tests/ping_test.go deleted file mode 100644 index e9fa7cb5e..000000000 --- a/backend/tests/ping_test.go +++ /dev/null @@ -1,54 +0,0 @@ -package tests - -import ( - "fmt" - "io/ioutil" - "net/http" - "os" - "testing" - "time" - - "github.com/apex/log" - "github.com/stretchr/testify/suite" - - "backend/packages/api" - "backend/packages/config" -) - -type pingTestSuite struct { - suite.Suite - port string -} - -func TestPingTest(t *testing.T) { - err := os.Setenv("ENV", "test") - if err != nil { - log.WithField("reason", err.Error()).Fatal("Failed to set ENV environment variable") - } - - config.InitConfig() - go api.StartServer() - time.Sleep(1 * time.Second) // wait for server to start - - serverPort, _ := config.Config[config.SERVER_PORT] - - suite.Run(t, &pingTestSuite{ - port: serverPort, - }) -} - -func (s *pingTestSuite) AfterTest(su, t string) { - api.StopServer() -} - -func (s *pingTestSuite) TestPing() { - response, err := http.Get(fmt.Sprintf("http://localhost%s/api/ping", s.port)) - defer response.Body.Close() - s.NoError(err) - - s.NoError(err) - s.Equal(http.StatusOK, response.StatusCode) - body, _ := ioutil.ReadAll(response.Body) - bodyString := string(body[:]) - s.Equal("pong", bodyString) -} diff --git a/backend/tests/register_test.go b/backend/tests/register_test.go deleted file mode 100644 index dabd7274a..000000000 --- a/backend/tests/register_test.go +++ /dev/null @@ -1,80 +0,0 @@ -package tests - -import ( - "backend/packages/db" - "bytes" - "database/sql" - "encoding/json" - "fmt" - "io/ioutil" - "net/http" - "os" - "testing" - "time" - - "github.com/apex/log" - "github.com/stretchr/testify/suite" - - "backend/packages/api" - "backend/packages/config" -) - -type registerTestSuite struct { - suite.Suite - port string - db *sql.DB -} - -func TestRegisterTest(t *testing.T) { - err := os.Setenv("ENV", "test") - if err != nil { - log.WithField("reason", err.Error()).Fatal("Failed to set ENV environment variable") - } - - config.InitConfig() - go api.StartServer() - time.Sleep(1 * time.Second) // wait for server to start - - conn, err := db.ConnectDB() - if err != nil { - log.WithField("reason", err.Error()).Fatal("Db connection error occurred") - } - - serverPort, _ := config.Config[config.SERVER_PORT] - - suite.Run(t, ®isterTestSuite{ - port: serverPort, - db: conn, - }) -} - -func (s *registerTestSuite) AfterTest(su, t string) { - defer s.db.Close() - _, err := s.db.Query(db.DeleteUser, "test@test.com") - if err != nil { - log.WithField("reason", err.Error()).Fatal("Failed executing DELETE USER QUERY") - } - api.StopServer() -} - -func (s *registerTestSuite) TestRegister() { - values := map[string]string{"name": "testName", "email": "test@test.com", "password": "password"} - jsonData, err := json.Marshal(values) - s.NoError(err) - response, err := http.Post(fmt.Sprintf("http://localhost%s/api/register", s.port), - "application/json", bytes.NewBuffer(jsonData)) - defer response.Body.Close() - s.NoError(err) - - s.Equal(http.StatusOK, response.StatusCode) - body, _ := ioutil.ReadAll(response.Body) - bodyString := string(body[:]) - s.Equal("{\"success\":true}", bodyString) - s.db.QueryRow(db.CheckUserExists, "test@test.com") - var exists bool - err = s.db.QueryRow(db.CheckUserExists, "test@test.com").Scan(&exists) - if err != nil { - log.WithField("reason", err.Error()).Fatal("Failed executing CheckUserExists") - } - s.True(exists) -} diff --git a/create_test_db.sql b/create_test_db.sql index 4b12298a9..a3e3c6b73 100755 --- a/create_test_db.sql +++ b/create_test_db.sql @@ -1,24 +1,32 @@ --- Create the database -CREATE DATABASE IF NOT EXISTS ${POSTGRES_DB}; --- Wait until Postgres is available -DO $$ BEGIN - PERFORM pg_sleep(2); -END $$ WHILE NOT EXISTS ( - SELECT 1 FROM pg_database WHERE datname = '${POSTGRES_DB}' +-- Create a new table with the new schema +CREATE TABLE golf_clubs ( + id SERIAL PRIMARY KEY, + club VARCHAR(50), + model VARCHAR(100), + loft VARCHAR(10), + shaft VARCHAR(100), + length VARCHAR(10), + weight VARCHAR(10), + torque VARCHAR(10), + tip VARCHAR(10), + flex VARCHAR(10) ); --- Check if the user exists and create if not -DO $$ BEGIN - IF NOT EXISTS (SELECT FROM pg_user WHERE usename = '${POSTGRES_USER}') THEN - CREATE USER ${POSTGRES_USER} WITH PASSWORD '${POSTGRES_PASSWORD}'; - END IF; -END $$; --- Check if the database exists and grant connect privilege to the user -DO $$ BEGIN - IF NOT EXISTS (SELECT FROM pg_database WHERE datname = '${POSTGRES_DB}') THEN - CREATE DATABASE ${POSTGRES_DB}; - GRANT CONNECT ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_USER}; - END IF; -END $$; +INSERT INTO golf_clubs (club, model, loft, shaft, length, weight, torque, tip, flex) +VALUES + ('Driver', 'Callaway Paradym', '10.5°', 'Fujikura Ventus TR Red Velocore 5R', '44.5', '59.5g', '3.5', '0.335', 'R/5.5'), + ('3 Wood', 'Ping G430 SFT', '16°', 'Fujikura Ventus Red Velocore 6R', '42.25', '64.5', '3.4', '0.335', 'R/5.5'), + ('5 Wood', 'Ping G430 SFT', '18°', 'Fujikura Ventus Red Velocore 6R', '42', '64.5', '3.4', '0.335', 'R/5.5'), + ('4 Hybrid', 'Callaway Super Paradym', '21°', 'Ust Mamiya Recoil Dart HYB', '39.25"', '65g', '2.8', '0.37', 'R/5.5'), + ('5 Iron', 'Mizuno JPX 921 Hot Metal', '22°', 'True Temper Elevate 95 VSS', '38"', '98g', '2.2', '0.355', 'S/6.0'), + ('6 Iron', 'Mizuno JPX 921 Hot Metal', '25°', 'True Temper Elevate 95 VSS', '37.5"', '98g', '2.2', '0.355', 'S/6.0'), + ('7 Iron', 'Mizuno JPX 921 Hot Metal', '29°', 'True Temper Elevate 95 VSS', '37"', '98g', '2.2', '0.355', 'S/6.0'), + ('8 Iron', 'Mizuno JPX 921 Hot Metal', '34°', 'True Temper Elevate 95 VSS', '36.5"', '98g', '2.2', '0.355', 'S/6.0'), + ('9 Iron', 'Mizuno JPX 921 Hot Metal', '39°', 'True Temper Elevate 95 VSS', '36"', '98g', '2.2', '0.355', 'S/6.0'), + ('Pitching Wedge', 'Mizuno JPX 921 Hot Metal', '44°', 'True Temper Elevate 95 VSS', '35.5"', '98g', '2.2', '0.355', 'S/6.0'), + ('Gap Wedge', 'Mizuno JPX 921 Hot Metal', '49°', 'True Temper Elevate 95 VSS', '35.25"', '98g', '2.2', '0.355', 'S/6.0'), + ('Sand Wedge', 'Titleist Vokey SM9 Jet Black', '56°', 'KBS Tour Lite R', '35.25"', '128g', '1.8°', '0.355', 'S/5.5'), + ('Lob Wedge', 'Titleist Vokey SM9 Jet Black', '60°', 'KBS Tour Lite R', '35"', '128g', '1.8°', '0.355', 'S/5.5'), + ('Putter', 'Odyssey Tri-Hot 5k DBL Wide CH', '3°', 'Stroke Lab 3GEN Red 70', '34"', '70g', '-', '-', '-'); diff --git a/docker-compose.yml b/docker-compose.yml index dd29f5475..26c380f80 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -11,7 +11,10 @@ services: - db environment: POSTGRES_SERVER_HOST: db - env_file: ./backend/.env + # Directly reference the environment file here + env_file: + - ./backend/.env + ui: build: context: ./ui @@ -24,12 +27,12 @@ services: image: postgres:16.2 restart: unless-stopped volumes: - - ./create_test_db.sql:/docker-entrypoint-initdb.d/create_test_db.sql + - ./backend/create_test_db.sql:/docker-entrypoint-initdb.d/create_test_db.sql - postgres_data:/var/lib/postgresql/data ports: - '5432:5432' environment: - env_file: ./backend/.env + env_file: ./.env healthcheck: test: "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}" interval: "10s" diff --git a/init-db.sh b/init-db.sh deleted file mode 100755 index ca60641da..000000000 --- a/init-db.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash -set -e # Exit script on any error -export POSTGRES_DB="db" -export POSTGRES_USER="sparky" -export POSTGRES_PASSWORD="" - -# Wait for Postgres to become available -until PGPASSWORD=$POSTGRES_PASSWORD psql -h "localhost" -U "postgres" -c '\q' > /dev/null 2>&1; do - echo "Postgres is unavailable - sleeping" - sleep 2 -done - -echo "Postgres is up - checking for database and users" - -# Check if the database exists -if PGPASSWORD=$POSTGRES_PASSWORD psql -h "localhost" -U "postgres" -lqt | cut -d \| -f 1 | grep -qw "${POSTGRES_DB}"; then - echo "Database ${POSTGRES_DB} exists" -else - # Create the database - echo "Creating database ${POSTGRES_DB}" - PGPASSWORD=$POSTGRES_PASSWORD psql -h "localhost" -U "postgres" -c "CREATE DATABASE ${POSTGRES_DB}" -fi - -# Check if the user exists -if PGPASSWORD=$POSTGRES_PASSWORD psql -h "localhost" -U "postgres" -lqt | cut -d \| -f 1 | grep -qw "${POSTGRES_USER}"; then - echo "User ${POSTGRES_USER} exists" -else - # Create the user - echo "Creating user ${POSTGRES_USER}" - PGPASSWORD=$POSTGRES_PASSWORD psql -h "localhost" -U "postgres" -c "CREATE USER ${POSTGRES_USER} WITH PASSWORD '${POSTGRES_PASSWORD}';" -fi - -psql -h "localhost" -U "postgres" -c "GRANT CONNECT ON DATABASE ${POSTGRES_DB} TO ${POSTGRES_USER};" \ No newline at end of file diff --git a/ui/Dockerfile b/ui/Dockerfile index 7fb9bf59d..0180c56fb 100644 --- a/ui/Dockerfile +++ b/ui/Dockerfile @@ -1,10 +1,8 @@ -FROM node:alpine +FROM node:20-alpine RUN apk update && apk upgrade && \ apk add --no-cache bash make yarn -LABEL maintainer="Israel A." - WORKDIR /app COPY package.json ./ diff --git a/ui/package.json b/ui/package.json index 7b8389b10..de0e6c4c9 100644 --- a/ui/package.json +++ b/ui/package.json @@ -3,15 +3,18 @@ "version": "1.0", "author": "auventuresllc", "license": "MIT", - "homepage": "https://edotau.github.io/", + "homepage": "https://{edotau}.github.io", "description": "Full stack application with golang, postgres, reactjs", "private": true, "dependencies": { "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@eslint/js": "^9.1.1", "atomize": "^1.0.28", + "axios": "^1.6.8", "eslint-plugin-prettier": "^5.1.3", - "primereact": "^10.6.3", + "prettier": "^3.2.5", + "primeflex": "^3.3.1", + "primereact": "^10.6.5", "prop-types": "^15.8.1", "react": "^18.2.0", "react-app": "^1.1.2", @@ -30,7 +33,7 @@ "start": "react-scripts start", "deploy": "react-scripts build && gh-pages -d build", "lint": "yarn eslint ./src", - "clean": "yarn eslint --fix ./src", + "clean": "prettier --write \"./src/{pages,components,layout}/**/*.{js,ts,tsx,d.ts}\"", "build": "react-scripts build" }, "repository": "git+https://edotau.github.io.git", diff --git a/ui/src/App.css b/ui/src/App.css index 94082677e..c5f58cc8c 100644 --- a/ui/src/App.css +++ b/ui/src/App.css @@ -3,12 +3,11 @@ flex-direction: column; justify-content: center; align-items: center; - min-height: 100vh; - max-width: 375px; - font-size: 1.2em; + flex: 1 1 auto; font-family: "SF Pro Text", -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; } + .input { width: 50vw; margin: 20px; @@ -35,9 +34,205 @@ button { .app-container { display: flex; - + min-height: 100vh; } .page-content { flex-grow: 1; } + + +:root { + --max-width: 1100px; + --border-radius: 12px; + --font-mono: ui-monospace, Menlo, Monaco, "Cascadia Mono", "Segoe UI Mono", + "Roboto Mono", "Oxygen Mono", "Ubuntu Monospace", "Source Code Pro", + "Fira Mono", "Droid Sans Mono", "Courier New", monospace; + + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; + + --primary-glow: conic-gradient( + from 180deg at 50% 50%, + #16abff33 0deg, + #0885ff33 55deg, + #54d6ff33 120deg, + #0071ff33 160deg, + transparent 360deg + ); + --secondary-glow: radial-gradient( + rgba(255, 255, 255, 1), + rgba(255, 255, 255, 0) + ); + + --tile-start-rgb: 239, 245, 249; + --tile-end-rgb: 228, 232, 233; + --tile-border: conic-gradient( + #00000080, + #00000040, + #00000030, + #00000020, + #00000010, + #00000010, + #00000080 + ); + + --callout-rgb: 238, 240, 241; + --callout-border-rgb: 172, 175, 176; + --card-rgb: 180, 185, 188; + --card-border-rgb: 131, 134, 135; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + + --primary-glow: radial-gradient(rgba(1, 65, 255, 0.4), rgba(1, 65, 255, 0)); + --secondary-glow: linear-gradient( + to bottom right, + rgba(1, 65, 255, 0), + rgba(1, 65, 255, 0), + rgba(1, 65, 255, 0.3) + ); + + --tile-start-rgb: 2, 13, 46; + --tile-end-rgb: 2, 5, 19; + --tile-border: conic-gradient( + #ffffff80, + #ffffff40, + #ffffff30, + #ffffff20, + #ffffff10, + #ffffff10, + #ffffff80 + ); + + --callout-rgb: 20, 20, 20; + --callout-border-rgb: 108, 108, 108; + --card-rgb: 100, 100, 100; + --card-border-rgb: 200, 200, 200; + } +} + +* { + box-sizing: border-box; + padding: 0; + margin: 0; +} + +html, +body { + max-width: 100vw; + overflow-x: hidden; +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} + +a { + color: inherit; + text-decoration: none; +} + +@media (prefers-color-scheme: dark) { + html { + color-scheme: dark; + } +} + +h1, h2, h3, h4, h5, h6 { + margin: 1.5rem 0 1rem 0; + font-family: inherit; + font-weight: 500; + line-height: 1.2; + color: var(--surface-900); + + &:first-child { + margin-top: 0; + } +} + +h1 { + font-size: 2.5rem; +} + +h2 { + font-size: 2rem; +} + +h3 { + font-size: 1.75rem; +} + +h4 { + font-size: 1.5rem; +} + +h5 { + font-size: 1.25rem; +} + +h6 { + font-size: 1rem; +} + + +blockquote { + margin: 1rem 0; + padding: 0 2rem; + border-left: 4px solid #90A4AE; +} + +hr { + border-top: solid var(--surface-border); + border-width: 1px 0 0 0; + margin: 1rem 0; +} + +p { + margin: 0 0 1rem 0; + line-height: 1.5; + + &:last-child { + margin-bottom: 0; + } +} + +.card { + padding: 1.5rem 2rem; + border-radius: var(--border-radius); + background: #f8f9fa; /* Adjust as per your design */ + border: 1px solid rgba(var(--card-border-rgb), 0.2); + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); + transition: background 200ms, border 200ms; + max-width: var(--max-width); + margin: 1rem auto; + font-family: 'SF Pro Text', 'Segoe UI', 'Roboto', 'Helvetica Neue', Arial, sans-serif; + font-size: 1rem; /* Adjust the size based on your requirements */ + line-height: 1.6; + color: #333; /* Adjust color to fit the theme */ +} + +/* Specific paragraph settings inside the card */ +.card p { + margin-bottom: 1rem; /* Adjust margin between paragraphs */ + opacity: 0.8; + font-size: 1rem; /* Maintain consistency with the card font size */ + line-height: 1.6; +} + +.card span { + display: inline-block; + transition: transform 200ms; +} + diff --git a/ui/src/App.js b/ui/src/App.js index feb8549de..b2896eda1 100755 --- a/ui/src/App.js +++ b/ui/src/App.js @@ -1,30 +1,36 @@ -import React from 'react' -import { BrowserRouter as Router, Routes, Route, } from 'react-router-dom' -import {Div, } from 'atomize' -import Sidebar from './components/Sidebar' -import routes from './routes' +import React from "react"; +import { HashRouter as Router, Routes, Route } from "react-router-dom"; +import Sidebar from "./components/Sidebar"; +import routes from "./routes"; -import './App.css' +import "./App.css"; function App() { return ( - -
- +
+ -
-
- - {routes.map((route, index,) => ( - - ),)} - - -
+ +
+
+
+
+ + {routes.map((route, index) => ( + + ))} + +
+
+
-
-
- ) + +
+ ); } -export default App \ No newline at end of file +export default App; diff --git a/ui/src/api.js b/ui/src/api.js index 7b5242a47..718c488f5 100644 --- a/ui/src/api.js +++ b/ui/src/api.js @@ -1,4 +1,4 @@ -export const apiURl = 'http://localhost:8081' +export const apiURl = "http://localhost:8081"; export const Endpoints = { login: `${apiURl}/api/login`, @@ -6,4 +6,7 @@ export const Endpoints = { session: `${apiURl}/api/session`, logout: `${apiURl}/api/logout`, users: `${apiURl}/api/users`, -} + datatable: `${apiURl}/api/table`, +}; + +export default Endpoints; diff --git a/ui/src/components/Sidebar.css b/ui/src/components/Sidebar.css index 84582a6c7..132da133a 100644 --- a/ui/src/components/Sidebar.css +++ b/ui/src/components/Sidebar.css @@ -1,18 +1,29 @@ .sidebar { background-color: white; + background: #f8f9fa; color: #313541; - min-width: 200px; - height: 100vh; + width: 200px; + height: calc(100vh - 9rem); padding: 20px; display: flex; - font-family: "SF Pro Text", -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji"; flex-direction: column; justify-content: space-between; + border-radius: var(--border-radius); border-right: 1px solid #eaecef; border-left: 1px solid #eaecef; box-shadow: 2px 0 5px rgba(0, 0, 0, 0.1); margin-left: 1rem; margin-right: 1rem; + min-height: 100%; /* Adjust to your desired static card height */ +} + +.sidebar { + min-width: 250px; + + box-shadow: 0 4px 8px rgba(0, 0, 0, 0.05); + padding: 1rem; + margin: 1rem; + } .nav { diff --git a/ui/src/components/Sidebar.jsx b/ui/src/components/Sidebar.jsx index 54ca40930..4a87688b1 100644 --- a/ui/src/components/Sidebar.jsx +++ b/ui/src/components/Sidebar.jsx @@ -1,22 +1,55 @@ -import React from 'react' -import { NavLink, } from 'react-router-dom' -import PropTypes from 'prop-types' -import './Sidebar.css' +import React, { useEffect } from 'react'; +import { NavLink } from 'react-router-dom'; +import PropTypes from 'prop-types'; +import './Sidebar.css'; +const Sidebar = ({ routes }) => { + // Function to dynamically adjust sidebar height to match the card height + const matchSidebarHeight = () => { + const card = document.querySelector('.card'); + const sidebar = document.querySelector('.sidebar'); + + if (card && sidebar) { + const cardHeight = card.offsetHeight; + sidebar.style.height = `${cardHeight}px`; + } + }; + + // Function to update height dynamically based on clicks and window resizing + useEffect(() => { + // Initial adjustment + matchSidebarHeight(); + + // Adjust on window resize + window.addEventListener('resize', matchSidebarHeight); + + // Adjust on clicks within the main content + const mainContent = document.querySelector('.main-content'); + if (mainContent) { + mainContent.addEventListener('click', matchSidebarHeight); + } + + // Cleanup event listeners + return () => { + window.removeEventListener('resize', matchSidebarHeight); + if (mainContent) { + mainContent.removeEventListener('click', matchSidebarHeight); + } + }; + }, []); -const Sidebar = ({ routes, },) => { return (
- ) -} + ); +}; Sidebar.propTypes = { routes: PropTypes.arrayOf( @@ -24,8 +57,8 @@ Sidebar.propTypes = { path: PropTypes.string.isRequired, name: PropTypes.string.isRequired, element: PropTypes.element, - },), + }) ).isRequired, -} +}; -export default Sidebar +export default Sidebar; diff --git a/ui/src/index.js b/ui/src/index.js index 9c7692513..c024d7465 100755 --- a/ui/src/index.js +++ b/ui/src/index.js @@ -1,38 +1,43 @@ -import React from 'react' -import { createRoot, } from 'react-dom/client' -import { Div, StyleReset, ThemeProvider, } from 'atomize' -import { Provider as StyletronProvider, } from 'styletron-react' -import { styletron, } from './styletron' +import React from "react"; +import { createRoot } from "react-dom/client"; +import { Div, StyleReset, ThemeProvider } from "atomize"; +import { Provider as StyletronProvider } from "styletron-react"; +import { styletron } from "./styletron"; +import { PrimeReactProvider } from "primereact/api"; +import "primereact/resources/primereact.css"; +import "primeflex/primeflex.css"; -import App from './App' +import App from "./App"; const theme = { - colors: { - black900: '#1d1d1e', - }, -} + colors: { + black900: "#1d1d1e", + }, +}; function MyApp() { - return ( - + return ( + + - -
- -
+ +
+
+ +
+
-
- ) +
+ + ); } -const container = document.getElementById('root', ) -const root = createRoot(container, ) -root.render(, ) +const container = document.getElementById("root"); +const root = createRoot(container); +root.render(); diff --git a/ui/src/pages/AboutMe.jsx b/ui/src/pages/AboutMe.jsx deleted file mode 100644 index 4a551e6b3..000000000 --- a/ui/src/pages/AboutMe.jsx +++ /dev/null @@ -1,102 +0,0 @@ -import React from 'react' - -import { - ThemeProvider, - StyleReset, - Div, - Text, - Anchor, - Col, - Row, -} from 'atomize' - -const theme = { - colors: { - black900: '#1d1d1e', - }, -} - -export default function AboutMe() { - return ( - - -
-
- - Welcome to my life - -
- { - - I am a Software Engineer who studied Computer Science & Mathematics and knows more genetics than your average biologist. The curiosity I have for developmental biology and genomics inspired me to pursue a technical background in computer science and molecular genetics. It is incredibly motivating looking back on the knowledge I have accumulated, to realize how my areas of expertise can work together and answer questions at the intersection of computer science and biotechnology. - - } - { - - When I am not thinking about recombinant DNA and/or deployments of full stack cloud applications, I enjoy blogging about fashion and lifesyle on Pinterest. I love playing and competing in sports, especially badminton, golf, power lifting, and skiing. I cheer for the Golden State Warriors and the San Francisco 49ers and absolutely love watching my favorite NBA and NFL teams competing head to head every week. - - } - { - - While the best chapters of my life are being written, I am living my best life because life is too precious to spend even a single second unhappy. I hope being who I am will start redefining the boundaries of happiness, success and hard work. - - } -
- - -
- - Linkedin - -
- - -
- - Github - -
- - -
- - Pinterest - -
- - -
- - Instagram - -
- -
-
-
-
- ) -} diff --git a/ui/src/pages/Experience.jsx b/ui/src/pages/Experience.jsx deleted file mode 100644 index daa944cdc..000000000 --- a/ui/src/pages/Experience.jsx +++ /dev/null @@ -1,35 +0,0 @@ -import React from 'react' -import { - ThemeProvider, - StyleReset, - Div, -} from 'atomize' - -const theme = { - colors: { - black900: '#1d1d1e', - }, -} - -const Experience = () => { - return ( - - -
- -
-
- ) -} -export default Experience diff --git a/ui/src/pages/Playground.jsx b/ui/src/pages/Playground.jsx index 492f2907e..e2f14c8eb 100644 --- a/ui/src/pages/Playground.jsx +++ b/ui/src/pages/Playground.jsx @@ -1,69 +1,65 @@ -import React from 'react' -import Terminal from 'terminal-in-react' -import pseudoFileSystemPlugin from 'terminal-in-react-pseudo-file-system-plugin' -import { - ThemeProvider, - StyleReset, - Text, - Div, -} from 'atomize' -const theme = { - colors: { - black900: '#1d1d1e', - }, -} +import React, { useEffect } from 'react'; +import { Terminal } from 'primereact/terminal'; +import { TerminalService } from 'primereact/terminalservice'; + +export default function Playground() { + const commandHandler = (text) => { + let response; + let argsIndex = text.indexOf(' '); + let command = argsIndex !== -1 ? text.substring(0, argsIndex) : text; + + switch (command) { + case 'date': + response = 'Today is ' + new Date().toDateString(); + break; + + case 'greet': + response = 'Hola ' + text.substring(argsIndex + 1) + '!'; + break; + + case 'random': + response = Math.floor(Math.random() * 100); + break; -const Playground = () => { + case 'clear': + response = null; + break; - const FileSystemPlugin = pseudoFileSystemPlugin() + default: + response = 'Unknown command: ' + command; + break; + } + + if (response) + TerminalService.emit('response', response); + else + TerminalService.emit('clear'); + }; + + useEffect(() => { + TerminalService.on('command', commandHandler); + + return () => { + TerminalService.off('command', commandHandler); + }; + }, []); return ( - - -
- - Terminal Playground - - -
-
- ) +
+

+ Enter date to display the current date, greet {'{0}'} for a message, random to get a random number and clear to clear all commands. +

+ +
+ ); } - -export default Playground \ No newline at end of file diff --git a/ui/src/pages/Projects.jsx b/ui/src/pages/Projects.jsx deleted file mode 100644 index 1b70ebd31..000000000 --- a/ui/src/pages/Projects.jsx +++ /dev/null @@ -1,97 +0,0 @@ -import React from 'react' -import { - ThemeProvider, - StyleReset, - Div, - Text, - Anchor, - Image, -} from 'atomize' - -const theme = { - colors: { - black900: '#1d1d1e', - }, -} - -export default function Projects() { - return ( - - -
-
- Golang Software Suite - - goFish is a library used analyze genomic sequencing data - - - https://github.com/edotau/goFish - - - Documentation: https://pkg.go.dev/github.com/edotau/goFish - - Genomic Basis of Adaptive Evolution - - Stickleback repeated adaptation to new environments provide a powerful mechanism to study the molecular genetics of evolutionary changes in wild populations. As we develop stickleback genomic sequencing technologies, we can start mapping genes that control evolutionary change to the genetic basis of adaptive evolution. - - Marine Stickleback Genome - - The newly minted marine stickleback genome was assembled into 22 chromosomes, 455MB in genome length with an N50 of 21,246,911 base pairs and nearly gapless with only 715 gaps remaining. The marine stickleback was from the Rabbit Slough, Alaska population was was sequenced by combining several long read sequencing technologies with comprehensive enhanced informative short read Illumina sequencing. - - Genome-Wide Variation Between Freshwater and Marine Stickleback - - Pairwise Maine and freshwater stickleback genome alignments were produced in AXT format with LASTZ and converted to CHAIN format with axtChain. AXT and CHAIN alignments were generated in both directions. The set of alignments were computed using the marine stickleback as the target genome which used the freshwater stickleback as the query genome. However, the second set of alignments were computed in reverse, this time with freshwater genome as the target with the marine stickleback as its query genome and further processed using chainSwap. LASTZ and axtChain were programmed into a wrapping script. All chains were merged and sorted with chainMergeSort. Finally, the best alignments from chains are selected with chainNet using a red-black trees algorithm to keep track of areas of a chromosome already covered until there are no bases left and distinguish duplicated from non-duplicated regions. The resulting file is a hierarchical collection of chains, with the highest-scoring non-overlapping chains on top, and gaps filled by possible lower-scoring chains called a NET. Nets are single-coverage target genomes, but not for query genomes unless it has been filtered to be single-coverage on both target and query. We generated reciprocal-best netted chains our pairwise netted chains by writing a wrapping bash script. All programs to process chains and nets are open sourced UCSC Kent Utilities developed to examine genomic duplications, deletions, and rearrangements of the first whole-genome comparisons between human and mouse J Kent 2003. - - Differential Chromatin Accessibility and Gene Expression - Marine Freshwater Hybrid Crosses - - GATK: SNPS, INDELS. Two different F1 hybrid (Freshwater x Marine) stickleback fish were crossed from Matadero Creek with Little Campbell and Rabbit Slough with Lake Matanuska. We generated ATAC-Seq, RNA-Seq, and WGS libraries to screen for allele specific enhancers near regions of increased chromatin accessibility that could perhaps be regulating differential gene expression. We perform a Fisher s Exact Test genome-wide to determine statistical significance if heterogygous SNPs sites are differentially increased or decreased in chromatin accessibility are enhancers or regulatory elements nearby differentially expressed genes. - - Differential Chromatin Accessibility and Gene Expression - - Results: Download - - Photo of F1 Hybrid - - After genotyping 18 stickleback genomes and 4 transcriptomes, 9,468,248 SNPs genome wide were detected. Testing each heterogygous SNPs site pinpointed to this PLXNA4 gene located near the end of chromosome 4 spanning a little more than 200 kb. In the F1 hybrid WGS data is heterozygous for both SNPs. However, in the atac-seq cross, the genotype is homozygous suggesting one of the alleles is differentially increased in chromatin accessibility, while the other allele is completely closed. What is even more interesting is nearby in the rna-seq data shows gene expression is clearly down-regulated in one allele and increased gene expression with the other allele. What is PLXNA4? PLXNA4 is a receptor for proteins SEMA3A and SEMA6, which mediate the effects of multiple semaphorins, including controlling diverse aspects of the nervous system development and plasticity, ranging from axon guidance and neuron migration to synaptic organization [Sun et al., 2013](https://science.sciencemag.org/content/342/6158/1241974). PLXNA4 has recently been identified in genome wide association studies (GWAS), as a novel genetic player associated with Alzheimer disease [Han et al., 2018](https://www.frontiersin.org/articles/10.3389/fnins.2018.00946/full). - - Photo of Chromosome 4 - Chromosome Spanning Assemblies - - Hi-C libraries are commonly used today for assembling draft genomes largely because these libraries can provide insight into 3-D chromosome structures and investigate chromosome interactions in close proximity. A freshwater three-spine stickleback Hi-C library previously provided a noticeable improvement to the Gasterosteus aculeatus freshwater assembly [CL Peichel, 2017](https://academic.oup.com/jhered/article/108/6/693/3957968). However, Karyotype characterization in sticklebacks have previously reported to have a high divergence chromosomal morphology [Kitano 2009](https://www.nature.com/articles/nature08441), [Ross 2009](https://pubmed.ncbi.nlm.nih.gov/19229325/). When we mapped previously generated freshwater Hi-C data to both the freshwater assembly and the marine stickleback genome revealed identical heat map signatures. Similarly, when we mapped marine Hi-C data against the freshwater and marine genomes respectively, produced the same Hi-C heat map profiles suggesting both assemblies are high contiguity chromosome level assemblies, but no large detectable chromosomal rearrangements or translocations. - - Hi-C Plot - Marine Freshwater Chromosomal Inversions - - Performing marine to freshwater genome alignments and comparisons reveal consistent findings with previous work which identified 3 marine freshwater chromosome inversions located on chromosomes 1, 11, and 21 [Jones et al. 2012](https://www.nature.com/articles/nature10944.pdf). On the marine stickleback genome coordinates, the inversions span roughly from 26,630,694 to 27,081,942 on chromosome one, 6,311,704 to 6,740,674 on chromosome eleven, and 9,570,312 to 11,281,238 on chromosome twenty-one. - - Chromosomal Inversions - Presence Absence - - PITX1 contains multiple regulatory switches that allow for transcription of that gene in multiple tissues. - - PITX1 Presence Absence - Genomic Software Projects - github.com/edotau/goFish - Slurm Compute Cluster: sticklebackCipher - Lowe Lab Software - Website: vertgenlab - github.com/gonomics - -
-
-
- ) -} \ No newline at end of file diff --git a/ui/src/routes.js b/ui/src/routes.js index 70a7cb42b..7276978d8 100644 --- a/ui/src/routes.js +++ b/ui/src/routes.js @@ -1,14 +1,14 @@ -import React from 'react' -import AboutMe from './pages/AboutMe' -import Experience from './pages/Experience' -import Projects from './pages/Projects' -import Playground from './pages/Playground' +import React from "react"; +import AboutMe from "./pages/AboutMe"; +import Experience from "./pages/Experience"; +import Projects from "./pages/Projects"; +import GolfTable from "./pages/GolfTable"; const routes = [ - { path: '/', name: 'About Me', element: , }, - { path: '/experience', name: 'Experience', element: , }, - { path: '/projects', name: 'Projects', element: , }, - { path: '/playground', name: 'Playground', element: < Playground/>, }, -] + { path: "/", name: "About Me", element: }, + { path: "/experience", name: "Experience", element: }, + { path: "/projects", name: "Projects", element: }, + { path: "/table", name: "Golf", element: }, +]; -export default routes +export default routes; diff --git a/ui/src/styletron.js b/ui/src/styletron.js index 980bf73cb..1371e452e 100644 --- a/ui/src/styletron.js +++ b/ui/src/styletron.js @@ -1,11 +1,11 @@ -import { Client, Server, } from 'styletron-engine-atomic' +import { Client, Server } from "styletron-engine-atomic"; const getHydrateClass = () => - document.getElementsByClassName('_styletron_hydrate_',) + document.getElementsByClassName("_styletron_hydrate_"); export const styletron = - typeof window === 'undefined' + typeof window === "undefined" ? new Server() : new Client({ hydrate: getHydrateClass(), - },) + }); diff --git a/ui/src/utils.js b/ui/src/utils.js index e42f202b4..476fd30cc 100644 --- a/ui/src/utils.js +++ b/ui/src/utils.js @@ -1,8 +1,8 @@ -export const createCookie = (cookieName, cookieValue, hourToExpire,) => { - const date = new Date() - date.setTime(date.getTime() + hourToExpire * 60 * 60 * 1000,) - document.cookie = `${cookieName} = ${cookieValue}; expires = ${date.toGMTString()}` -} +export const createCookie = (cookieName, cookieValue, hourToExpire) => { + const date = new Date(); + date.setTime(date.getTime() + hourToExpire * 60 * 60 * 1000); + document.cookie = `${cookieName} = ${cookieValue}; expires = ${date.toGMTString()}`; +}; -export const deleteCookie = (name,) => - (document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;') +export const deleteCookie = (name) => + (document.cookie = name + "=; expires=Thu, 01 Jan 1970 00:00:01 GMT;"); diff --git a/ui/yarn.lock b/ui/yarn.lock index 858f8c26f..0fdad61e6 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -2845,6 +2845,15 @@ axe-core@=4.7.0: resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.7.0.tgz#34ba5a48a8b564f67e103f0aa5768d76e15bbbbf" integrity sha512-M0JtH+hlOL5pLQwHOLNYZaXuhqmvS8oExsqB1SBYgA4Dk7u/xx+YdGHXaK5pyUfed5mYXdlYiphWq3G8cRi5JQ== +axios@^1.6.8: + version "1.6.8" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66" + integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axobject-query@^3.2.1: version "3.2.1" resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-3.2.1.tgz#39c378a6e3b06ca679f29138151e45b2b32da62a" @@ -5005,7 +5014,7 @@ flatted@^3.2.9: resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.3.1.tgz#21db470729a6734d4997002f439cb308987f567a" integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== -follow-redirects@^1.0.0: +follow-redirects@^1.0.0, follow-redirects@^1.15.6: version "1.15.6" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== @@ -5053,6 +5062,15 @@ form-data@^3.0.0: combined-stream "^1.0.8" mime-types "^2.1.12" +form-data@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" + integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + dependencies: + asynckit "^0.4.0" + combined-stream "^1.0.8" + mime-types "^2.1.12" + format@^0.2.0: version "0.2.2" resolved "https://registry.yarnpkg.com/format/-/format-0.2.2.tgz#d6170107e9efdc4ed30c9dc39016df942b5cb58b" @@ -8138,6 +8156,11 @@ prettier-linter-helpers@^1.0.0: dependencies: fast-diff "^1.1.2" +prettier@^3.2.5: + version "3.2.5" + resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.2.5.tgz#e52bc3090586e824964a8813b09aba6233b28368" + integrity sha512-3/GWa9aOC0YeD7LUfvOG2NiDyhOWRvt1k+rcKhOuYnMY24iiCphgneUfJDyFXd6rZCAnuLBv6UeAULtrhT/F4A== + pretty-bytes@^5.3.0, pretty-bytes@^5.4.1: version "5.6.0" resolved "https://registry.yarnpkg.com/pretty-bytes/-/pretty-bytes-5.6.0.tgz#356256f643804773c82f64723fe78c92c62beaeb" @@ -8170,10 +8193,15 @@ pretty-format@^28.1.3: ansi-styles "^5.0.0" react-is "^18.0.0" -primereact@^10.6.3: - version "10.6.3" - resolved "https://registry.yarnpkg.com/primereact/-/primereact-10.6.3.tgz#a7feed961daf83f875834cc6f4ce25b1df335788" - integrity sha512-1jCg81ebdmTGS5+1mbqNOLxTBD1Bcg9YqInrlghz9l2/akRIoSB9krnXEi14h8h/X4CH4EdAEHs0FF3Lj+IO8w== +primeflex@^3.3.1: + version "3.3.1" + resolved "https://registry.yarnpkg.com/primeflex/-/primeflex-3.3.1.tgz#361dddf6eb5db50d733e4cddd4b6e376a3d7bd68" + integrity sha512-zaOq3YvcOYytbAmKv3zYc+0VNS9Wg5d37dfxZnveKBFPr7vEIwfV5ydrpiouTft8MVW6qNjfkaQphHSnvgQbpQ== + +primereact@^10.6.5: + version "10.6.5" + resolved "https://registry.yarnpkg.com/primereact/-/primereact-10.6.5.tgz#dbd4b3f6aedb56769c9403e47a35ab320567c43a" + integrity sha512-YbdvyIRIGSfZVhtIbltizUISBuXVXBn2S4/491xdDJLrxohjjf0uIogu+/sSKRBVVT17b6zFEwARTvc9yUA7tQ== dependencies: "@types/react-transition-group" "^4.4.1" react-transition-group "^4.4.1" @@ -8227,6 +8255,11 @@ proxy-addr@~2.0.7: forwarded "0.2.0" ipaddr.js "1.9.1" +proxy-from-env@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2" + integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg== + psl@^1.1.33: version "1.9.0" resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7" diff --git a/webpage/build/.nojekyll b/webpage/build/.nojekyll deleted file mode 100644 index e69de29bb..000000000 diff --git a/webpage/build/404.html b/webpage/build/404.html deleted file mode 100644 index ae4cba9a7..000000000 --- a/webpage/build/404.html +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/webpage/build/_next/static/chunks/157-6faa08aa67a65306.js b/webpage/build/_next/static/chunks/157-6faa08aa67a65306.js deleted file mode 100644 index f65a51cb3..000000000 --- a/webpage/build/_next/static/chunks/157-6faa08aa67a65306.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[157],{7138:function(e,t,n){"use strict";n.d(t,{default:function(){return o.a}});var r=n(231),o=n.n(r)},6463:function(e,t,n){"use strict";var r=n(1169);n.o(r,"usePathname")&&n.d(t,{usePathname:function(){return r.usePathname}}),n.o(r,"useSearchParams")&&n.d(t,{useSearchParams:function(){return r.useSearchParams}})},844:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addLocale",{enumerable:!0,get:function(){return r}}),n(8157);let r=function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{})}}function v(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}let O=i.default.forwardRef(function(e,t){let n,r;let{href:s,as:g,children:O,prefetch:w=null,passHref:P,replace:j,shallow:x,scroll:E,locale:S,onClick:C,onMouseEnter:R,onTouchStart:_,legacyBehavior:k=!1,...N}=e;n=O,k&&("string"==typeof n||"number"==typeof n)&&(n=(0,o.jsx)("a",{children:n}));let I=i.default.useContext(p.RouterContext),T=i.default.useContext(f.AppRouterContext),M=null!=I?I:T,A=!I,D=!1!==w,L=null===w?h.PrefetchKind.AUTO:h.PrefetchKind.FULL,{href:U,as:W}=i.default.useMemo(()=>{if(!I){let e=v(s);return{href:e,as:g?v(g):e}}let[e,t]=(0,a.resolveHref)(I,s,!0);return{href:e,as:g?(0,a.resolveHref)(I,g):t||e}},[I,s,g]),z=i.default.useRef(U),K=i.default.useRef(W);k&&(r=i.default.Children.only(n));let H=k?r&&"object"==typeof r&&r.ref:t,[B,Z,F]=(0,d.useIntersection)({rootMargin:"200px"}),q=i.default.useCallback(e=>{(K.current!==W||z.current!==U)&&(F(),K.current=W,z.current=U),B(e),H&&("function"==typeof H?H(e):"object"==typeof H&&(H.current=e))},[W,H,U,F,B]);i.default.useEffect(()=>{M&&Z&&D&&y(M,U,W,{locale:S},{kind:L},A)},[W,U,Z,S,D,null==I?void 0:I.locale,M,A,L]);let Y={ref:q,onClick(e){k||"function"!=typeof C||C(e),k&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),M&&!e.defaultPrevented&&function(e,t,n,r,o,a,s,u,c){let{nodeName:p}=e.currentTarget;if("A"===p.toUpperCase()&&(function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||!c&&!(0,l.isLocalURL)(n)))return;e.preventDefault();let f=()=>{let e=null==s||s;"beforePopState"in t?t[o?"replace":"push"](n,r,{shallow:a,locale:u,scroll:e}):t[o?"replace":"push"](r||n,{scroll:e})};c?i.default.startTransition(f):f()}(e,M,U,W,j,x,E,S,A)},onMouseEnter(e){k||"function"!=typeof R||R(e),k&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),M&&(D||!A)&&y(M,U,W,{locale:S,priority:!0,bypassPrefetchedCheck:!0},{kind:L},A)},onTouchStart:function(e){k||"function"!=typeof _||_(e),k&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),M&&(D||!A)&&y(M,U,W,{locale:S,priority:!0,bypassPrefetchedCheck:!0},{kind:L},A)}};if((0,u.isAbsoluteUrl)(W))Y.href=W;else if(!k||P||"a"===r.type&&!("href"in r.props)){let e=void 0!==S?S:null==I?void 0:I.locale,t=(null==I?void 0:I.isLocaleDomain)&&(0,b.getDomainLocale)(W,e,null==I?void 0:I.locales,null==I?void 0:I.domainLocales);Y.href=t||(0,m.addBasePath)((0,c.addLocale)(W,e,null==I?void 0:I.defaultLocale))}return k?i.default.cloneElement(r,Y):(0,o.jsx)("a",{...N,...Y,children:n})});("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9189:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{cancelIdleCallback:function(){return r},requestIdleCallback:function(){return n}});let n="undefined"!=typeof self&&self.requestIdleCallback&&self.requestIdleCallback.bind(window)||function(e){let t=Date.now();return self.setTimeout(function(){e({didTimeout:!1,timeRemaining:function(){return Math.max(0,50-(Date.now()-t))}})},1)},r="undefined"!=typeof self&&self.cancelIdleCallback&&self.cancelIdleCallback.bind(window)||function(e){return clearTimeout(e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8016:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"resolveHref",{enumerable:!0,get:function(){return p}});let r=n(8323),o=n(1142),i=n(5519),a=n(3461),l=n(8157),s=n(8029),u=n(9195),c=n(20);function p(e,t,n){let p;let f="string"==typeof t?t:(0,o.formatWithValidation)(t),d=f.match(/^[a-zA-Z]{1,}:\/\//),b=d?f.slice(d[0].length):f;if((b.split("?",1)[0]||"").match(/(\/\/|\\)/)){console.error("Invalid href '"+f+"' passed to next/router in page: '"+e.pathname+"'. Repeated forward-slashes (//) or backslashes \\ are not valid in the href.");let t=(0,a.normalizeRepeatedSlashes)(b);f=(d?d[0]:"")+t}if(!(0,s.isLocalURL)(f))return n?[f]:f;try{p=new URL(f.startsWith("#")?e.asPath:e.pathname,"http://n")}catch(e){p=new URL("/","http://n")}try{let e=new URL(f,p);e.pathname=(0,l.normalizePathTrailingSlash)(e.pathname);let t="";if((0,u.isDynamicRoute)(e.pathname)&&e.searchParams&&n){let n=(0,r.searchParamsToUrlQuery)(e.searchParams),{result:a,params:l}=(0,c.interpolateAs)(e.pathname,e.pathname,n);a&&(t=(0,o.formatWithValidation)({pathname:a,hash:e.hash,query:(0,i.omit)(n,l)}))}let a=e.origin===p.origin?e.href.slice(e.origin.length):e.href;return n?[a,t||a]:a}catch(e){return n?[f]:f}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3106:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"useIntersection",{enumerable:!0,get:function(){return s}});let r=n(2265),o=n(9189),i="function"==typeof IntersectionObserver,a=new Map,l=[];function s(e){let{rootRef:t,rootMargin:n,disabled:s}=e,u=s||!i,[c,p]=(0,r.useState)(!1),f=(0,r.useRef)(null),d=(0,r.useCallback)(e=>{f.current=e},[]);return(0,r.useEffect)(()=>{if(i){if(u||c)return;let e=f.current;if(e&&e.tagName)return function(e,t,n){let{id:r,observer:o,elements:i}=function(e){let t;let n={root:e.root||null,margin:e.rootMargin||""},r=l.find(e=>e.root===n.root&&e.margin===n.margin);if(r&&(t=a.get(r)))return t;let o=new Map;return t={id:n,observer:new IntersectionObserver(e=>{e.forEach(e=>{let t=o.get(e.target),n=e.isIntersecting||e.intersectionRatio>0;t&&n&&t(n)})},e),elements:o},l.push(n),a.set(n,t),t}(n);return i.set(e,t),o.observe(e),function(){if(i.delete(e),o.unobserve(e),0===i.size){o.disconnect(),a.delete(r);let e=l.findIndex(e=>e.root===r.root&&e.margin===r.margin);e>-1&&l.splice(e,1)}}}(e,e=>e&&p(e),{root:null==t?void 0:t.current,rootMargin:n})}else if(!c){let e=(0,o.requestIdleCallback)(()=>p(!0));return()=>(0,o.cancelIdleCallback)(e)}},[u,n,t,c,f.current]),[d,c,(0,r.useCallback)(()=>{p(!1)},[])]}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1943:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"escapeStringRegexp",{enumerable:!0,get:function(){return o}});let n=/[|\\{}()[\]^$+*?.-]/,r=/[|\\{}()[\]^$+*?.-]/g;function o(e){return n.test(e)?e.replace(r,"\\$&"):e}},291:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return r}});let r=n(9920)._(n(2265)).default.createContext(null)},1142:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{formatUrl:function(){return i},formatWithValidation:function(){return l},urlObjectKeys:function(){return a}});let r=n(1452)._(n(8323)),o=/https?|ftp|gopher|file/;function i(e){let{auth:t,hostname:n}=e,i=e.protocol||"",a=e.pathname||"",l=e.hash||"",s=e.query||"",u=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?u=t+e.host:n&&(u=t+(~n.indexOf(":")?"["+n+"]":n),e.port&&(u+=":"+e.port)),s&&"object"==typeof s&&(s=String(r.urlQueryToSearchParams(s)));let c=e.search||s&&"?"+s||"";return i&&!i.endsWith(":")&&(i+=":"),e.slashes||(!i||o.test(i))&&!1!==u?(u="//"+(u||""),a&&"/"!==a[0]&&(a="/"+a)):u||(u=""),l&&"#"!==l[0]&&(l="#"+l),c&&"?"!==c[0]&&(c="?"+c),""+i+u+(a=a.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+l}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return i(e)}},9195:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getSortedRoutes:function(){return r.getSortedRoutes},isDynamicRoute:function(){return o.isDynamicRoute}});let r=n(9089),o=n(8083)},20:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"interpolateAs",{enumerable:!0,get:function(){return i}});let r=n(1533),o=n(3169);function i(e,t,n){let i="",a=(0,o.getRouteRegex)(e),l=a.groups,s=(t!==e?(0,r.getRouteMatcher)(a)(t):"")||n;i=e;let u=Object.keys(l);return u.every(e=>{let t=s[e]||"",{repeat:n,optional:r}=l[e],o="["+(n?"...":"")+e+"]";return r&&(o=(t?"":"/")+"["+o+"]"),n&&!Array.isArray(t)&&(t=[t]),(r||e in s)&&(i=i.replace(o,n?t.map(e=>encodeURIComponent(e)).join("/"):encodeURIComponent(t))||"/")})||(i=""),{params:u,result:i}}},8083:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isDynamicRoute",{enumerable:!0,get:function(){return i}});let r=n(2269),o=/\/\[[^/]+?\](?=\/|$)/;function i(e){return(0,r.isInterceptionRouteAppPath)(e)&&(e=(0,r.extractInterceptionRouteInformation)(e).interceptedRoute),o.test(e)}},8029:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isLocalURL",{enumerable:!0,get:function(){return i}});let r=n(3461),o=n(9404);function i(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),n=new URL(e,t);return n.origin===t&&(0,o.hasBasePath)(n.pathname)}catch(e){return!1}}},5519:function(e,t){"use strict";function n(e,t){let n={};return Object.keys(e).forEach(r=>{t.includes(r)||(n[r]=e[r])}),n}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"omit",{enumerable:!0,get:function(){return n}})},8323:function(e,t){"use strict";function n(e){let t={};return e.forEach((e,n)=>{void 0===t[n]?t[n]=e:Array.isArray(t[n])?t[n].push(e):t[n]=[t[n],e]}),t}function r(e){return"string"!=typeof e&&("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function o(e){let t=new URLSearchParams;return Object.entries(e).forEach(e=>{let[n,o]=e;Array.isArray(o)?o.forEach(e=>t.append(n,r(e))):t.set(n,r(o))}),t}function i(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r{Array.from(t.keys()).forEach(t=>e.delete(t)),t.forEach((t,n)=>e.append(n,t))}),e}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{assign:function(){return i},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return o}})},1533:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getRouteMatcher",{enumerable:!0,get:function(){return o}});let r=n(3461);function o(e){let{re:t,groups:n}=e;return e=>{let o=t.exec(e);if(!o)return!1;let i=e=>{try{return decodeURIComponent(e)}catch(e){throw new r.DecodeError("failed to decode param")}},a={};return Object.keys(n).forEach(e=>{let t=n[e],r=o[t.pos];void 0!==r&&(a[e]=~r.indexOf("/")?r.split("/").map(e=>i(e)):t.repeat?[i(r)]:i(r))}),a}}},3169:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getNamedMiddlewareRegex:function(){return f},getNamedRouteRegex:function(){return p},getRouteRegex:function(){return s}});let r=n(2269),o=n(1943),i=n(7741);function a(e){let t=e.startsWith("[")&&e.endsWith("]");t&&(e=e.slice(1,-1));let n=e.startsWith("...");return n&&(e=e.slice(3)),{key:e,repeat:n,optional:t}}function l(e){let t=(0,i.removeTrailingSlash)(e).slice(1).split("/"),n={},l=1;return{parameterizedRoute:t.map(e=>{let t=r.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(t&&i){let{key:e,optional:r,repeat:s}=a(i[1]);return n[e]={pos:l++,repeat:s,optional:r},"/"+(0,o.escapeStringRegexp)(t)+"([^/]+?)"}if(!i)return"/"+(0,o.escapeStringRegexp)(e);{let{key:e,repeat:t,optional:r}=a(i[1]);return n[e]={pos:l++,repeat:t,optional:r},t?r?"(?:/(.+?))?":"/(.+?)":"/([^/]+?)"}}).join(""),groups:n}}function s(e){let{parameterizedRoute:t,groups:n}=l(e);return{re:RegExp("^"+t+"(?:/)?$"),groups:n}}function u(e){let{interceptionMarker:t,getSafeRouteKey:n,segment:r,routeKeys:i,keyPrefix:l}=e,{key:s,optional:u,repeat:c}=a(r),p=s.replace(/\W/g,"");l&&(p=""+l+p);let f=!1;(0===p.length||p.length>30)&&(f=!0),isNaN(parseInt(p.slice(0,1)))||(f=!0),f&&(p=n()),l?i[p]=""+l+s:i[p]=s;let d=t?(0,o.escapeStringRegexp)(t):"";return c?u?"(?:/"+d+"(?<"+p+">.+?))?":"/"+d+"(?<"+p+">.+?)":"/"+d+"(?<"+p+">[^/]+?)"}function c(e,t){let n;let a=(0,i.removeTrailingSlash)(e).slice(1).split("/"),l=(n=0,()=>{let e="",t=++n;for(;t>0;)e+=String.fromCharCode(97+(t-1)%26),t=Math.floor((t-1)/26);return e}),s={};return{namedParameterizedRoute:a.map(e=>{let n=r.INTERCEPTION_ROUTE_MARKERS.some(t=>e.startsWith(t)),i=e.match(/\[((?:\[.*\])|.+)\]/);if(n&&i){let[n]=e.split(i[0]);return u({getSafeRouteKey:l,interceptionMarker:n,segment:i[1],routeKeys:s,keyPrefix:t?"nxtI":void 0})}return i?u({getSafeRouteKey:l,segment:i[1],routeKeys:s,keyPrefix:t?"nxtP":void 0}):"/"+(0,o.escapeStringRegexp)(e)}).join(""),routeKeys:s}}function p(e,t){let n=c(e,t);return{...s(e),namedRegex:"^"+n.namedParameterizedRoute+"(?:/)?$",routeKeys:n.routeKeys}}function f(e,t){let{parameterizedRoute:n}=l(e),{catchAll:r=!0}=t;if("/"===n)return{namedRegex:"^/"+(r?".*":"")+"$"};let{namedParameterizedRoute:o}=c(e,!1);return{namedRegex:"^"+o+(r?"(?:(/.*)?)":"")+"$"}}},9089:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSortedRoutes",{enumerable:!0,get:function(){return r}});class n{insert(e){this._insert(e.split("/").filter(Boolean),[],!1)}smoosh(){return this._smoosh()}_smoosh(e){void 0===e&&(e="/");let t=[...this.children.keys()].sort();null!==this.slugName&&t.splice(t.indexOf("[]"),1),null!==this.restSlugName&&t.splice(t.indexOf("[...]"),1),null!==this.optionalRestSlugName&&t.splice(t.indexOf("[[...]]"),1);let n=t.map(t=>this.children.get(t)._smoosh(""+e+t+"/")).reduce((e,t)=>[...e,...t],[]);if(null!==this.slugName&&n.push(...this.children.get("[]")._smoosh(e+"["+this.slugName+"]/")),!this.placeholder){let t="/"===e?"/":e.slice(0,-1);if(null!=this.optionalRestSlugName)throw Error('You cannot define a route with the same specificity as a optional catch-all route ("'+t+'" and "'+t+"[[..."+this.optionalRestSlugName+']]").');n.unshift(t)}return null!==this.restSlugName&&n.push(...this.children.get("[...]")._smoosh(e+"[..."+this.restSlugName+"]/")),null!==this.optionalRestSlugName&&n.push(...this.children.get("[[...]]")._smoosh(e+"[[..."+this.optionalRestSlugName+"]]/")),n}_insert(e,t,r){if(0===e.length){this.placeholder=!1;return}if(r)throw Error("Catch-all must be the last part of the URL.");let o=e[0];if(o.startsWith("[")&&o.endsWith("]")){let n=o.slice(1,-1),a=!1;if(n.startsWith("[")&&n.endsWith("]")&&(n=n.slice(1,-1),a=!0),n.startsWith("...")&&(n=n.substring(3),r=!0),n.startsWith("[")||n.endsWith("]"))throw Error("Segment names may not start or end with extra brackets ('"+n+"').");if(n.startsWith("."))throw Error("Segment names may not start with erroneous periods ('"+n+"').");function i(e,n){if(null!==e&&e!==n)throw Error("You cannot use different slug names for the same dynamic path ('"+e+"' !== '"+n+"').");t.forEach(e=>{if(e===n)throw Error('You cannot have the same slug name "'+n+'" repeat within a single dynamic path');if(e.replace(/\W/g,"")===o.replace(/\W/g,""))throw Error('You cannot have the slug names "'+e+'" and "'+n+'" differ only by non-word symbols within a single dynamic path')}),t.push(n)}if(r){if(a){if(null!=this.restSlugName)throw Error('You cannot use both an required and optional catch-all route at the same level ("[...'+this.restSlugName+']" and "'+e[0]+'" ).');i(this.optionalRestSlugName,n),this.optionalRestSlugName=n,o="[[...]]"}else{if(null!=this.optionalRestSlugName)throw Error('You cannot use both an optional and required catch-all route at the same level ("[[...'+this.optionalRestSlugName+']]" and "'+e[0]+'").');i(this.restSlugName,n),this.restSlugName=n,o="[...]"}}else{if(a)throw Error('Optional route parameters are not yet supported ("'+e[0]+'").');i(this.slugName,n),this.slugName=n,o="[]"}}this.children.has(o)||this.children.set(o,new n),this.children.get(o)._insert(e.slice(1),t,r)}constructor(){this.placeholder=!0,this.children=new Map,this.slugName=null,this.restSlugName=null,this.optionalRestSlugName=null}}function r(e){let t=new n;return e.forEach(e=>t.insert(e)),t.smoosh()}},3461:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DecodeError:function(){return b},MiddlewareNotFoundError:function(){return y},MissingStaticPage:function(){return g},NormalizeError:function(){return m},PageNotFoundError:function(){return h},SP:function(){return f},ST:function(){return d},WEB_VITALS:function(){return n},execOnce:function(){return r},getDisplayName:function(){return s},getLocationOrigin:function(){return a},getURL:function(){return l},isAbsoluteUrl:function(){return i},isResSent:function(){return u},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return c},stringifyError:function(){return v}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function r(e){let t,n=!1;return function(){for(var r=arguments.length,o=Array(r),i=0;io.test(e);function a(){let{protocol:e,hostname:t,port:n}=window.location;return e+"//"+t+(n?":"+n:"")}function l(){let{href:e}=window.location,t=a();return e.substring(t.length)}function s(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function c(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let n=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(n&&u(n))return r;if(!r)throw Error('"'+s(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.');return r}let f="undefined"!=typeof performance,d=f&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class m extends Error{}class h extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class g extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class y extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function v(e){return JSON.stringify({message:e.message,stack:e.stack})}},3211:function(e,t,n){"use strict";n.d(t,{z:function(){return N}});var r=n(2265),o=n(3155),i=n(894),a=n(1857),l=n(4687),s=n(3730);function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);na.width?(T.current.style.left="0px",T.current.style.right=window.innerWidth-a.width-r+"px"):(T.current.style.right="",T.current.style.left=r+"px"),T.current.style.top=o+"px",l.p7.addClass(T.current,"p-tooltip-active")}else{var f=l.p7.findCollisionPosition(i),d=J(e,"my")||u.my||f.my,b=J(e,"at")||u.at||f.at;T.current.style.padding="0px",l.p7.flipfitCollision(T.current,e,d,b,function(e){var t=e.at,n=t.x,r=t.y,o=e.my.x,i=u.at?"center"!==n&&n!==o?n:r:e.at["".concat(f.axis)];T.current.style.padding="",j(i),eo(i),l.p7.addClass(T.current,"p-tooltip-active")})}},eo=function(e){if(T.current){var t=getComputedStyle(T.current);"left"===e?T.current.style.left=parseFloat(t.left)-2*parseFloat(t.paddingLeft)+"px":"top"===e&&(T.current.style.top=parseFloat(t.top)-2*parseFloat(t.paddingTop)+"px")}},ei=function(){$()||(L.current=!1)},ea=function(e){$()||(L.current=!0,en(e))},el=function(e){if(e){var t=Q(e),n=t.showEvents,r=t.hideEvents,o=ef(e);n.forEach(function(e){return null==o?void 0:o.addEventListener(e,et)}),r.forEach(function(e){return null==o?void 0:o.addEventListener(e,en)})}},es=function(e){if(e){var t=Q(e),n=t.showEvents,r=t.hideEvents,o=ef(e);n.forEach(function(e){return null==o?void 0:o.removeEventListener(e,et)}),r.forEach(function(e){return null==o?void 0:o.removeEventListener(e,en)})}},eu=function(e,t){ep();var n=J(A.current,e.toLowerCase())||u[e];n?U.current["".concat(e)]=setTimeout(function(){return t()},n):t()},ec=function(e){if(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;re.length)&&(t=e.length);for(var n=0,r=Array(t);ne.length)&&(t=e.length);for(var n=0,r=Array(t);n1&&t.some(Array.isArray)?t.flat(e-1):t},Array.prototype.flatMap=function(e,t){return this.map(e,t).flat()}),Promise.prototype.finally||(Promise.prototype.finally=function(e){if("function"!=typeof e)return this.then(e,e);var t=this.constructor||Promise;return this.then(function(n){return t.resolve(e()).then(function(){return n})},function(n){return t.resolve(e()).then(function(){throw n})})}),Object.fromEntries||(Object.fromEntries=function(e){return Array.from(e).reduce(function(e,t){return e[t[0]]=t[1],e},{})}),Array.prototype.at||(Array.prototype.at=function(e){var t=Math.trunc(e)||0;if(t<0&&(t+=this.length),!(t<0||t>=this.length))return this[t]}),Object.hasOwn||(Object.hasOwn=function(e,t){if(null==e)throw TypeError("Cannot convert undefined or null to object");return Object.prototype.hasOwnProperty.call(Object(e),t)})},4897:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addBasePath",{enumerable:!0,get:function(){return u}});let r=n(2707),o=n(8157);function u(e,t){return(0,o.normalizePathTrailingSlash)((0,r.addPathPrefix)(e,""))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5684:function(e,t){"use strict";function n(e){var t,n;t=self.__next_s,n=()=>{e()},t&&t.length?t.reduce((e,t)=>{let[n,r]=t;return e.then(()=>new Promise((e,t)=>{let o=document.createElement("script");if(r)for(let e in r)"children"!==e&&o.setAttribute(e,r[e]);n?(o.src=n,o.onload=()=>e(),o.onerror=t):r&&(o.innerHTML=r.children,setTimeout(e)),document.head.appendChild(o)}))},Promise.resolve()).catch(e=>{console.error(e)}).then(()=>{n()}):n()}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"appBootstrap",{enumerable:!0,get:function(){return n}}),window.next={version:"14.2.3",appDir:!0},("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4590:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"callServer",{enumerable:!0,get:function(){return o}});let r=n(5751);async function o(e,t){let n=(0,r.getServerActionDispatcher)();if(!n)throw Error("Invariant: missing action dispatcher.");return new Promise((r,o)=>{n({actionId:e,actionArgs:t,resolve:r,reject:o})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},353:function(e,t,n){"use strict";let r,o;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hydrate",{enumerable:!0,get:function(){return x}});let u=n(9920),l=n(1452),a=n(7437);n(7108);let i=u._(n(4040)),c=l._(n(2265)),s=n(6671),f=n(6590),d=u._(n(6124)),p=n(4590),h=n(2128),y=n(1427);n(3243);let _=window.console.error;window.console.error=function(){for(var e=arguments.length,t=Array(e),n=0;n{if((0,h.isNextRouterError)(e.error)){e.preventDefault();return}});let v=document,b=new TextEncoder,g=!1,m=!1,R=null;function P(e){if(0===e[0])r=[];else if(1===e[0]){if(!r)throw Error("Unexpected server data: missing bootstrap script.");o?o.enqueue(b.encode(e[1])):r.push(e[1])}else 2===e[0]&&(R=e[1])}let j=function(){o&&!m&&(o.close(),m=!0,r=void 0),g=!0};"loading"===document.readyState?document.addEventListener("DOMContentLoaded",j,!1):j();let O=self.__next_f=self.__next_f||[];O.forEach(P),O.push=P;let S=new ReadableStream({start(e){r&&(r.forEach(t=>{e.enqueue(b.encode(t))}),g&&!m&&(e.close(),m=!0,r=void 0)),o=e}}),E=(0,s.createFromReadableStream)(S,{callServer:p.callServer});function w(){return(0,c.use)(E)}let T=c.default.StrictMode;function M(e){let{children:t}=e;return t}function x(){let e=(0,y.createMutableActionQueue)(),t=(0,a.jsx)(T,{children:(0,a.jsx)(f.HeadManagerContext.Provider,{value:{appDir:!0},children:(0,a.jsx)(y.ActionQueueContext.Provider,{value:e,children:(0,a.jsx)(M,{children:(0,a.jsx)(w,{})})})})}),n=window.__next_root_layout_missing_tags,r=!!(null==n?void 0:n.length),o={onRecoverableError:d.default};"__next_error__"===document.documentElement.id||r?i.default.createRoot(v,o).render(t):c.default.startTransition(()=>i.default.hydrateRoot(v,t,{...o,formState:R}))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1028:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(5820),(0,n(5684).appBootstrap)(()=>{let{hydrate:e}=n(353);n(5751),n(9275),e()}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5820:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),n(9492);{let e=n.u;n.u=function(){for(var t=arguments.length,n=Array(t),r=0;r(l(function(){var e;let t=document.getElementsByName(u)[0];if(null==t?void 0:null==(e=t.shadowRoot)?void 0:e.childNodes[0])return t.shadowRoot.childNodes[0];{let e=document.createElement(u);e.style.cssText="position:absolute";let t=document.createElement("div");return t.ariaLive="assertive",t.id="__next-route-announcer__",t.role="alert",t.style.cssText="position:absolute;border:0;height:1px;margin:-1px;padding:0;width:1px;clip:rect(0 0 0 0);overflow:hidden;white-space:nowrap;word-wrap:normal",e.attachShadow({mode:"open"}).appendChild(t),document.body.appendChild(e),t}}()),()=>{let e=document.getElementsByTagName(u)[0];(null==e?void 0:e.isConnected)&&document.body.removeChild(e)}),[]);let[a,i]=(0,r.useState)(""),c=(0,r.useRef)();return(0,r.useEffect)(()=>{let e="";if(document.title)e=document.title;else{let t=document.querySelector("h1");t&&(e=t.innerText||t.textContent||"")}void 0!==c.current&&c.current!==e&&i(e),c.current=e},[t]),n?(0,o.createPortal)(a,n):null}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7325:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION:function(){return r},FLIGHT_PARAMETERS:function(){return i},NEXT_DID_POSTPONE_HEADER:function(){return s},NEXT_ROUTER_PREFETCH_HEADER:function(){return u},NEXT_ROUTER_STATE_TREE:function(){return o},NEXT_RSC_UNION_QUERY:function(){return c},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return a},RSC_HEADER:function(){return n}});let n="RSC",r="Next-Action",o="Next-Router-State-Tree",u="Next-Router-Prefetch",l="Next-Url",a="text/x-component",i=[[n],[o],[u]],c="_rsc",s="x-nextjs-postponed";("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5751:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createEmptyCacheNode:function(){return C},default:function(){return I},getServerActionDispatcher:function(){return E},urlToUrlWithoutFlightMarker:function(){return T}});let r=n(1452),o=n(7437),u=r._(n(2265)),l=n(4467),a=n(1507),i=n(3174),c=n(8056),s=n(2114),f=n(6130),d=n(322),p=n(4092),h=n(4897),y=n(1012),_=n(6585),v=n(315),b=n(1108),g=n(7325),m=n(7599),R=n(9404),P=n(0),j="undefined"==typeof window,O=j?null:new Map,S=null;function E(){return S}let w={};function T(e){let t=new URL(e,location.origin);if(t.searchParams.delete(g.NEXT_RSC_UNION_QUERY),t.pathname.endsWith(".txt")){let{pathname:e}=t,n=e.endsWith("/index.txt")?10:4;t.pathname=e.slice(0,-n)}return t}function M(e){return e.origin!==window.location.origin}function x(e){let{appRouterState:t,sync:n}=e;return(0,u.useInsertionEffect)(()=>{let{tree:e,pushRef:r,canonicalUrl:o}=t,u={...r.preserveCustomHistoryState?window.history.state:{},__NA:!0,__PRIVATE_NEXTJS_INTERNALS_TREE:e};r.pendingPush&&(0,i.createHrefFromUrl)(new URL(window.location.href))!==o?(r.pendingPush=!1,window.history.pushState(u,"",o)):window.history.replaceState(u,"",o),n(t)},[t,n]),null}function C(){return{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null}}function A(e){null==e&&(e={});let t=window.history.state,n=null==t?void 0:t.__NA;n&&(e.__NA=n);let r=null==t?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;return r&&(e.__PRIVATE_NEXTJS_INTERNALS_TREE=r),e}function N(e){let{headCacheNode:t}=e,n=null!==t?t.head:null,r=null!==t?t.prefetchHead:null,o=null!==r?r:n;return(0,u.useDeferredValue)(n,o)}function D(e){let t,{buildId:n,initialHead:r,initialTree:i,initialCanonicalUrl:f,initialSeedData:g,couldBeIntercepted:E,assetPrefix:T,missingSlots:C}=e,D=(0,u.useMemo)(()=>(0,d.createInitialRouterState)({buildId:n,initialSeedData:g,initialCanonicalUrl:f,initialTree:i,initialParallelRoutes:O,location:j?null:window.location,initialHead:r,couldBeIntercepted:E}),[n,g,f,i,r,E]),[I,k,U]=(0,s.useReducerWithReduxDevtools)(D);(0,u.useEffect)(()=>{O=null},[]);let{canonicalUrl:F}=(0,s.useUnwrapState)(I),{searchParams:L,pathname:H}=(0,u.useMemo)(()=>{let e=new URL(F,"undefined"==typeof window?"http://n":window.location.href);return{searchParams:e.searchParams,pathname:(0,R.hasBasePath)(e.pathname)?(0,m.removeBasePath)(e.pathname):e.pathname}},[F]),$=(0,u.useCallback)(e=>{let{previousTree:t,serverResponse:n}=e;(0,u.startTransition)(()=>{k({type:a.ACTION_SERVER_PATCH,previousTree:t,serverResponse:n})})},[k]),G=(0,u.useCallback)((e,t,n)=>{let r=new URL((0,h.addBasePath)(e),location.href);return k({type:a.ACTION_NAVIGATE,url:r,isExternalUrl:M(r),locationSearch:location.search,shouldScroll:null==n||n,navigateType:t})},[k]);S=(0,u.useCallback)(e=>{(0,u.startTransition)(()=>{k({...e,type:a.ACTION_SERVER_ACTION})})},[k]);let z=(0,u.useMemo)(()=>({back:()=>window.history.back(),forward:()=>window.history.forward(),prefetch:(e,t)=>{if((0,p.isBot)(window.navigator.userAgent))return;let n=new URL((0,h.addBasePath)(e),window.location.href);M(n)||(0,u.startTransition)(()=>{var e;k({type:a.ACTION_PREFETCH,url:n,kind:null!=(e=null==t?void 0:t.kind)?e:a.PrefetchKind.FULL})})},replace:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;G(e,"replace",null==(n=t.scroll)||n)})},push:(e,t)=>{void 0===t&&(t={}),(0,u.startTransition)(()=>{var n;G(e,"push",null==(n=t.scroll)||n)})},refresh:()=>{(0,u.startTransition)(()=>{k({type:a.ACTION_REFRESH,origin:window.location.origin})})},fastRefresh:()=>{throw Error("fastRefresh can only be used in development mode. Please use refresh instead.")}}),[k,G]);(0,u.useEffect)(()=>{window.next&&(window.next.router=z)},[z]),(0,u.useEffect)(()=>{function e(e){var t;e.persisted&&(null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE)&&(w.pendingMpaPath=void 0,k({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:window.history.state.__PRIVATE_NEXTJS_INTERNALS_TREE}))}return window.addEventListener("pageshow",e),()=>{window.removeEventListener("pageshow",e)}},[k]);let{pushRef:B}=(0,s.useUnwrapState)(I);if(B.mpaNavigation){if(w.pendingMpaPath!==F){let e=window.location;B.pendingPush?e.assign(F):e.replace(F),w.pendingMpaPath=F}(0,u.use)(b.unresolvedThenable)}(0,u.useEffect)(()=>{let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history),n=e=>{var t;let n=window.location.href,r=null==(t=window.history.state)?void 0:t.__PRIVATE_NEXTJS_INTERNALS_TREE;(0,u.startTransition)(()=>{k({type:a.ACTION_RESTORE,url:new URL(null!=e?e:n,n),tree:r})})};window.history.pushState=function(t,r,o){return(null==t?void 0:t.__NA)||(null==t?void 0:t._N)||(t=A(t),o&&n(o)),e(t,r,o)},window.history.replaceState=function(e,r,o){return(null==e?void 0:e.__NA)||(null==e?void 0:e._N)||(e=A(e),o&&n(o)),t(e,r,o)};let r=e=>{let{state:t}=e;if(t){if(!t.__NA){window.location.reload();return}(0,u.startTransition)(()=>{k({type:a.ACTION_RESTORE,url:new URL(window.location.href),tree:t.__PRIVATE_NEXTJS_INTERNALS_TREE})})}};return window.addEventListener("popstate",r),()=>{window.history.pushState=e,window.history.replaceState=t,window.removeEventListener("popstate",r)}},[k]);let{cache:W,tree:K,nextUrl:V,focusAndScrollRef:Y}=(0,s.useUnwrapState)(I),X=(0,u.useMemo)(()=>(0,v.findHeadInCache)(W,K[1]),[W,K]),q=(0,u.useMemo)(()=>(function e(t,n){for(let r of(void 0===n&&(n={}),Object.values(t[1]))){let t=r[0],o=Array.isArray(t),u=o?t[1]:t;!u||u.startsWith(P.PAGE_SEGMENT_KEY)||(o&&("c"===t[2]||"oc"===t[2])?n[t[0]]=t[1].split("/"):o&&(n[t[0]]=t[1]),n=e(r,n))}return n})(K),[K]);if(null!==X){let[e,n]=X;t=(0,o.jsx)(N,{headCacheNode:e},n)}else t=null;let J=(0,o.jsxs)(_.RedirectBoundary,{children:[t,W.rsc,(0,o.jsx)(y.AppRouterAnnouncer,{tree:K})]});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(x,{appRouterState:(0,s.useUnwrapState)(I),sync:U}),(0,o.jsx)(c.PathParamsContext.Provider,{value:q,children:(0,o.jsx)(c.PathnameContext.Provider,{value:H,children:(0,o.jsx)(c.SearchParamsContext.Provider,{value:L,children:(0,o.jsx)(l.GlobalLayoutRouterContext.Provider,{value:{buildId:n,changeByServerResponse:$,tree:K,focusAndScrollRef:Y,nextUrl:V},children:(0,o.jsx)(l.AppRouterContext.Provider,{value:z,children:(0,o.jsx)(l.LayoutRouterContext.Provider,{value:{childNodes:W.parallelRoutes,tree:K,url:F,loading:W.loading},children:J})})})})})})]})}function I(e){let{globalErrorComponent:t,...n}=e;return(0,o.jsx)(f.ErrorBoundary,{errorComponent:t,children:(0,o.jsx)(D,{...n})})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4804:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"bailoutToClientRendering",{enumerable:!0,get:function(){return u}});let r=n(5592),o=n(4936);function u(e){let t=o.staticGenerationAsyncStorage.getStore();if((null==t||!t.forceStatic)&&(null==t?void 0:t.isStaticGeneration))throw new r.BailoutToCSRError(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6513:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ClientPageRoot",{enumerable:!0,get:function(){return u}});let r=n(7437),o=n(8897);function u(e){let{Component:t,props:n}=e;return n.searchParams=(0,o.createDynamicallyTrackedSearchParams)(n.searchParams||{}),(0,r.jsx)(t,{...n})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6130:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ErrorBoundary:function(){return h},ErrorBoundaryHandler:function(){return f},GlobalError:function(){return d},default:function(){return p}});let r=n(9920),o=n(7437),u=r._(n(2265)),l=n(1169),a=n(2128),i=n(4936),c={error:{fontFamily:'system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji"',height:"100vh",textAlign:"center",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center"},text:{fontSize:"14px",fontWeight:400,lineHeight:"28px",margin:"0 8px"}};function s(e){let{error:t}=e,n=i.staticGenerationAsyncStorage.getStore();if((null==n?void 0:n.isRevalidate)||(null==n?void 0:n.isStaticGeneration))throw console.error(t),t;return null}class f extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isNextRouterError)(e))throw e;return{error:e}}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.error?{error:null,previousPathname:e.pathname}:{error:t.error,previousPathname:e.pathname}}render(){return this.state.error?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s,{error:this.state.error}),this.props.errorStyles,this.props.errorScripts,(0,o.jsx)(this.props.errorComponent,{error:this.state.error,reset:this.reset})]}):this.props.children}constructor(e){super(e),this.reset=()=>{this.setState({error:null})},this.state={error:null,previousPathname:this.props.pathname}}}function d(e){let{error:t}=e,n=null==t?void 0:t.digest;return(0,o.jsxs)("html",{id:"__next_error__",children:[(0,o.jsx)("head",{}),(0,o.jsxs)("body",{children:[(0,o.jsx)(s,{error:t}),(0,o.jsx)("div",{style:c.error,children:(0,o.jsxs)("div",{children:[(0,o.jsx)("h2",{style:c.text,children:"Application error: a "+(n?"server":"client")+"-side exception has occurred (see the "+(n?"server logs":"browser console")+" for more information)."}),n?(0,o.jsx)("p",{style:c.text,children:"Digest: "+n}):null]})})]})]})}let p=d;function h(e){let{errorComponent:t,errorStyles:n,errorScripts:r,children:u}=e,a=(0,l.usePathname)();return t?(0,o.jsx)(f,{pathname:a,errorComponent:t,errorStyles:n,errorScripts:r,children:u}):(0,o.jsx)(o.Fragment,{children:u})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7910:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DynamicServerError:function(){return r},isDynamicServerError:function(){return o}});let n="DYNAMIC_SERVER_USAGE";class r extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2128:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNextRouterError",{enumerable:!0,get:function(){return u}});let r=n(2496),o=n(7909);function u(e){return e&&e.digest&&((0,o.isRedirectError)(e)||(0,r.isNotFoundError)(e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9275:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return S}});let r=n(9920),o=n(1452),u=n(7437),l=o._(n(2265)),a=r._(n(4887)),i=n(4467),c=n(1283),s=n(1108),f=n(6130),d=n(6237),p=n(6180),h=n(6585),y=n(5324),_=n(4640),v=n(1784),b=n(5914),g=["bottom","height","left","right","top","width","x","y"];function m(e,t){let n=e.getBoundingClientRect();return n.top>=0&&n.top<=t}class R extends l.default.Component{componentDidMount(){this.handlePotentialScroll()}componentDidUpdate(){this.props.focusAndScrollRef.apply&&this.handlePotentialScroll()}render(){return this.props.children}constructor(...e){super(...e),this.handlePotentialScroll=()=>{let{focusAndScrollRef:e,segmentPath:t}=this.props;if(e.apply){var n;if(0!==e.segmentPaths.length&&!e.segmentPaths.some(e=>t.every((t,n)=>(0,d.matchSegment)(t,e[n]))))return;let r=null,o=e.hashFragment;if(o&&(r="top"===o?document.body:null!=(n=document.getElementById(o))?n:document.getElementsByName(o)[0]),r||(r="undefined"==typeof window?null:a.default.findDOMNode(this)),!(r instanceof Element))return;for(;!(r instanceof HTMLElement)||function(e){if(["sticky","fixed"].includes(getComputedStyle(e).position))return!0;let t=e.getBoundingClientRect();return g.every(e=>0===t[e])}(r);){if(null===r.nextElementSibling)return;r=r.nextElementSibling}e.apply=!1,e.hashFragment=null,e.segmentPaths=[],(0,p.handleSmoothScroll)(()=>{if(o){r.scrollIntoView();return}let e=document.documentElement,t=e.clientHeight;!m(r,t)&&(e.scrollTop=0,m(r,t)||r.scrollIntoView())},{dontForceLayout:!0,onlyHashChange:e.onlyHashChange}),e.onlyHashChange=!1,r.focus()}}}}function P(e){let{segmentPath:t,children:n}=e,r=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!r)throw Error("invariant global layout router not mounted");return(0,u.jsx)(R,{segmentPath:t,focusAndScrollRef:r.focusAndScrollRef,children:n})}function j(e){let{parallelRouterKey:t,url:n,childNodes:r,segmentPath:o,tree:a,cacheKey:f}=e,p=(0,l.useContext)(i.GlobalLayoutRouterContext);if(!p)throw Error("invariant global layout router not mounted");let{buildId:h,changeByServerResponse:y,tree:_}=p,v=r.get(f);if(void 0===v){let e={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};v=e,r.set(f,e)}let g=null!==v.prefetchRsc?v.prefetchRsc:v.rsc,m=(0,l.useDeferredValue)(v.rsc,g),R="object"==typeof m&&null!==m&&"function"==typeof m.then?(0,l.use)(m):m;if(!R){let e=v.lazyData;if(null===e){let t=function e(t,n){if(t){let[r,o]=t,u=2===t.length;if((0,d.matchSegment)(n[0],r)&&n[1].hasOwnProperty(o)){if(u){let t=e(void 0,n[1][o]);return[n[0],{...n[1],[o]:[t[0],t[1],t[2],"refetch"]}]}return[n[0],{...n[1],[o]:e(t.slice(2),n[1][o])}]}}return n}(["",...o],_),r=(0,b.hasInterceptionRouteInCurrentTree)(_);v.lazyData=e=(0,c.fetchServerResponse)(new URL(n,location.origin),t,r?p.nextUrl:null,h),v.lazyDataResolved=!1}let t=(0,l.use)(e);v.lazyDataResolved||(setTimeout(()=>{(0,l.startTransition)(()=>{y({previousTree:_,serverResponse:t})})}),v.lazyDataResolved=!0,(0,l.use)(s.unresolvedThenable))}return(0,u.jsx)(i.LayoutRouterContext.Provider,{value:{tree:a[1][t],childNodes:v.parallelRoutes,url:n,loading:v.loading},children:R})}function O(e){let{children:t,hasLoading:n,loading:r,loadingStyles:o,loadingScripts:a}=e;return n?(0,u.jsx)(l.Suspense,{fallback:(0,u.jsxs)(u.Fragment,{children:[o,a,r]}),children:t}):(0,u.jsx)(u.Fragment,{children:t})}function S(e){let{parallelRouterKey:t,segmentPath:n,error:r,errorStyles:o,errorScripts:a,templateStyles:c,templateScripts:s,template:d,notFound:p,notFoundStyles:b,styles:g}=e,m=(0,l.useContext)(i.LayoutRouterContext);if(!m)throw Error("invariant expected layout router to be mounted");let{childNodes:R,tree:S,url:E,loading:w}=m,T=R.get(t);T||(T=new Map,R.set(t,T));let M=S[1][t][0],x=(0,_.getSegmentValue)(M),C=[M];return(0,u.jsxs)(u.Fragment,{children:[g,C.map(e=>{let l=(0,_.getSegmentValue)(e),g=(0,v.createRouterCacheKey)(e);return(0,u.jsxs)(i.TemplateContext.Provider,{value:(0,u.jsx)(P,{segmentPath:n,children:(0,u.jsx)(f.ErrorBoundary,{errorComponent:r,errorStyles:o,errorScripts:a,children:(0,u.jsx)(O,{hasLoading:!!w,loading:null==w?void 0:w[0],loadingStyles:null==w?void 0:w[1],loadingScripts:null==w?void 0:w[2],children:(0,u.jsx)(y.NotFoundBoundary,{notFound:p,notFoundStyles:b,children:(0,u.jsx)(h.RedirectBoundary,{children:(0,u.jsx)(j,{parallelRouterKey:t,url:E,tree:S,childNodes:T,segmentPath:n,cacheKey:g,isActive:x===l})})})})})}),children:[c,s,d]},(0,v.createRouterCacheKey)(e,!0))})]})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6237:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{canSegmentBeOverridden:function(){return u},matchSegment:function(){return o}});let r=n(4286),o=(e,t)=>"string"==typeof e?"string"==typeof t&&e===t:"string"!=typeof t&&e[0]===t[0]&&e[1]===t[1],u=(e,t)=>{var n;return!Array.isArray(e)&&!!Array.isArray(t)&&(null==(n=(0,r.getSegmentParam)(e))?void 0:n.param)===t[0]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1169:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return c.ServerInsertedHTMLContext},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},useParams:function(){return p},usePathname:function(){return f},useRouter:function(){return d},useSearchParams:function(){return s},useSelectedLayoutSegment:function(){return y},useSelectedLayoutSegments:function(){return h},useServerInsertedHTML:function(){return c.useServerInsertedHTML}});let r=n(2265),o=n(4467),u=n(8056),l=n(4640),a=n(0),i=n(2152),c=n(8005);function s(){let e=(0,r.useContext)(u.SearchParamsContext),t=(0,r.useMemo)(()=>e?new i.ReadonlyURLSearchParams(e):null,[e]);if("undefined"==typeof window){let{bailoutToClientRendering:e}=n(4804);e("useSearchParams()")}return t}function f(){return(0,r.useContext)(u.PathnameContext)}function d(){let e=(0,r.useContext)(o.AppRouterContext);if(null===e)throw Error("invariant expected app router to be mounted");return e}function p(){return(0,r.useContext)(u.PathParamsContext)}function h(e){void 0===e&&(e="children");let t=(0,r.useContext)(o.LayoutRouterContext);return t?function e(t,n,r,o){let u;if(void 0===r&&(r=!0),void 0===o&&(o=[]),r)u=t[1][n];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let c=u[0],s=(0,l.getSegmentValue)(c);return!s||s.startsWith(a.PAGE_SEGMENT_KEY)?o:(o.push(s),e(u,n,!1,o))}(t.tree,e):null}function y(e){void 0===e&&(e="children");let t=h(e);if(!t||0===t.length)return null;let n="children"===e?t[0]:t[t.length-1];return n===a.DEFAULT_SEGMENT_KEY?null:n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2152:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return r.RedirectType},notFound:function(){return o.notFound},permanentRedirect:function(){return r.permanentRedirect},redirect:function(){return r.redirect}});let r=n(7909),o=n(2496);class u extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new u}delete(){throw new u}set(){throw new u}sort(){throw new u}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5324:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"NotFoundBoundary",{enumerable:!0,get:function(){return s}});let r=n(1452),o=n(7437),u=r._(n(2265)),l=n(1169),a=n(2496);n(2301);let i=n(4467);class c extends u.default.Component{componentDidCatch(){}static getDerivedStateFromError(e){if((0,a.isNotFoundError)(e))return{notFoundTriggered:!0};throw e}static getDerivedStateFromProps(e,t){return e.pathname!==t.previousPathname&&t.notFoundTriggered?{notFoundTriggered:!1,previousPathname:e.pathname}:{notFoundTriggered:t.notFoundTriggered,previousPathname:e.pathname}}render(){return this.state.notFoundTriggered?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("meta",{name:"robots",content:"noindex"}),!1,this.props.notFoundStyles,this.props.notFound]}):this.props.children}constructor(e){super(e),this.state={notFoundTriggered:!!e.asNotFound,previousPathname:e.pathname}}}function s(e){let{notFound:t,notFoundStyles:n,asNotFound:r,children:a}=e,s=(0,l.usePathname)(),f=(0,u.useContext)(i.MissingSlotContext);return t?(0,o.jsx)(c,{pathname:s,notFound:t,notFoundStyles:n,asNotFound:r,missingSlots:f,children:a}):(0,o.jsx)(o.Fragment,{children:a})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2496:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{isNotFoundError:function(){return o},notFound:function(){return r}});let n="NEXT_NOT_FOUND";function r(){let e=Error(n);throw e.digest=n,e}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3858:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"PromiseQueue",{enumerable:!0,get:function(){return c}});let r=n(3449),o=n(7614);var u=o._("_maxConcurrency"),l=o._("_runningCount"),a=o._("_queue"),i=o._("_processNext");class c{enqueue(e){let t,n;let o=new Promise((e,r)=>{t=e,n=r}),u=async()=>{try{r._(this,l)[l]++;let n=await e();t(n)}catch(e){n(e)}finally{r._(this,l)[l]--,r._(this,i)[i]()}};return r._(this,a)[a].push({promiseFn:o,task:u}),r._(this,i)[i](),o}bump(e){let t=r._(this,a)[a].findIndex(t=>t.promiseFn===e);if(t>-1){let e=r._(this,a)[a].splice(t,1)[0];r._(this,a)[a].unshift(e),r._(this,i)[i](!0)}}constructor(e=5){Object.defineProperty(this,i,{value:s}),Object.defineProperty(this,u,{writable:!0,value:void 0}),Object.defineProperty(this,l,{writable:!0,value:void 0}),Object.defineProperty(this,a,{writable:!0,value:void 0}),r._(this,u)[u]=e,r._(this,l)[l]=0,r._(this,a)[a]=[]}}function s(e){if(void 0===e&&(e=!1),(r._(this,l)[l]0){var t;null==(t=r._(this,a)[a].shift())||t.task()}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6585:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectBoundary:function(){return s},RedirectErrorBoundary:function(){return c}});let r=n(1452),o=n(7437),u=r._(n(2265)),l=n(1169),a=n(7909);function i(e){let{redirect:t,reset:n,redirectType:r}=e,o=(0,l.useRouter)();return(0,u.useEffect)(()=>{u.default.startTransition(()=>{r===a.RedirectType.push?o.push(t,{}):o.replace(t,{}),n()})},[t,r,n,o]),null}class c extends u.default.Component{static getDerivedStateFromError(e){if((0,a.isRedirectError)(e))return{redirect:(0,a.getURLFromRedirectError)(e),redirectType:(0,a.getRedirectTypeFromError)(e)};throw e}render(){let{redirect:e,redirectType:t}=this.state;return null!==e&&null!==t?(0,o.jsx)(i,{redirect:e,redirectType:t,reset:()=>this.setState({redirect:null})}):this.props.children}constructor(e){super(e),this.state={redirect:null,redirectType:null}}}function s(e){let{children:t}=e,n=(0,l.useRouter)();return(0,o.jsx)(c,{router:n,children:t})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4785:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RedirectStatusCode",{enumerable:!0,get:function(){return n}}),(r=n||(n={}))[r.SeeOther=303]="SeeOther",r[r.TemporaryRedirect=307]="TemporaryRedirect",r[r.PermanentRedirect=308]="PermanentRedirect",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7909:function(e,t,n){"use strict";var r,o;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{RedirectType:function(){return r},getRedirectError:function(){return c},getRedirectStatusCodeFromError:function(){return y},getRedirectTypeFromError:function(){return h},getURLFromRedirectError:function(){return p},isRedirectError:function(){return d},permanentRedirect:function(){return f},redirect:function(){return s}});let u=n(8512),l=n(9440),a=n(4785),i="NEXT_REDIRECT";function c(e,t,n){void 0===n&&(n=a.RedirectStatusCode.TemporaryRedirect);let r=Error(i);r.digest=i+";"+t+";"+e+";"+n+";";let o=u.requestAsyncStorage.getStore();return o&&(r.mutableCookies=o.mutableCookies),r}function s(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.TemporaryRedirect)}function f(e,t){void 0===t&&(t="replace");let n=l.actionAsyncStorage.getStore();throw c(e,t,(null==n?void 0:n.isAction)?a.RedirectStatusCode.SeeOther:a.RedirectStatusCode.PermanentRedirect)}function d(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,n,r,o]=e.digest.split(";",4),u=Number(o);return t===i&&("replace"===n||"push"===n)&&"string"==typeof r&&!isNaN(u)&&u in a.RedirectStatusCode}function p(e){return d(e)?e.digest.split(";",3)[2]:null}function h(e){if(!d(e))throw Error("Not a redirect error");return e.digest.split(";",2)[1]}function y(e){if(!d(e))throw Error("Not a redirect error");return Number(e.digest.split(";",4)[3])}(o=r||(r={})).push="push",o.replace="replace",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1343:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a}});let r=n(1452),o=n(7437),u=r._(n(2265)),l=n(4467);function a(){let e=(0,u.useContext)(l.TemplateContext);return(0,o.jsx)(o.Fragment,{children:e})}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8512:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getExpectedRequestStore:function(){return o},requestAsyncStorage:function(){return r.requestAsyncStorage}});let r=n(38);function o(e){let t=r.requestAsyncStorage.getStore();if(t)return t;throw Error("`"+e+"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9607:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyFlightData",{enumerable:!0,get:function(){return u}});let r=n(3821),o=n(1133);function u(e,t,n,u){let[l,a,i]=n.slice(-3);if(null===a)return!1;if(3===n.length){let n=a[2],o=a[3];t.loading=o,t.rsc=n,t.prefetchRsc=null,(0,r.fillLazyItemsTillLeafWithHead)(t,e,l,a,i,u)}else t.rsc=e.rsc,t.prefetchRsc=e.prefetchRsc,t.parallelRoutes=new Map(e.parallelRoutes),t.loading=e.loading,(0,o.fillCacheWithNewSubTreeData)(t,e,n,u);return!0}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9684:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"applyRouterStatePatchToTree",{enumerable:!0,get:function(){return function e(t,n,r,a){let i;let[c,s,f,d,p]=n;if(1===t.length){let e=l(n,r,t);return(0,u.addRefreshMarkerToActiveParallelSegments)(e,a),e}let[h,y]=t;if(!(0,o.matchSegment)(h,c))return null;if(2===t.length)i=l(s[y],r,t);else if(null===(i=e(t.slice(2),s[y],r,a)))return null;let _=[t[0],{...s,[y]:i},f,d];return p&&(_[4]=!0),(0,u.addRefreshMarkerToActiveParallelSegments)(_,a),_}}});let r=n(0),o=n(6237),u=n(4922);function l(e,t,n){let[u,a]=e,[i,c]=t;if(i===r.DEFAULT_SEGMENT_KEY&&u!==r.DEFAULT_SEGMENT_KEY)return e;if((0,o.matchSegment)(u,i)){let t={};for(let e in a)void 0!==c[e]?t[e]=l(a[e],c[e],n):t[e]=a[e];for(let e in c)t[e]||(t[e]=c[e]);let r=[u,t];return e[2]&&(r[2]=e[2]),e[3]&&(r[3]=e[3]),e[4]&&(r[4]=e[4]),r}return t}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9559:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"clearCacheNodeDataForSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l),s=t.parallelRoutes.get(l);s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s));let f=null==c?void 0:c.get(i),d=s.get(i);if(u){d&&d.lazyData&&d!==f||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}if(!d||!f){d||s.set(i,{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null});return}return d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved,loading:d.loading},s.set(i,d)),e(d,f,o.slice(2))}}});let r=n(1784);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6626:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{computeChangedPath:function(){return s},extractPathFromFlightRouterState:function(){return c}});let r=n(2269),o=n(0),u=n(6237),l=e=>"/"===e[0]?e.slice(1):e,a=e=>"string"==typeof e?"children"===e?"":e:e[1];function i(e){return e.reduce((e,t)=>""===(t=l(t))||(0,o.isGroupSegment)(t)?e:e+"/"+t,"")||"/"}function c(e){var t;let n=Array.isArray(e[0])?e[0][1]:e[0];if(n===o.DEFAULT_SEGMENT_KEY||r.INTERCEPTION_ROUTE_MARKERS.some(e=>n.startsWith(e)))return;if(n.startsWith(o.PAGE_SEGMENT_KEY))return"";let u=[a(n)],l=null!=(t=e[1])?t:{},s=l.children?c(l.children):void 0;if(void 0!==s)u.push(s);else for(let[e,t]of Object.entries(l)){if("children"===e)continue;let n=c(t);void 0!==n&&u.push(n)}return i(u)}function s(e,t){let n=function e(t,n){let[o,l]=t,[i,s]=n,f=a(o),d=a(i);if(r.INTERCEPTION_ROUTE_MARKERS.some(e=>f.startsWith(e)||d.startsWith(e)))return"";if(!(0,u.matchSegment)(o,i)){var p;return null!=(p=c(n))?p:""}for(let t in l)if(s[t]){let n=e(l[t],s[t]);if(null!==n)return a(i)+"/"+n}return null}(e,t);return null==n||"/"===n?n:i(n.split("/"))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3174:function(e,t){"use strict";function n(e,t){return void 0===t&&(t=!0),e.pathname+e.search+(t?e.hash:"")}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createHrefFromUrl",{enumerable:!0,get:function(){return n}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},322:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createInitialRouterState",{enumerable:!0,get:function(){return c}});let r=n(3174),o=n(3821),u=n(6626),l=n(6004),a=n(1507),i=n(4922);function c(e){var t;let{buildId:n,initialTree:c,initialSeedData:s,initialCanonicalUrl:f,initialParallelRoutes:d,location:p,initialHead:h,couldBeIntercepted:y}=e,_=!p,v={lazyData:null,rsc:s[2],prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:_?new Map:d,lazyDataResolved:!1,loading:s[3]},b=p?(0,r.createHrefFromUrl)(p):f;(0,i.addRefreshMarkerToActiveParallelSegments)(c,b);let g=new Map;(null===d||0===d.size)&&(0,o.fillLazyItemsTillLeafWithHead)(v,void 0,c,s,h);let m={buildId:n,tree:c,cache:v,prefetchCache:g,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:{apply:!1,onlyHashChange:!1,hashFragment:null,segmentPaths:[]},canonicalUrl:b,nextUrl:null!=(t=(0,u.extractPathFromFlightRouterState)(c)||(null==p?void 0:p.pathname))?t:null};if(p){let e=new URL(p.pathname,p.origin),t=[["",c,null,null]];(0,l.createPrefetchCacheEntryForInitialLoad)({url:e,kind:a.PrefetchKind.AUTO,data:[t,void 0,!1,y],tree:m.tree,prefetchCache:m.prefetchCache,nextUrl:m.nextUrl})}return m}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1784:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createRouterCacheKey",{enumerable:!0,get:function(){return o}});let r=n(0);function o(e,t){return(void 0===t&&(t=!1),Array.isArray(e))?e[0]+"|"+e[1]+"|"+e[2]:t&&e.startsWith(r.PAGE_SEGMENT_KEY)?r.PAGE_SEGMENT_KEY:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1283:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fetchServerResponse",{enumerable:!0,get:function(){return s}});let r=n(7325),o=n(5751),u=n(4590),l=n(1507),a=n(4736),{createFromFetch:i}=n(6671);function c(e){return[(0,o.urlToUrlWithoutFlightMarker)(e).toString(),void 0,!1,!1]}async function s(e,t,n,s,f){let d={[r.RSC_HEADER]:"1",[r.NEXT_ROUTER_STATE_TREE]:encodeURIComponent(JSON.stringify(t))};f===l.PrefetchKind.AUTO&&(d[r.NEXT_ROUTER_PREFETCH_HEADER]="1"),n&&(d[r.NEXT_URL]=n);let p=(0,a.hexHash)([d[r.NEXT_ROUTER_PREFETCH_HEADER]||"0",d[r.NEXT_ROUTER_STATE_TREE],d[r.NEXT_URL]].join(","));try{var h;let t=new URL(e);t.pathname.endsWith("/")?t.pathname+="index.txt":t.pathname+=".txt",t.searchParams.set(r.NEXT_RSC_UNION_QUERY,p);let n=await fetch(t,{credentials:"same-origin",headers:d}),l=(0,o.urlToUrlWithoutFlightMarker)(n.url),a=n.redirected?l:void 0,f=n.headers.get("content-type")||"",y=!!n.headers.get(r.NEXT_DID_POSTPONE_HEADER),_=!!(null==(h=n.headers.get("vary"))?void 0:h.includes(r.NEXT_URL)),v=f===r.RSC_CONTENT_TYPE_HEADER;if(v||(v=f.startsWith("text/plain")),!v||!n.ok)return e.hash&&(l.hash=e.hash),c(l.toString());let[b,g]=await i(Promise.resolve(n),{callServer:u.callServer});if(s!==b)return c(n.url);return[g,a,y,_]}catch(t){return console.error("Failed to fetch RSC payload for "+e+". Falling back to browser navigation.",t),[e.toString(),void 0,!1,!1]}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1133:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillCacheWithNewSubTreeData",{enumerable:!0,get:function(){return function e(t,n,l,a){let i=l.length<=5,[c,s]=l,f=(0,u.createRouterCacheKey)(s),d=n.parallelRoutes.get(c);if(!d)return;let p=t.parallelRoutes.get(c);p&&p!==d||(p=new Map(d),t.parallelRoutes.set(c,p));let h=d.get(f),y=p.get(f);if(i){if(!y||!y.lazyData||y===h){let e=l[3];y={lazyData:null,rsc:e[2],prefetchRsc:null,head:null,prefetchHead:null,loading:e[3],parallelRoutes:h?new Map(h.parallelRoutes):new Map,lazyDataResolved:!1},h&&(0,r.invalidateCacheByRouterState)(y,h,l[2]),(0,o.fillLazyItemsTillLeafWithHead)(y,h,l[2],e,l[4],a),p.set(f,y)}return}y&&h&&(y===h&&(y={lazyData:y.lazyData,rsc:y.rsc,prefetchRsc:y.prefetchRsc,head:y.head,prefetchHead:y.prefetchHead,parallelRoutes:new Map(y.parallelRoutes),lazyDataResolved:!1,loading:y.loading},p.set(f,y)),e(y,h,l.slice(2),a))}}});let r=n(4213),o=n(3821),u=n(1784);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3821:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"fillLazyItemsTillLeafWithHead",{enumerable:!0,get:function(){return function e(t,n,u,l,a,i){if(0===Object.keys(u[1]).length){t.head=a;return}for(let c in u[1]){let s;let f=u[1][c],d=f[0],p=(0,r.createRouterCacheKey)(d),h=null!==l&&void 0!==l[1][c]?l[1][c]:null;if(n){let r=n.parallelRoutes.get(c);if(r){let n;let u=(null==i?void 0:i.kind)==="auto"&&i.status===o.PrefetchCacheEntryStatus.reusable,l=new Map(r),s=l.get(p);n=null!==h?{lazyData:null,rsc:h[2],prefetchRsc:null,head:null,prefetchHead:null,loading:h[3],parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1}:u&&s?{lazyData:s.lazyData,rsc:s.rsc,prefetchRsc:s.prefetchRsc,head:s.head,prefetchHead:s.prefetchHead,parallelRoutes:new Map(s.parallelRoutes),lazyDataResolved:s.lazyDataResolved,loading:s.loading}:{lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map(null==s?void 0:s.parallelRoutes),lazyDataResolved:!1,loading:null},l.set(p,n),e(n,s,f,h||null,a,i),t.parallelRoutes.set(c,l);continue}}if(null!==h){let e=h[2],t=h[3];s={lazyData:null,rsc:e,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:t}}else s={lazyData:null,rsc:null,prefetchRsc:null,head:null,prefetchHead:null,parallelRoutes:new Map,lazyDataResolved:!1,loading:null};let y=t.parallelRoutes.get(c);y?y.set(p,s):t.parallelRoutes.set(c,new Map([[p,s]])),e(s,void 0,f,h,a,i)}}}});let r=n(1784),o=n(1507);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6416:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleMutable",{enumerable:!0,get:function(){return u}});let r=n(6626);function o(e){return void 0!==e}function u(e,t){var n,u,l;let a=null==(u=t.shouldScroll)||u,i=e.nextUrl;if(o(t.patchedTree)){let n=(0,r.computeChangedPath)(e.tree,t.patchedTree);n?i=n:i||(i=e.canonicalUrl)}return{buildId:e.buildId,canonicalUrl:o(t.canonicalUrl)?t.canonicalUrl===e.canonicalUrl?e.canonicalUrl:t.canonicalUrl:e.canonicalUrl,pushRef:{pendingPush:o(t.pendingPush)?t.pendingPush:e.pushRef.pendingPush,mpaNavigation:o(t.mpaNavigation)?t.mpaNavigation:e.pushRef.mpaNavigation,preserveCustomHistoryState:o(t.preserveCustomHistoryState)?t.preserveCustomHistoryState:e.pushRef.preserveCustomHistoryState},focusAndScrollRef:{apply:!!a&&(!!o(null==t?void 0:t.scrollableSegments)||e.focusAndScrollRef.apply),onlyHashChange:!!t.hashFragment&&e.canonicalUrl.split("#",1)[0]===(null==(n=t.canonicalUrl)?void 0:n.split("#",1)[0]),hashFragment:a?t.hashFragment&&""!==t.hashFragment?decodeURIComponent(t.hashFragment.slice(1)):e.focusAndScrollRef.hashFragment:null,segmentPaths:a?null!=(l=null==t?void 0:t.scrollableSegments)?l:e.focusAndScrollRef.segmentPaths:[]},cache:t.cache?t.cache:e.cache,prefetchCache:t.prefetchCache?t.prefetchCache:e.prefetchCache,tree:o(t.patchedTree)?t.patchedTree:e.tree,nextUrl:i}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},774:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSegmentMismatch",{enumerable:!0,get:function(){return o}});let r=n(1294);function o(e,t,n){return(0,r.handleExternalUrl)(e,{},e.canonicalUrl,!0)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9863:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheBelowFlightSegmentPath",{enumerable:!0,get:function(){return function e(t,n,o){let u=o.length<=2,[l,a]=o,i=(0,r.createRouterCacheKey)(a),c=n.parallelRoutes.get(l);if(!c)return;let s=t.parallelRoutes.get(l);if(s&&s!==c||(s=new Map(c),t.parallelRoutes.set(l,s)),u){s.delete(i);return}let f=c.get(i),d=s.get(i);d&&f&&(d===f&&(d={lazyData:d.lazyData,rsc:d.rsc,prefetchRsc:d.prefetchRsc,head:d.head,prefetchHead:d.prefetchHead,parallelRoutes:new Map(d.parallelRoutes),lazyDataResolved:d.lazyDataResolved},s.set(i,d)),e(d,f,o.slice(2)))}}});let r=n(1784);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4213:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"invalidateCacheByRouterState",{enumerable:!0,get:function(){return o}});let r=n(1784);function o(e,t,n){for(let o in n[1]){let u=n[1][o][0],l=(0,r.createRouterCacheKey)(u),a=t.parallelRoutes.get(o);if(a){let t=new Map(a);t.delete(l),e.parallelRoutes.set(o,t)}}}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},139:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isNavigatingToNewRootLayout",{enumerable:!0,get:function(){return function e(t,n){let r=t[0],o=n[0];if(Array.isArray(r)&&Array.isArray(o)){if(r[0]!==o[0]||r[2]!==o[2])return!0}else if(r!==o)return!0;if(t[4])return!n[4];if(n[4])return!0;let u=Object.values(t[1])[0],l=Object.values(n[1])[0];return!u||!l||e(u,l)}}}),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},3060:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{abortTask:function(){return c},listenForDynamicRequest:function(){return a},updateCacheNodeOnNavigation:function(){return function e(t,n,a,c,s){let f=n[1],d=a[1],p=c[1],h=t.parallelRoutes,y=new Map(h),_={},v=null;for(let t in d){let n;let a=d[t],c=f[t],b=h.get(t),g=p[t],m=a[0],R=(0,u.createRouterCacheKey)(m),P=void 0!==c?c[0]:void 0,j=void 0!==b?b.get(R):void 0;if(null!==(n=m===r.PAGE_SEGMENT_KEY?l(a,void 0!==g?g:null,s):m===r.DEFAULT_SEGMENT_KEY?void 0!==c?{route:c,node:null,children:null}:l(a,void 0!==g?g:null,s):void 0!==P&&(0,o.matchSegment)(m,P)&&void 0!==j&&void 0!==c?null!=g?e(j,c,a,g,s):function(e){let t=i(e,null,null);return{route:e,node:t,children:null}}(a):l(a,void 0!==g?g:null,s))){null===v&&(v=new Map),v.set(t,n);let e=n.node;if(null!==e){let n=new Map(b);n.set(R,e),y.set(t,n)}_[t]=n.route}else _[t]=a}if(null===v)return null;let b={lazyData:null,rsc:t.rsc,prefetchRsc:t.prefetchRsc,head:t.head,prefetchHead:t.prefetchHead,loading:t.loading,parallelRoutes:y,lazyDataResolved:!1};return{route:function(e,t){let n=[e[0],t];return 2 in e&&(n[2]=e[2]),3 in e&&(n[3]=e[3]),4 in e&&(n[4]=e[4]),n}(a,_),node:b,children:v}}},updateCacheNodeOnPopstateRestoration:function(){return function e(t,n){let r=n[1],o=t.parallelRoutes,l=new Map(o);for(let t in r){let n=r[t],a=n[0],i=(0,u.createRouterCacheKey)(a),c=o.get(t);if(void 0!==c){let r=c.get(i);if(void 0!==r){let o=e(r,n),u=new Map(c);u.set(i,o),l.set(t,u)}}}let a=t.rsc,i=d(a)&&"pending"===a.status;return{lazyData:null,rsc:a,head:t.head,prefetchHead:i?t.prefetchHead:null,prefetchRsc:i?t.prefetchRsc:null,loading:i?t.loading:null,parallelRoutes:l,lazyDataResolved:!1}}}});let r=n(0),o=n(6237),u=n(1784);function l(e,t,n){let r=i(e,t,n);return{route:e,node:r,children:null}}function a(e,t){t.then(t=>{for(let n of t[0]){let t=n.slice(0,-3),r=n[n.length-3],l=n[n.length-2],a=n[n.length-1];"string"!=typeof t&&function(e,t,n,r,l){let a=e;for(let e=0;e{c(e,t)})}function i(e,t,n){let r=e[1],o=null!==t?t[1]:null,l=new Map;for(let e in r){let t=r[e],a=null!==o?o[e]:null,c=t[0],s=(0,u.createRouterCacheKey)(c),f=i(t,void 0===a?null:a,n),d=new Map;d.set(s,f),l.set(e,d)}let a=0===l.size,c=null!==t?t[2]:null,s=null!==t?t[3]:null;return{lazyData:null,parallelRoutes:l,prefetchRsc:void 0!==c?c:null,prefetchHead:a?n:null,loading:void 0!==s?s:null,rsc:p(),head:a?p():null,lazyDataResolved:!1}}function c(e,t){let n=e.node;if(null===n)return;let r=e.children;if(null===r)s(e.route,n,t);else for(let e of r.values())c(e,t);e.node=null}function s(e,t,n){let r=e[1],o=t.parallelRoutes;for(let e in r){let t=r[e],l=o.get(e);if(void 0===l)continue;let a=t[0],i=(0,u.createRouterCacheKey)(a),c=l.get(i);void 0!==c&&s(t,c,n)}let l=t.rsc;d(l)&&(null===n?l.resolve(null):l.reject(n));let a=t.head;d(a)&&a.resolve(null)}let f=Symbol();function d(e){return e&&e.tag===f}function p(){let e,t;let n=new Promise((n,r)=>{e=n,t=r});return n.status="pending",n.resolve=t=>{"pending"===n.status&&(n.status="fulfilled",n.value=t,e(t))},n.reject=e=>{"pending"===n.status&&(n.status="rejected",n.reason=e,t(e))},n.tag=f,n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6004:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createPrefetchCacheEntryForInitialLoad:function(){return c},getOrCreatePrefetchCacheEntry:function(){return i},prunePrefetchCache:function(){return f}});let r=n(3174),o=n(1283),u=n(1507),l=n(9218);function a(e,t){let n=(0,r.createHrefFromUrl)(e,!1);return t?t+"%"+n:n}function i(e){let t,{url:n,nextUrl:r,tree:o,buildId:l,prefetchCache:i,kind:c}=e,f=a(n,r),d=i.get(f);if(d)t=d;else{let e=a(n),r=i.get(e);r&&(t=r)}return t?(t.status=h(t),t.kind!==u.PrefetchKind.FULL&&c===u.PrefetchKind.FULL)?s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:null!=c?c:u.PrefetchKind.TEMPORARY}):(c&&t.kind===u.PrefetchKind.TEMPORARY&&(t.kind=c),t):s({tree:o,url:n,buildId:l,nextUrl:r,prefetchCache:i,kind:c||u.PrefetchKind.TEMPORARY})}function c(e){let{nextUrl:t,tree:n,prefetchCache:r,url:o,kind:l,data:i}=e,[,,,c]=i,s=c?a(o,t):a(o),f={treeAtTimeOfPrefetch:n,data:Promise.resolve(i),kind:l,prefetchTime:Date.now(),lastUsedTime:Date.now(),key:s,status:u.PrefetchCacheEntryStatus.fresh};return r.set(s,f),f}function s(e){let{url:t,kind:n,tree:r,nextUrl:i,buildId:c,prefetchCache:s}=e,f=a(t),d=l.prefetchQueue.enqueue(()=>(0,o.fetchServerResponse)(t,r,i,c,n).then(e=>{let[,,,n]=e;return n&&function(e){let{url:t,nextUrl:n,prefetchCache:r}=e,o=a(t),u=r.get(o);if(!u)return;let l=a(t,n);r.set(l,u),r.delete(o)}({url:t,nextUrl:i,prefetchCache:s}),e})),p={treeAtTimeOfPrefetch:r,data:d,kind:n,prefetchTime:Date.now(),lastUsedTime:null,key:f,status:u.PrefetchCacheEntryStatus.fresh};return s.set(f,p),p}function f(e){for(let[t,n]of e)h(n)===u.PrefetchCacheEntryStatus.expired&&e.delete(t)}let d=1e3*Number("30"),p=1e3*Number("300");function h(e){let{kind:t,prefetchTime:n,lastUsedTime:r}=e;return Date.now()<(null!=r?r:n)+d?r?u.PrefetchCacheEntryStatus.reusable:u.PrefetchCacheEntryStatus.fresh:"auto"===t&&Date.now(){let[n,f]=t,h=!1;if(S.lastUsedTime||(S.lastUsedTime=Date.now(),h=!0),"string"==typeof n)return _(e,R,n,O);if(document.getElementById("__next-page-redirect"))return _(e,R,j,O);let b=e.tree,g=e.cache,w=[];for(let t of n){let n=t.slice(0,-4),r=t.slice(-3)[0],c=["",...n],f=(0,u.applyRouterStatePatchToTree)(c,b,r,j);if(null===f&&(f=(0,u.applyRouterStatePatchToTree)(c,E,r,j)),null!==f){if((0,a.isNavigatingToNewRootLayout)(b,f))return _(e,R,j,O);let u=(0,d.createEmptyCacheNode)(),m=!1;for(let e of(S.status!==i.PrefetchCacheEntryStatus.stale||h?m=(0,s.applyFlightData)(g,u,t,S):(m=function(e,t,n,r){let o=!1;for(let u of(e.rsc=t.rsc,e.prefetchRsc=t.prefetchRsc,e.loading=t.loading,e.parallelRoutes=new Map(t.parallelRoutes),v(r).map(e=>[...n,...e])))(0,y.clearCacheNodeDataForSegmentPath)(e,t,u),o=!0;return o}(u,g,n,r),S.lastUsedTime=Date.now()),(0,l.shouldHardNavigate)(c,b)?(u.rsc=g.rsc,u.prefetchRsc=g.prefetchRsc,(0,o.invalidateCacheBelowFlightSegmentPath)(u,g,n),R.cache=u):m&&(R.cache=u),b=f,v(r))){let t=[...n,...e];t[t.length-1]!==p.DEFAULT_SEGMENT_KEY&&w.push(t)}}}return R.patchedTree=b,R.canonicalUrl=f?(0,r.createHrefFromUrl)(f):j,R.pendingPush=O,R.scrollableSegments=w,R.hashFragment=P,R.shouldScroll=m,(0,c.handleMutable)(e,R)},()=>e)};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9218:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{prefetchQueue:function(){return l},prefetchReducer:function(){return a}});let r=n(7325),o=n(3858),u=n(6004),l=new o.PromiseQueue(5);function a(e,t){(0,u.prunePrefetchCache)(e.prefetchCache);let{url:n}=t;return n.searchParams.delete(r.NEXT_RSC_UNION_QUERY),(0,u.getOrCreatePrefetchCacheEntry)({url:n,nextUrl:e.nextUrl,prefetchCache:e.prefetchCache,kind:t.kind,tree:e.tree,buildId:e.buildId}),e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5239:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"refreshReducer",{enumerable:!0,get:function(){return h}});let r=n(1283),o=n(3174),u=n(9684),l=n(139),a=n(1294),i=n(6416),c=n(3821),s=n(5751),f=n(774),d=n(5914),p=n(4922);function h(e,t){let{origin:n}=t,h={},y=e.canonicalUrl,_=e.tree;h.preserveCustomHistoryState=!1;let v=(0,s.createEmptyCacheNode)(),b=(0,d.hasInterceptionRouteInCurrentTree)(e.tree);return v.lazyData=(0,r.fetchServerResponse)(new URL(y,n),[_[0],_[1],_[2],"refetch"],b?e.nextUrl:null,e.buildId),v.lazyData.then(async n=>{let[r,s]=n;if("string"==typeof r)return(0,a.handleExternalUrl)(e,h,r,e.pushRef.pendingPush);for(let n of(v.lazyData=null,r)){if(3!==n.length)return console.log("REFRESH FAILED"),e;let[r]=n,i=(0,u.applyRouterStatePatchToTree)([""],_,r,e.canonicalUrl);if(null===i)return(0,f.handleSegmentMismatch)(e,t,r);if((0,l.isNavigatingToNewRootLayout)(_,i))return(0,a.handleExternalUrl)(e,h,y,e.pushRef.pendingPush);let d=s?(0,o.createHrefFromUrl)(s):void 0;s&&(h.canonicalUrl=d);let[g,m]=n.slice(-2);if(null!==g){let e=g[2];v.rsc=e,v.prefetchRsc=null,(0,c.fillLazyItemsTillLeafWithHead)(v,void 0,r,g,m),h.prefetchCache=new Map}await (0,p.refreshInactiveParallelSegments)({state:e,updatedTree:i,updatedCache:v,includeNextUrl:b}),h.cache=v,h.patchedTree=i,h.canonicalUrl=y,_=i}return(0,i.handleMutable)(e,h)},()=>e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6131:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"restoreReducer",{enumerable:!0,get:function(){return u}});let r=n(3174),o=n(6626);function u(e,t){var n;let{url:u,tree:l}=t,a=(0,r.createHrefFromUrl)(u),i=l||e.tree,c=e.cache;return{buildId:e.buildId,canonicalUrl:a,pushRef:{pendingPush:!1,mpaNavigation:!1,preserveCustomHistoryState:!0},focusAndScrollRef:e.focusAndScrollRef,cache:c,prefetchCache:e.prefetchCache,tree:i,nextUrl:null!=(n=(0,o.extractPathFromFlightRouterState)(i))?n:u.pathname}}n(3060),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4549:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverActionReducer",{enumerable:!0,get:function(){return g}});let r=n(4590),o=n(7325),u=n(4897),l=n(3174),a=n(1294),i=n(9684),c=n(139),s=n(6416),f=n(3821),d=n(5751),p=n(5914),h=n(774),y=n(4922),{createFromFetch:_,encodeReply:v}=n(6671);async function b(e,t,n){let l,{actionId:a,actionArgs:i}=n,c=await v(i),s=await fetch("",{method:"POST",headers:{Accept:o.RSC_CONTENT_TYPE_HEADER,[o.ACTION]:a,[o.NEXT_ROUTER_STATE_TREE]:encodeURIComponent(JSON.stringify(e.tree)),...t?{[o.NEXT_URL]:t}:{}},body:c}),f=s.headers.get("x-action-redirect");try{let e=JSON.parse(s.headers.get("x-action-revalidated")||"[[],0,0]");l={paths:e[0]||[],tag:!!e[1],cookie:e[2]}}catch(e){l={paths:[],tag:!1,cookie:!1}}let d=f?new URL((0,u.addBasePath)(f),new URL(e.canonicalUrl,window.location.href)):void 0;if(s.headers.get("content-type")===o.RSC_CONTENT_TYPE_HEADER){let e=await _(Promise.resolve(s),{callServer:r.callServer});if(f){let[,t]=null!=e?e:[];return{actionFlightData:t,redirectLocation:d,revalidatedParts:l}}let[t,[,n]]=null!=e?e:[];return{actionResult:t,actionFlightData:n,redirectLocation:d,revalidatedParts:l}}return{redirectLocation:d,revalidatedParts:l}}function g(e,t){let{resolve:n,reject:r}=t,o={},u=e.canonicalUrl,_=e.tree;o.preserveCustomHistoryState=!1;let v=e.nextUrl&&(0,p.hasInterceptionRouteInCurrentTree)(e.tree)?e.nextUrl:null;return o.inFlightServerAction=b(e,v,t),o.inFlightServerAction.then(async r=>{let{actionResult:p,actionFlightData:b,redirectLocation:g}=r;if(g&&(e.pushRef.pendingPush=!0,o.pendingPush=!0),!b)return(n(p),g)?(0,a.handleExternalUrl)(e,o,g.href,e.pushRef.pendingPush):e;if("string"==typeof b)return(0,a.handleExternalUrl)(e,o,b,e.pushRef.pendingPush);for(let n of(o.inFlightServerAction=null,b)){if(3!==n.length)return console.log("SERVER ACTION APPLY FAILED"),e;let[r]=n,s=(0,i.applyRouterStatePatchToTree)([""],_,r,g?(0,l.createHrefFromUrl)(g):e.canonicalUrl);if(null===s)return(0,h.handleSegmentMismatch)(e,t,r);if((0,c.isNavigatingToNewRootLayout)(_,s))return(0,a.handleExternalUrl)(e,o,u,e.pushRef.pendingPush);let[p,b]=n.slice(-2),m=null!==p?p[2]:null;if(null!==m){let t=(0,d.createEmptyCacheNode)();t.rsc=m,t.prefetchRsc=null,(0,f.fillLazyItemsTillLeafWithHead)(t,void 0,r,p,b),await (0,y.refreshInactiveParallelSegments)({state:e,updatedTree:s,updatedCache:t,includeNextUrl:!!v}),o.cache=t,o.prefetchCache=new Map}o.patchedTree=s,o.canonicalUrl=u,_=s}if(g){let e=(0,l.createHrefFromUrl)(g,!1);o.canonicalUrl=e}return n(p),(0,s.handleMutable)(e,o)},t=>(r(t),e))}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8289:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"serverPatchReducer",{enumerable:!0,get:function(){return f}});let r=n(3174),o=n(9684),u=n(139),l=n(1294),a=n(9607),i=n(6416),c=n(5751),s=n(774);function f(e,t){let{serverResponse:n}=t,[f,d]=n,p={};if(p.preserveCustomHistoryState=!1,"string"==typeof f)return(0,l.handleExternalUrl)(e,p,f,e.pushRef.pendingPush);let h=e.tree,y=e.cache;for(let n of f){let i=n.slice(0,-4),[f]=n.slice(-3,-2),_=(0,o.applyRouterStatePatchToTree)(["",...i],h,f,e.canonicalUrl);if(null===_)return(0,s.handleSegmentMismatch)(e,t,f);if((0,u.isNavigatingToNewRootLayout)(h,_))return(0,l.handleExternalUrl)(e,p,e.canonicalUrl,e.pushRef.pendingPush);let v=d?(0,r.createHrefFromUrl)(d):void 0;v&&(p.canonicalUrl=v);let b=(0,c.createEmptyCacheNode)();(0,a.applyFlightData)(y,b,n),p.patchedTree=_,p.cache=b,y=b,h=_}return(0,i.handleMutable)(e,p)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4922:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{addRefreshMarkerToActiveParallelSegments:function(){return function e(t,n){let[r,o,,l]=t;for(let a in r.includes(u.PAGE_SEGMENT_KEY)&&"refresh"!==l&&(t[2]=n,t[3]="refresh"),o)e(o[a],n)}},refreshInactiveParallelSegments:function(){return l}});let r=n(9607),o=n(1283),u=n(0);async function l(e){let t=new Set;await a({...e,rootTree:e.updatedTree,fetchedSegments:t})}async function a(e){let{state:t,updatedTree:n,updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c=n}=e,[,s,f,d]=n,p=[];if(f&&f!==location.pathname+location.search&&"refresh"===d&&!i.has(f)){i.add(f);let e=(0,o.fetchServerResponse)(new URL(f,location.origin),[c[0],c[1],c[2],"refetch"],l?t.nextUrl:null,t.buildId).then(e=>{let t=e[0];if("string"!=typeof t)for(let e of t)(0,r.applyFlightData)(u,u,e)});p.push(e)}for(let e in s){let n=a({state:t,updatedTree:s[e],updatedCache:u,includeNextUrl:l,fetchedSegments:i,rootTree:c});p.push(n)}await Promise.all(p)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1507:function(e,t){"use strict";var n,r,o,u;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ACTION_FAST_REFRESH:function(){return f},ACTION_NAVIGATE:function(){return a},ACTION_PREFETCH:function(){return s},ACTION_REFRESH:function(){return l},ACTION_RESTORE:function(){return i},ACTION_SERVER_ACTION:function(){return d},ACTION_SERVER_PATCH:function(){return c},PrefetchCacheEntryStatus:function(){return r},PrefetchKind:function(){return n},isThenable:function(){return p}});let l="refresh",a="navigate",i="restore",c="server-patch",s="prefetch",f="fast-refresh",d="server-action";function p(e){return e&&("object"==typeof e||"function"==typeof e)&&"function"==typeof e.then}(o=n||(n={})).AUTO="auto",o.FULL="full",o.TEMPORARY="temporary",(u=r||(r={})).fresh="fresh",u.reusable="reusable",u.expired="expired",u.stale="stale",("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},643:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"reducer",{enumerable:!0,get:function(){return f}});let r=n(1507),o=n(1294),u=n(8289),l=n(6131),a=n(5239),i=n(9218),c=n(1129),s=n(4549),f="undefined"==typeof window?function(e,t){return e}:function(e,t){switch(t.type){case r.ACTION_NAVIGATE:return(0,o.navigateReducer)(e,t);case r.ACTION_SERVER_PATCH:return(0,u.serverPatchReducer)(e,t);case r.ACTION_RESTORE:return(0,l.restoreReducer)(e,t);case r.ACTION_REFRESH:return(0,a.refreshReducer)(e,t);case r.ACTION_FAST_REFRESH:return(0,c.fastRefreshReducer)(e,t);case r.ACTION_PREFETCH:return(0,i.prefetchReducer)(e,t);case r.ACTION_SERVER_ACTION:return(0,s.serverActionReducer)(e,t);default:throw Error("Unknown action")}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4740:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"shouldHardNavigate",{enumerable:!0,get:function(){return function e(t,n){let[o,u]=n,[l,a]=t;return(0,r.matchSegment)(l,o)?!(t.length<=2)&&e(t.slice(2),u[a]):!!Array.isArray(l)}}});let r=n(6237);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8897:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{createDynamicallyTrackedSearchParams:function(){return a},createUntrackedSearchParams:function(){return l}});let r=n(4936),o=n(2441),u=n(7991);function l(e){let t=r.staticGenerationAsyncStorage.getStore();return t&&t.forceStatic?{}:e}function a(e){let t=r.staticGenerationAsyncStorage.getStore();return t?t.forceStatic?{}:t.isStaticGeneration||t.dynamicShouldError?new Proxy({},{get:(e,n,r)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),u.ReflectAdapter.get(e,n,r)),has:(e,n)=>("string"==typeof n&&(0,o.trackDynamicDataAccessed)(t,"searchParams."+n),Reflect.has(e,n)),ownKeys:e=>((0,o.trackDynamicDataAccessed)(t,"searchParams"),Reflect.ownKeys(e))}):e:e}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4936:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r.staticGenerationAsyncStorage}});let r=n(7685);("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},5108:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{StaticGenBailoutError:function(){return r},isStaticGenBailoutError:function(){return o}});let n="NEXT_STATIC_GEN_BAILOUT";class r extends Error{constructor(...e){super(...e),this.code=n}}function o(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},1108:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"unresolvedThenable",{enumerable:!0,get:function(){return n}});let n={then:()=>{}};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},2114:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{useReducerWithReduxDevtools:function(){return i},useUnwrapState:function(){return a}});let r=n(1452)._(n(2265)),o=n(1507),u=n(1427);function l(e){if(e instanceof Map){let t={};for(let[n,r]of e.entries()){if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r._bundlerConfig){t[n]="FlightData";continue}}t[n]=l(r)}return t}if("object"==typeof e&&null!==e){let t={};for(let n in e){let r=e[n];if("function"==typeof r){t[n]="fn()";continue}if("object"==typeof r&&null!==r){if(r.$$typeof){t[n]=r.$$typeof.toString();continue}if(r.hasOwnProperty("_bundlerConfig")){t[n]="FlightData";continue}}t[n]=l(r)}return t}return Array.isArray(e)?e.map(l):e}function a(e){return(0,o.isThenable)(e)?(0,r.use)(e):e}let i="undefined"!=typeof window?function(e){let[t,n]=r.default.useState(e),o=(0,r.useContext)(u.ActionQueueContext);if(!o)throw Error("Invariant: Missing ActionQueueContext");let a=(0,r.useRef)(),i=(0,r.useRef)();return(0,r.useEffect)(()=>{if(!a.current&&!1!==i.current){if(void 0===i.current&&void 0===window.__REDUX_DEVTOOLS_EXTENSION__){i.current=!1;return}return a.current=window.__REDUX_DEVTOOLS_EXTENSION__.connect({instanceId:8e3,name:"next-router"}),a.current&&(a.current.init(l(e)),o&&(o.devToolsInstance=a.current)),()=>{a.current=void 0}}},[e,o]),[t,(0,r.useCallback)(t=>{o.state||(o.state=e),o.dispatch(t,n)},[o,e]),(0,r.useCallback)(e=>{a.current&&a.current.send({type:"RENDER_SYNC"},l(e))},[])]}:function(e){return[e,()=>{},()=>{}]};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9404:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"hasBasePath",{enumerable:!0,get:function(){return o}});let r=n(5121);function o(e){return(0,r.pathHasPrefix)(e,"")}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},8157:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"normalizePathTrailingSlash",{enumerable:!0,get:function(){return u}});let r=n(7741),o=n(1465),u=e=>{if(!e.startsWith("/"))return e;let{pathname:t,query:n,hash:u}=(0,o.parsePath)(e);return""+(0,r.removeTrailingSlash)(t)+n+u};("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6124:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return o}});let r=n(5592);function o(e){let t="function"==typeof reportError?reportError:e=>{window.console.error(e)};(0,r.isBailoutToCSRError)(e)||t(e)}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7599:function(e,t,n){"use strict";function r(e){return e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeBasePath",{enumerable:!0,get:function(){return r}}),n(9404),("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},9176:function(e,t){"use strict";function n(e,t){var n=e.length;for(e.push(t);0>>1,o=e[r];if(0>>1;ru(i,n))cu(s,i)?(e[r]=s,e[c]=n,r=c):(e[r]=i,e[a]=n,r=a);else if(cu(s,n))e[r]=s,e[c]=n,r=c;else break}}return t}function u(e,t){var n=e.sortIndex-t.sortIndex;return 0!==n?n:e.id-t.id}if(t.unstable_now=void 0,"object"==typeof performance&&"function"==typeof performance.now){var l,a=performance;t.unstable_now=function(){return a.now()}}else{var i=Date,c=i.now();t.unstable_now=function(){return i.now()-c}}var s=[],f=[],d=1,p=null,h=3,y=!1,_=!1,v=!1,b="function"==typeof setTimeout?setTimeout:null,g="function"==typeof clearTimeout?clearTimeout:null,m="undefined"!=typeof setImmediate?setImmediate:null;function R(e){for(var t=r(f);null!==t;){if(null===t.callback)o(f);else if(t.startTime<=e)o(f),t.sortIndex=t.expirationTime,n(s,t);else break;t=r(f)}}function P(e){if(v=!1,R(e),!_){if(null!==r(s))_=!0,C();else{var t=r(f);null!==t&&A(P,t.startTime-e)}}}"undefined"!=typeof navigator&&void 0!==navigator.scheduling&&void 0!==navigator.scheduling.isInputPending&&navigator.scheduling.isInputPending.bind(navigator.scheduling);var j=!1,O=-1,S=5,E=-1;function w(){return!(t.unstable_now()-Ee&&w());){var a=p.callback;if("function"==typeof a){p.callback=null,h=p.priorityLevel;var i=a(p.expirationTime<=e);if(e=t.unstable_now(),"function"==typeof i){p.callback=i,R(e),n=!0;break t}p===r(s)&&o(s),R(e)}else o(s);p=r(s)}if(null!==p)n=!0;else{var c=r(f);null!==c&&A(P,c.startTime-e),n=!1}}break e}finally{p=null,h=u,y=!1}n=void 0}}finally{n?l():j=!1}}}if("function"==typeof m)l=function(){m(T)};else if("undefined"!=typeof MessageChannel){var M=new MessageChannel,x=M.port2;M.port1.onmessage=T,l=function(){x.postMessage(null)}}else l=function(){b(T,0)};function C(){j||(j=!0,l())}function A(e,n){O=b(function(){e(t.unstable_now())},n)}t.unstable_IdlePriority=5,t.unstable_ImmediatePriority=1,t.unstable_LowPriority=4,t.unstable_NormalPriority=3,t.unstable_Profiling=null,t.unstable_UserBlockingPriority=2,t.unstable_cancelCallback=function(e){e.callback=null},t.unstable_continueExecution=function(){_||y||(_=!0,C())},t.unstable_forceFrameRate=function(e){0>e||125l?(e.sortIndex=u,n(f,e),null===r(s)&&e===r(f)&&(v?(g(O),O=-1):v=!0,A(P,u-l))):(e.sortIndex=a,n(s,e),_||y||(_=!0,C())),e},t.unstable_shouldYield=w,t.unstable_wrapCallback=function(e){var t=h;return function(){var n=h;h=t;try{return e.apply(this,arguments)}finally{h=n}}}},5689:function(e,t,n){"use strict";e.exports=n(9176)},1358:function(e,t){"use strict";function n(e){return new URL(e,"http://n").pathname}function r(e){return/https?:\/\//.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{getPathname:function(){return n},isFullStringUrl:function(){return r}})},2441:function(e,t,n){"use strict";var r;Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{Postpone:function(){return d},createPostponedAbortSignal:function(){return b},createPrerenderState:function(){return c},formatDynamicAPIAccesses:function(){return _},markCurrentScopeAsDynamic:function(){return s},trackDynamicDataAccessed:function(){return f},trackDynamicFetch:function(){return p},usedDynamicAPIs:function(){return y}});let o=(r=n(2265))&&r.__esModule?r:{default:r},u=n(7910),l=n(5108),a=n(1358),i="function"==typeof o.default.unstable_postpone;function c(e){return{isDebugSkeleton:e,dynamicAccesses:[]}}function s(e,t){let n=(0,a.getPathname)(e.urlPathname);if(!e.isUnstableCacheCallback){if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}}function f(e,t){let n=(0,a.getPathname)(e.urlPathname);if(e.isUnstableCacheCallback)throw Error(`Route ${n} used "${t}" inside a function cached with "unstable_cache(...)". Accessing Dynamic data sources inside a cache scope is not supported. If you need this data inside a cached function use "${t}" outside of the cached function and pass the required dynamic data in as an argument. See more info here: https://nextjs.org/docs/app/api-reference/functions/unstable_cache`);if(e.dynamicShouldError)throw new l.StaticGenBailoutError(`Route ${n} with \`dynamic = "error"\` couldn't be rendered statically because it used \`${t}\`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering`);if(e.prerenderState)h(e.prerenderState,t,n);else if(e.revalidate=0,e.isStaticGeneration){let r=new u.DynamicServerError(`Route ${n} couldn't be rendered statically because it used ${t}. See more info here: https://nextjs.org/docs/messages/dynamic-server-error`);throw e.dynamicUsageDescription=t,e.dynamicUsageStack=r.stack,r}}function d({reason:e,prerenderState:t,pathname:n}){h(t,e,n)}function p(e,t){e.prerenderState&&h(e.prerenderState,t,e.urlPathname)}function h(e,t,n){v();let r=`Route ${n} needs to bail out of prerendering at this point because it used ${t}. React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error`;e.dynamicAccesses.push({stack:e.isDebugSkeleton?Error().stack:void 0,expression:t}),o.default.unstable_postpone(r)}function y(e){return e.dynamicAccesses.length>0}function _(e){return e.dynamicAccesses.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(({expression:e,stack:t})=>(t=t.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" ()")||e.includes(" (node:"))).join("\n"),`Dynamic API Usage Debug - ${e}: -${t}`))}function v(){if(!i)throw Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js")}function b(e){v();let t=new AbortController;try{o.default.unstable_postpone(e)}catch(e){t.abort(e)}return t.signal}},4286:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"getSegmentParam",{enumerable:!0,get:function(){return o}});let r=n(2269);function o(e){let t=r.INTERCEPTION_ROUTE_MARKERS.find(t=>e.startsWith(t));return(t&&(e=e.slice(t.length)),e.startsWith("[[...")&&e.endsWith("]]"))?{type:"optional-catchall",param:e.slice(5,-2)}:e.startsWith("[...")&&e.endsWith("]")?{type:t?"catchall-intercepted":"catchall",param:e.slice(4,-1)}:e.startsWith("[")&&e.endsWith("]")?{type:t?"dynamic-intercepted":"dynamic",param:e.slice(1,-1)}:null}},3243:function(e,t){"use strict";var n,r;Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HMR_ACTIONS_SENT_TO_BROWSER",{enumerable:!0,get:function(){return n}}),(r=n||(n={})).ADDED_PAGE="addedPage",r.REMOVED_PAGE="removedPage",r.RELOAD_PAGE="reloadPage",r.SERVER_COMPONENT_CHANGES="serverComponentChanges",r.MIDDLEWARE_CHANGES="middlewareChanges",r.CLIENT_CHANGES="clientChanges",r.SERVER_ONLY_CHANGES="serverOnlyChanges",r.SYNC="sync",r.BUILT="built",r.BUILDING="building",r.DEV_PAGES_MANIFEST_UPDATE="devPagesManifestUpdate",r.TURBOPACK_MESSAGE="turbopack-message",r.SERVER_ERROR="serverError",r.TURBOPACK_CONNECTED="turbopack-connected"},2269:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{INTERCEPTION_ROUTE_MARKERS:function(){return o},extractInterceptionRouteInformation:function(){return l},isInterceptionRouteAppPath:function(){return u}});let r=n(3330),o=["(..)(..)","(.)","(..)","(...)"];function u(e){return void 0!==e.split("/").find(e=>o.find(t=>e.startsWith(t)))}function l(e){let t,n,u;for(let r of e.split("/"))if(n=o.find(e=>r.startsWith(e))){[t,u]=e.split(n,2);break}if(!t||!n||!u)throw Error(`Invalid interception route: ${e}. Must be in the format //(..|...|..)(..)/`);switch(t=(0,r.normalizeAppPath)(t),n){case"(.)":u="/"===t?`/${u}`:t+"/"+u;break;case"(..)":if("/"===t)throw Error(`Invalid interception route: ${e}. Cannot use (..) marker at the root level, use (.) instead.`);u=t.split("/").slice(0,-1).concat(u).join("/");break;case"(...)":u="/"+u;break;case"(..)(..)":let l=t.split("/");if(l.length<=2)throw Error(`Invalid interception route: ${e}. Cannot use (..)(..) marker at the root level or one level up.`);u=l.slice(0,-2).concat(u).join("/");break;default:throw Error("Invariant: unexpected marker")}return{interceptingRoute:t,interceptedRoute:u}}},7991:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ReflectAdapter",{enumerable:!0,get:function(){return n}});class n{static get(e,t,n){let r=Reflect.get(e,t,n);return"function"==typeof r?r.bind(e):r}static set(e,t,n,r){return Reflect.set(e,t,n,r)}static has(e,t){return Reflect.has(e,t)}static deleteProperty(e,t){return Reflect.deleteProperty(e,t)}}},4467:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return l},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return a}});let r=n(9920)._(n(2265)),o=r.default.createContext(null),u=r.default.createContext(null),l=r.default.createContext(null),a=r.default.createContext(null),i=r.default.createContext(new Set)},4736:function(e,t){"use strict";function n(e){let t=5381;for(let n=0;n>>0}function r(e){return n(e).toString(36).slice(0,5)}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{djb2Hash:function(){return n},hexHash:function(){return r}})},6590:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"HeadManagerContext",{enumerable:!0,get:function(){return r}});let r=n(9920)._(n(2265)).default.createContext({})},8056:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{PathParamsContext:function(){return l},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let r=n(2265),o=(0,r.createContext)(null),u=(0,r.createContext)(null),l=(0,r.createContext)(null)},5592:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{BailoutToCSRError:function(){return r},isBailoutToCSRError:function(){return o}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class r extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function o(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},8558:function(e,t){"use strict";function n(e){return e.startsWith("/")?e:"/"+e}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"ensureLeadingSlash",{enumerable:!0,get:function(){return n}})},1427:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ActionQueueContext:function(){return a},createMutableActionQueue:function(){return s}});let r=n(1452),o=n(1507),u=n(643),l=r._(n(2265)),a=l.default.createContext(null);function i(e,t){null!==e.pending&&(e.pending=e.pending.next,null!==e.pending?c({actionQueue:e,action:e.pending,setState:t}):e.needsRefresh&&(e.needsRefresh=!1,e.dispatch({type:o.ACTION_REFRESH,origin:window.location.origin},t)))}async function c(e){let{actionQueue:t,action:n,setState:r}=e,u=t.state;if(!u)throw Error("Invariant: Router state not initialized");t.pending=n;let l=n.payload,a=t.action(u,l);function c(e){n.discarded||(t.state=e,t.devToolsInstance&&t.devToolsInstance.send(l,e),i(t,r),n.resolve(e))}(0,o.isThenable)(a)?a.then(c,e=>{i(t,r),n.reject(e)}):c(a)}function s(){let e={state:null,dispatch:(t,n)=>(function(e,t,n){let r={resolve:n,reject:()=>{}};if(t.type!==o.ACTION_RESTORE){let e=new Promise((e,t)=>{r={resolve:e,reject:t}});(0,l.startTransition)(()=>{n(e)})}let u={payload:t,next:null,resolve:r.resolve,reject:r.reject};null===e.pending?(e.last=u,c({actionQueue:e,action:u,setState:n})):t.type===o.ACTION_NAVIGATE||t.type===o.ACTION_RESTORE?(e.pending.discarded=!0,e.last=u,e.pending.payload.type===o.ACTION_SERVER_ACTION&&(e.needsRefresh=!0),c({actionQueue:e,action:u,setState:n})):(null!==e.last&&(e.last.next=u),e.last=u)})(e,t,n),action:async(e,t)=>{if(null===e)throw Error("Invariant: Router state not initialized");return(0,u.reducer)(e,t)},pending:null,last:null};return e}},2707:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"addPathPrefix",{enumerable:!0,get:function(){return o}});let r=n(1465);function o(e,t){if(!e.startsWith("/")||!t)return e;let{pathname:n,query:o,hash:u}=(0,r.parsePath)(e);return""+t+n+o+u}},3330:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{normalizeAppPath:function(){return u},normalizeRscURL:function(){return l}});let r=n(8558),o=n(0);function u(e){return(0,r.ensureLeadingSlash)(e.split("/").reduce((e,t,n,r)=>!t||(0,o.isGroupSegment)(t)||"@"===t[0]||("page"===t||"route"===t)&&n===r.length-1?e:e+"/"+t,""))}function l(e){return e.replace(/\.rsc($|\?)/,"$1")}},6180:function(e,t){"use strict";function n(e,t){if(void 0===t&&(t={}),t.onlyHashChange){e();return}let n=document.documentElement,r=n.style.scrollBehavior;n.style.scrollBehavior="auto",t.dontForceLayout||n.getClientRects(),e(),n.style.scrollBehavior=r}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"handleSmoothScroll",{enumerable:!0,get:function(){return n}})},4092:function(e,t){"use strict";function n(e){return/Googlebot|Mediapartners-Google|AdsBot-Google|googleweblight|Storebot-Google|Google-PageRenderer|Bingbot|BingPreview|Slurp|DuckDuckBot|baiduspider|yandex|sogou|LinkedInBot|bitlybot|tumblr|vkShare|quora link preview|facebookexternalhit|facebookcatalog|Twitterbot|applebot|redditbot|Slackbot|Discordbot|WhatsApp|SkypeUriPreview|ia_archiver/i.test(e)}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"isBot",{enumerable:!0,get:function(){return n}})},1465:function(e,t){"use strict";function n(e){let t=e.indexOf("#"),n=e.indexOf("?"),r=n>-1&&(t<0||n-1?{pathname:e.substring(0,r?n:t),query:r?e.substring(n,t>-1?t:void 0):"",hash:t>-1?e.slice(t):""}:{pathname:e,query:"",hash:""}}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"parsePath",{enumerable:!0,get:function(){return n}})},5121:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"pathHasPrefix",{enumerable:!0,get:function(){return o}});let r=n(1465);function o(e,t){if("string"!=typeof e)return!1;let{pathname:n}=(0,r.parsePath)(e);return n===t||n.startsWith(t+"/")}},7741:function(e,t){"use strict";function n(e){return e.replace(/\/$/,"")||"/"}Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"removeTrailingSlash",{enumerable:!0,get:function(){return n}})},0:function(e,t){"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{DEFAULT_SEGMENT_KEY:function(){return o},PAGE_SEGMENT_KEY:function(){return r},isGroupSegment:function(){return n}});let r="__PAGE__",o="__DEFAULT__"},8005:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),function(e,t){for(var n in t)Object.defineProperty(e,n,{enumerable:!0,get:t[n]})}(t,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let r=n(1452)._(n(2265)),o=r.default.createContext(null);function u(e){let t=(0,r.useContext)(o);t&&t(e)}},2301:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},8293:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"actionAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(6713).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},6713:function(e,t){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"createAsyncLocalStorage",{enumerable:!0,get:function(){return u}});let n=Error("Invariant: AsyncLocalStorage accessed in runtime where it is not available");class r{disable(){throw n}getStore(){}run(){throw n}exit(){throw n}enterWith(){throw n}}let o=globalThis.AsyncLocalStorage;function u(){return o?new o:new r}("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},38:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"requestAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(6713).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},7685:function(e,t,n){"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"staticGenerationAsyncStorage",{enumerable:!0,get:function(){return r}});let r=(0,n(6713).createAsyncLocalStorage)();("function"==typeof t.default||"object"==typeof t.default&&null!==t.default)&&void 0===t.default.__esModule&&(Object.defineProperty(t.default,"__esModule",{value:!0}),Object.assign(t.default,t),e.exports=t.default)},4040:function(e,t,n){"use strict";var r=n(4887);t.createRoot=r.createRoot,t.hydrateRoot=r.hydrateRoot},4887:function(e,t,n){"use strict";!function e(){if("undefined"!=typeof __REACT_DEVTOOLS_GLOBAL_HOOK__&&"function"==typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE)try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(e)}catch(e){console.error(e)}}(),e.exports=n(4417)},7950:function(e,t,n){"use strict";var r=n(4887),o={stream:!0},u=new Map;function l(e){var t=n(e);return"function"!=typeof t.then||"fulfilled"===t.status?null:(t.then(function(e){t.status="fulfilled",t.value=e},function(e){t.status="rejected",t.reason=e}),t)}function a(){}var i=new Map,c=n.u;n.u=function(e){var t=i.get(e);return void 0!==t?t:c(e)};var s=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.Dispatcher,f=Symbol.for("react.element"),d=Symbol.for("react.lazy"),p=Symbol.iterator,h=Array.isArray,y=Object.getPrototypeOf,_=Object.prototype,v=new WeakMap;function b(e,t,n,r){this.status=e,this.value=t,this.reason=n,this._response=r}function g(e){switch(e.status){case"resolved_model":E(e);break;case"resolved_module":w(e)}switch(e.status){case"fulfilled":return e.value;case"pending":case"blocked":case"cyclic":throw e;default:throw e.reason}}function m(e,t){for(var n=0;nh?(_=h,h=3,p++):(_=0,h=3);continue;case 2:44===(m=d[p++])?h=4:v=v<<4|(96d.length&&(m=-1)}var O=d.byteOffset+p;if(-11)for(var n=1;ne.length)&&(t=e.length);for(var n=0,i=Array(t);ne.length)&&(t=e.length);for(var n=0,i=Array(t);n i,\n.p-input-icon-right > i,\n.p-input-icon-left > svg,\n.p-input-icon-right > svg,\n.p-input-icon-left > .p-input-prefix,\n.p-input-icon-right > .p-input-suffix {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n}\n\n.p-fluid .p-input-icon-left,\n.p-fluid .p-input-icon-right {\n display: block;\n width: 100%;\n}\n","\n ").concat("\n.p-icon {\n display: inline-block;\n}\n\n.p-icon-spin {\n -webkit-animation: p-icon-spin 2s infinite linear;\n animation: p-icon-spin 2s infinite linear;\n}\n\nsvg.p-icon {\n pointer-events: auto;\n}\n\nsvg.p-icon g,\n.p-disabled svg.p-icon {\n pointer-events: none;\n}\n\n@-webkit-keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n\n@keyframes p-icon-spin {\n 0% {\n -webkit-transform: rotate(0deg);\n transform: rotate(0deg);\n }\n 100% {\n -webkit-transform: rotate(359deg);\n transform: rotate(359deg);\n }\n}\n","\n}\n"),d={cProps:void 0,cParams:void 0,cName:void 0,defaultProps:{pt:void 0,ptOptions:void 0,unstyled:!1},context:{},globalCSS:void 0,classes:{},styles:"",extend:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.css,n=c(c({},e.defaultProps),d.defaultProps),r={},a=function(){var e,t,n,i,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},p=!(arguments.length>3)||void 0===arguments[3]||arguments[3];r.hasOwnProperty("pt")&&void 0!==r.pt&&(r=r.pt);var f=/./g.test(a)&&!!s[a.split(".")[0]],b=f?o.gb.toFlatCase(a.split(".")[1]):o.gb.toFlatCase(a),E=s.hostName&&o.gb.toFlatCase(s.hostName)||s.props&&s.props.__TYPE&&o.gb.toFlatCase(s.props.__TYPE)||"",O="transition"===b,S="data-pc-";d.cParams=s,d.cName=E;var A=(e="ptOptions",(null===(t=s.props)||void 0===t?void 0:t[e])||(null===(n=function e(t){return null!=t&&t.props?t.hostName?t.props.__TYPE===t.hostName?t.props:e(t.parent):t.parent:void 0}(s))||void 0===n?void 0:n[e])||d.context.ptOptions||{}),T=A.mergeSections,C=void 0===T||T,w=A.mergeProps,R=function(){var e=h.apply(void 0,arguments);return Array.isArray(e)?{className:o.AK.apply(void 0,l(e))}:o.gb.isString(e)?{className:e}:null!=e&&e.hasOwnProperty("className")&&Array.isArray(e.className)?{className:o.AK.apply(void 0,l(e.className))}:e},N=p?f?v(R,a,s):m(R,a,s):void 0,L=f?void 0:g(y(r,E),R,a,s),x=!O&&c(c({},"root"===b&&u({},"".concat(S,"name"),s.props&&s.props.__parentMetadata?o.gb.toFlatCase(s.props.__TYPE):E)),{},u({},"".concat(S,"section"),b));return C||!C&&L?void 0!==w&&w?(0,o.dG)([N,L,Object.keys(x).length?x:{}],{classNameMergeFunction:null===(i=d.context.ptOptions)||void 0===i?void 0:i.classNameMergeFunction}):c(c(c({},N),L),Object.keys(x).length?x:{}):c(c({},L),Object.keys(x).length?x:{})};return c(c({getProps:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return d.context=t,d.cProps=e,o.gb.getMergedProps(e,n)},getOtherProps:function(e){return o.gb.getDiffProps(e,n)},setMetaData:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=e.props,l=e.state,s=function(){return d.context.unstyled||i.ZP.unstyled||n.unstyled};return{ptm:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return a((n||{}).pt,t,c(c({},e),i))},ptmo:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return a(e,t,n,!1)},sx:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},a=!(arguments.length>2)||void 0===arguments[2]||arguments[2];if(a){var s,u=h(t&&t.inlineStyles,e,c({props:n,state:l},i)),p=h(r,e,c({props:n,state:l},i));return(0,o.dG)([p,u],{classNameMergeFunction:null===(s=d.context.ptOptions)||void 0===s?void 0:s.classNameMergeFunction})}},cx:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s()?void 0:h(t&&t.classes,e,c({props:n,state:l},i))},isUnstyled:s}}},e),{},{defaultProps:n})}},h=function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},r=String(o.gb.toFlatCase(n)).split("."),a=r.shift(),l=o.gb.isNotEmpty(t)?Object.keys(t).find(function(e){return o.gb.toFlatCase(e)===a}):"";return a?o.gb.isObject(t)?e(o.gb.getItemValue(t[l],i),r.join("."),i):void 0:o.gb.getItemValue(t,i)},y=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2?arguments[2]:void 0,i=null==e?void 0:e._usept,r=function(e){var i,r=arguments.length>1&&void 0!==arguments[1]&&arguments[1],a=n?n(e):e,l=o.gb.toFlatCase(t);return null!==(i=r?l!==d.cName?null==a?void 0:a[l]:void 0:null==a?void 0:a[l])&&void 0!==i?i:a};return o.gb.isNotEmpty(i)?{_usept:i,originalValue:r(e.originalValue),value:r(e.value)}:r(e,!0)},g=function(e,t,n,i){var r=function(e){return t(e,n,i)};if(null!=e&&e.hasOwnProperty("_usept")){var a=e._usept||d.context.ptOptions||{},l=a.mergeSections,s=void 0===l||l,u=a.mergeProps,p=a.classNameMergeFunction,f=r(e.originalValue),h=r(e.value);return void 0===f&&void 0===h?void 0:o.gb.isString(h)?h:o.gb.isString(f)?f:s||!s&&h?void 0!==u&&u?(0,o.dG)([f,h],{classNameMergeFunction:p}):c(c({},f),h):h}return r(e)},v=function(e,t,n){return g(y(d.context.pt||i.ZP.pt,void 0,function(e){return o.gb.getItemValue(e,d.cParams)}),e,t,n)},m=function(e,t,n){return g(y(d.context.pt||i.ZP.pt,void 0,function(e){return h(e,d.cName,d.cParams)||o.gb.getItemValue(e,d.cParams)}),e,t,n)},b=function(e){var t=arguments.length>2?arguments[2]:void 0,n=t.name,i=t.styled,a=void 0!==i&&i,l=t.hostName,s=void 0===l?"":l,u=v(h,"global.css",d.cParams),p=o.gb.toFlatCase(n),c=(0,r.Xj)("\n.p-hidden-accessible {\n border: 0;\n padding: 0;\n margin: -1px;\n position: absolute;\n height: 1px;\n width: 1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n clip-path: inset(50%);\n white-space: nowrap;\n}\n\n.p-hidden-accessible input,\n.p-hidden-accessible select {\n transform: scale(0);\n}\n\n.p-overflow-hidden {\n overflow: hidden;\n padding-right: var(--scrollbar-width);\n}\n",{name:"base",manual:!0}).load,b=(0,r.Xj)(f,{name:"common",manual:!0}).load,E=(0,r.Xj)(u,{name:"global",manual:!0}).load,O=(0,r.Xj)(e,{name:n,manual:!0}).load,S=function(e){if(!s){var t=g(y((d.cProps||{}).pt,p),h,"hooks.".concat(e)),n=m(h,"hooks.".concat(e));null==t||t(),null==n||n()}};S("useMountEffect"),(0,r.nw)(function(){c(),E(),b(),a||O()}),(0,r.rf)(function(){S("useUpdateEffect")}),(0,r.zq)(function(){S("useUnmountEffect")})}},5278:function(e,t,n){"use strict";n.d(t,{K:function(){return f}});var i=n(2265),r=n(3681),o=n(1857),a=n(4687),l=n(3155);function s(e){return(s="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e})(e)}var u={defaultProps:{__TYPE:"CSSTransition",children:void 0},getProps:function(e){return a.gb.getMergedProps(e,u.defaultProps)},getOtherProps:function(e){return a.gb.getDiffProps(e,u.defaultProps)}};function p(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);t&&(i=i.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,i)}return n}function c(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,i=Array(t);n0&&void 0!==arguments[0]?arguments[0]:{},t=e.target;r.gb.isNotEmpty(t)&&(v(),(e.when||c)&&(f.current=r.p7.getTargetElement(t))),!d.current&&f.current&&(d.current=function(e){return a&&a(e)},f.current.addEventListener(o,d.current,l))},v=function(){d.current&&(f.current.removeEventListener(o,d.current,l),d.current=null)},m=function(){v(),h=null,y=null},b=i.useCallback(function(){c?f.current=r.p7.getTargetElement(n):(v(),f.current=null)},[n,c]);return i.useEffect(function(){b()},[b]),i.useEffect(function(){var e="".concat(h)!=="".concat(a),t=y!==l,n=d.current;n&&(e||t)?(v(),c&&g()):n||m()},[a,l,c]),p(function(){m()}),[g,v]},f={},d=function(e){var t=!(arguments.length>1)||void 0===arguments[1]||arguments[1],n=s(i.useState(function(){return(0,r.Th)()}),1)[0],o=s(i.useState(0),2),a=o[0],l=o[1];return i.useEffect(function(){if(t){f[e]||(f[e]=[]);var i=f[e].push(n);return l(i),function(){delete f[e][i-1];var t=f[e].length-1,n=r.gb.findLastIndex(f[e],function(e){return void 0!==e});n!==t&&f[e].splice(n+1),l(void 0)}}},[e,n,t]),a};function h(e){return function(e){if(Array.isArray(e))return a(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||l(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var y={SIDEBAR:100,SLIDE_MENU:200,DIALOG:300,IMAGE:400,MENU:500,OVERLAY_PANEL:600,PASSWORD:700,CASCADE_SELECT:800,SPLIT_BUTTON:900,SPEED_DIAL:1e3},g={escKeyListeners:new Map,onGlobalKeyDown:function(e){if("Escape"===e.code){var t=g.escKeyListeners,n=Math.max.apply(Math,h(t.keys())),i=t.get(n),r=Math.max.apply(Math,h(i.keys()));i.get(r)(e)}},refreshGlobalKeyDownListener:function(){var e=r.p7.getTargetElement("document");this.escKeyListeners.size>0?e.addEventListener("keydown",this.onGlobalKeyDown):e.removeEventListener("keydown",this.onGlobalKeyDown)},addListener:function(e,t){var n=this,i=s(t,2),r=i[0],o=i[1],a=this.escKeyListeners;a.has(r)||a.set(r,new Map);var l=a.get(r);if(l.has(o))throw Error("Unexpected: global esc key listener with priority [".concat(r,", ").concat(o,"] already exists."));return l.set(o,e),this.refreshGlobalKeyDownListener(),function(){l.delete(o),0===l.size&&a.delete(r),n.refreshGlobalKeyDownListener()}}},v=function(e){var t=e.callback,n=e.when,r=e.priority;(0,i.useEffect)(function(){if(n)return g.addListener(t,r)},[t,n,r])},m=function(){var e=(0,i.useContext)(o.Ou);return function(){for(var t=arguments.length,n=Array(t),i=0;i0&&void 0!==arguments[0]?arguments[0]:{};if(r.gb.isNotEmpty(e.target)&&(m(),(e.when||s)&&(f.current=r.p7.getTargetElement(e.target))),!d.current&&f.current){var t=c?c.hideOverlaysOnDocumentScrolling:o.ZP.hideOverlaysOnDocumentScrolling,i=h.current=r.p7.getScrollableParents(f.current,t);d.current=function(e){return n&&n(e)},i.forEach(function(e){return e.addEventListener("scroll",d.current,a)})}},m=function(){d.current&&(h.current.forEach(function(e){return e.removeEventListener("scroll",d.current,a)}),d.current=null)},b=function(){m(),h.current=null,y=null,g=null},E=i.useCallback(function(){s?f.current=r.p7.getTargetElement(t):(m(),f.current=null)},[t,s]);return i.useEffect(function(){E()},[E]),i.useEffect(function(){var e="".concat(y)!=="".concat(n),t=g!==a,i=d.current;i&&(e||t)?(m(),s&&v()):i||b()},[n,a,s]),p(function(){b()}),[v,m]},O=function(e){var t=e.listener,n=e.when;return c({target:"window",type:"resize",listener:t,when:void 0===n||n})},S=0,A=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=s((0,i.useState)(!1),2),a=n[0],l=n[1],u=(0,i.useRef)(null),p=(0,i.useContext)(o.Ou),c=r.p7.isClient()?window.document:void 0,f=t.document,d=void 0===f?c:f,h=t.manual,y=void 0!==h&&h,g=t.name,v=void 0===g?"style_".concat(++S):g,m=t.id,b=void 0===m?void 0:m,E=t.media,O=void 0===E?void 0:E,A=function(e){var t=e.querySelector('style[data-primereact-style-id="'.concat(v,'"]'));if(t)return t;if(void 0!==b){var n=d.getElementById(b);if(n)return n}return d.createElement("style")},T=function(){if(d&&!a){var t=(null==p?void 0:p.styleContainer)||d.head;u.current=A(t),!u.current.isConnected&&(u.current.type="text/css",b&&(u.current.id=b),O&&(u.current.media=O),r.p7.addNonce(u.current,p&&p.nonce||o.ZP.nonce),t.appendChild(u.current),v&&u.current.setAttribute("data-primereact-style-id",v)),u.current.textContent=e,l(!0)}};return(0,i.useEffect)(function(){y||T()},[y]),{id:b,name:v,update:function(t){a&&e!==t&&(u.current.textContent=t)},unload:function(){d&&u.current&&(r.p7.removeInlineStyle(u.current),l(!1))},load:T,isLoaded:a}},T=function(e,t){var n=i.useRef(!1);return i.useEffect(function(){if(!n.current){n.current=!0;return}return e&&e()},t)}},3730:function(e,t,n){"use strict";n.d(t,{A:function(){return r}});var i=n(4687),r={defaultProps:{__TYPE:"IconBase",className:null,label:null,spin:!1},getProps:function(e){return i.gb.getMergedProps(e,r.defaultProps)},getOtherProps:function(e){return i.gb.getDiffProps(e,r.defaultProps)},getPTI:function(e){var t=i.gb.isEmpty(e.label),n=r.getOtherProps(e),o={className:(0,i.AK)("p-icon",{"p-icon-spin":e.spin},e.className),role:t?void 0:"img","aria-label":t?void 0:e.label,"aria-hidden":t};return i.gb.getMergedProps(n,o)}}},6752:function(e,t,n){"use strict";n.d(t,{q:function(){return a}});var i=n(2265),r=n(3730);function o(){return(o=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,i=Array(t);ne.length)&&(t=e.length);for(var n=0,i=Array(t);n=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw o}}}}function O(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,i=Array(t);n1&&void 0!==arguments[1]?arguments[1]:{};e&&Object.entries(t).forEach(function(t){var n=c(t,2),i=n[0],r=n[1];return e.style[i]=r})}},{key:"find",value:function(e,t){return e?Array.from(e.querySelectorAll(t)):[]}},{key:"findSingle",value:function(e,t){return e?e.querySelector(t):null}},{key:"setAttributes",value:function(e){var t=this,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(e){var i=function t(n,i){var r,o,a=null!=e&&null!==(r=e.$attrs)&&void 0!==r&&r[n]?[null==e||null===(o=e.$attrs)||void 0===o?void 0:o[n]]:[];return[i].flat().reduce(function(e,i){if(null!=i){var r=f(i);if("string"===r||"number"===r)e.push(i);else if("object"===r){var o=Array.isArray(i)?t(n,i):Object.entries(i).map(function(e){var t=c(e,2),i=t[0],r=t[1];return"style"===n&&(r||0===r)?"".concat(i.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase(),":").concat(r):r?i:void 0});e=o.length?e.concat(o.filter(function(e){return!!e})):e}}return e},a)};Object.entries(n).forEach(function(n){var r=c(n,2),o=r[0],a=r[1];if(null!=a){var l=o.match(/^on(.+)/);l?e.addEventListener(l[1].toLowerCase(),a):"p-bind"===o?t.setAttributes(e,a):(a="class"===o?h(new Set(i("class",a))).join(" ").trim():"style"===o?i("style",a).join(";").trim():a,e.$attrs=e.$attrs||{},e.$attrs[o]=a,e.setAttribute(o,a))}})}}},{key:"getAttribute",value:function(e,t){if(e){var n=e.getAttribute(t);return isNaN(n)?"true"===n||"false"===n?"true"===n:n:+n}}},{key:"isAttributeEquals",value:function(e,t,n){return!!e&&this.getAttribute(e,t)===n}},{key:"isAttributeNotEquals",value:function(e,t,n){return!this.isAttributeEquals(e,t,n)}},{key:"getHeight",value:function(e){if(e){var t=e.offsetHeight,n=getComputedStyle(e);return t-(parseFloat(n.paddingTop)+parseFloat(n.paddingBottom)+parseFloat(n.borderTopWidth)+parseFloat(n.borderBottomWidth))}return 0}},{key:"getWidth",value:function(e){if(e){var t=e.offsetWidth,n=getComputedStyle(e);return t-(parseFloat(n.paddingLeft)+parseFloat(n.paddingRight)+parseFloat(n.borderLeftWidth)+parseFloat(n.borderRightWidth))}return 0}},{key:"alignOverlay",value:function(t,n,i){var r=!(arguments.length>3)||void 0===arguments[3]||arguments[3];t&&n&&("self"===i?this.relativePosition(t,n):(r&&(t.style.minWidth=e.getOuterWidth(n)+"px"),this.absolutePosition(t,n)))}},{key:"absolutePosition",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"left";if(e&&t){var i,r,o=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),a=o.height,l=o.width,s=t.offsetHeight,u=t.offsetWidth,p=t.getBoundingClientRect(),c=this.getWindowScrollTop(),f=this.getWindowScrollLeft(),d=this.getViewport();p.top+s+a>d.height?((i=p.top+c-a)<0&&(i=c),e.style.transformOrigin="bottom"):(i=s+p.top+c,e.style.transformOrigin="top");var h=p.left;r=h+u+l>d.width?Math.max(0,h+f+u-l):h-("left"===n?0:l-u)+f,e.style.top=i+"px",e.style.left=r+"px"}}},{key:"relativePosition",value:function(e,t){if(e&&t){var n,i,r=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),o=t.offsetHeight,a=t.getBoundingClientRect(),l=this.getViewport();a.top+o+r.height>l.height?(n=-1*r.height,a.top+n<0&&(n=-1*a.top),e.style.transformOrigin="bottom"):(n=o,e.style.transformOrigin="top"),i=r.width>l.width?-1*a.left:a.left+r.width>l.width?-((a.left+r.width-l.width)*1):0,e.style.top=n+"px",e.style.left=i+"px"}}},{key:"flipfitCollision",value:function(t,n){var i=this,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"left top",o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"left bottom",a=arguments.length>4?arguments[4]:void 0;if(t&&n){var l=n.getBoundingClientRect(),s=this.getViewport(),u=r.split(" "),p=o.split(" "),c=function(e,t){return t?+e.substring(e.search(/(\+|-)/g))||0:e.substring(0,e.search(/(\+|-)/g))||e},f={my:{x:c(u[0]),y:c(u[1]||u[0]),offsetX:c(u[0],!0),offsetY:c(u[1]||u[0],!0)},at:{x:c(p[0]),y:c(p[1]||p[0]),offsetX:c(p[0],!0),offsetY:c(p[1]||p[0],!0)}},d={left:function(){return f.my.offsetX+f.at.offsetX+l.left+("left"===f.my.x?0:-1*("center"===f.my.x?i.getOuterWidth(t)/2:i.getOuterWidth(t)))},top:function(){return f.my.offsetY+f.at.offsetY+l.top+("top"===f.my.y?0:-1*("center"===f.my.y?i.getOuterHeight(t)/2:i.getOuterHeight(t)))}},h={count:{x:0,y:0},left:function(){var n=d.left(),i=e.getWindowScrollLeft();t.style.left=n+i+"px",2===this.count.x?(t.style.left=i+"px",this.count.x=0):n<0&&(this.count.x++,f.my.x="left",f.at.x="right",f.my.offsetX*=-1,f.at.offsetX*=-1,this.right())},right:function(){var i=d.left()+e.getOuterWidth(n),r=e.getWindowScrollLeft();t.style.left=i+r+"px",2===this.count.x?(t.style.left=s.width-e.getOuterWidth(t)+r+"px",this.count.x=0):i+e.getOuterWidth(t)>s.width&&(this.count.x++,f.my.x="right",f.at.x="left",f.my.offsetX*=-1,f.at.offsetX*=-1,this.left())},top:function(){var n=d.top(),i=e.getWindowScrollTop();t.style.top=n+i+"px",2===this.count.y?(t.style.left=i+"px",this.count.y=0):n<0&&(this.count.y++,f.my.y="top",f.at.y="bottom",f.my.offsetY*=-1,f.at.offsetY*=-1,this.bottom())},bottom:function(){var i=d.top()+e.getOuterHeight(n),r=e.getWindowScrollTop();t.style.top=i+r+"px",2===this.count.y?(t.style.left=s.height-e.getOuterHeight(t)+r+"px",this.count.y=0):i+e.getOuterHeight(n)>s.height&&(this.count.y++,f.my.y="bottom",f.at.y="top",f.my.offsetY*=-1,f.at.offsetY*=-1,this.top())},center:function(i){if("y"===i){var r=d.top()+e.getOuterHeight(n)/2;t.style.top=r+e.getWindowScrollTop()+"px",r<0?this.bottom():r+e.getOuterHeight(n)>s.height&&this.top()}else{var o=d.left()+e.getOuterWidth(n)/2;t.style.left=o+e.getWindowScrollLeft()+"px",o<0?this.left():o+e.getOuterWidth(t)>s.width&&this.right()}}};h[f.at.x]("x"),h[f.at.y]("y"),this.isFunction(a)&&a(f)}}},{key:"findCollisionPosition",value:function(e){if(e)return"top"===e||"bottom"===e?{axis:"y",my:"center ".concat("top"===e?"bottom":"top"),at:"center ".concat(e)}:{axis:"x",my:"".concat("left"===e?"right":"left"," center"),at:"".concat(e," center")}}},{key:"getParents",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return null===e.parentNode?t:this.getParents(e.parentNode,t.concat([e.parentNode]))}},{key:"getScrollableParents",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],n=[];if(e){var i,r=this.getParents(e),o=/(auto|scroll)/,a=function(e){var t=e?getComputedStyle(e):null;return t&&(o.test(t.getPropertyValue("overflow"))||o.test(t.getPropertyValue("overflow-x"))||o.test(t.getPropertyValue("overflow-y")))},l=function(e){t?n.push("BODY"===e.nodeName||"HTML"===e.nodeName||9===e.nodeType?window:e):n.push(e)},s=E(r);try{for(s.s();!(i=s.n()).done;){var u=i.value,p=1===u.nodeType&&u.dataset.scrollselectors;if(p){var c,f=p.split(","),d=E(f);try{for(d.s();!(c=d.n()).done;){var h=c.value,y=this.findSingle(u,h);y&&a(y)&&l(y)}}catch(e){d.e(e)}finally{d.f()}}1===u.nodeType&&a(u)&&l(u)}}catch(e){s.e(e)}finally{s.f()}}return n.some(function(e){return e===document.body||e===window})||n.push(window),n}},{key:"getHiddenElementOuterHeight",value:function(e){if(e){e.style.visibility="hidden",e.style.display="block";var t=e.offsetHeight;return e.style.display="none",e.style.visibility="visible",t}return 0}},{key:"getHiddenElementOuterWidth",value:function(e){if(e){e.style.visibility="hidden",e.style.display="block";var t=e.offsetWidth;return e.style.display="none",e.style.visibility="visible",t}return 0}},{key:"getHiddenElementDimensions",value:function(e){var t={};return e&&(e.style.visibility="hidden",e.style.display="block",t.width=e.offsetWidth,t.height=e.offsetHeight,e.style.display="none",e.style.visibility="visible"),t}},{key:"fadeIn",value:function(e,t){if(e){e.style.opacity=0;var n=+new Date,i=0;!function r(){i=+e.style.opacity+(new Date().getTime()-n)/t,e.style.opacity=i,n=+new Date,1>+i&&(window.requestAnimationFrame&&requestAnimationFrame(r)||setTimeout(r,16))}()}}},{key:"fadeOut",value:function(e,t){if(e)var n=1,i=50/t,r=setInterval(function(){(n-=i)<=0&&(n=0,clearInterval(r)),e.style.opacity=n},50)}},{key:"getUserAgent",value:function(){return navigator.userAgent}},{key:"isIOS",value:function(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}},{key:"isAndroid",value:function(){return/(android)/i.test(navigator.userAgent)}},{key:"isChrome",value:function(){return/(chrome)/i.test(navigator.userAgent)}},{key:"isClient",value:function(){return!!("undefined"!=typeof window&&window.document&&window.document.createElement)}},{key:"isTouchDevice",value:function(){return"ontouchstart"in window||navigator.maxTouchPoints>0||navigator.msMaxTouchPoints>0}},{key:"isFunction",value:function(e){return!!(e&&e.constructor&&e.call&&e.apply)}},{key:"appendChild",value:function(e,t){if(this.isElement(t))t.appendChild(e);else if(t.el&&t.el.nativeElement)t.el.nativeElement.appendChild(e);else throw Error("Cannot append "+t+" to "+e)}},{key:"removeChild",value:function(e,t){if(this.isElement(t))t.removeChild(e);else if(t.el&&t.el.nativeElement)t.el.nativeElement.removeChild(e);else throw Error("Cannot remove "+e+" from "+t)}},{key:"isElement",value:function(e){return("undefined"==typeof HTMLElement?"undefined":f(HTMLElement))==="object"?e instanceof HTMLElement:e&&"object"===f(e)&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName}},{key:"scrollInView",value:function(e,t){var n=getComputedStyle(e).getPropertyValue("border-top-width"),i=n?parseFloat(n):0,r=getComputedStyle(e).getPropertyValue("padding-top"),o=r?parseFloat(r):0,a=e.getBoundingClientRect(),l=t.getBoundingClientRect().top+document.body.scrollTop-(a.top+document.body.scrollTop)-i-o,s=e.scrollTop,u=e.clientHeight,p=this.getOuterHeight(t);l<0?e.scrollTop=s+l:l+p>u&&(e.scrollTop=s+l-u+p)}},{key:"clearSelection",value:function(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch(e){}}},{key:"calculateScrollbarWidth",value:function(e){if(e){var t=getComputedStyle(e);return e.offsetWidth-e.clientWidth-parseFloat(t.borderLeftWidth)-parseFloat(t.borderRightWidth)}if(null!=this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;var n=document.createElement("div");n.className="p-scrollbar-measure",document.body.appendChild(n);var i=n.offsetWidth-n.clientWidth;return document.body.removeChild(n),this.calculatedScrollbarWidth=i,i}},{key:"calculateBodyScrollbarWidth",value:function(){return window.innerWidth-document.documentElement.offsetWidth}},{key:"getBrowser",value:function(){if(!this.browser){var e=this.resolveUserAgent();this.browser={},e.browser&&(this.browser[e.browser]=!0,this.browser.version=e.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}},{key:"resolveUserAgent",value:function(){var e=navigator.userAgent.toLowerCase(),t=/(chrome)[ ]([\w.]+)/.exec(e)||/(webkit)[ ]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ ]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||0>e.indexOf("compatible")&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}}},{key:"blockBodyScroll",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"p-overflow-hidden";document.body.style.getPropertyValue("--scrollbar-width")||document.body.style.setProperty("--scrollbar-width",this.calculateBodyScrollbarWidth()+"px"),this.addClass(document.body,e)}},{key:"unblockBodyScroll",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"p-overflow-hidden";document.body.style.removeProperty("--scrollbar-width"),this.removeClass(document.body,e)}},{key:"isVisible",value:function(e){return e&&(0!==e.clientHeight||0!==e.getClientRects().length||"none"!==getComputedStyle(e).display)}},{key:"isExist",value:function(e){return!!(null!=e&&e.nodeName&&e.parentNode)}},{key:"getFocusableElements",value:function(t){var n,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=e.find(t,'button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])'.concat(i,',\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])').concat(i,',\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])').concat(i,',\n select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])').concat(i,',\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])').concat(i,',\n [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])').concat(i,',\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden])').concat(i)),o=[],a=E(r);try{for(a.s();!(n=a.n()).done;){var l=n.value;"none"!==getComputedStyle(l).display&&"hidden"!==getComputedStyle(l).visibility&&o.push(l)}}catch(e){a.e(e)}finally{a.f()}return o}},{key:"getFirstFocusableElement",value:function(t,n){var i=e.getFocusableElements(t,n);return i.length>0?i[0]:null}},{key:"getLastFocusableElement",value:function(t,n){var i=e.getFocusableElements(t,n);return i.length>0?i[i.length-1]:null}},{key:"focus",value:function(e,t){e&&document.activeElement!==e&&e.focus({preventScroll:void 0===t||!t})}},{key:"focusFirstElement",value:function(t,n){if(t){var i=e.getFirstFocusableElement(t);return i&&e.focus(i,n),i}}},{key:"getCursorOffset",value:function(e,t,n,i){if(e){var r=getComputedStyle(e),o=document.createElement("div");o.style.position="absolute",o.style.top="0px",o.style.left="0px",o.style.visibility="hidden",o.style.pointerEvents="none",o.style.overflow=r.overflow,o.style.width=r.width,o.style.height=r.height,o.style.padding=r.padding,o.style.border=r.border,o.style.overflowWrap=r.overflowWrap,o.style.whiteSpace=r.whiteSpace,o.style.lineHeight=r.lineHeight,o.innerHTML=t.replace(/\r\n|\r|\n/g,"
");var a=document.createElement("span");a.textContent=i,o.appendChild(a);var l=document.createTextNode(n);o.appendChild(l),document.body.appendChild(o);var s=a.offsetLeft,u=a.offsetTop,p=a.clientHeight;return document.body.removeChild(o),{left:Math.abs(s-e.scrollLeft),top:Math.abs(u-e.scrollTop)+p}}return{top:"auto",left:"auto"}}},{key:"invokeElementMethod",value:function(e,t,n){e[t].apply(e,n)}},{key:"isClickable",value:function(e){var t=e.nodeName,n=e.parentElement&&e.parentElement.nodeName;return"INPUT"===t||"TEXTAREA"===t||"BUTTON"===t||"A"===t||"INPUT"===n||"TEXTAREA"===n||"BUTTON"===n||"A"===n||this.hasClass(e,"p-button")||this.hasClass(e.parentElement,"p-button")||this.hasClass(e.parentElement,"p-checkbox")||this.hasClass(e.parentElement,"p-radiobutton")}},{key:"applyStyle",value:function(e,t){if("string"==typeof t)e.style.cssText=this.style;else for(var n in this.style)e.style[n]=t[n]}},{key:"exportCSV",value:function(t,n){var i=new Blob([t],{type:"application/csv;charset=utf-8;"});window.navigator.msSaveOrOpenBlob?navigator.msSaveOrOpenBlob(i,n+".csv"):e.saveAs({name:n+".csv",src:URL.createObjectURL(i)})||(t="data:text/csv;charset=utf-8,"+t,window.open(encodeURI(t)))}},{key:"saveAs",value:function(e){if(e){var t=document.createElement("a");if(void 0!==t.download){var n=e.name,i=e.src;return t.setAttribute("href",i),t.setAttribute("download",n),t.style.display="none",document.body.appendChild(t),t.click(),document.body.removeChild(t),!0}}return!1}},{key:"createInlineStyle",value:function(t,n){var i=document.createElement("style");return e.addNonce(i,t),n||(n=document.head),n.appendChild(i),i}},{key:"removeInlineStyle",value:function(e){if(this.isExist(e)){try{e.parentNode.removeChild(e)}catch(e){}e=null}return e}},{key:"addNonce",value:function(e,t){try{t||(t=s.env.REACT_APP_CSS_NONCE)}catch(e){}t&&e.setAttribute("nonce",t)}},{key:"getTargetElement",value:function(e){if(!e)return null;if("document"===e)return document;if("window"===e)return window;if("object"===f(e)&&e.hasOwnProperty("current"))return this.isExist(e.current)?e.current:null;var t=e&&e.constructor&&e.call&&e.apply?e():e;return t&&9===t.nodeType||this.isExist(t)?t:null}},{key:"getAttributeNames",value:function(e){var t,n,i;for(t=0,n=[],i=e.attributes;t0}},{key:"hasCSSTransition",value:function(e){return!!e&&parseFloat(getComputedStyle(e).getPropertyValue("transition-duration")||"0")>0}}]),e}();function A(){return(A=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,i=Array(t);n=e.length&&(n%=e.length,t%=e.length),e.splice(n,0,e.splice(t,1)[0]))}},{key:"findIndexInList",value:function(e,t,n){var i=this;return t?n?t.findIndex(function(t){return i.equals(t,e,n)}):t.findIndex(function(t){return t===e}):-1}},{key:"getJSXElement",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i1?t-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=e?e[t]:void 0;return void 0===i?n[t]:i}},{key:"getPropCaseInsensitive",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=this.toFlatCase(t);for(var r in e)if(e.hasOwnProperty(r)&&this.toFlatCase(r)===i)return e[r];for(var o in n)if(n.hasOwnProperty(o)&&this.toFlatCase(o)===i)return n[o]}},{key:"getMergedProps",value:function(e,t){return Object.assign({},t,e)}},{key:"getDiffProps",value:function(e,t){return this.findDiffKeys(e,t)}},{key:"getPropValue",value:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),i=1;i1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};return this.isNotEmpty(e)?this.getProp(e.props,t,n):void 0}},{key:"getComponentProps",value:function(e,t){return this.isNotEmpty(e)?this.getMergedProps(e.props,t):void 0}},{key:"getComponentDiffProps",value:function(e,t){return this.isNotEmpty(e)?this.getDiffProps(e.props,t):void 0}},{key:"isValidChild",value:function(e,t,n){if(e){var i,r=this.getComponentProp(e,"__TYPE")||(e.type?e.type.displayName:void 0);return!r&&null!=e&&null!==(i=e.type)&&void 0!==i&&null!==(i=i._payload)&&void 0!==i&&i.value&&(r=e.type._payload.value.find(function(e){return e===t})),r===t}return!1}},{key:"getRefElement",value:function(e){return e?"object"===f(e)&&e.hasOwnProperty("current")?e.current:e:null}},{key:"combinedRefs",value:function(e,t){e&&t&&("function"==typeof t?t(e.current):t.current=e.current)}},{key:"removeAccents",value:function(e){return e&&e.search(/[\xC0-\xFF]/g)>-1&&(e=e.replace(/[\xC0-\xC5]/g,"A").replace(/[\xC6]/g,"AE").replace(/[\xC7]/g,"C").replace(/[\xC8-\xCB]/g,"E").replace(/[\xCC-\xCF]/g,"I").replace(/[\xD0]/g,"D").replace(/[\xD1]/g,"N").replace(/[\xD2-\xD6\xD8]/g,"O").replace(/[\xD9-\xDC]/g,"U").replace(/[\xDD]/g,"Y").replace(/[\xDE]/g,"P").replace(/[\xE0-\xE5]/g,"a").replace(/[\xE6]/g,"ae").replace(/[\xE7]/g,"c").replace(/[\xE8-\xEB]/g,"e").replace(/[\xEC-\xEF]/g,"i").replace(/[\xF1]/g,"n").replace(/[\xF2-\xF6\xF8]/g,"o").replace(/[\xF9-\xFC]/g,"u").replace(/[\xFE]/g,"p").replace(/[\xFD\xFF]/g,"y")),e}},{key:"toFlatCase",value:function(e){return this.isNotEmpty(e)&&this.isString(e)?e.replace(/(-|_)/g,"").toLowerCase():e}},{key:"toCapitalCase",value:function(e){return this.isNotEmpty(e)&&this.isString(e)?e[0].toUpperCase()+e.slice(1):e}},{key:"trim",value:function(e){return this.isNotEmpty(e)&&this.isString(e)?e.trim():e}},{key:"isEmpty",value:function(e){return null==e||""===e||Array.isArray(e)&&0===e.length||!(e instanceof Date)&&"object"===f(e)&&0===Object.keys(e).length}},{key:"isNotEmpty",value:function(e){return!this.isEmpty(e)}},{key:"isFunction",value:function(e){return!!(e&&e.constructor&&e.call&&e.apply)}},{key:"isObject",value:function(e){return null!==e&&e instanceof Object&&e.constructor===Object}},{key:"isDate",value:function(e){return null!==e&&e instanceof Date&&e.constructor===Date}},{key:"isArray",value:function(e){return null!==e&&Array.isArray(e)}},{key:"isString",value:function(e){return null!==e&&"string"==typeof e}},{key:"isPrintableCharacter",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return this.isNotEmpty(e)&&1===e.length&&e.match(/\S| /)}},{key:"isLetter",value:function(e){return/^[a-zA-Z\u00C0-\u017F]$/.test(e)}},{key:"findLast",value:function(e,t){var n;if(this.isNotEmpty(e))try{n=e.findLast(t)}catch(i){n=h(e).reverse().find(t)}return n}},{key:"findLastIndex",value:function(e,t){var n=-1;if(this.isNotEmpty(e))try{n=e.findLastIndex(t)}catch(i){n=e.lastIndexOf(h(e).reverse().find(t))}return n}},{key:"sort",value:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,i=arguments.length>3?arguments[3]:void 0,r=arguments.length>4&&void 0!==arguments[4]?arguments[4]:1,o=this.compare(e,t,i,n),a=n;return(this.isEmpty(e)||this.isEmpty(t))&&(a=1===r?n:r),a*o}},{key:"compare",value:function(e,t,n){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:1,r=this.isEmpty(e),o=this.isEmpty(t);return r&&o?0:r?i:o?-i:"string"==typeof e&&"string"==typeof t?n(e,t):et?1:0}},{key:"localeComparator",value:function(e){return new Intl.Collator(e,{numeric:!0}).compare}},{key:"findChildrenByKey",value:function(e,t){var n,i=function(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=function(e,t){if(e){if("string"==typeof e)return T(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(e);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return T(e,void 0)}}(e))){n&&(e=n);var i=0,r=function(){};return{s:r,n:function(){return i>=e.length?{done:!0}:{done:!1,value:e[i++]}},e:function(e){throw e},f:r}}throw TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var o,a=!0,l=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return a=e.done,e},e:function(e){l=!0,o=e},f:function(){try{a||null==n.return||n.return()}finally{if(l)throw o}}}}(e);try{for(i.s();!(n=i.n()).done;){var r=n.value;if(r.key===t)return r.children||[];if(r.children){var o=this.findChildrenByKey(r.children,t);if(o.length>0)return o}}}catch(e){i.e(e)}finally{i.f()}return[]}},{key:"mutateFieldData",value:function(e,t,n){if("object"===f(e)&&"string"==typeof t)for(var i=t.split("."),r=e,o=0,a=i.length;o1&&void 0!==arguments[1]?arguments[1]:{},n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},i=null;if(null!==e){var r=f(e),o=d(t.className,"string"===r&&e);if(i=l.createElement("span",A({},t,{className:o})),"string"!==r){var a=function(e){for(var t=1;t1&&void 0!==arguments[1]?arguments[1]:{};if(e){var n=function(e){return"function"==typeof e},i=t.classNameMergeFunction,r=n(i);return e.reduce(function(e,t){if(!t)return e;for(var o in t)!function(){var a=t[o];if("style"===o)e.style=L(L({},e.style),t.style);else if("className"===o){var l="";l=r?i(e.className,t.className):[e.className,t.className].join(" ").trim(),e.className=l||void 0}else if(n(a)){var s=e[o];e[o]=s?function(){s.apply(void 0,arguments),a.apply(void 0,arguments)}:a}else e[o]=a}();return e},{})}}var _=0;function P(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"pr_id_";return _++,"".concat(e).concat(_)}var I=(i=[],r=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:999,r=a(e,t,n),o=r.value+(r.key===e?0:n)+1;return i.push({key:e,value:o}),o},o=function(e){i=i.filter(function(t){return t.value!==e})},a=function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;return h(i).reverse().find(function(n){return!!t||n.key===e})||{key:e,value:n}},{get:function(e){return e&&parseInt(e.style.zIndex,10)||0},set:function(e,t,n,i){t&&(t.style.zIndex=String(r(e,n,i)))},clear:function(e){e&&(o(I.get(e)),e.style.zIndex="")},getCurrent:function(e,t){return a(e,t).value}})},3681:function(e,t,n){"use strict";function i(){return(i=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)continue;n[i]=e[i]}return n}function o(e,t){return(o=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e})(e,t)}function a(e,t){e.prototype=Object.create(t.prototype),e.prototype.constructor=e,o(e,t)}function l(e,t){return e.replace(RegExp("(^|\\s)"+t+"(?:\\s|$)","g"),"$1").replace(/\s+/g," ").replace(/^\s*|\s*$/g,"")}n.d(t,{Z:function(){return S}});var s=n(2265),u=n(4887),p={disabled:!1},c=s.createContext(null),f=function(e){return e.scrollTop},d="unmounted",h="exited",y="entering",g="entered",v="exiting",m=function(e){function t(t,n){i=e.call(this,t,n)||this;var i,r,o=n&&!n.isMounting?t.enter:t.appear;return i.appearStatus=null,t.in?o?(r=h,i.appearStatus=y):r=g:r=t.unmountOnExit||t.mountOnEnter?d:h,i.state={status:r},i.nextCallback=null,i}a(t,e),t.getDerivedStateFromProps=function(e,t){return e.in&&t.status===d?{status:h}:null};var n=t.prototype;return n.componentDidMount=function(){this.updateStatus(!0,this.appearStatus)},n.componentDidUpdate=function(e){var t=null;if(e!==this.props){var n=this.state.status;this.props.in?n!==y&&n!==g&&(t=y):(n===y||n===g)&&(t=v)}this.updateStatus(!1,t)},n.componentWillUnmount=function(){this.cancelNextCallback()},n.getTimeouts=function(){var e,t,n,i=this.props.timeout;return e=t=n=i,null!=i&&"number"!=typeof i&&(e=i.exit,t=i.enter,n=void 0!==i.appear?i.appear:t),{exit:e,enter:t,appear:n}},n.updateStatus=function(e,t){if(void 0===e&&(e=!1),null!==t){if(this.cancelNextCallback(),t===y){if(this.props.unmountOnExit||this.props.mountOnEnter){var n=this.props.nodeRef?this.props.nodeRef.current:u.findDOMNode(this);n&&f(n)}this.performEnter(e)}else this.performExit()}else this.props.unmountOnExit&&this.state.status===h&&this.setState({status:d})},n.performEnter=function(e){var t=this,n=this.props.enter,i=this.context?this.context.isMounting:e,r=this.props.nodeRef?[i]:[u.findDOMNode(this),i],o=r[0],a=r[1],l=this.getTimeouts(),s=i?l.appear:l.enter;if(!e&&!n||p.disabled){this.safeSetState({status:g},function(){t.props.onEntered(o)});return}this.props.onEnter(o,a),this.safeSetState({status:y},function(){t.props.onEntering(o,a),t.onTransitionEnd(s,function(){t.safeSetState({status:g},function(){t.props.onEntered(o,a)})})})},n.performExit=function(){var e=this,t=this.props.exit,n=this.getTimeouts(),i=this.props.nodeRef?void 0:u.findDOMNode(this);if(!t||p.disabled){this.safeSetState({status:h},function(){e.props.onExited(i)});return}this.props.onExit(i),this.safeSetState({status:v},function(){e.props.onExiting(i),e.onTransitionEnd(n.exit,function(){e.safeSetState({status:h},function(){e.props.onExited(i)})})})},n.cancelNextCallback=function(){null!==this.nextCallback&&(this.nextCallback.cancel(),this.nextCallback=null)},n.safeSetState=function(e,t){t=this.setNextCallback(t),this.setState(e,t)},n.setNextCallback=function(e){var t=this,n=!0;return this.nextCallback=function(i){n&&(n=!1,t.nextCallback=null,e(i))},this.nextCallback.cancel=function(){n=!1},this.nextCallback},n.onTransitionEnd=function(e,t){this.setNextCallback(t);var n=this.props.nodeRef?this.props.nodeRef.current:u.findDOMNode(this),i=null==e&&!this.props.addEndListener;if(!n||i){setTimeout(this.nextCallback,0);return}if(this.props.addEndListener){var r=this.props.nodeRef?[this.nextCallback]:[n,this.nextCallback],o=r[0],a=r[1];this.props.addEndListener(o,a)}null!=e&&setTimeout(this.nextCallback,e)},n.render=function(){var e=this.state.status;if(e===d)return null;var t=this.props,n=t.children,i=(t.in,t.mountOnEnter,t.unmountOnExit,t.appear,t.enter,t.exit,t.timeout,t.addEndListener,t.onEnter,t.onEntering,t.onEntered,t.onExit,t.onExiting,t.onExited,t.nodeRef,r(t,["children","in","mountOnEnter","unmountOnExit","appear","enter","exit","timeout","addEndListener","onEnter","onEntering","onEntered","onExit","onExiting","onExited","nodeRef"]));return s.createElement(c.Provider,{value:null},"function"==typeof n?n(e,i):s.cloneElement(s.Children.only(n),i))},t}(s.Component);function b(){}m.contextType=c,m.propTypes={},m.defaultProps={in:!1,mountOnEnter:!1,unmountOnExit:!1,appear:!1,enter:!0,exit:!0,onEnter:b,onEntering:b,onEntered:b,onExit:b,onExiting:b,onExited:b},m.UNMOUNTED=d,m.EXITED=h,m.ENTERING=y,m.ENTERED=g,m.EXITING=v;var E=function(e,t){return e&&t&&t.split(" ").forEach(function(t){e.classList?e.classList.remove(t):"string"==typeof e.className?e.className=l(e.className,t):e.setAttribute("class",l(e.className&&e.className.baseVal||"",t))})},O=function(e){function t(){for(var t,n=arguments.length,i=Array(n),r=0;r{let{children:i}=e,[t,n]=(0,s.useState)({ripple:!1,inputStyle:"outlined",menuMode:"static",colorScheme:"light",theme:"lara-light-indigo",scale:14}),[o,c]=(0,s.useState)({staticMenuDesktopInactive:!1,overlayMenuActive:!1,profileSidebarVisible:!1,configSidebarVisible:!1,staticMenuMobileActive:!1,menuHoverActive:!1}),r=()=>"overlay"===t.menuMode,u=()=>window.innerWidth>991;return(0,l.jsx)(a.Provider,{value:{layoutConfig:t,setLayoutConfig:n,layoutState:o,setLayoutState:c,onMenuToggle:()=>{r()&&c(e=>({...e,overlayMenuActive:!e.overlayMenuActive})),u()?c(e=>({...e,staticMenuDesktopInactive:!e.staticMenuDesktopInactive})):c(e=>({...e,staticMenuMobileActive:!e.staticMenuMobileActive}))},showProfileSidebar:()=>{c(e=>({...e,profileSidebarVisible:!e.profileSidebarVisible}))}},children:i})};var o=t(3155);t(8828),t(9816),t(4349),t(8125);var c=t(1857),r=t(4687),u=t(7138),d=t(6693),m=t(3681);let v=(0,s.createContext)({}),p=e=>{let{children:i}=e,[t,a]=(0,s.useState)("");return(0,l.jsx)(v.Provider,{value:{activeMenu:t,setActiveMenu:a},children:i})};var b=t(6463);let x=e=>{let i=(0,b.usePathname)(),t=(0,b.useSearchParams)(),{activeMenu:a,setActiveMenu:n}=(0,s.useContext)(v),o=e.item,c=e.parentKey?e.parentKey+"-"+e.index:String(e.index),p=o.to&&i===o.to,h=a===c||a.startsWith(c+"-"),g=e=>{o.to&&o.to===e&&n(c)};(0,s.useEffect)(()=>{g(i)},[i,t]);let j=i=>{if(o.disabled){i.preventDefault();return}o.command&&o.command({originalEvent:i,item:o}),o.items?n(h?e.parentKey:c):n(c)},y=o.items&&!1!==o.visible&&(0,l.jsx)(m.Z,{timeout:{enter:1e3,exit:450},classNames:"layout-submenu",in:!!e.root||h,children:(0,l.jsx)("ul",{children:o.items.map((e,i)=>(0,l.jsx)(x,{item:e,index:i,className:e.badgeClass,parentKey:c},e.label))})},o.label);return(0,l.jsxs)("li",{className:(0,r.AK)({"layout-root-menuitem":e.root,"active-menuitem":h}),children:[e.root&&!1!==o.visible&&(0,l.jsx)("div",{className:"layout-menuitem-root-text",children:o.label}),(!o.to||o.items)&&!1!==o.visible?(0,l.jsxs)("a",{href:o.url,onClick:e=>j(e),className:(0,r.AK)(o.class,"p-ripple"),target:o.target,tabIndex:0,children:[(0,l.jsx)("i",{className:(0,r.AK)("layout-menuitem-icon",o.icon)}),(0,l.jsx)("span",{className:"layout-menuitem-text",children:o.label}),o.items&&(0,l.jsx)("i",{className:"pi pi-fw pi-angle-down layout-submenu-toggler"}),(0,l.jsx)(d.H,{})]}):null,o.to&&!o.items&&!1!==o.visible?(0,l.jsxs)(u.default,{href:o.to,replace:o.replaceUrl,target:o.target,onClick:e=>j(e),className:(0,r.AK)(o.class,"p-ripple",{"active-route":p}),tabIndex:0,children:[(0,l.jsx)("i",{className:(0,r.AK)("layout-menuitem-icon",o.icon)}),(0,l.jsx)("span",{className:"layout-menuitem-text",children:o.label}),o.items&&(0,l.jsx)("i",{className:"pi pi-fw pi-angle-down layout-submenu-toggler"}),(0,l.jsx)(d.H,{})]}):null,y]})};var h=()=>{let{layoutConfig:e}=(0,s.useContext)(a);return(0,l.jsx)(p,{children:(0,l.jsx)("ul",{className:"layout-menu",children:[{label:"",items:[{label:"Home",icon:"pi pi-fw pi-home",to:"/"},{label:"Experience",icon:"pi pi-fw pi-book",to:"/experience"},{label:"Projects",icon:"pi pi-fw pi-folder-open",to:"/projects"}]}].map((e,i)=>(null==e?void 0:e.seperator)?(0,l.jsx)("li",{className:"menu-separator"}):(0,l.jsx)(x,{item:e,root:!0,index:i},e.label))})})},g=()=>(0,l.jsx)(h,{}),j=t(3211),y=t(9917),f=e=>{let[i]=(0,s.useState)([12,13,14,15,16]),{layoutConfig:t,setLayoutConfig:n,layoutState:c,setLayoutState:u}=(0,s.useContext)(a),{setRipple:d,changeTheme:m}=(0,s.useContext)(o.Ou),v=(e,i)=>{null==m||m(t.theme,e,"theme-css",()=>{n(t=>({...t,theme:e,colorScheme:i}))})},p=()=>{document.documentElement.style.fontSize=t.scale+"px"};return(0,s.useEffect)(()=>{p()},[t.scale]),(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("button",{className:"layout-config-button config-link",type:"button",onClick:()=>{u(e=>({...e,configSidebarVisible:!0}))},children:(0,l.jsx)("i",{className:"pi pi-cog"})}),(0,l.jsxs)(y.Y,{visible:c.configSidebarVisible,onHide:()=>{u(e=>({...e,configSidebarVisible:!1}))},position:"right",className:"layout-config-sidebar w-20rem",children:[!e.simple&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)("h5",{children:"Scale"}),(0,l.jsxs)("div",{className:"flex align-items-center",children:[(0,l.jsx)(j.z,{icon:"pi pi-minus",type:"button",onClick:()=>{n(e=>({...e,scale:e.scale-1}))},rounded:!0,className:"w-2rem h-2rem mr-2",disabled:t.scale===i[0]}),(0,l.jsx)("div",{className:"flex gap-2 align-items-center",children:i.map(e=>(0,l.jsx)("i",{className:(0,r.AK)("pi pi-circle-fill",{"text-primary-500":e===t.scale,"text-300":e!==t.scale})},e))}),(0,l.jsx)(j.z,{icon:"pi pi-plus",type:"button",onClick:()=>{n(e=>({...e,scale:e.scale+1}))},rounded:!0,text:!0,className:"w-2rem h-2rem ml-2",disabled:t.scale===i[i.length-1]})]})]}),(0,l.jsx)("h5",{children:"Page Theme"}),(0,l.jsx)("div",{className:"col-3",children:(0,l.jsx)("button",{className:"p-link w-2rem h-2rem",onClick:()=>v("viva-light","light"),children:(0,l.jsx)("img",{src:"/layout/images/themes/viva-light.svg",className:"w-2rem h-2rem",alt:"Viva Light"})})}),(0,l.jsx)("div",{className:"col-3",children:(0,l.jsx)("button",{className:"p-link w-2rem h-2rem",onClick:()=>v("viva-dark","dark"),children:(0,l.jsx)("img",{src:"/layout/images/themes/viva-dark.svg",className:"w-2rem h-2rem",alt:"Viva Dark"})})})]})]})},N=e=>{let{children:i}=e,{layoutConfig:t,layoutState:n,setLayoutState:u}=(0,s.useContext)(a),{setRipple:d=()=>{}}=(0,s.useContext)(o.Ou)||{},m=(0,s.useRef)(null),v=(0,s.useRef)(null),[p,b]=(0,c.OR)({type:"click",listener:e=>{var i,t,l,s,a,n;(null===(i=v.current)||void 0===i?void 0:i.isSameNode(e.target))||(null===(t=v.current)||void 0===t?void 0:t.contains(e.target))||(null===(s=m.current)||void 0===s?void 0:null===(l=s.menubutton)||void 0===l?void 0:l.isSameNode(e.target))||(null===(n=m.current)||void 0===n?void 0:null===(a=n.menubutton)||void 0===a?void 0:a.contains(e.target))||j()}}),[x,h]=(0,c.OR)({type:"click",listener:e=>{var i,t,l,s,a,n,o,c;(null===(t=m.current)||void 0===t?void 0:null===(i=t.topbarmenu)||void 0===i?void 0:i.isSameNode(e.target))||(null===(s=m.current)||void 0===s?void 0:null===(l=s.topbarmenu)||void 0===l?void 0:l.contains(e.target))||(null===(n=m.current)||void 0===n?void 0:null===(a=n.topbarmenubutton)||void 0===a?void 0:a.isSameNode(e.target))||(null===(c=m.current)||void 0===c?void 0:null===(o=c.topbarmenubutton)||void 0===o?void 0:o.contains(e.target))||y()}}),j=()=>{u(e=>({...e,overlayMenuActive:!1,staticMenuMobileActive:!1,menuHoverActive:!1})),b(),M()},y=()=>{u(e=>({...e,profileSidebarVisible:!1})),h()},N=()=>{document.body.classList?document.body.classList.add("blocked-scroll"):document.body.className+=" blocked-scroll"},M=()=>{document.body.classList?document.body.classList.remove("blocked-scroll"):document.body.className=document.body.className.replace(RegExp("(^|\\b)"+"blocked-scroll".split(" ").join("|")+"(\\b|$)","gi")," ")};(0,s.useEffect)(()=>{(n.overlayMenuActive||n.staticMenuMobileActive)&&p(),n.staticMenuMobileActive&&N()},[n.overlayMenuActive,n.staticMenuMobileActive]),(0,s.useEffect)(()=>{n.profileSidebarVisible&&x()},[n.profileSidebarVisible]),(0,c.zq)(()=>{b(),h()});let k=(0,r.AK)("layout-wrapper",{"layout-overlay":"overlay"===t.menuMode,"layout-static":"static"===t.menuMode,"layout-static-inactive":n.staticMenuDesktopInactive&&"static"===t.menuMode,"layout-overlay-active":n.overlayMenuActive,"layout-mobile-active":n.staticMenuMobileActive,"p-input-filled":"filled"===t.inputStyle,"p-ripple-disabled":!t.ripple});return(0,l.jsx)(s.Fragment,{children:(0,l.jsxs)("div",{className:k,children:[(0,l.jsx)("div",{ref:v,className:"layout-sidebar",children:(0,l.jsx)(g,{})}),(0,l.jsx)("div",{className:"layout-main-container",children:(0,l.jsx)("div",{className:"layout-main",children:i})}),(0,l.jsx)(f,{}),(0,l.jsx)("div",{className:"layout-mask"})]})})};function M(e){let{children:i}=e;return(0,l.jsxs)("html",{lang:"en",suppressHydrationWarning:!0,children:[(0,l.jsx)("head",{children:(0,l.jsx)("link",{id:"theme-css",href:"/themes/lara-light-indigo/theme.css",rel:"stylesheet"})}),(0,l.jsx)("body",{children:(0,l.jsx)(o.pp,{children:(0,l.jsx)(s.Suspense,{children:(0,l.jsx)(n,{children:(0,l.jsxs)(N,{children:[i," "]})})})})})]})}},8125:function(){}},function(e){e.O(0,[523,493,158,773,157,971,23,744],function(){return e(e.s=2503)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/webpage/build/_next/static/chunks/app/page-f0e4499242ea5d59.js b/webpage/build/_next/static/chunks/app/page-f0e4499242ea5d59.js deleted file mode 100644 index 9371567c3..000000000 --- a/webpage/build/_next/static/chunks/app/page-f0e4499242ea5d59.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[931,924],{3521:function(){}},function(n){n.O(0,[971,23,744],function(){return n(n.s=3521)}),_N_E=n.O()}]); \ No newline at end of file diff --git a/webpage/build/_next/static/chunks/app/projects/page-684b8c85d287550c.js b/webpage/build/_next/static/chunks/app/projects/page-684b8c85d287550c.js deleted file mode 100644 index 939cd0b78..000000000 --- a/webpage/build/_next/static/chunks/app/projects/page-684b8c85d287550c.js +++ /dev/null @@ -1 +0,0 @@ -(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[895],{4826:function(e,t,n){Promise.resolve().then(n.bind(n,2545))},2545:function(e,t,n){"use strict";n.d(t,{Image:function(){return z}});var r=n(2265),o=n(3155),a=n(894),i=n(5278),l=n(1857),c=n(3730);function u(){return(u=Object.assign?Object.assign.bind():function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,r=Array(t);n .p-image-preview-indicator {\n opacity: 1;\n cursor: pointer;\n }\n \n .p-image-preview-container > img {\n cursor: pointer;\n }\n \n .p-image-toolbar {\n position: absolute;\n top: 0;\n right: 0;\n display: flex;\n z-index: 1;\n }\n \n .p-image-action.p-link {\n display: flex;\n justify-content: center;\n align-items: center;\n }\n \n .p-image-preview {\n transition: transform .15s;\n max-width: 100vw;\n max-height: 100vh;\n width: 100%;\n height: 100%;\n }\n \n .p-image-preview-enter {\n opacity: 0;\n transform: scale(0.7);\n }\n \n .p-image-preview-enter-active {\n opacity: 1;\n transform: scale(1);\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\n }\n \n .p-image-preview-enter-done {\n transform: none;\n }\n \n .p-image-preview-exit {\n opacity: 1;\n }\n \n .p-image-preview-exit-active {\n opacity: 0;\n transform: scale(0.7);\n transition: all 150ms cubic-bezier(0.4, 0.0, 0.2, 1);\n }\n}\n",inlineStyles:{preview:function(e){return{transform:"rotate("+e.rotateState+"deg) scale("+e.scaleState+")"}}}}});function x(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),n.push.apply(n,r)}return n}function R(e){for(var t=1;t=1.5,ey=j.setMetaData({props:W,state:{maskVisible:et,previewVisible:eo,rotate:el,scale:es}}),ew=ey.ptm,eh=ey.cx,eO=ey.sx,eE=ey.isUnstyled;(0,l.ti)({callback:function(){eP()},when:W.closeOnEscape&&et,priority:[l.FV.IMAGE,0]}),(0,a.e)(j.css.styles,eE,{name:"image"});var eI=function(){W.preview&&(en(!0),h.p7.blockBodyScroll(),setTimeout(function(){ea(!0)},25))},eP=function(){ea(!1),h.p7.unblockBodyScroll(),ec(0),ep(1)};(0,l.zq)(function(){ef.current&&h.P9.clear(ef.current)}),r.useImperativeHandle(t,function(){return{props:W,show:eI,hide:eP,getElement:function(){return eC.current},getImage:function(){return em.current}}});var eS=W.src,ej=W.alt,ex=W.width,eR=W.height,ez=W.crossOrigin,ek=W.referrerPolicy,eN=W.useMap,eB=W.loading,eL=(n=W.downloadable,c=W.alt,u=W.crossOrigin,p=W.referrerPolicy,m=W.useMap,d=W.loading,b=$(ew("downloadIcon")),E=$(ew("rotateRightIcon")),I=$(ew("rotateLeftIcon")),x=$(ew("zoomOutIcon")),z=$(ew("zoomInIcon")),k=$(ew("closeIcon")),N=h.Cz.getJSXIcon(W.downloadIcon||r.createElement(S,null),R({},b),{props:W}),B=h.Cz.getJSXIcon(W.rotateRightIcon||r.createElement(C,null),R({},E),{props:W}),L=h.Cz.getJSXIcon(W.rotateLeftIcon||r.createElement(y,null),R({},I),{props:W}),M=h.Cz.getJSXIcon(W.zoomOutIcon||r.createElement(f,null),R({},x),{props:W}),J=h.Cz.getJSXIcon(W.zoomInIcon||r.createElement(g,null),R({},z),{props:W}),A=h.Cz.getJSXIcon(W.closeIcon||r.createElement(v.q,null),R({},k),{props:W}),Z=$({ref:ef,role:"dialog",className:eh("mask"),"aria-modal":et,onClick:function(e){[e.target.classList].includes("p-image-action")||e.target.closest(".p-image-action")||eP()},onKeyDown:function(e){"Escape"===e.code&&(eP(),setTimeout(function(){h.p7.focus(eg.current)},200),e.preventDefault())}},ew("mask")),H=$({className:eh("toolbar")},ew("toolbar")),q=$({className:eh("downloadButton"),onPointerUp:function(){var e=W.alt,t=W.src;h.p7.saveAs({name:e,src:t})},type:"button"},ew("downloadButton")),V=$({className:eh("rotateRightButton"),onClick:function(e){e.stopPropagation(),ec(function(e){return e+90})},type:"button","aria-label":(0,o.qJ)("aria")?(0,o.qJ)("aria").rotateRight:void 0,"data-pc-group-section":"action"},ew("rotateRightButton")),T=$({className:eh("rotateLeftButton"),onClick:function(e){e.stopPropagation(),ec(function(e){return e-90})},type:"button","aria-label":(0,o.qJ)("aria")?(0,o.qJ)("aria").rotateLeft:void 0,"data-pc-group-section":"action"},ew("rotateLeftButton")),D=$({className:(0,h.AK)(eh("zoomOutButton"),{"p-disabled":ev}),style:{pointerEvents:"auto"},onClick:function(e){e.stopPropagation(),ep(function(e){return ev?e:e-.1})},type:"button",disabled:ev,"aria-label":(0,o.qJ)("aria")?(0,o.qJ)("aria").zoomOut:void 0,"data-pc-group-section":"action"},ew("zoomOutButton")),X=$({className:(0,h.AK)(eh("zoomInButton"),{"p-disabled":eb}),style:{pointerEvents:"auto"},onClick:function(e){e.stopPropagation(),ep(function(e){return eb?e:e+.1})},type:"button",disabled:eb,"aria-label":(0,o.qJ)("aria")?(0,o.qJ)("aria").zoomIn:void 0,"data-pc-group-section":"action"},ew("zoomInButton")),_=$({className:eh("closeButton"),type:"button",onClick:eP,"aria-label":(0,o.qJ)("aria")?(0,o.qJ)("aria").close:void 0,autoFocus:!0,"data-pc-group-section":"action"},ew("closeButton")),K=$({src:W.zoomSrc||W.src,className:eh("preview"),style:eO("preview",{rotateState:el,scaleState:es}),crossOrigin:u,referrerPolicy:p,useMap:m,loading:d},ew("preview")),U=$({ref:ed},ew("previewContainer")),F=$({classNames:eh("transition"),in:eo,timeout:{enter:150,exit:150},unmountOnExit:!0,onEntering:function(){h.P9.set("modal",ef.current,Q&&Q.autoZIndex||o.ZP.autoZIndex,Q&&Q.zIndex.modal||o.ZP.zIndex.modal)},onEntered:function(){W.onShow&&W.onShow()},onExit:function(){eE()||h.p7.addClass(ef.current,"p-component-overlay-leave")},onExiting:function(){W.onHide&&W.onHide()},onExited:function(){h.P9.clear(ef.current),en(!1)}},ew("transition")),r.createElement("div",Z,r.createElement("div",H,n&&r.createElement("button",q,N),r.createElement("button",V,B),r.createElement("button",T,L),r.createElement("button",D,M),r.createElement("button",X,J),r.createElement("button",_,A)),r.createElement(i.K,O({nodeRef:ed},F),r.createElement("div",U,r.createElement("img",O({alt:c},K)))))),eM=$({className:eh("icon")},ew("icon")),eJ=W.indicatorIcon||r.createElement(s,eM),eA=h.Cz.getJSXIcon(eJ,R({},eM),{props:W}),eZ=W.template?h.gb.getJSXElement(W.template,W):eA,eH=(G=(0,o.qJ)("aria")?(0,o.qJ)("aria").zoomImage:void 0,Y=$({ref:eg,className:eh("button"),onClick:eI,type:"button","aria-label":G},ew("button")),W.preview?r.createElement("button",Y,eZ):null),eq=$({ref:em,src:eS,className:W.imageClassName,width:ex,height:eR,crossOrigin:ez,referrerPolicy:ek,useMap:eN,loading:eB,style:W.imageStyle,onError:W.onError},ew("image")),eV=W.src&&r.createElement("img",O({},eq,{alt:ej})),eT=$({ref:eC,className:(0,h.AK)(W.className,eh("root"))},j.getOtherProps(W),ew("root"));return r.createElement("span",eT,eV,eH,et&&r.createElement(w.h,{element:eL,appendTo:document.body}))}));z.displayName="Image"}},function(e){e.O(0,[773,971,23,744],function(){return e(e.s=4826)}),_N_E=e.O()}]); \ No newline at end of file diff --git a/webpage/build/_next/static/chunks/fd9d1056-2536fbf6939387e1.js b/webpage/build/_next/static/chunks/fd9d1056-2536fbf6939387e1.js deleted file mode 100644 index fa8340dba..000000000 --- a/webpage/build/_next/static/chunks/fd9d1056-2536fbf6939387e1.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[971],{4417:function(e,t,n){var r,l=n(2265),a=n(5689),o={usingClientEntryPoint:!1,Events:null,Dispatcher:{current:null}};function i(e){var t="https://react.dev/errors/"+e;if(1p||(e.current=d[p],d[p]=null,p--)}function g(e,t){d[++p]=e.current,e.current=t}var y=Symbol.for("react.element"),v=Symbol.for("react.portal"),b=Symbol.for("react.fragment"),k=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),S=Symbol.for("react.provider"),C=Symbol.for("react.consumer"),E=Symbol.for("react.context"),x=Symbol.for("react.forward_ref"),z=Symbol.for("react.suspense"),P=Symbol.for("react.suspense_list"),N=Symbol.for("react.memo"),_=Symbol.for("react.lazy"),L=Symbol.for("react.scope");Symbol.for("react.debug_trace_mode");var T=Symbol.for("react.offscreen"),F=Symbol.for("react.legacy_hidden"),M=Symbol.for("react.cache");Symbol.for("react.tracing_marker");var O=Symbol.iterator;function R(e){return null===e||"object"!=typeof e?null:"function"==typeof(e=O&&e[O]||e["@@iterator"])?e:null}var D=m(null),A=m(null),I=m(null),U=m(null),B={$$typeof:E,_currentValue:null,_currentValue2:null,_threadCount:0,Provider:null,Consumer:null};function V(e,t){switch(g(I,t),g(A,e),g(D,null),e=t.nodeType){case 9:case 11:t=(t=t.documentElement)&&(t=t.namespaceURI)?s2(t):0;break;default:if(t=(e=8===e?t.parentNode:t).tagName,e=e.namespaceURI)t=s3(e=s2(e),t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}h(D),g(D,t)}function Q(){h(D),h(A),h(I)}function $(e){null!==e.memoizedState&&g(U,e);var t=D.current,n=s3(t,e.type);t!==n&&(g(A,e),g(D,n))}function j(e){A.current===e&&(h(D),h(A)),U.current===e&&(h(U),B._currentValue=null)}var W=a.unstable_scheduleCallback,H=a.unstable_cancelCallback,q=a.unstable_shouldYield,K=a.unstable_requestPaint,Y=a.unstable_now,X=a.unstable_getCurrentPriorityLevel,G=a.unstable_ImmediatePriority,Z=a.unstable_UserBlockingPriority,J=a.unstable_NormalPriority,ee=a.unstable_LowPriority,et=a.unstable_IdlePriority,en=a.log,er=a.unstable_setDisableYieldValue,el=null,ea=null;function eo(e){if("function"==typeof en&&er(e),ea&&"function"==typeof ea.setStrictMode)try{ea.setStrictMode(el,e)}catch(e){}}var ei=Math.clz32?Math.clz32:function(e){return 0==(e>>>=0)?32:31-(eu(e)/es|0)|0},eu=Math.log,es=Math.LN2,ec=128,ef=4194304;function ed(e){var t=42&e;if(0!==t)return t;switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:return 64;case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return 4194176&e;case 4194304:case 8388608:case 16777216:case 33554432:return 62914560&e;case 67108864:return 67108864;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 0;default:return e}}function ep(e,t){var n=e.pendingLanes;if(0===n)return 0;var r=0,l=e.suspendedLanes;e=e.pingedLanes;var a=134217727&n;return 0!==a?0!=(n=a&~l)?r=ed(n):0!=(e&=a)&&(r=ed(e)):0!=(n&=~l)?r=ed(n):0!==e&&(r=ed(e)),0===r?0:0!==t&&t!==r&&0==(t&l)&&((l=r&-r)>=(e=t&-t)||32===l&&0!=(4194176&e))?t:r}function em(e,t){return e.errorRecoveryDisabledLanes&t?0:0!=(e=-536870913&e.pendingLanes)?e:536870912&e?536870912:0}function eh(){var e=ec;return 0==(4194176&(ec<<=1))&&(ec=128),e}function eg(){var e=ef;return 0==(62914560&(ef<<=1))&&(ef=4194304),e}function ey(e){for(var t=[],n=0;31>n;n++)t.push(e);return t}function ev(e,t,n){e.pendingLanes|=t,e.suspendedLanes&=~t;var r=31-ei(t);e.entangledLanes|=t,e.entanglements[r]=1073741824|e.entanglements[r]|4194218&n}function eb(e,t){var n=e.entangledLanes|=t;for(e=e.entanglements;n;){var r=31-ei(n),l=1<l||u[r]!==s[l]){var c="\n"+u[r].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=r&&0<=l);break}}}finally{eG=!1,Error.prepareStackTrace=n}return(n=e?e.displayName||e.name:"")?eX(n):""}function eJ(e){try{var t="";do t+=function(e){switch(e.tag){case 26:case 27:case 5:return eX(e.type);case 16:return eX("Lazy");case 13:return eX("Suspense");case 19:return eX("SuspenseList");case 0:case 2:case 15:return e=eZ(e.type,!1);case 11:return e=eZ(e.type.render,!1);case 1:return e=eZ(e.type,!0);default:return""}}(e),e=e.return;while(e);return t}catch(e){return"\nError generating stack: "+e.message+"\n"+e.stack}}var e0=Symbol.for("react.client.reference");function e1(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":case"object":return e;default:return""}}function e2(e){var t=e.type;return(e=e.nodeName)&&"input"===e.toLowerCase()&&("checkbox"===t||"radio"===t)}function e3(e){e._valueTracker||(e._valueTracker=function(e){var t=e2(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&void 0!==n&&"function"==typeof n.get&&"function"==typeof n.set){var l=n.get,a=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return l.call(this)},set:function(e){r=""+e,a.call(this,e)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(e){r=""+e},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}(e))}function e4(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=e2(e)?e.checked?"true":"false":e.value),(e=r)!==n&&(t.setValue(e),!0)}function e6(e){if(void 0===(e=e||("undefined"!=typeof document?document:void 0)))return null;try{return e.activeElement||e.body}catch(t){return e.body}}var e8=/[\n"\\]/g;function e5(e){return e.replace(e8,function(e){return"\\"+e.charCodeAt(0).toString(16)+" "})}function e7(e,t,n,r,l,a,o,i){e.name="",null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o?e.type=o:e.removeAttribute("type"),null!=t?"number"===o?(0===t&&""===e.value||e.value!=t)&&(e.value=""+e1(t)):e.value!==""+e1(t)&&(e.value=""+e1(t)):"submit"!==o&&"reset"!==o||e.removeAttribute("value"),null!=t?te(e,o,e1(t)):null!=n?te(e,o,e1(n)):null!=r&&e.removeAttribute("value"),null==l&&null!=a&&(e.defaultChecked=!!a),null!=l&&(e.checked=l&&"function"!=typeof l&&"symbol"!=typeof l),null!=i&&"function"!=typeof i&&"symbol"!=typeof i&&"boolean"!=typeof i?e.name=""+e1(i):e.removeAttribute("name")}function e9(e,t,n,r,l,a,o,i){if(null!=a&&"function"!=typeof a&&"symbol"!=typeof a&&"boolean"!=typeof a&&(e.type=a),null!=t||null!=n){if(!("submit"!==a&&"reset"!==a||null!=t))return;n=null!=n?""+e1(n):"",t=null!=t?""+e1(t):n,i||t===e.value||(e.value=t),e.defaultValue=t}r="function"!=typeof(r=null!=r?r:l)&&"symbol"!=typeof r&&!!r,e.checked=i?e.checked:!!r,e.defaultChecked=!!r,null!=o&&"function"!=typeof o&&"symbol"!=typeof o&&"boolean"!=typeof o&&(e.name=o)}function te(e,t,n){"number"===t&&e6(e.ownerDocument)===e||e.defaultValue===""+n||(e.defaultValue=""+n)}var tt=Array.isArray;function tn(e,t,n,r){if(e=e.options,t){t={};for(var l=0;l"+t.valueOf().toString()+"",t=iX.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}}var to=ta;"undefined"!=typeof MSApp&&MSApp.execUnsafeLocalFunction&&(to=function(e,t){return MSApp.execUnsafeLocalFunction(function(){return ta(e,t)})});var ti=to;function tu(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&3===n.nodeType){n.nodeValue=t;return}}e.textContent=t}var ts=new Set("animationIterationCount aspectRatio borderImageOutset borderImageSlice borderImageWidth boxFlex boxFlexGroup boxOrdinalGroup columnCount columns flex flexGrow flexPositive flexShrink flexNegative flexOrder gridArea gridRow gridRowEnd gridRowSpan gridRowStart gridColumn gridColumnEnd gridColumnSpan gridColumnStart fontWeight lineClamp lineHeight opacity order orphans scale tabSize widows zIndex zoom fillOpacity floodOpacity stopOpacity strokeDasharray strokeDashoffset strokeMiterlimit strokeOpacity strokeWidth MozAnimationIterationCount MozBoxFlex MozBoxFlexGroup MozLineClamp msAnimationIterationCount msFlex msZoom msFlexGrow msFlexNegative msFlexOrder msFlexPositive msFlexShrink msGridColumn msGridColumnSpan msGridRow msGridRowSpan WebkitAnimationIterationCount WebkitBoxFlex WebKitBoxFlexGroup WebkitBoxOrdinalGroup WebkitColumnCount WebkitColumns WebkitFlex WebkitFlexGrow WebkitFlexPositive WebkitFlexShrink WebkitLineClamp".split(" "));function tc(e,t,n){var r=0===t.indexOf("--");null==n||"boolean"==typeof n||""===n?r?e.setProperty(t,""):"float"===t?e.cssFloat="":e[t]="":r?e.setProperty(t,n):"number"!=typeof n||0===n||ts.has(t)?"float"===t?e.cssFloat=n:e[t]=(""+n).trim():e[t]=n+"px"}function tf(e,t,n){if(null!=t&&"object"!=typeof t)throw Error(i(62));if(e=e.style,null!=n){for(var r in n)!n.hasOwnProperty(r)||null!=t&&t.hasOwnProperty(r)||(0===r.indexOf("--")?e.setProperty(r,""):"float"===r?e.cssFloat="":e[r]="");for(var l in t)r=t[l],t.hasOwnProperty(l)&&n[l]!==r&&tc(e,l,r)}else for(var a in t)t.hasOwnProperty(a)&&tc(e,a,t[a])}function td(e){if(-1===e.indexOf("-"))return!1;switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var tp=new Map([["acceptCharset","accept-charset"],["htmlFor","for"],["httpEquiv","http-equiv"],["crossOrigin","crossorigin"],["accentHeight","accent-height"],["alignmentBaseline","alignment-baseline"],["arabicForm","arabic-form"],["baselineShift","baseline-shift"],["capHeight","cap-height"],["clipPath","clip-path"],["clipRule","clip-rule"],["colorInterpolation","color-interpolation"],["colorInterpolationFilters","color-interpolation-filters"],["colorProfile","color-profile"],["colorRendering","color-rendering"],["dominantBaseline","dominant-baseline"],["enableBackground","enable-background"],["fillOpacity","fill-opacity"],["fillRule","fill-rule"],["floodColor","flood-color"],["floodOpacity","flood-opacity"],["fontFamily","font-family"],["fontSize","font-size"],["fontSizeAdjust","font-size-adjust"],["fontStretch","font-stretch"],["fontStyle","font-style"],["fontVariant","font-variant"],["fontWeight","font-weight"],["glyphName","glyph-name"],["glyphOrientationHorizontal","glyph-orientation-horizontal"],["glyphOrientationVertical","glyph-orientation-vertical"],["horizAdvX","horiz-adv-x"],["horizOriginX","horiz-origin-x"],["imageRendering","image-rendering"],["letterSpacing","letter-spacing"],["lightingColor","lighting-color"],["markerEnd","marker-end"],["markerMid","marker-mid"],["markerStart","marker-start"],["overlinePosition","overline-position"],["overlineThickness","overline-thickness"],["paintOrder","paint-order"],["panose-1","panose-1"],["pointerEvents","pointer-events"],["renderingIntent","rendering-intent"],["shapeRendering","shape-rendering"],["stopColor","stop-color"],["stopOpacity","stop-opacity"],["strikethroughPosition","strikethrough-position"],["strikethroughThickness","strikethrough-thickness"],["strokeDasharray","stroke-dasharray"],["strokeDashoffset","stroke-dashoffset"],["strokeLinecap","stroke-linecap"],["strokeLinejoin","stroke-linejoin"],["strokeMiterlimit","stroke-miterlimit"],["strokeOpacity","stroke-opacity"],["strokeWidth","stroke-width"],["textAnchor","text-anchor"],["textDecoration","text-decoration"],["textRendering","text-rendering"],["transformOrigin","transform-origin"],["underlinePosition","underline-position"],["underlineThickness","underline-thickness"],["unicodeBidi","unicode-bidi"],["unicodeRange","unicode-range"],["unitsPerEm","units-per-em"],["vAlphabetic","v-alphabetic"],["vHanging","v-hanging"],["vIdeographic","v-ideographic"],["vMathematical","v-mathematical"],["vectorEffect","vector-effect"],["vertAdvY","vert-adv-y"],["vertOriginX","vert-origin-x"],["vertOriginY","vert-origin-y"],["wordSpacing","word-spacing"],["writingMode","writing-mode"],["xmlnsXlink","xmlns:xlink"],["xHeight","x-height"]]),tm=null;function th(e){return(e=e.target||e.srcElement||window).correspondingUseElement&&(e=e.correspondingUseElement),3===e.nodeType?e.parentNode:e}var tg=null,ty=null;function tv(e){var t=eO(e);if(t&&(e=t.stateNode)){var n=eD(e);switch(e=t.stateNode,t.type){case"input":if(e7(e,n.value,n.defaultValue,n.defaultValue,n.checked,n.defaultChecked,n.type,n.name),t=n.name,"radio"===n.type&&null!=t){for(n=e;n.parentNode;)n=n.parentNode;for(n=n.querySelectorAll('input[name="'+e5(""+t)+'"][type="radio"]'),t=0;t>=o,l-=o,tj=1<<32-ei(t)+l|n<h?(g=f,f=null):g=f.sibling;var y=p(l,f,i[h],u);if(null===y){null===f&&(f=g);break}e&&f&&null===y.alternate&&t(l,f),o=a(y,o,h),null===c?s=y:c.sibling=y,c=y,f=g}if(h===i.length)return n(l,f),tZ&&tH(l,h),s;if(null===f){for(;hg?(y=h,h=null):y=h.sibling;var b=p(l,h,v.value,s);if(null===b){null===h&&(h=y);break}e&&h&&null===b.alternate&&t(l,h),o=a(b,o,g),null===f?c=b:f.sibling=b,f=b,h=y}if(v.done)return n(l,h),tZ&&tH(l,g),c;if(null===h){for(;!v.done;g++,v=u.next())null!==(v=d(l,v.value,s))&&(o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return tZ&&tH(l,g),c}for(h=r(l,h);!v.done;g++,v=u.next())null!==(v=m(h,l,g,v.value,s))&&(e&&null!==v.alternate&&h.delete(null===v.key?g:v.key),o=a(v,o,g),null===f?c=v:f.sibling=v,f=v);return e&&h.forEach(function(e){return t(l,e)}),tZ&&tH(l,g),c}(s,c,f,h);if("function"==typeof f.then)return u(s,c,nJ(f),h);if(f.$$typeof===E)return u(s,c,ai(s,f,h),h);n1(s,f)}return"string"==typeof f&&""!==f||"number"==typeof f?(f=""+f,null!==c&&6===c.tag?(n(s,c.sibling),(c=l(c,f)).return=s):(n(s,c),(c=i_(f,s.mode,h)).return=s),o(s=c)):n(s,c)}(u,s,c,f),nG=null,u}}var n4=n3(!0),n6=n3(!1),n8=m(null),n5=m(0);function n7(e,t){g(n5,e=oz),g(n8,t),oz=e|t.baseLanes}function n9(){g(n5,oz),g(n8,n8.current)}function re(){oz=n5.current,h(n8),h(n5)}var rt=m(null),rn=null;function rr(e){var t=e.alternate;g(ri,1&ri.current),g(rt,e),null===rn&&(null===t||null!==n8.current?rn=e:null!==t.memoizedState&&(rn=e))}function rl(e){if(22===e.tag){if(g(ri,ri.current),g(rt,e),null===rn){var t=e.alternate;null!==t&&null!==t.memoizedState&&(rn=e)}}else ra(e)}function ra(){g(ri,ri.current),g(rt,rt.current)}function ro(e){h(rt),rn===e&&(rn=null),h(ri)}var ri=m(0);function ru(e){for(var t=e;null!==t;){if(13===t.tag){var n=t.memoizedState;if(null!==n&&(null===(n=n.dehydrated)||"$?"===n.data||"$!"===n.data))return t}else if(19===t.tag&&void 0!==t.memoizedProps.revealOrder){if(0!=(128&t.flags))return t}else if(null!==t.child){t.child.return=t,t=t.child;continue}if(t===e)break;for(;null===t.sibling;){if(null===t.return||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var rs=s.ReactCurrentDispatcher,rc=s.ReactCurrentBatchConfig,rf=0,rd=null,rp=null,rm=null,rh=!1,rg=!1,ry=!1,rv=0,rb=0,rk=null,rw=0;function rS(){throw Error(i(321))}function rC(e,t){if(null===t)return!1;for(var n=0;na?a:8;var o=rc.transition,i={_callbacks:new Set};rc.transition=i,lf(e,!1,t,n);try{var u=l();if(null!==u&&"object"==typeof u&&"function"==typeof u.then){av(i,u);var s,c,f=(s=[],c={status:"pending",value:null,reason:null,then:function(e){s.push(e)}},u.then(function(){c.status="fulfilled",c.value=r;for(var e=0;e title"))),sG(l,n,r),l[eE]=e,eI(l),n=l;break e;case"link":var a=cE("link","href",t).get(n+(r.href||""));if(a){for(var o=0;o",e=e.removeChild(e.firstChild);break;case"select":e="string"==typeof r.is?l.createElement("select",{is:r.is}):l.createElement("select"),r.multiple?e.multiple=!0:r.size&&(e.size=r.size);break;default:e="string"==typeof r.is?l.createElement(n,{is:r.is}):l.createElement(n)}}e[eE]=t,e[ex]=r;e:for(l=t.child;null!==l;){if(5===l.tag||6===l.tag)e.appendChild(l.stateNode);else if(4!==l.tag&&27!==l.tag&&null!==l.child){l.child.return=l,l=l.child;continue}if(l===t)break;for(;null===l.sibling;){if(null===l.return||l.return===t)break e;l=l.return}l.sibling.return=l.return,l=l.sibling}switch(t.stateNode=e,sG(e,n,r),n){case"button":case"input":case"select":case"textarea":e=!!r.autoFocus;break;case"img":e=!0;break;default:e=!1}e&&aC(t)}}return aP(t),t.flags&=-16777217,null;case 6:if(e&&null!=t.stateNode)e.memoizedProps!==r&&aC(t);else{if("string"!=typeof r&&null===t.stateNode)throw Error(i(166));if(e=I.current,t9(t)){e:{if(e=t.stateNode,n=t.memoizedProps,e[eE]=t,(r=e.nodeValue!==n)&&null!==(l=tX))switch(l.tag){case 3:if(l=0!=(1&l.mode),sq(e.nodeValue,n,l),l){e=!1;break e}break;case 27:case 5:var a=0!=(1&l.mode);if(!0!==l.memoizedProps.suppressHydrationWarning&&sq(e.nodeValue,n,a),a){e=!1;break e}}e=r}e&&aC(t)}else(e=s1(e).createTextNode(r))[eE]=t,t.stateNode=e}return aP(t),null;case 13:if(ro(t),r=t.memoizedState,null===e||null!==e.memoizedState&&null!==e.memoizedState.dehydrated){if(tZ&&null!==tG&&0!=(1&t.mode)&&0==(128&t.flags))ne(),nt(),t.flags|=384,l=!1;else if(l=t9(t),null!==r&&null!==r.dehydrated){if(null===e){if(!l)throw Error(i(318));if(!(l=null!==(l=t.memoizedState)?l.dehydrated:null))throw Error(i(317));l[eE]=t}else nt(),0==(128&t.flags)&&(t.memoizedState=null),t.flags|=4;aP(t),l=!1}else null!==tJ&&(o0(tJ),tJ=null),l=!0;if(!l)return 256&t.flags?t:null}if(0!=(128&t.flags))return t.lanes=n,t;return n=null!==r,e=null!==e&&null!==e.memoizedState,n&&(r=t.child,l=null,null!==r.alternate&&null!==r.alternate.memoizedState&&null!==r.alternate.memoizedState.cachePool&&(l=r.alternate.memoizedState.cachePool.pool),a=null,null!==r.memoizedState&&null!==r.memoizedState.cachePool&&(a=r.memoizedState.cachePool.pool),a!==l&&(r.flags|=2048)),n!==e&&n&&(t.child.flags|=8192),ax(t,t.updateQueue),aP(t),null;case 4:return Q(),null===e&&sA(t.stateNode.containerInfo),aP(t),null;case 10:return an(t.type._context),aP(t),null;case 19:if(h(ri),null===(l=t.memoizedState))return aP(t),null;if(r=0!=(128&t.flags),null===(a=l.rendering)){if(r)az(l,!1);else{if(0!==oP||null!==e&&0!=(128&e.flags))for(e=t.child;null!==e;){if(null!==(a=ru(e))){for(t.flags|=128,az(l,!1),e=a.updateQueue,t.updateQueue=e,ax(t,e),t.subtreeFlags=0,e=n,n=t.child;null!==n;)ix(n,e),n=n.sibling;return g(ri,1&ri.current|2),t.child}e=e.sibling}null!==l.tail&&Y()>oI&&(t.flags|=128,r=!0,az(l,!1),t.lanes=4194304)}}else{if(!r){if(null!==(e=ru(a))){if(t.flags|=128,r=!0,e=e.updateQueue,t.updateQueue=e,ax(t,e),az(l,!0),null===l.tail&&"hidden"===l.tailMode&&!a.alternate&&!tZ)return aP(t),null}else 2*Y()-l.renderingStartTime>oI&&536870912!==n&&(t.flags|=128,r=!0,az(l,!1),t.lanes=4194304)}l.isBackwards?(a.sibling=t.child,t.child=a):(null!==(e=l.last)?e.sibling=a:t.child=a,l.last=a)}if(null!==l.tail)return t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Y(),t.sibling=null,e=ri.current,g(ri,r?1&e|2:1&e),t;return aP(t),null;case 22:case 23:return ro(t),re(),r=null!==t.memoizedState,null!==e?null!==e.memoizedState!==r&&(t.flags|=8192):r&&(t.flags|=8192),r&&0!=(1&t.mode)?0!=(536870912&n)&&0==(128&t.flags)&&(aP(t),6&t.subtreeFlags&&(t.flags|=8192)):aP(t),null!==(n=t.updateQueue)&&ax(t,n.retryQueue),n=null,null!==e&&null!==e.memoizedState&&null!==e.memoizedState.cachePool&&(n=e.memoizedState.cachePool.pool),r=null,null!==t.memoizedState&&null!==t.memoizedState.cachePool&&(r=t.memoizedState.cachePool.pool),r!==n&&(t.flags|=2048),null!==e&&h(ab),null;case 24:return n=null,null!==e&&(n=e.memoizedState.cache),t.memoizedState.cache!==n&&(t.flags|=2048),an(ad),aP(t),null;case 25:return null}throw Error(i(156,t.tag))}(t.alternate,t,oz);if(null!==n){ow=n;return}if(null!==(t=t.sibling)){ow=t;return}ow=t=e}while(null!==t);0===oP&&(oP=5)}function is(e,t,n,r,l){var a=ek,o=ov.transition;try{ov.transition=null,ek=2,function(e,t,n,r,l,a){do id();while(null!==oj);if(0!=(6&ob))throw Error(i(327));var o,u=e.finishedWork,s=e.finishedLanes;if(null!==u){if(e.finishedWork=null,e.finishedLanes=0,u===e.current)throw Error(i(177));e.callbackNode=null,e.callbackPriority=0,e.cancelPendingCommit=null;var c=u.lanes|u.childLanes;if(function(e,t,n){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.entangledLanes&=t,e.errorRecoveryDisabledLanes&=t,e.shellSuspendCounter=0,t=e.entanglements;for(var l=e.expirationTimes,a=e.hiddenUpdates;0r&&(l=r,r=a,a=l),l=si(n,a);var o=si(n,r);l&&o&&(1!==e.rangeCount||e.anchorNode!==l.node||e.anchorOffset!==l.offset||e.focusNode!==o.node||e.focusOffset!==o.offset)&&((t=t.createRange()).setStart(l.node,l.offset),e.removeAllRanges(),a>r?(e.addRange(t),e.extend(o.node,o.offset)):(t.setEnd(o.node,o.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)1===e.nodeType&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for("function"==typeof n.focus&&n.focus(),n=0;nn?32:n;n=ov.transition;var l=ek;try{if(ov.transition=null,ek=r,null===oj)var a=!1;else{r=oq,oq=null;var o=oj,u=oW;if(oj=null,oW=0,0!=(6&ob))throw Error(i(331));var s=ob;if(ob|=4,of(o.current),ol(o,o.current,u,r),ob=s,nb(!1),ea&&"function"==typeof ea.onPostCommitFiberRoot)try{ea.onPostCommitFiberRoot(el,o)}catch(e){}a=!0}return a}finally{ek=l,ov.transition=n,ic(e,t)}}return!1}function ip(e,t,n){t=lL(e,t=lP(n,t),2),null!==(e=nO(e,t,2))&&(o2(e,2),nv(e))}function im(e,t,n){if(3===e.tag)ip(e,e,n);else for(;null!==t;){if(3===t.tag){ip(t,e,n);break}if(1===t.tag){var r=t.stateNode;if("function"==typeof t.type.getDerivedStateFromError||"function"==typeof r.componentDidCatch&&(null===oQ||!oQ.has(r))){e=lT(t,e=lP(n,e),2),null!==(t=nO(t,e,2))&&(o2(t,2),nv(t));break}}t=t.return}}function ih(e,t,n){var r=e.pingCache;if(null===r){r=e.pingCache=new om;var l=new Set;r.set(t,l)}else void 0===(l=r.get(t))&&(l=new Set,r.set(t,l));l.has(n)||(ox=!0,l.add(n),e=ig.bind(null,e,t,n),t.then(e,e))}function ig(e,t,n){var r=e.pingCache;null!==r&&r.delete(t),e.pingedLanes|=e.suspendedLanes&n,2&ob?oR=!0:4&ob&&(oD=!0),ik(),ok===e&&(oS&n)===n&&(4===oP||3===oP&&(62914560&oS)===oS&&300>Y()-oA?0==(2&ob)&&o5(e,0):oT|=n),nv(e)}function iy(e,t){0===t&&(t=0==(1&e.mode)?2:eg()),null!==(e=ns(e,t))&&(o2(e,t),nv(e))}function iv(e){var t=e.memoizedState,n=0;null!==t&&(n=t.retryLane),iy(e,n)}function ib(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,l=e.memoizedState;null!==l&&(n=l.retryLane);break;case 19:r=e.stateNode;break;case 22:r=e.stateNode._retryCache;break;default:throw Error(i(314))}null!==r&&r.delete(t),iy(e,n)}function ik(){if(50=uH),uY=!1;function uX(e,t){switch(e){case"keyup":return -1!==uj.indexOf(t.keyCode);case"keydown":return 229!==t.keyCode;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function uG(e){return"object"==typeof(e=e.detail)&&"data"in e?e.data:null}var uZ=!1,uJ={color:!0,date:!0,datetime:!0,"datetime-local":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};function u0(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return"input"===t?!!uJ[e.type]:"textarea"===t}function u1(e,t,n,r){tb(r),0<(t=sV(t,"onChange")).length&&(n=new i3("onChange","change",null,n,r),e.push({event:n,listeners:t}))}var u2=null,u3=null;function u4(e){sM(e,0)}function u6(e){if(e4(eR(e)))return e}function u8(e,t){if("change"===e)return t}var u5=!1;if(e$){if(e$){var u7="oninput"in document;if(!u7){var u9=document.createElement("div");u9.setAttribute("oninput","return;"),u7="function"==typeof u9.oninput}r=u7}else r=!1;u5=r&&(!document.documentMode||9=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=so(r)}}function su(){for(var e=window,t=e6();t instanceof e.HTMLIFrameElement;){try{var n="string"==typeof t.contentWindow.location.href}catch(e){n=!1}if(n)e=t.contentWindow;else break;t=e6(e.document)}return t}function ss(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&("input"===t&&("text"===e.type||"search"===e.type||"tel"===e.type||"url"===e.type||"password"===e.type)||"textarea"===t||"true"===e.contentEditable)}var sc=e$&&"documentMode"in document&&11>=document.documentMode,sf=null,sd=null,sp=null,sm=!1;function sh(e,t,n){var r=n.window===n?n.document:9===n.nodeType?n:n.ownerDocument;sm||null==sf||sf!==e6(r)||(r="selectionStart"in(r=sf)&&ss(r)?{start:r.selectionStart,end:r.selectionEnd}:{anchorNode:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection()).anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset},sp&&nQ(sp,r)||(sp=r,0<(r=sV(sd,"onSelect")).length&&(t=new i3("onSelect","select",null,t,n),e.push({event:t,listeners:r}),t.target=sf)))}function sg(e,t){var n={};return n[e.toLowerCase()]=t.toLowerCase(),n["Webkit"+e]="webkit"+t,n["Moz"+e]="moz"+t,n}var sy={animationend:sg("Animation","AnimationEnd"),animationiteration:sg("Animation","AnimationIteration"),animationstart:sg("Animation","AnimationStart"),transitionend:sg("Transition","TransitionEnd")},sv={},sb={};function sk(e){if(sv[e])return sv[e];if(!sy[e])return e;var t,n=sy[e];for(t in n)if(n.hasOwnProperty(t)&&t in sb)return sv[e]=n[t];return e}e$&&(sb=document.createElement("div").style,"AnimationEvent"in window||(delete sy.animationend.animation,delete sy.animationiteration.animation,delete sy.animationstart.animation),"TransitionEvent"in window||delete sy.transitionend.transition);var sw=sk("animationend"),sS=sk("animationiteration"),sC=sk("animationstart"),sE=sk("transitionend"),sx=new Map,sz="abort auxClick cancel canPlay canPlayThrough click close contextMenu copy cut drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error gotPointerCapture input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart lostPointerCapture mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing pointerCancel pointerDown pointerMove pointerOut pointerOver pointerUp progress rateChange reset resize seeked seeking stalled submit suspend timeUpdate touchCancel touchEnd touchStart volumeChange scroll scrollEnd toggle touchMove waiting wheel".split(" ");function sP(e,t){sx.set(e,t),eV(t,[e])}for(var sN=0;sN title"):null)}var cz=null;function cP(){}function cN(){if(this.count--,0===this.count){if(this.stylesheets)cL(this,this.stylesheets);else if(this.unsuspend){var e=this.unsuspend;this.unsuspend=null,e()}}}var c_=null;function cL(e,t){e.stylesheets=null,null!==e.unsuspend&&(e.count++,c_=new Map,t.forEach(cT,e),c_=null,cN.call(e))}function cT(e,t){if(!(4&t.state.loading)){var n=c_.get(e);if(n)var r=n.get(null);else{n=new Map,c_.set(e,n);for(var l=e.querySelectorAll("link[data-precedence],style[data-precedence]"),a=0;a