From fe22956d5dbdeb2b80a9e56b46abe2be9f2bfcdb Mon Sep 17 00:00:00 2001 From: Lizzy Hunt Date: Tue, 26 Mar 2024 16:00:05 -0600 Subject: [PATCH] initial commit --- .dockerignore | 4 + .drone.yml | 20 +++++ .env.example | 2 + .gitignore | 3 + Dockerfile | 4 +- api/serve.go | 111 +++++++++++++++++++++++++ api/template.go | 65 +++++++++++++++ args/args.go | 53 ++++++++++++ database/conn.go | 17 ++++ database/migrate.go | 84 +++++++++++++++++++ {src/database => database}/users.go | 2 + docker-compose.yml | 19 +++++ go.mod | 7 +- go.sum | 4 + main.go | 44 ++++++++++ src/main.go | 13 --- static/css/blinky.css | 9 ++ static/css/colors.css | 13 +++ static/css/styles.css | 44 +++++----- static/font/comicsans.ttf | Bin 0 -> 135484 bytes static/img/favicon.svg | 1 + static/img/stars.gif | Bin 0 -> 6364 bytes static/js/components/themeSwitcher.js | 27 ++++++ static/js/require.js | 5 ++ static/js/script.js | 3 +- static/js/util/setThemeBeforeRender.js | 6 ++ templates/404.html | 7 ++ templates/base.html | 22 ++++- templates/base_empty.html | 3 + templates/guestbook.html | 3 + templates/home.html | 3 + 31 files changed, 559 insertions(+), 39 deletions(-) create mode 100644 .dockerignore create mode 100644 .drone.yml create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 api/serve.go create mode 100644 api/template.go create mode 100644 args/args.go create mode 100644 database/conn.go create mode 100644 database/migrate.go rename {src/database => database}/users.go (53%) create mode 100644 docker-compose.yml create mode 100644 go.sum create mode 100644 main.go delete mode 100644 src/main.go create mode 100644 static/css/blinky.css create mode 100644 static/css/colors.css create mode 100644 static/font/comicsans.ttf create mode 100644 static/img/favicon.svg create mode 100644 static/img/stars.gif create mode 100644 static/js/components/themeSwitcher.js create mode 100644 static/js/require.js create mode 100644 static/js/util/setThemeBeforeRender.js create mode 100644 templates/404.html create mode 100644 templates/base_empty.html create mode 100644 templates/guestbook.html create mode 100644 templates/home.html diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..52be0d9 --- /dev/null +++ b/.dockerignore @@ -0,0 +1,4 @@ +.env +hatecomputers.club +Dockerfile +*.db diff --git a/.drone.yml b/.drone.yml new file mode 100644 index 0000000..4493f14 --- /dev/null +++ b/.drone.yml @@ -0,0 +1,20 @@ +--- +kind: pipeline +type: docker +name: build and publish docker image + +steps: +- name: docker + image: plugins/docker + settings: + username: + from_secret: gitea_packpub_username + password: + from_secret: gitea_packpub_password + repo: git.hatecomputers.club/hatecomputers/hatecomputers.club + tags: + - latest + - main +trigger: + branch: + - main \ No newline at end of file diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..af80e67 --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +CLOUDFLARE_TOKEN= +CLOUDFLARE_ZONE= diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c7bbdba --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.env +hatecomputers.club +*.db diff --git a/Dockerfile b/Dockerfile index 728ff30..d7d12cf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,10 +5,10 @@ WORKDIR /app COPY go.mod go.sum ./ RUN go mod download -COPY *.go ./ +COPY . . RUN go build -o /app/hatecomputers EXPOSE 8080 -CMD ["/app/hatecomputers", "--port", "8080", "--template-path", "/app/templates", "--database-path", "/app/db/hatecomputers.db", "--static-path", "/app/static"] +CMD ["/app/hatecomputers", "--server", "--migrate", "--port", "8080", "--template-path", "/app/templates", "--database-path", "/app/db/hatecomputers.db", "--static-path", "/app/static"] diff --git a/api/serve.go b/api/serve.go new file mode 100644 index 0000000..2b95297 --- /dev/null +++ b/api/serve.go @@ -0,0 +1,111 @@ +package api + +import ( + "crypto/rand" + "database/sql" + "fmt" + "log" + "net/http" + "time" + + "git.hatecomputers.club/hatecomputers/hatecomputers.club/args" +) + +type RequestContext struct { + DBConn *sql.DB + Args *args.Arguments + + Id string + Start time.Time +} + +type Continuation func(*RequestContext, *http.Request, http.ResponseWriter) ContinuationChain +type ContinuationChain func(Continuation, Continuation) ContinuationChain + +func randomId() string { + uuid := make([]byte, 16) + _, err := rand.Read(uuid) + if err != nil { + panic(err) + } + + uuid[8] = uuid[8]&^0xc0 | 0x80 + uuid[6] = uuid[6]&^0xf0 | 0x40 + + return fmt.Sprintf("%x-%x-%x-%x-%x", uuid[0:4], uuid[4:6], uuid[6:8], uuid[8:10], uuid[10:]) +} + +func LogRequestContinuation(context *RequestContext, req *http.Request, resp http.ResponseWriter) ContinuationChain { + return func(success Continuation, _failure Continuation) ContinuationChain { + context.Start = time.Now() + context.Id = randomId() + + log.Println(req.Method, req.URL.Path, req.RemoteAddr, context.Id) + return success(context, req, resp) + } +} + +func LogExecutionTimeContinuation(context *RequestContext, req *http.Request, resp http.ResponseWriter) ContinuationChain { + return func(success Continuation, _failure Continuation) ContinuationChain { + end := time.Now() + + log.Println(context.Id, "took", end.Sub(context.Start)) + + return success(context, req, resp) + } +} + +func HealthCheckContinuation(context *RequestContext, req *http.Request, resp http.ResponseWriter) ContinuationChain { + return func(success Continuation, _failure Continuation) ContinuationChain { + resp.WriteHeader(200) + resp.Write([]byte("healthy")) + return success(context, req, resp) + } +} + +func FailurePassingContinuation(context *RequestContext, req *http.Request, resp http.ResponseWriter) ContinuationChain { + return func(_success Continuation, failure Continuation) ContinuationChain { + return failure(context, req, resp) + } +} + +func IdContinuation(context *RequestContext, req *http.Request, resp http.ResponseWriter) ContinuationChain { + return func(success Continuation, _failure Continuation) ContinuationChain { + return success(context, req, resp) + } +} + +func MakeServer(argv *args.Arguments, dbConn *sql.DB) *http.Server { + mux := http.NewServeMux() + + fileServer := http.FileServer(http.Dir(argv.StaticPath)) + mux.Handle("/static/", http.StripPrefix("/static/", fileServer)) + + makeRequestContext := func() *RequestContext { + return &RequestContext{ + DBConn: dbConn, + Args: argv, + } + } + + mux.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { + requestContext := makeRequestContext() + LogRequestContinuation(requestContext, r, w)(TemplateContinuation("home.html", nil, true), FailurePassingContinuation)(LogExecutionTimeContinuation, LogExecutionTimeContinuation)(IdContinuation, IdContinuation) + }) + + mux.HandleFunc("GET /api/health", func(w http.ResponseWriter, r *http.Request) { + requestContext := makeRequestContext() + LogRequestContinuation(requestContext, r, w)(HealthCheckContinuation, FailurePassingContinuation)(LogExecutionTimeContinuation, LogExecutionTimeContinuation)(IdContinuation, IdContinuation) + }) + + mux.HandleFunc("GET /{name}", func(w http.ResponseWriter, r *http.Request) { + requestContext := makeRequestContext() + name := r.PathValue("name") + LogRequestContinuation(requestContext, r, w)(TemplateContinuation(name+".html", nil, true), FailurePassingContinuation)(LogExecutionTimeContinuation, LogExecutionTimeContinuation)(IdContinuation, IdContinuation) + }) + + return &http.Server{ + Addr: ":" + fmt.Sprint(argv.Port), + Handler: mux, + } +} diff --git a/api/template.go b/api/template.go new file mode 100644 index 0000000..c666029 --- /dev/null +++ b/api/template.go @@ -0,0 +1,65 @@ +package api + +import ( + "bytes" + "errors" + "html/template" + "log" + "net/http" + "os" +) + +func renderTemplate(context *RequestContext, templateName string, showBaseHtml bool, data interface{}) (bytes.Buffer, error) { + templatePath := context.Args.TemplatePath + basePath := templatePath + "/base_empty.html" + if showBaseHtml { + basePath = templatePath + "/base.html" + } + + templateLocation := templatePath + "/" + templateName + tmpl, err := template.New("").ParseFiles(templateLocation, basePath) + if err != nil { + return bytes.Buffer{}, err + } + + var buffer bytes.Buffer + err = tmpl.ExecuteTemplate(&buffer, "base", data) + + if err != nil { + return bytes.Buffer{}, err + } + return buffer, nil +} + +func TemplateContinuation(path string, data interface{}, showBase bool) Continuation { + return func(context *RequestContext, req *http.Request, resp http.ResponseWriter) ContinuationChain { + return func(success Continuation, failure Continuation) ContinuationChain { + html, err := renderTemplate(context, path, true, data) + if errors.Is(err, os.ErrNotExist) { + resp.WriteHeader(404) + html, err = renderTemplate(context, "404.html", true, nil) + if err != nil { + log.Println("error rendering 404 template", err) + resp.WriteHeader(500) + return failure(context, req, resp) + } + + resp.Header().Set("Content-Type", "text/html") + resp.Write(html.Bytes()) + return failure(context, req, resp) + } + + if err != nil { + log.Println("error rendering template", err) + resp.WriteHeader(500) + resp.Write([]byte("error rendering template")) + return failure(context, req, resp) + } + + resp.WriteHeader(200) + resp.Header().Set("Content-Type", "text/html") + resp.Write(html.Bytes()) + return success(context, req, resp) + } + } +} diff --git a/args/args.go b/args/args.go new file mode 100644 index 0000000..9176d27 --- /dev/null +++ b/args/args.go @@ -0,0 +1,53 @@ +package args + +import ( + "errors" + "flag" + "os" +) + +type Arguments struct { + DatabasePath string + TemplatePath string + StaticPath string + CloudflareToken string + CloudflareZone string + Port int + Server bool + Migrate bool +} + +func GetArgs() (*Arguments, error) { + port := flag.Int("port", 8080, "Port to listen on") + databasePath := flag.String("database-path", "./hatecomputers.db", "Path to the SQLite database") + templatePath := flag.String("template-path", "./templates", "Path to the template directory") + staticPath := flag.String("static-path", "./static", "Path to the static directory") + + server := flag.Bool("server", false, "Run the server") + migrate := flag.Bool("migrate", false, "Run the migrations") + + flag.Parse() + + cloudflareToken := os.Getenv("CLOUDFLARE_TOKEN") + cloudflareZone := os.Getenv("CLOUDFLARE_ZONE") + + if cloudflareToken == "" { + return nil, errors.New("please set the CLOUDFLARE_TOKEN environment variable") + } + if cloudflareZone == "" { + return nil, errors.New("please set the CLOUDFLARE_ZONE environment variable") + } + + arguments := &Arguments{ + DatabasePath: *databasePath, + TemplatePath: *templatePath, + StaticPath: *staticPath, + CloudflareToken: cloudflareToken, + CloudflareZone: cloudflareZone, + Port: *port, + Server: *server, + Migrate: *migrate, + } + + return arguments, nil +} diff --git a/database/conn.go b/database/conn.go new file mode 100644 index 0000000..be27586 --- /dev/null +++ b/database/conn.go @@ -0,0 +1,17 @@ +package database + +import ( + "database/sql" + _ "github.com/mattn/go-sqlite3" + "log" +) + +func MakeConn(databasePath *string) *sql.DB { + log.Println("opening database at", *databasePath, "with foreign keys enabled") + dbConn, err := sql.Open("sqlite3", *databasePath+"?_foreign_keys=on") + if err != nil { + panic(err) + } + + return dbConn +} diff --git a/database/migrate.go b/database/migrate.go new file mode 100644 index 0000000..f10e03b --- /dev/null +++ b/database/migrate.go @@ -0,0 +1,84 @@ +package database + +import ( + "log" + + "database/sql" + _ "github.com/mattn/go-sqlite3" +) + +type Migrator func(*sql.DB) (*sql.DB, error) + +func MigrateUsers(dbConn *sql.DB) (*sql.DB, error) { + log.Println("migrating users table") + + _, err := dbConn.Exec(`CREATE TABLE IF NOT EXISTS users ( + id INTEGER PRIMARY KEY AUTOINCREMENT, + username TEXT NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP + );`) + if err != nil { + return dbConn, err + } + + log.Println("creating unique index on users table") + _, err = dbConn.Exec(`CREATE UNIQUE INDEX IF NOT EXISTS idx_users_username ON users (username);`) + if err != nil { + return dbConn, err + } + + return dbConn, nil +} + +func MigrateApiKeys(dbConn *sql.DB) (*sql.DB, error) { + log.Println("migrating api_keys table") + + _, err := dbConn.Exec(`CREATE TABLE IF NOT EXISTS api_keys ( + key TEXT PRIMARY KEY, + user_id INTEGER NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (user_id) REFERENCES users (id) + );`) + if err != nil { + return dbConn, err + } + return dbConn, nil +} + +func MigrateDNSRecords(dbConn *sql.DB) (*sql.DB, error) { + log.Println("migrating dns_records table") + + _, err := dbConn.Exec(`CREATE TABLE IF NOT EXISTS dns_records ( + id INTEGER PRIMARY KEY, + user_id INTEGER NOT NULL, + name TEXT NOT NULL, + type TEXT NOT NULL, + content TEXT NOT NULL, + ttl INTEGER NOT NULL, + created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + FOREIGN KEY (user_id) REFERENCES users (id) + );`) + if err != nil { + return dbConn, err + } + return dbConn, nil +} + +func Migrate(dbConn *sql.DB) (*sql.DB, error) { + log.Println("migrating database") + + migrations := []Migrator{ + MigrateUsers, + MigrateApiKeys, + MigrateDNSRecords, + } + + for _, migration := range migrations { + dbConn, err := migration(dbConn) + if err != nil { + return dbConn, err + } + } + + return dbConn, nil +} diff --git a/src/database/users.go b/database/users.go similarity index 53% rename from src/database/users.go rename to database/users.go index 06e5808..6fb2601 100644 --- a/src/database/users.go +++ b/database/users.go @@ -1,3 +1,5 @@ +package database + func getUsers() { } diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..b568e87 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,19 @@ +version: "3" + +services: + api: + restart: always + #image: ghcr.io/utahstate/slack-incidents + build: . + healthcheck: + test: ["CMD", "wget", "--spider", "http://localhost:8080/api/health"] + interval: 5s + timeout: 10s + retries: 5 + env_file: .env + volumes: + - ./db:/app/db + - ./templates:/app/templates + - ./static:/app/static + ports: + - "127.0.0.1:4455:8080" diff --git a/go.mod b/go.mod index a3e9fb8..96a831f 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,8 @@ -module hatecomputers.club/m +module git.hatecomputers.club/hatecomputers/hatecomputers.club go 1.22.1 + +require ( + github.com/joho/godotenv v1.5.1 + github.com/mattn/go-sqlite3 v1.14.22 +) diff --git a/go.sum b/go.sum new file mode 100644 index 0000000..c866887 --- /dev/null +++ b/go.sum @@ -0,0 +1,4 @@ +github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= +github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/mattn/go-sqlite3 v1.14.22 h1:2gZY6PC6kBnID23Tichd1K+Z0oS6nE/XwU+Vz/5o4kU= +github.com/mattn/go-sqlite3 v1.14.22/go.mod h1:Uh1q+B4BYcTPb+yiD3kU8Ct7aC0hY9fxUwlHK0RXw+Y= diff --git a/main.go b/main.go new file mode 100644 index 0000000..2d7771b --- /dev/null +++ b/main.go @@ -0,0 +1,44 @@ +package main + +import ( + "log" + + "git.hatecomputers.club/hatecomputers/hatecomputers.club/api" + "git.hatecomputers.club/hatecomputers/hatecomputers.club/args" + "git.hatecomputers.club/hatecomputers/hatecomputers.club/database" + "github.com/joho/godotenv" +) + +func main() { + log.SetFlags(log.LstdFlags | log.Lshortfile) + + err := godotenv.Load() + if err != nil { + log.Println("could not load .env file:", err) + } + + argv, err := args.GetArgs() + if err != nil { + log.Fatal(err) + } + + dbConn := database.MakeConn(&argv.DatabasePath) + defer dbConn.Close() + + if argv.Migrate { + _, err = database.Migrate(dbConn) + if err != nil { + log.Fatal(err) + } + log.Println("database migrated successfully") + } + + if argv.Server { + server := api.MakeServer(argv, dbConn) + log.Println("server listening on port", argv.Port) + err = server.ListenAndServe() + if err != nil { + log.Fatal(err) + } + } +} diff --git a/src/main.go b/src/main.go deleted file mode 100644 index f5ba944..0000000 --- a/src/main.go +++ /dev/null @@ -1,13 +0,0 @@ -package server - -import ( - "fmt" - "net/http" - - "github.com/joho/godotenv" - _ "github.com/mattn/go-sqlite3" -) - -func main() { - err := godotenv.Load() -} diff --git a/static/css/blinky.css b/static/css/blinky.css new file mode 100644 index 0000000..8bd636e --- /dev/null +++ b/static/css/blinky.css @@ -0,0 +1,9 @@ +.blinky { + animation: blinker 1s step-start infinite; +} + +@keyframes blinker { + 50% { + opacity: 0; + } +} diff --git a/static/css/colors.css b/static/css/colors.css new file mode 100644 index 0000000..159a142 --- /dev/null +++ b/static/css/colors.css @@ -0,0 +1,13 @@ +:root { + --background-color: #f4e8e9; + --text-color: #333; + --link-color: #d291bc; + --container-bg: #fff7f8; +} + +[data-theme="DARK"] { + --background-color: #333; + --text-color: #f4e8e9; + --link-color: #b86b77; + --container-bg: #424242; +} diff --git a/static/css/styles.css b/static/css/styles.css index 3b2f447..f62b32e 100644 --- a/static/css/styles.css +++ b/static/css/styles.css @@ -1,25 +1,23 @@ -:root { - /* Light theme colors */ - --background-color: #F4E8E9; /* Soft pink background */ - --text-color: #333; /* Dark text for contrast */ - --link-color: #D291BC; /* Retro pink for links */ - --container-bg: #FFF7F8; /* Very light pink for containers */ +@import "/static/css/colors.css"; +@import "/static/css/blinky.css"; + +@font-face { + font-family: "ComicSans"; + src: url("/static/font/comicsans.ttf"); } -.dark-mode { - /* Dark theme colors */ - --background-color: #333; /* Dark background */ - --text-color: #F4E8E9; /* Light text for contrast */ - --link-color: #B86B77; /* Soft pink for links */ - --container-bg: #424242; /* Darker shade for containers */ +* { + box-sizing: border-box; + margin: 0; + padding: 0; + color: var(--text-color); } body { - font-family: 'ComicSans', sans-serif; + font-family: "ComicSans", sans-serif; background-color: var(--background-color); - color: var(--text-color); - padding: 20px; - text-align: center; + background-image: url("/static/img/stars.gif"); + min-height: 100vh; } a { @@ -33,10 +31,16 @@ a:hover { } .container { - max-width: 600px; + max-width: 1600px; margin: auto; + margin-top: 1rem; background-color: var(--container-bg); - padding: 20px; - border-radius: 8px; - box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1); + padding: 1rem; +} + +hr { + border: 0; + border-top: 1px solid var(--text-color); + + margin: 20px 0; } diff --git a/static/font/comicsans.ttf b/static/font/comicsans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..831e3d867aebc4f88d3168b1ac7df2b7ba8a6ee5 GIT binary patch literal 135484 zcmd44cX(XYwLZL$ruW|4nckabM$(LCMq^b=vTV7_*ce$Zm|`$sjHxzYnla$e0s(>v zBoLZqAi*TGKmw!?I!Umx9a2d`$W6H+1?GF#8Oed%+~4zizCXU_+ncja+k5R*-nI5V zW1R!z7-JR?F&pn+JUk>{UaK?ix4Rh&PY?AE46;buIOBe^7p=TQ;|mtcI<-}tKa2CO zp~Xvk4`1`E({TO~&TpKzWbs@_G5Z2zs#T1&Em*KP+dg#G=f2Gt_hZ~&wyb|_;_N?O zxRf!?gN#XzuHCd|v;OYT&5Vt$!}+1LTetA5KI(dpu{D$EU)-?y#7*xj)?C2Y;s#^# z@QG{A+RUs>f${c$pZ>&C&)smtrW+q(Y-5UXlTU73w`rUFx*r-CGeQ3Hk2kJgv+nJ^ z$!!=P^01DLxL~+Z{wB_E#Cd4rrY+md8-I5MW91lAq)t73?V7KAx%n((YjIzE%ceEk zHcQTIqy7ibo!+K6Cx%dj8?d z7+bj!`uvrVZ6%ETX8zA6PtaBW!t8QfVC=yc2D)kgt@pq1L9_Scixn5iU&E<_wb4}+ z^pn5#@dLQ@`)2PaA1W>qIJNExv~85GfZonz>{N`=#`LVgCU9*Zmu4c|trv8 zma@~iPuO*0J6j@tkJUt9U|+=k9&FcR%VE0++v(T_v2De+8RI;TZJ|iROkxXLi+x3$ zXGPgr>@>+c>{5w}JtKad9VdB#JuYst-Qt7nA<1U8KpJMZh)-anl0|H__-E{G@kX{@ zre~X_lk9xyTDC=;VC!TeHYSm=vmyIs=(9!g3w9gq^*Q-McD3YttY2bb9^C5}iP*Gw z1KTg`zrtRSh@0<<&tf-0kAnCacB|OUP7*)LP83hEg-WbrTKgD zB6fFMo;@t>Wao-=>;iF#jfscYIpR30!Zufne!=3R@31*I-z54ut4q#h^TbcEnmEz? zr+7X)4|bG_PT((Fb!fsLNScE9*6&f2mWSH-am+i5s|9s2|} zw|HZ7JNH`itH9+(QH3Q5pM()nl^c@0(0o&{A!H|f17n*7ol4yGk`i|zwl7Lb73;uNx8eQZA?AH^-jju5{d>?sBy z-?9CSeP-<>{yqCT`9R`gE5&_?U+@-v$Zi+*6obEGXOcdmTiG^X?|H?gY@I>`ACiwg zVr9Zf+gDf_xo*DbeP)JFUYphTGqxg|&FcDZd&*B_=YQV|ISYA18b*G(v-xMj4dSwQ zX8-Wa{^HgiSVe9_etAjAZ^$voGZ)U<^_cx;?Kxvd(*0BR?4I>AWJw5iY}xO)WA^(u zdkVP``AH&R4ES+zHf+mj6C1e7j4gU+V;y6a2phBg{(V2o2XVFmxnzlWJ*&;)b9N8> zpG$nD2UtLhLSL=hO9L_b9)Y zm``X&{hnaFcpqy>Ev!q(vviHxU{BYC9R4y(5H<-z+j6T`qo_`6;#~ zTUoDYC-SA8t))%$2gs3TUdd6G5}yaXzR3n~{-!VoB2I+454lKsK3gixdw*j4#mKeN zG&@B)!A?Qk8KjHZ4)|h+*u_qjbpaGH5dVU8(R>4b`xN6WE_tB&zT|~!=2Badfc*gE4ch}ZoO;A4vw2@aNOX^P2hIIYbP#BP{Yqj z8x5{KclzpFPOIIRX^zyDXldYOQjTkA8X8Rsg&J~PWMav(72E`lmT>{Txq20+nox{l*NiM16lp0QB$CN>5`4(Qju2WIQL4rM8yc6E^s_nlEWho7#u8?bDS(WOchtM zs@WDKV1%=4R&y!A{BVGX8;ROeBdr!;P6!IxP-zPBVxLSLMDpP zvK#AqDoo8jk~f*0$(x_xxk1_dm?@bGRK?VwYNl!alWCY1RLgXrI;IEJGh_1~%)m^b zMuD1`x%qcyW>!!Ovw>Qf9n=Q;H)dx}PzQ5?I+?rq5pyvwsGIpfJ&XtSGJo^0%*TSD zJPU#PLI0ZtSQs?OqM#ubYyO3WSsXON5};9*1dXv&^Uo~K(x3^J1x%?(8>uUZNE3h(XkySuTtQ)k0Rhxfcova4h#d<)?tkL|CRRr42 z=HR%>`ao-}zxjJsX9J);0&TFN<_ByJn+w{@hC%z-X!CchU!VhQ9*zgu80ZjN(EKf% z%f>;61vakc_=5Yqp530$nW7CG2<{ zFJ&h*f5n!uNzmnN4d?{uFWCyV7W6o_4s<13-~0tz#WsK*&rSqg%{GFbz)ouZoK3P* zK-aKSL8m}}#@4b;pzGM_pz8&?fo*QS$4+Etf^HP(N$jlVPuar3x3dR9 z?*M(BeUUv3dMDclx|dBiUt@Q%M?k+M(7V~A%~#ny>@mFX$`mKK2dJ zud;7~-p`(F{*XPuo&tT4Jq`L0dj|Aj_H6TIwvT-abecT}x}QDY`~iD}eH-*q_5$c* z>_yP8fqtKToxKG5IQt&x0rvgo_t+Ec2cX|zFN1!Q{jm96_9S}+^eOf#=+o?V&}Tqj zV$ZTSK)=P_1bvRZ-F%Tf&wd2@ZGnD={RGD^uy>j-uou}O(3jY|px2e%XAUy~ch8`no{hV83oY$KGVW0ey@87W8fQ zJJ27o51QX%KW4uN{R#UJ^d0sG{4#Tp{Sow#K;LD5!tr7D=jJo)2>Wl)qwKGsKLvf7 zy~q9r`ZM--(4Vt^fc^sXDfUbD3Fxm_6ZF>{Yd*=|=h{GjBhcS+qUJZ*?>I5&2b>i2 z_nZv$L(p%qKX7u;|KgOOf88BC$v+lgMU@ zNFCYMR&a;Z!vRVoxxB~IlsHHcUumdK>D1q?)TI*~}kQYpGf!BZwjcZEW@ zKGP6aaeua8IE73imnalUT-7KP5(#)p6w_HPL}AD~D+yuvDf}(E*yH zy@C$pO6pIn;c=x(u9nHvBpgfup`a}WAwx;g4};5~8$5t>31n0%aDYZi4RMsolwu8R zjY56JSer7nPKqCmL=q*&K@TV``81xy@QYZgf*i0kxPuKAOi~pjQ^?g&4dV#7X=y{P z|AiZ9ECt?LT0oS4mH&w+a=AjGf{C=?FTt4Zh5KPN7!sC8 z75pwgh6W`u0)M$gs?`#n&`Mx61CSO>&|C&aLWTHfFKTflp44QPpBic+f^bEvoW&E^ zA(~JSh-!sOsTLzh6a)=ur&LMlj3gy7Xd?^>1(8d~3YdnRC0DDJt)_6GlA;6dItk zp2)s$_p|HLJgN%Y9X*SID;9;urdKph*mHpFA)p~Pq+Z5wmgpnPG`gfk_fzE ze3?!s!|3o2h1zVTM#K&6X7HqtkZ9r-N8(9XnmyAfAssTZ0;_YA;3p67&TY08WCURHcJBC~C2e1R+tR3JKv!XOb~wDyc@PZn=?W zEZm+cLK>E9RY)ChrJAy>My&>tl#olO0@5k1KsFK(@RKSqk)V)f0t^8S1)@NqRtwkZ z9tz>9bwm`hsL8l$6@o=>P-|cu$crF=N3>crCvnv@9ja7nqgJLt8Wlldr3Nv8fQ6JM z3J5_4HHK1QexQ@qCZYg9k|jj8(1y%O7NPinqH?WTkXt2JsR1Z-!t5fKwq~9gXrLo* z3l+kG5oHdU+-Q(1L=yN15q7Lnu7|HEe~VjHDHuuI;)pOIutBC)g&8R!;LM-!L1M@&f+FH{gX-rciY^Ol5lZHB-22If!_S3)< zN)`ME41u*utbC6uT!8uZo}AOH-n6&qk{ z6d~9MPkJ*Rj3r{ZMx`M z02C662aFFbNeko%C89v7(IBlKD+ovA*4cvLFt|z%v!SaA{3)8`Y8?P9*WsF2p+Xaw zM50z}Ogg!a@I>=~7D*2_LRvJdNkWPO4Te&ykrhb}oTIx+rd9wRo7$jM8eweW10zELid%34`e<;h zln76_fE+5-(h`RZW+IMCrA}fJ-~^3fA_?$hu(a@`Rclp93kq6S!JD90% z{sX{)C#_bYQ^Bz+0Z&*HKyG+Ju$WAVi3CT2e6TyM70_0x(rRgTq(ZDIKM4l{0uY4A z%4#{xhWkdX2H{Eu#V8879swi<{DB>%26)n%b#gr|!Qrk?;mHDQ3t@?b6!mioYx0d}K&3uzR3Emi^uMTJ^RUQz-C2z#vpRme($=T#b*SU@eMYl0>a zX*MZTA}Qh>u0}=pqY9kR82XD_l{^J-wKx(_;z<0c8Z@+KmVt#)s}LJBR0TYdtZ=D8 zqtoiegdmt!t%Ij@3d&Lfo}eFsMky?>1Z|ZXSXQASb3sFu!GPE&2Pid|q%iwwbQ<)B zJHbw+(`$@M6>>WiLVLs}@}U4kIjK&wC1M55DPLfTf@DWCu3T?Me+05#Y)0&&z?8_X zz>~?YU|6im^#}tf1yjn!WRRJH)fcjd0pe?cAP9u4q|+fYX*623NsFlozy#E&5>5~) zSpSgm;3_SyB2S_%lC};C9xH^WV<%)@EtyxRGeB6gP7CuwD=kJ*DvSsqBhedTBlxmtQ508N+&C_cz6Mg+V> zgZS0zwE|)!0Eb+sq)OmGe++}$a0=-{jEI#&X|pKRBB@@1>`o@2&T8Z@s_2Z&*{T`< z8o}A(NIVHg#E&Y>NNY=UG3%5Pla?yjpc#rvt21d0dZV~yf1pdJ)ftpph(k*hcpA{d zavc^I460IT$+B9Q1~Mr%CX*g92%#ah9#O5 zy2`AFAAukUq*0p;29*&ZqtjXdb<78FBp{_B?;&YR^>hFMRZt3e$AU|b?gohRuY&Y0 z{nr_WGic;Gg~4C~BdfuLbphDvO~_El04kM)JYaxbqp&IQ%JZ%{(n= z!0!-7r_!QQ`XKOV07r)%OJ$h>$OiY>N{z5EQNg8nHlnH})T^Z}js`dy5<&h}wZPpl zJvvwoDv3o)6|4-H=HP#w!J;=B&C-_rHCmHF2Q%p*4kV#)K<+`H(SnMKTCFF`BJaRu z0GGu=2QUrHVzGwFwDR_T!|DSy!*SPsbn zPC!wkG}$R;wHlMu4qKzZlz2D=p6p%~!$hYv8_YD>Xz=JDMJi~u!qW@Vuu@}1P{2ug z2&B_kOeT#*hmg@b408z3}rtwqk&nM}qR_YzVOjxyQ{ zOC1Eh&I~lEO(rW=i!Kx9E+w=wTA{Jph6s?T^-6@PRxbnOJXVzjYZ0;9pwXk70xJY0 zQ7_DlwI_-RLm7=Sve-)J9lTYXFGsHnUD=qzE(WELx*cXS5j6U#kZ@lg?^0I(2#%mQ+BK1`&lMX2eaL zYE1B}$%K`X+A7R2n7))2nv$Tm#SL*#tTH#k7ljm3%77i9vKU<<}e%dCLqW{lG&_Qt=(ucnvEW_5spy8k(ej+K&)P-(#b3Wa*@q6CcPF( zTd6mj^#-feOxICJ4#HFGjHq5^uo~b#i^Yzt=d;?NjzOz6I}9eR#_7=Ffer#&^m>!r zY_{?awH+x-qA_cYHa%98Mm-*{0tg5pG3oHHb7r#{Px45its;dVbt)75tJMhq^a@9- zTtFg=)p*+MiqHf*5XJ!i6il&>M&1$kbv}U9%U;|>n`DA!XUxF?57P73xV1vs5BA3%y5Z-G1#3JkKX8mK0p%!#(;P+>-2(tR_rVmg9Z5uhJ?O&^s!qo8XDPs5C_E}^C5gu zw4@N>$rI8stXI@_vz?aedYZs=u-;6;iVjn#(_%DOpn+9yLRPZbbPki*Y%%#PCOAT6 zFzU&Sgm}4HFSj9)Q8v_R5$t+QU(8i7H#6OPa#j>#?xi^UdnY8-?oOt%PKmC9r?Ac=-72s}isUT?!t7K_|K#{$s< zDi*yO&2@ThOMT209@x!H000WzHkDCk(V^NcMkHQ6Ehkkr9aUP*2!4k*Q2`R84UU3( zMx={?UuTpk?c{v{N$6}u)}(3$?!ZW>CN+r$)6DWDjsidM^qGNnOuiPVu9Nx9R82a> z3dyRs*gRH;!!3t)7OUQ9cGxU7r_O3NSM6iohX|p*a9<5u0U!e3h1437= zwpdK~Au47w+Yo&yP7GzYV;zr5#bA_K(N<&ATOe0UeS=QTTVZ;V8+i0N)MmL&kLt3S zp^g#DNu$PTpejH^Z-oc#20NnOW-vQ3j^3a%1CEi9!7NodfiYsGr_N?0A<1fRkV_S< zY9W1$iWW!WX$42(M>SxzU~QSA#BVFiX4*4ga<4b!EScJUr0*4&xMX~08H#Q*^xF}4)ix6hua)xkIx=3 zSwcu(dY#E=h1>NO%st?%GdN9VgTrBV==DfpMnDRyA%GKunRV{4orE)c6k&ufik=iw z08jq7p6P)nx6Nh6^lQ`$c!I5F@q`6~!DF|W@t@UUw3>}>;K>7R?3SRtg(qY$v%v(% znG_l_8azqb5uS{|6KP?AlV{*VKK?A8%o+>8jI8H?frZ-H=aXWGgg`sg4PjpNxDf~nPpcpl1j!a5sK)%$g{Z=DD zfcy^>@=moyE;!eP1O+ai!V_gA!CV$s%Ek>;#63)UUT zz-Eg=XHj}gCNqEpfH|xtGxDUx<+9p5UKeFZ6ap&YsdYxwsj++f*3ZNyr+o8?ZU)2u^tSO}>L1?!Wr!wi=}ZmZQ4@@Q=emkHH}1O+bic%q|qjMqdN$%(1L zVW$R8Bqy8KZZ;WBu#v%>N?@t1_8KiNG69k}RRlF<1B=^YRwYWSXH}4B6pqH$e99P-)h zH`-kmEA%s%yjGjp?@_2l%q}T05?Ao1xnicc9)vh+! z5csVXvDNIwRE=eY!|Qc8{Q)0cMV;x-zQj*vvlevjYdA>LsO6$s$Da3&-i z4kd5(J57G%6^FH@zTIldz-|awI~292!X}T(Zx7i05x>U)E*gi$VGP@;5`uX0yC*;m zoPMV}?16%ItJ`C-cNXm)xh?|l+ri3Cojq9aPz}0*E-(_R4+#ZaTO7gDN*swFRhZF^ z+0f><7s7T`&QH~AcZU&&UavC{N(W=nv?k#3_=65N9}D}#346fj_4^!N*xc^2+U;(Q z0|pmt=?ao%gPtg|y~E+lq@x~B01j{mJu!D6;0eTn=5$@G*)Z=7`4AT_zt5eH#hfWV7zq1|AwGyK?eV#h8$2$D z%cC{Bv{9$iMJr;b9l`Fx9PbT>y}nos>ms2Lu#w)iGpE>jExs6U3fiKvwA=0Mj3w=6 zGw*bU)4rg~mdiL@YAmIEF^?yx3x{LXv^7mLrak23<36+5@As;8mU`G1M)aY?FjP3K zos9^$%dHB+x#p0Ace?B?^__NWKHzc%?Z|5ISuSSvsl(2&GZYUYf?aMbC*9_llPaZ| zAo-oA1_Tla>jGNsKA+Xu-G!yHAr9}u1YRd~_PGK=jd&s+m$p^?W{Bq2wm1?`;z<0c z7K1$2h9*ZCsyo%iAXVP!iy;mXiQ#BIl1k>ZVcr*vxO{0G44>n|hsIqY6n zz{>LuKJ4~FKf5#T^|_)kU(De|3UkAqSPiA39*5KCv!^Rz9>tf@R)RutkV0DEsiV)y z@Y}L26HWy&#pCJRrgiye%>AW6~hlWA{R3aX0)D?7loGtY+ZI{9xZ`kQ~lh2AtTR;D9G35>Mht{HS(?gIF_LTv4d*)^vrb2HpOomt^(ElBIYyQ`E%*fk@oz59gB6WZoSM z2cscx(BncDa=P7qoyUnC3eU&MvhhF$sod)gb(AuJ06D;qOMEOAh~?tw??(=gCj9wg zyy6emU~HFz_lE6(fGdc(Cx~Ae+$rAgNhAYFmpkvmiiLi+vE~v8HoxDItH($j}=7Js89@HP#g!iEuCx3P#g>G{_e+8E+vJ zizXx8i7*1&>JRZ`M&9EK=xsiI+UxUqU2d1x9SeAUckGo2~$ytgNlb=$14MWPgnd7WJ)pHJfsIznU@Ln4tGC^`x@n^Ngcc*D6M zy&)3R8tiiup+qP|yfYXonbh+>Kb=w0z-vAmntOfjmik_|y&U!NF?W!h=IzSZL)wHF zHJ1qS;G*YUye;EJ^@Us^7l7u9hG|`cc=d%c$b?uvhC)u?z#LylY0A0z1eRVwFLe&_ zQ6JTGARPcBp+;>%pO4qKID#io6vgthRl8$hFIHEc1XTBFyJJ+t-e86&S@}e!oGRqI z^ocO?5+95eGKoydn~a7NQ9g`kBX7VB3+jDtH`(1A2&7UnAsji$}{d}+Mutva1*HJ=M6JF(zOrD6uNdvQLIPb7$U2}9-crbs9f2}kHcSeNl< zL#|vP84TgY87e{E)td>0Gk(NtEEa5(TnR%ykPqa#a)~gw7%_V~OF^m$KEY@F89tND z2lK&fC>x5GlA)kK$j5=9@zGF1ZSC}j^DsdyK%Em|I03Z~EkwhnR!zI&p-|Y^;z&G+ zBk`j;kWB_LMPc~iQqVAvrJ4-JOJR~UoGJP@_e06>vF`JCn zO!KosK|0LvCg5rG_z(+OjeJkBp2wO$7P9chNG5&TVdad$GCh@_*bcqEpzcw?4IG#ZPBC?6M7(HQ3VbVo-zTdj7sQbUxW zN)PhUV8N46uICEisG)!Au*1>*^!#0|x8Ddz2nY%meo4y;Y0^akd9L4Y`hSoT1i%tU?kLbZzcw=Esn&KI1)dqW5pcS%$`UGRF9g* zid1vaOf^oDCOW%E%Ds(YOJ_D)s>CzJ-fBm+KiXBubrj;cSU4I@g`&}n1$Y(gnM#$( zvgK?elP<>N?W4nuT&@!i$W*e8bXQldv$ul&=|V2oQOWerEiX*xmu4f;NH7&I_;a~% zzB7@^$D+Y#EtQE?y0hKkNPi@r2u8w~z4|K2a5R$%_AT$sp=A0k%MrdP5mLwkJS{#k z&SDO8aIn(f!F#=_m@QyQ6vBm>g2&H(4i_t3wT`9LVz)2t z%M~+;d@`R-q;fWY+SW*>Qpq^x!&p~7nZit%uU6ZOy}h-Tcav~n8tL7JW+(*n_E536 z#8;wo=8R@CiB-J=F~6^rOw>n3HQt?!@Pz zrAi^&neAxL=1b0S-Z7NR<#XvY@^Pahm&Yo(tG~aqJUrar%8Xe!u$>-72;i;K877lv_U?QdX(pY`bvfJ9*yXah zj*daH>|l9*xwFyUUR!nC{7R*-zpGLnDlh097^w6w8bbfho=SJ$Pv{ ztbIwXZ_ZGC?Le(R)Dh~cmh$C%S1DiUbVZBK(f0O2dp4VH&-Rtui@|uXGB{YNj*Sgb z`bHsO({nxfzE#Tc>bzQ{FEwx8GOT@09vjbuL$&tyxyzwja@9n8!IrJWyXSRw_Id^f z$Ie=wTo%DEn%RN&+WhWFq^GBB_r%T_tPWO@p^C*Z3^g?5>L``)pHQrQ+5Td5AYW@Q zWa>g`&%{ocQz-UjEBQ*L(!Oe5tZE<359SBP2dbrNspKrBOOdg5s9wJhf0Y@C&k~!8};ysdKe7r$BY2bELEAYSl)xyI3qaTO7eN zLmY`8)wO-KcC7L+{K;eO_O*RfYwg|hN+fD&aNg?SC5w)C4c4mtBgO9CrDFqQ%iHJ9 zsSV62)(VKuu57-&+f~eB*Pd@LcMX$ehpUUaD}BXcV{-MvS`7}Ub&pgRSLV*G4J{o( z|H_<@r)aI-hm9 zqDx0Qv+V%gveSo1xb6wpX2dQ^judhMPwOryvYgkRSTe9^4%YmooIBwt)Y6zSgyQu^ z3X$Tfk)G<@daZw~v#-`UF+N_L=o#oAnRC+I#vm3Qm7cCbccHtpP^!3Nov!)CQmL5F zXN&oP?qUa)r`3^>YJGfsWF}i6A#~D{Et;Va0;-Anf}ZF=X2F6Lon3{~#us6I(kK>2 zSN05+(vvGoMO&_#tS>;Ec}GUZ&p9r&A{sRsb90N0MYU+Ox3}u>#xEGDkJRhLdmKZJ zjJUfxQH9cJ8^{lK#O5O7mvXIeD&`Vv`%9ez`6?xW;^cxvk7J}TT$sCfZoLy+T%DQD z*mx1OM5$&V-=FPoj1)(TgB^n%_3;K^U&_{d(xr3GDAkSrMft9g0$3HObG@^_M0Kn( zR_S!NYG16@+0p50aRkpCaU_0JPa0?xvE(U?K=qR2qyegpVr@Yu$=Wr%U~1mP(lzek zp8DWeXKi3&eD3(l;%I+kZeM4kl*cTXFBEI;j(om=38>iJJr9;G&Z{r2R|h&f`_@e@ z?P&~;RD0@U^<~x3(VmfsG4!wYHyU%t>MJMbom!o9Mo*#Cp6%}JPc<6(Im2Dub4rD5 zabb78G`66=AYVAH(AkwOx_b9D*Iu{hbJyQ+<4rez{+3(6aNF&7eDTh`cYW#Zd%paYd++<|{SQ3&(8K$t z_doLJV_*CF;|HGj#y6jQ>gi{m{nm5OfBQQxy!g_0zxVwgy!^vgUVV+d{>Gbcz5Syf z|Ky#6hu%GWwG`Ioxg{_mw(VN@tg2ZF0c)LhtK#|2igMC zfG%JRSnwm47r(*H4NL~shgrBStPbnLX8fFfSNMVO_rkA)e;GOXA8pMhGTW|M*Kk)4g|htHsgF zj^6xJ9cc5XD~@hE`V?bFZ$4@`T0ffqsqd%WBPSnu_vk4{dk)`x_>;p|Gj{l1Y+DYW zarlJ8*~7Vad)}?TTY9(s-R!%mLpL3|=A91@oqTA?!Gn@#1WfJ(d>d^e_zoc6O~y8X zZL00c*0{5@?bWt7+uoZ!o87m)J$v*&_iayu54QiS@*uk#UjewRtsC#>{|b1y7H|6B zfj8&x;UsJqBI#1R$^Rky1K#=nJiZF>JbRb@9&hH~&;H2%i~R}j;y;A9)L+EA^i%jE z!XA7N;rsX+!b^B({S~~c{xaTC|25lyH_~6lyXpJzZG^wz8v$>zH}GEiM)n)_TYO>Q zWOfq1jj#z{MmP;``Jaw&AZ*4L5YECk54PZo2j{T&@vVdN@TG(E@l}Hh@ZSAh_@co@ zK=sA!&+K>X8{8l_#K}1YK9iziALE_xx!f=}!i};fKIoyww?pVFC-b;5Za%kw8|M~s zI!=$zq!_tH++y|--XLGXEybr+mgAEvE4bshmE0=sczh=01a6XB!%cB(+27gQTpize zS;wvCHgG3$8#xna=1$^H<}CQUh>f%3t@!uw)e$Fm3U?~L)8fWQOEz(*ai?>exih#k zIS=Q>*9G=-K91+k;A+)MO>Uqa7lc&WIMNmyO_I#yOi6>zR9Jz4436{cSYG13%YBdC#(kgr0oRF7w!F-hxgT<`aIbQ&aj$c4 zaBp&N;rj}YwiUSwzNhdwzJKsIzOnE%_8okc;yHYK;;-B->{j*xaQ5ZK^5x5xE?K;2 z;rN32WAjFb=MD`H^!N47Y4p@<)$U5UtFxn2EVSoy*-Sc>OyHR}5)K6ee%|NB5A66S z4jcX%7Jui1zh1*%q~aY3yk;sEwQ(#p5FDK3rz4Zo;z)4r+%%mB*WkjMPhFUt=5cB8 zvu&n%>bC~BKGU*+mK*-9Wuw)yajYe$=c}xmPVoale){G9Ab)^6Zs7!uujvo2;HN(j zj>m*!aYQ)L;Kc7o4}QSDv7evjCi#Ks!L1v24NUf@Q`~-)vM<=TUYSm@{Yn)MRXCcC z1vl^KVs%b9Xp0S0_O~&)20Bisg8c*2$soFdjVL^@X5IAo!ij-?{KM0VbZVOGTN|93 zX2ITRT~cVm`h;PorG3*fVHp0TX{f`l=J%(b-L?CGo=r_A)$4-m)~uSC7Oeq~foVf> zIv(twj-U5)dpdQ1`^u7uX+_@wjxCvZ0w1K=u|K(^zkdZykD!EIZ$gpeXt(ZXx$TzgywXFF=kcfXq4da zbOXL#%TKdK6T#`Wa2JvFU2NCdF5#c#{3|$&eG>GT+@-HTmT5^?ALMuag~1`g4}SOA zD{E%1NW=QSFuF-@JLdXnk-z-CRa?iP12obXYW{+(w!Z%caC+R3<6e< z2~&_|S{^y}pALTnH?XlX%~}5sx7WAs1I7dVez7FHYkVTIX4loO$mFiwD}b&+MAxoe zgF$|9*W|7>2bw#kg1kPsYkxYuYx4l2qNUP-=CfD3rW?CgY~*0n=|amI1HpmGng6zK zv`_Dt;&D$L5&jELi^I4Nr$r{G)^4Qzn)SPa{VhNPV$+R&AiJ?<2GIli@uNdAU6gl)~}!d3F@cg zM`zGA(+j%&TkF}zP@$Zs@0_ty6+yZprCh?{sv-taQ6zR zB7`;LcMVT7h}%HI>@pTx()=&%_K%MKADMCgi5Zr-Pca=9VcR(yyN{)jU$drAzv=v9{VTT=>o-pp>nEI2te-JftdA@y z)<@?T>nANM*2m`*>(xrJUal4E-NVKDKyR_Wa6z#?Z$q(u@|t4(1uOT!0|)C5K6tQx z`|StoJ9Zqb-*Lym`a=&LtUvtl!TP>^2kX<*2kX~fd$4}-#Ruz~HXW?*+4D|)YU-W( z&Ykbn&p!K|`s&pO>-+b=Q$OvrgY~=adZ)hYfg|;+A3RdO|MnyGvvwS5H0$@?akPHx z9Y^Y4z2i{*f`^XQcRzHbe&Iuh>X$!!w0_OQN9yYzK2*PA-_iOP_8qAox9?E>zUia& z?bAo<%cl?3ue|nXecQE1>Z`6jR6qUVqxEwyK2l$L@uB*un~v7EY&udO+;phEZqL#B z$~{Nw*X=o6pV)J#e*B(;^|ez+>zz|a>R+5XTpyY`RPUNPSU+*+(R$C$BlSCX94;i&h`1Z{B~TzIFeh`X&1h)>oW%q<+%cuEX_n?mARI`flyWyS2mb)(-uocJL>)cYacP_s6xL{J8d`H*0UdS$pfv z+8eLdUVpXr+N-t3Id8sFd-avt55He~`TMmWe82X+7i-^rvG&r7weP=Bd+~+Zcb=<# z`?=cl&(*&5bnV%vYtKAgd+w>)(@)iY{ABHwCu=V}S$pcqT2MO>P!IT(1H62|CmryL z2Rv;9ZZ_bQ+vQfdS&sKH@K!ut_r`lJ_+XK|4KKYjZgl$DwQO{XpZ@Q~!2_If;c?TF zU@tdq9A%?RdPfh)nu|uK<>M z11BN>(NsCPqW_Txsuv#Mu6S&H`N8UW2e=C#(U)&OAlmWRSmpNW)&tz;N9LF5@?-k) zj_Sq(+yL(1aiFd7Sa;=)>e>Tb@sVnoF5~_~)s+W04;VdMojAam9`l#?RhJy#T&H%Ia#z{p-tgb?1S$9S!Ze%Fb%- z>GfsemwRdRf71W|(`)u#&NDi#Upz6r#fs(e>WRc%`?R?n;!0 zk1nnZS3CNbl&M#4-0}ay!1n*kKHR`bi+j1z@rnI%SPK)Nuz$1-Z?^YMOk$bRn>_2R zvzT-PV^aJP8f{_=zLwc4v6;Pa|34kiUi%;W0ItyXpUX@5Rbw2#TJ&QZ$205GsOPdS zTzv`j5a|85cMraJ=)*JZjrh{$x!4|K23-3!zOeWSeg(OSlY{;d+x=+&7BdOGU*}Bd z^EAFEdYN$L5V+lhK6}~Y_%&ewXOH3dD)jp`o*%0CMZtsqpWqI)AxS*=O+t?QH*r_s zcLSUWW4w;I%O02Tks2>uLL_ZC9J-lSS-)*o*$(6dg150{pJCr>)rb z-=gb9&xv*73GuHbLz43(cT0XC)k`muzAxJU3Zva6kTR^~I1Z^waQE_+|VN!PEF7 zuUBIWVo$~g@K5)zC5Mu4r-oDKq&`fKrB6&>nMr1%t=*{%r z(fhN$MBko%QU65)s(~E?e;MpST{3w3;FUvX%$3gVnY(@N2gA#T?-~B}$k@nNN4`CB za5Oji*Lg$pt{DrAJu<&%{@nSe&wp&eeG8shaCpH-VX5-l-*1>!vnO?U>p< zb^FxAQ!h-tKJ~MyzpvG=jjgS%U9@(?+KblSwD#V$Pptjn+IQCe*E-oc)4I^Qo^^}Y zZCrQZx`XRa-Y{pw(g>Y3V%xMl;SDxpSt4I zi%-4f)O$~T^3+#P{l%#tZ!&I*Z0g>$Xw!+C&fj#yrh7L%v*|~tU3%JWr%j*s&g&EuA~(+(cC{eU~o3^z=)AzjMXT_bxm8vVUGKzWk;utXFuic;Jdh zugqNe<*O7|eG|VJd~mht>iE^Qs~29q;p+2t>vl(Xzqb1)yMMa-qifhTw_Q7M?U8H$ ze4XODYp=U`k8+Q3k8{t%d%pg;>#omU|J?OIx?#x;&)x978(zQRog3b};Wsz@@rJ+O zc)^W3Z`^&8_@+~C`rFN4`MmA(sn74eMSsiwTc>V4`PL7=aQ+v*d)u>2cd-M0cd++=AExT{^eH-rEecz2=jePaN`e^r`h+tN!m2YO}Zp)+CnL%Wh;~tTBNO%twjL^ z1&ZPV>VS$HjDq_<;<%3+I>nvQ-~1}$jDx7dZ2ksy+-9@4?|G8q%)FoXkC(PtZcBTg z^PK0b-*Zmh#fpwVsFIJg;%0wMjXyt)>bPu$ux(k54_(*gsE2_+By{IK z!#>0YV6Wy9x8?ioGCd!Fo|?*BkS2IYMAs>EwRDa)LwkklV8BjWYqE$m(3PpEtCF|Y z@LZ}n)teegjioM2J(v=u^b}D?s~cLOMI_x+!K)kiCh_cnrm?0Qny98u?qqRtf}5H= zt1@JubUt&kc=puU$qD=te-SzOr&4DCG&ogX|HBI)251(faRMfvC%koo#44`i|3P$0LZNj(x2awp5v@UgqO%W0L zy{pbNd(pz54{ucFlsBw-r`=Y&M0jbLdGP{gloI5&4r^<-!R>x|q01U1o6uolB|1Df zcheiola9dh!;YAq%6H7A%em##r#z)DcvWDiG=Z^jLa-noc(Xz0Yo+Fmfj$Sq~Jg zpFBHJEE2i1lV`ba;2~DTuO`YLMSK`oot9Ang_E^NH$zI7Po&agq5{F8hTH9GK*03) zoA9A>1A?$b=hBfOFMl0vT{Ej|nxF?RxwAL$X6n@T3$D53wS<4EU|bjr=bhbq#fLUt zJHF+iq`!x{2%X-!1c| zRRNYvvu!=M?b$k(IOeY<80hi+DcjDjfxh)&=-fUVx}xvM_cdSUAO;|P_a2b9?lLji zepzkzWf57WY{|mQy7{9#$#-5B-)9*29yaXv(%z6EW*N2YvmCb27P{@Sn0!>ePkvZV z%X60zw1e)Z2k0?+oIVEK0he%-z^=u!@O0wTiQ?oR;4Q(O`36`xhpz+uN}>aw%rd=3WrwpNzIxe;MN4nEdU)f+_o-+g+>}p6YUYr?pB?lrS<>Cr zn4(oH`>s2$ckw{+hHV|K=;8WRcL_^`KNf~2CzoDP?Mk@x|J2Q2eD#5q ztLHAh;$PKE?wG!d{)V-{d;uNNL~P1;rlMMx z)IsFMCO)7}sCi!0Oz|diSURj2agEfE-xw?#_e`>d*YGCtxM*Qy>;VU;rWHVD=%nj_-p48t&|g) zQX!*u_5B%7mE*!U|MC3pYi?ZpNrJ9lvpQO}Q&$jfyRdQVmFrt`4{xMmgBvz?w{L#? zsRyTtblq^}f+}zH?MH=wR(leO*C#H#_}NzvFTeRJ2!L4VP3QymQlOgoIf4O2A>n8Z zMXXSWsBu$Wd5KzSX~*)Xk7 zO#pFoSQ6mVj;YDvV_u?|-vf+wXZoYjW24PR6C*K!gCgVfBc=#c0{8Ewlr{14BSyF_VA`zQ7bqXuO zOh%oV7e?@cz;9qDibPRUGDpgbh0QPkW0&Re4}0VD|3Dj{O03pn{F^x8^C#FZQ{L*1 zw#TzAy}ZX~Z`k{bc2C-o-?re64CD4@S6-9Era}4wPtw=MDRs$(8^WHXXTfcM=Ap76 zb&;u|66g~r{zP3*>tWVL-3x>qBGf9viHuJL%ms;xcorF-mUsdMvqc9lpOO@mF{A>; za&~fZYGUFHENp7xEO!R86uw2bi1n9rb+U8aR^VqB3*q?5GAVQP)>{puLB@+?y7|c*6f%R#kQ3CeiXHjuCC{b9+41 zKGht}1r&pK_ch@G^fh2Xltd(Ni@^|&oglWLKd2pM#1IrmIjA@_MvYS}#laCcRV29Y zPv8@9j@3%HMX|{0u5Cj2w&cqV*$Sc0I$5HTQVRyCV5ZtF?1THdC@#{wCnPMmzRwdF8$3@=4CZrPW>w?_yHQG zP{Lzy2wy(;m2jRgS_d{~!}PD|L#(D`vv17zdWn!YBbrUj5;M?O6x*~1Ej%MU{nY~i7f~Vz-XWME zGEF&I1Du(Td{w9*Eud<w%I z&VaFY2Fx)yIow$y2jZBUJPUe&aYI!n>~6x2u&bg;{rkAXhJ$zp(*YO>9u4V|r$8Qi z{k1kr;`Vq@1#Zlh-auVXYSq&2f?O2m&`2nqMo6O04k0rBLTo3Dv)H{Fic<={MZKMd zK7;d0=LJIj#_WAbG93(I?!ISwik=5h#2hi4@1(}7eZ)Ty8K~M6zo_<> zs#|I+X6f6Veeu590X45*T`PiWLp1=#Yv%&wl+C0HFdt9iv=oALgRxN66|d{@eVrkgQcF-

7w=iv-nM+zVr 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 z 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 \ No newline at end of file diff --git a/static/img/stars.gif b/static/img/stars.gif new file mode 100644 index 0000000000000000000000000000000000000000..91f82dd41321205069338f811b0768db27a5a669 GIT binary patch literal 6364 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 Bq4vZhVc_w^np%5P$aIEy%Zy)$A!(%Gys z@p`3hoecl*NN^Fw{M?t{U{Lj4@;?>v@g&l8s~z@S{!@n)Y0RfiS$g)GERLtm z5x$8Wp)uMmq;r=)z=d-{bzjSS5)_X^Sv(e=ud6=Y&3QVtz%uIMe@mFztC+jGlrUpw zEh;?=NPm+29dew1G_P2f%c}!N`O6aI8(<0-$&yLuhKSSK zA~^T42&C;A&u`cb9K|&SjOq=ryC1h*78Q}QgF*6bkWd{5wOLc=PFIcY_w2hj+8ouc zTZu=t?`56nHPlmI0iwPwFon~cs6yKe{RPbnc56#(JId&y0li#+HzpdwLoig{eL*$&26B)9rn1;C=c~z2Y8Ay*Y=F?O>A3?OU%06k~k5 z6M8keZ4vKq+HBS!HE@e0Vt$%OoDnpnt?898Bf|Ia%hsrSm{j&g>wxTwvLxqLRHy_C zP$B|kU@h{^Yr?QZKsYKka7sMCrq^7STpsMhof7Zys_X#~&=+R&l(q1S7l=wUVA7$` z>u*J<0H+cV-o*r=|42Ii!Nfn9_y-gJVB-H56Iq>HVS`%0YxBZE6L0fi^voclDCjNB zXvLE%13+^%5Sl5UN77fKdan9A{Hql=z-zPZ)>%xL&|)r7fWG!lH+`U_`FtN#8^z{H z_lMTP+Tv~gu7OJcoSkNoKDz8tKL7z&t}~}Y9gBQ?`1uVuJeQiF)w4j+mvt;`zF%{m8rlhd}e1}BxC{M(?)p6g$L2@#??sIVR8cl)yv>t8V_l9j; z=QPvO5+6)_{9aMN3+NBlUUyGQK^F4~2p&nqOS5>DgX& z3M7R?SQYd2X*=PM0`e|lE@|*GpQl@M-TY%8CzPd6K4Wcf31DmBhH5S{4TV#?pE4u~ zsU6P@PjGk;>eOTJ-Idk*bKt%QJkBj_|9u%!k9l}V*)^*+{^4yj-#C2CwNonh5cF{m zRy?*^&dYw + THEMES[theme] === THEMES.DARK ? THEMES.LIGHT : THEMES.DARK; + +const themePickerText = { + DARK: "light mode.", + LIGHT: "dark mode.", +}; + +const themeSwitcher = document.getElementById("theme-switcher"); + +const setTheme = (theme) => { + themeSwitcher.textContent = `${themePickerText[theme]}`; + + document.documentElement.setAttribute("data-theme", theme); + localStorage.setItem("theme", theme); +}; + +themeSwitcher.addEventListener("click", () => + setTheme(flipFlopTheme(document.documentElement.getAttribute("data-theme"))), +); + +setTheme(localStorage.getItem("theme") ?? THEMES.LIGHT); diff --git a/static/js/require.js b/static/js/require.js new file mode 100644 index 0000000..a4203f0 --- /dev/null +++ b/static/js/require.js @@ -0,0 +1,5 @@ +/** vim: et:ts=4:sw=4:sts=4 + * @license RequireJS 2.3.6 Copyright jQuery Foundation and other contributors. + * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE + */ +var requirejs,require,define;!function(global,setTimeout){var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.6",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){var i;if(e)for(i=0;ipage not found

+

but hey, at least you found our witty 404 page. that's something, right?

+ +

go back home

+ +{{ end }} \ No newline at end of file diff --git a/templates/base.html b/templates/base.html index d855b51..fcd978e 100644 --- a/templates/base.html +++ b/templates/base.html @@ -6,14 +6,32 @@ hatecomputers.club + + + + + + + + +
- {{ template "content" . }} +
+

hatecomputers.club

+ +
+
+ +
+ {{ template "content" . }} +
+

hi

- + diff --git a/templates/base_empty.html b/templates/base_empty.html new file mode 100644 index 0000000..6191ab9 --- /dev/null +++ b/templates/base_empty.html @@ -0,0 +1,3 @@ +{{ define "base" }} + {{ template "content" . }} +{{ end }} \ No newline at end of file diff --git a/templates/guestbook.html b/templates/guestbook.html new file mode 100644 index 0000000..859daaf --- /dev/null +++ b/templates/guestbook.html @@ -0,0 +1,3 @@ +{{ define "content" }} +

guestbook

+{{ end }} diff --git a/templates/home.html b/templates/home.html new file mode 100644 index 0000000..1938a03 --- /dev/null +++ b/templates/home.html @@ -0,0 +1,3 @@ +{{ define "content" }} + +{{ end }} \ No newline at end of file