From 93a1b98cf6f86f405461b0fcfee435a438d9e24e Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Fri, 14 Nov 2025 08:37:33 +0100 Subject: [PATCH 01/41] Updates to docker-extension --- Makefile | 8 +- client-programs/go.mod | 4 +- .../pkg/cmd/docker_workshop_deploy_cmd.go | 35 +- docker-extension/ui/src/common/types.ts | 13 + .../WorkshopsTable/WorkshopsTable.tsx | 7 +- docker-extension/ui/src/views/App.tsx | 30 +- docker-extension/ui/tsconfig.json | 5 + go.work.sum | 1364 +++++++++++++++++ 8 files changed, 1431 insertions(+), 35 deletions(-) diff --git a/Makefile b/Makefile index bce628e97..4e4a7a4e4 100644 --- a/Makefile +++ b/Makefile @@ -345,8 +345,8 @@ build-client-programs: client-programs-educates push-client-programs: build-client-programs (cd client-programs; GOOS=linux GOARCH=amd64 go build -o bin/educates-linux-amd64 cmd/educates/main.go) (cd client-programs; GOOS=linux GOARCH=arm64 go build -o bin/educates-linux-arm64 cmd/educates/main.go) - (cd client-programs; GOOS=linux GOARCH=amd64 go build -o bin/educates-linux-amd64 cmd/educates/main.go) - (cd client-programs; GOOS=linux GOARCH=arm64 go build -o bin/educates-linux-arm64 cmd/educates/main.go) + (cd client-programs; GOOS=darwin GOARCH=amd64 go build -o bin/educates-darwin-amd64 cmd/educates/main.go) + (cd client-programs; GOOS=darwin GOARCH=arm64 go build -o bin/educates-darwin-arm64 cmd/educates/main.go) imgpkg push -i $(IMAGE_REPOSITORY)/educates-client-programs:$(PACKAGE_VERSION) -f client-programs/bin build-cli-image: @@ -367,7 +367,7 @@ update-docker-extension : build-docker-extension project-docs/venv : python3 -m venv project-docs/venv project-docs/venv/bin/pip install -r project-docs/requirements.txt - + build-project-docs : project-docs/venv source project-docs/venv/bin/activate && make -C project-docs html @@ -424,4 +424,4 @@ clean-buildx: ## Clean up builder # Multiarch utility targets list-platforms: ## List available platforms for multiarch builds - @echo "Supported platforms: $(MULTIARCH_PLATFORMS)" \ No newline at end of file + @echo "Supported platforms: $(MULTIARCH_PLATFORMS)" diff --git a/client-programs/go.mod b/client-programs/go.mod index 197d30f98..291b2f2fa 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -15,7 +15,7 @@ require ( carvel.dev/vendir v0.44.0 carvel.dev/ytt v0.52.1 github.com/adrg/xdg v0.5.3 - github.com/compose-spec/compose-go v1.20.2 + github.com/compose-spec/compose-go/v2 v2.9.1 github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad // Every time we update below version, we need to update Docker Desktop client to match the required version // or else downgrade CLI support via export DOCKER_API_VERSION=1.xx @@ -38,7 +38,7 @@ require ( k8s.io/klog/v2 v2.130.1 k8s.io/kubectl v0.34.2 sigs.k8s.io/controller-runtime v0.22.4 - sigs.k8s.io/kind v0.29.0 + sigs.k8s.io/kind v0.30.0 sigs.k8s.io/yaml v1.6.0 ) diff --git a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go index a5bfac293..06c974085 100644 --- a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go @@ -16,9 +16,9 @@ import ( "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" - composeloader "github.com/compose-spec/compose-go/loader" - composetypes "github.com/compose-spec/compose-go/types" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" + composeloader "github.com/compose-spec/compose-go/v2/loader" + composetypes "github.com/compose-spec/compose-go/v2/types" + "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -125,7 +125,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, ctx := context.Background() - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return name, errors.Wrap(err, "unable to create docker client") @@ -280,6 +280,14 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, networks["educates"] = &composetypes.ServiceNetworkConfig{} } + var extraHostsList composetypes.HostsList + if len(workshopExtraHosts) > 0 { + extraHostsList = make(composetypes.HostsList, len(workshopExtraHosts)) + for hostname, ip := range workshopExtraHosts { + extraHostsList[hostname] = []string{ip} + } + } + workshopServiceConfig := composetypes.ServiceConfig{ Name: "workshop", Image: workshopImageName, @@ -289,7 +297,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, Volumes: workshopVolumesConfig, Environment: composetypes.NewMappingWithEquals(workshopEnvironment), Labels: composetypes.Labels(workshopLabels), - ExtraHosts: composetypes.HostsList(workshopExtraHosts), + ExtraHosts: extraHostsList, DependsOn: composetypes.DependsOnConfig{}, Networks: networks, } @@ -320,13 +328,15 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, } } - workshopServices := []composetypes.ServiceConfig{workshopServiceConfig} + workshopServices := composetypes.Services{ + "workshop": workshopServiceConfig, + } composeConfig := composetypes.Project{ Name: originalName, Services: workshopServices, Networks: composetypes.Networks{ - "educates": {External: composetypes.External{External: true}}, + "educates": composetypes.NetworkConfig{Name: "educates", External: true}, }, Volumes: composetypes.Volumes{ "workshop": composetypes.VolumeConfig{}, @@ -334,12 +344,12 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, } if workshopComposeProject != nil { - for _, extraService := range workshopComposeProject.Services { + for serviceName, extraService := range workshopComposeProject.Services { extraService.Ports = []composetypes.ServicePortConfig{} - composeConfig.Services = append(composeConfig.Services, extraService) + composeConfig.Services[serviceName] = extraService - workshopServiceConfig.DependsOn[extraService.Name] = composetypes.ServiceDependency{ + workshopServiceConfig.DependsOn[serviceName] = composetypes.ServiceDependency{ Condition: composetypes.ServiceConditionStarted, } } @@ -352,7 +362,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, } if o.Cluster != "" { - composeConfig.Networks["kind"] = composetypes.NetworkConfig{External: composetypes.External{External: true}} + composeConfig.Networks["kind"] = composetypes.NetworkConfig{Name: "kind", External: true} } composeConfigBytes, err := yaml.Marshal(&composeConfig) @@ -904,10 +914,11 @@ func extractWorkshopComposeConfig(workshop *unstructured.Unstructured) (*compose ConfigFiles: []composetypes.ConfigFile{configFiles}, } - return composeloader.Load(composeConfigDetails, func(options *composeloader.Options) { + return composeloader.LoadWithContext(context.Background(), composeConfigDetails, func(options *composeloader.Options) { options.SkipConsistencyCheck = true options.SkipNormalization = true options.ResolvePaths = false + options.SkipValidation = true }) } diff --git a/docker-extension/ui/src/common/types.ts b/docker-extension/ui/src/common/types.ts index 664817a0a..e990bec56 100644 --- a/docker-extension/ui/src/common/types.ts +++ b/docker-extension/ui/src/common/types.ts @@ -25,3 +25,16 @@ export const NullWorkshop: Workshop = { source: "", status: "", }; + +// API response types +export type ListResponse = Workshop[]; + +export interface DeployResponse { + ok: boolean; + message?: string; +} + +export interface DeleteResponse { + ok: boolean; + message?: string; +} diff --git a/docker-extension/ui/src/components/WorkshopsTable/WorkshopsTable.tsx b/docker-extension/ui/src/components/WorkshopsTable/WorkshopsTable.tsx index b52f3f61c..a6e122c20 100644 --- a/docker-extension/ui/src/components/WorkshopsTable/WorkshopsTable.tsx +++ b/docker-extension/ui/src/components/WorkshopsTable/WorkshopsTable.tsx @@ -96,7 +96,12 @@ export default function WorkshopsTable({ rows, onStop, showPort }: WorkshopsTabl {showPort && ( - {row.url.split(":")[2]} + + {(() => { + const segments = row.url.split(":"); + return segments.length > 2 && segments[2] ? segments[2] : ""; + })()} + )} {row.source} diff --git a/docker-extension/ui/src/views/App.tsx b/docker-extension/ui/src/views/App.tsx index 473f1f80f..1182e3db0 100644 --- a/docker-extension/ui/src/views/App.tsx +++ b/docker-extension/ui/src/views/App.tsx @@ -4,7 +4,7 @@ import { Box, Grid, Link, TextField, Typography } from "@mui/material"; import BottomIntroPane from "../components/BottomIntroPane/BottomIntroPane"; import WorkshopsTable from "../components/WorkshopsTable/WorkshopsTable"; import { handleGoTo } from "../common/goto"; -import { Workshop } from "../common/types"; +import { Workshop, ListResponse, DeployResponse, DeleteResponse } from "../common/types"; import { isValidURL } from "../common/validations"; import OptionsPane from "../components/OptionsPane/OptionsPane"; import { LoadingButton } from "@mui/lab"; @@ -63,24 +63,20 @@ export function App() { }; useEffect(() => { - let interval: any = null; - if (interval != undefined) clearInterval(interval); - if (interval == undefined) { - interval = setInterval(() => { - list(); - }, 3000); - return () => clearInterval(interval); - } + const interval: ReturnType = setInterval(() => { + list(); + }, 3000); + return () => clearInterval(interval); }, []); const list = async () => { console.log("list"); ddClient.extension.vm?.service ?.get("/workshop/list") - .then((result: any) => { - setWorkshops(result); + .then((result: unknown) => { + setWorkshops(result as ListResponse); }) - .catch((err: any) => { + .catch((err: unknown) => { console.log(err); }); }; @@ -91,12 +87,13 @@ export function App() { setQueryingBackend(true); ddClient.extension.vm?.service ?.get("/workshop/deploy?url=" + encodeURIComponent(url) + "&port=" + port) - .then((result: any) => { + .then((result: unknown) => { + const _ = result as DeployResponse; setQueryingBackend(false); setUrl(""); list(); }) - .catch((err: any) => { + .catch((err: unknown) => { console.log(err); setQueryingBackend(false); }); @@ -109,10 +106,11 @@ export function App() { console.log("stop: " + name); ddClient.extension.vm?.service ?.get("/workshop/delete?name=" + name) - .then((result: any) => { + .then((result: unknown) => { + const _ = result as DeleteResponse; list(); }) - .catch((err: any) => { + .catch((err: unknown) => { console.log(err); }); }; diff --git a/docker-extension/ui/tsconfig.json b/docker-extension/ui/tsconfig.json index 3d0a51a86..31d882746 100644 --- a/docker-extension/ui/tsconfig.json +++ b/docker-extension/ui/tsconfig.json @@ -8,6 +8,11 @@ "esModuleInterop": false, "allowSyntheticDefaultImports": true, "strict": true, + "noUncheckedIndexedAccess": true, + "exactOptionalPropertyTypes": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "noPropertyAccessFromIndexSignature": true, "forceConsistentCasingInFileNames": true, "module": "ESNext", "moduleResolution": "Node", diff --git a/go.work.sum b/go.work.sum index 4890e3bc7..3fb3cde22 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,7 +1,217 @@ bitbucket.org/bertimus9/systemstat v0.5.0/go.mod h1:EkUWPp8lKFPMXP8vnbpT5JDI0W/sTiLZAvN8ONWErHY= +<<<<<<< HEAD cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= +======= +carvel.dev/imgpkg v0.44.0 h1:5f7LZKn8MALx2xldwNXm5TD6vn9NDQuHJs8Nag2Fr0Y= +carvel.dev/imgpkg v0.46.1 h1:UOYaPllQJRsbzSl61IiNvmDZA5z4951i/KaSROAC1W0= +carvel.dev/imgpkg v0.46.1/go.mod h1:Q1E+7tpoiPbVNjb7HSmLZP7E1j0w6mWFzDarOXW1HiI= +carvel.dev/kapp v0.59.2/go.mod h1:HAeURGw65eT00APPvnOQ8uDx5yvdrro2vtH5VYF1Zz0= +carvel.dev/kapp v0.64.2 h1:dJhtWVOkvPPgcS0f5A4OtOlrGie9gHvabtZBvB/h0+M= +carvel.dev/kapp v0.64.2/go.mod h1:5t0pWQzyoY9SzPVqrqgYhTlzgsuyMy+bvFdmrvtbDJw= +carvel.dev/kbld v0.46.0 h1:khSHTH3yiEE8imE9K245ZT67ZToixa1nC1938Oje1O4= +carvel.dev/kbld v0.46.0/go.mod h1:wmUYbnw0di759Id26P6dtRW59cBHy4UT9/FJgthiJ0I= +carvel.dev/vendir v0.44.0 h1:vfq5KgGbbLlxHrE0prY7gZgiEQpjwo4lS2akCaVkcxA= +carvel.dev/vendir v0.44.0/go.mod h1:gslrJ0HPiy8gtJYsQZHzIVuGfOG0nfDKDupEm7uBWVQ= +carvel.dev/ytt v0.47.0/go.mod h1:Xarf0th61vX6VY07l3KBSi3uaMCQ2UyPPiCPiaVpHME= +carvel.dev/ytt v0.52.1 h1:I9rCwIunzClas2MH5nVGtCK5ujZdiGaqAfGol/wiRKQ= +carvel.dev/ytt v0.52.1/go.mod h1:lzkMguCvSVvxT2My9RG3gRMgTws97NpNXufKZ6iiP5E= +cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8= +cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo= +cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= +cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= +cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= +cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= +cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= +cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= +cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= +cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= +cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= +cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= +cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= +cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= +cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= +cloud.google.com/go v0.99.0 h1:y/cM2iqGgGi5D5DQZl6D9STN/3dR/Vx5Mp8s752oJTY= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= +cloud.google.com/go v0.110.8 h1:tyNdfIxjzaWctIiLYOTalaLKZ17SI44SKFW26QbOhME= +cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= +cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14= +cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU= +cloud.google.com/go v0.118.3 h1:jsypSnrE/w4mJysioGdMBg4MiW/hHx/sArFpaBWHdME= +cloud.google.com/go v0.118.3/go.mod h1:Lhs3YLnBlwJ4KA6nuObNMZ/fCbOQBPuWKPoE0Wa/9Vc= +cloud.google.com/go/accessapproval v1.7.2/go.mod h1:/gShiq9/kK/h8T/eEn1BTzalDvk0mZxJlhfw0p+Xuc0= +cloud.google.com/go/accesscontextmanager v1.8.2/go.mod h1:E6/SCRM30elQJ2PKtFMs2YhfJpZSNcJyejhuzoId4Zk= +cloud.google.com/go/aiplatform v1.51.1/go.mod h1:kY3nIMAVQOK2XDqDPHaOuD9e+FdMA6OOpfBjsvaFSOo= +cloud.google.com/go/analytics v0.21.4/go.mod h1:zZgNCxLCy8b2rKKVfC1YkC2vTrpfZmeRCySM3aUbskA= +cloud.google.com/go/apigateway v1.6.2/go.mod h1:CwMC90nnZElorCW63P2pAYm25AtQrHfuOkbRSHj0bT8= +cloud.google.com/go/apigeeconnect v1.6.2/go.mod h1:s6O0CgXT9RgAxlq3DLXvG8riw8PYYbU/v25jqP3Dy18= +cloud.google.com/go/apigeeregistry v0.7.2/go.mod h1:9CA2B2+TGsPKtfi3F7/1ncCCsL62NXBRfM6iPoGSM+8= +cloud.google.com/go/appengine v1.8.2/go.mod h1:WMeJV9oZ51pvclqFN2PqHoGnys7rK0rz6s3Mp6yMvDo= +cloud.google.com/go/area120 v0.8.2/go.mod h1:a5qfo+x77SRLXnCynFWPUZhnZGeSgvQ+Y0v1kSItkh4= +cloud.google.com/go/artifactregistry v1.14.3/go.mod h1:A2/E9GXnsyXl7GUvQ/2CjHA+mVRoWAXC0brg2os+kNI= +cloud.google.com/go/asset v1.15.1/go.mod h1:yX/amTvFWRpp5rcFq6XbCxzKT8RJUam1UoboE179jU4= +cloud.google.com/go/assuredworkloads v1.11.2/go.mod h1:O1dfr+oZJMlE6mw0Bp0P1KZSlj5SghMBvTpZqIcUAW4= +cloud.google.com/go/auth v0.7.2/go.mod h1:VEc4p5NNxycWQTMQEDQF0bd6aTMb6VgYDXEwiJJQAbs= +cloud.google.com/go/auth v0.15.0/go.mod h1:WJDGqZ1o9E9wKIL+IwStfyn/+s59zl4Bi+1KQNVXLZ8= +cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I= +cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= +cloud.google.com/go/automl v1.13.2/go.mod h1:gNY/fUmDEN40sP8amAX3MaXkxcqPIn7F1UIIPZpy4Mg= +cloud.google.com/go/baremetalsolution v1.2.1/go.mod h1:3qKpKIw12RPXStwQXcbhfxVj1dqQGEvcmA+SX/mUR88= +cloud.google.com/go/batch v1.5.1/go.mod h1:RpBuIYLkQu8+CWDk3dFD/t/jOCGuUpkpX+Y0n1Xccs8= +cloud.google.com/go/beyondcorp v1.0.1/go.mod h1:zl/rWWAFVeV+kx+X2Javly7o1EIQThU4WlkynffL/lk= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= +cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= +cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= +cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= +cloud.google.com/go/bigquery v1.56.0/go.mod h1:KDcsploXTEY7XT3fDQzMUZlpQLHzE4itubHrnmhUrZA= +cloud.google.com/go/billing v1.17.2/go.mod h1:u/AdV/3wr3xoRBk5xvUzYMS1IawOAPwQMuHgHMdljDg= +cloud.google.com/go/binaryauthorization v1.7.1/go.mod h1:GTAyfRWYgcbsP3NJogpV3yeunbUIjx2T9xVeYovtURE= +cloud.google.com/go/certificatemanager v1.7.2/go.mod h1:15SYTDQMd00kdoW0+XY5d9e+JbOPjp24AvF48D8BbcQ= +cloud.google.com/go/channel v1.17.1/go.mod h1:xqfzcOZAcP4b/hUDH0GkGg1Sd5to6di1HOJn/pi5uBQ= +cloud.google.com/go/cloudbuild v1.14.1/go.mod h1:K7wGc/3zfvmYWOWwYTgF/d/UVJhS4pu+HAy7PL7mCsU= +cloud.google.com/go/clouddms v1.7.1/go.mod h1:o4SR8U95+P7gZ/TX+YbJxehOCsM+fe6/brlrFquiszk= +cloud.google.com/go/cloudtasks v1.12.2/go.mod h1:A7nYkjNlW2gUoROg1kvJrQGhJP/38UaWwsnuBDOBVUk= +cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= +cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= +cloud.google.com/go/compute v1.27.4 h1:XM8ulx6crjdl09XBfji7viFgZOEQuIxBwKmjRH9Rtmc= +cloud.google.com/go/compute v1.27.4/go.mod h1:7JZS+h21ERAGHOy5qb7+EPyXlQwzshzrx1x6L9JhTqU= +cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= +cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= +cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= +cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +cloud.google.com/go/contactcenterinsights v1.11.1/go.mod h1:FeNP3Kg8iteKM80lMwSk3zZZKVxr+PGnAId6soKuXwE= +cloud.google.com/go/container v1.26.1/go.mod h1:5smONjPRUxeEpDG7bMKWfDL4sauswqEtnBK1/KKpR04= +cloud.google.com/go/containeranalysis v0.11.1/go.mod h1:rYlUOM7nem1OJMKwE1SadufX0JP3wnXj844EtZAwWLY= +cloud.google.com/go/datacatalog v1.18.1/go.mod h1:TzAWaz+ON1tkNr4MOcak8EBHX7wIRX/gZKM+yTVsv+A= +cloud.google.com/go/dataflow v0.9.2/go.mod h1:vBfdBZ/ejlTaYIGB3zB4T08UshH70vbtZeMD+urnUSo= +cloud.google.com/go/dataform v0.8.2/go.mod h1:X9RIqDs6NbGPLR80tnYoPNiO1w0wenKTb8PxxlhTMKM= +cloud.google.com/go/datafusion v1.7.2/go.mod h1:62K2NEC6DRlpNmI43WHMWf9Vg/YvN6QVi8EVwifElI0= +cloud.google.com/go/datalabeling v0.8.2/go.mod h1:cyDvGHuJWu9U/cLDA7d8sb9a0tWLEletStu2sTmg3BE= +cloud.google.com/go/dataplex v1.10.1/go.mod h1:1MzmBv8FvjYfc7vDdxhnLFNskikkB+3vl475/XdCDhs= +cloud.google.com/go/dataproc/v2 v2.2.1/go.mod h1:QdAJLaBjh+l4PVlVZcmrmhGccosY/omC1qwfQ61Zv/o= +cloud.google.com/go/dataqna v0.8.2/go.mod h1:KNEqgx8TTmUipnQsScOoDpq/VlXVptUqVMZnt30WAPs= +cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= +cloud.google.com/go/datastore v1.15.0/go.mod h1:GAeStMBIt9bPS7jMJA85kgkpsMkvseWWXiaHya9Jes8= +cloud.google.com/go/datastream v1.10.1/go.mod h1:7ngSYwnw95YFyTd5tOGBxHlOZiL+OtpjheqU7t2/s/c= +cloud.google.com/go/deploy v1.13.1/go.mod h1:8jeadyLkH9qu9xgO3hVWw8jVr29N1mnW42gRJT8GY6g= +cloud.google.com/go/dialogflow v1.44.1/go.mod h1:n/h+/N2ouKOO+rbe/ZnI186xImpqvCVj2DdsWS/0EAk= +cloud.google.com/go/dlp v1.10.2/go.mod h1:ZbdKIhcnyhILgccwVDzkwqybthh7+MplGC3kZVZsIOQ= +cloud.google.com/go/documentai v1.23.2/go.mod h1:Q/wcRT+qnuXOpjAkvOV4A+IeQl04q2/ReT7SSbytLSo= +cloud.google.com/go/domains v0.9.2/go.mod h1:3YvXGYzZG1Temjbk7EyGCuGGiXHJwVNmwIf+E/cUp5I= +cloud.google.com/go/edgecontainer v1.1.2/go.mod h1:wQRjIzqxEs9e9wrtle4hQPSR1Y51kqN75dgF7UllZZ4= +cloud.google.com/go/errorreporting v0.3.0/go.mod h1:xsP2yaAp+OAW4OIm60An2bbLpqIhKXdWR/tawvl7QzU= +cloud.google.com/go/essentialcontacts v1.6.3/go.mod h1:yiPCD7f2TkP82oJEFXFTou8Jl8L6LBRPeBEkTaO0Ggo= +cloud.google.com/go/eventarc v1.13.1/go.mod h1:EqBxmGHFrruIara4FUQ3RHlgfCn7yo1HYsu2Hpt/C3Y= +cloud.google.com/go/filestore v1.7.2/go.mod h1:TYOlyJs25f/omgj+vY7/tIG/E7BX369triSPzE4LdgE= +cloud.google.com/go/firestore v1.13.0/go.mod h1:QojqqOh8IntInDUSTAh0c8ZsPYAr68Ma8c5DWOy8xb8= +cloud.google.com/go/functions v1.15.2/go.mod h1:CHAjtcR6OU4XF2HuiVeriEdELNcnvRZSk1Q8RMqy4lE= +cloud.google.com/go/gkebackup v1.3.2/go.mod h1:OMZbXzEJloyXMC7gqdSB+EOEQ1AKcpGYvO3s1ec5ixk= +cloud.google.com/go/gkeconnect v0.8.2/go.mod h1:6nAVhwchBJYgQCXD2pHBFQNiJNyAd/wyxljpaa6ZPrY= +cloud.google.com/go/gkehub v0.14.2/go.mod h1:iyjYH23XzAxSdhrbmfoQdePnlMj2EWcvnR+tHdBQsCY= +cloud.google.com/go/gkemulticloud v1.0.1/go.mod h1:AcrGoin6VLKT/fwZEYuqvVominLriQBCKmbjtnbMjG8= +cloud.google.com/go/gsuiteaddons v1.6.2/go.mod h1:K65m9XSgs8hTF3X9nNTPi8IQueljSdYo9F+Mi+s4MyU= +cloud.google.com/go/iam v1.1.3/go.mod h1:3khUlaBXfPKKe7huYgEpDn6FtgRyMEqbkvBxrQyY5SE= +cloud.google.com/go/iap v1.9.1/go.mod h1:SIAkY7cGMLohLSdBR25BuIxO+I4fXJiL06IBL7cy/5Q= +cloud.google.com/go/ids v1.4.2/go.mod h1:3vw8DX6YddRu9BncxuzMyWn0g8+ooUjI2gslJ7FH3vk= +cloud.google.com/go/iot v1.7.2/go.mod h1:q+0P5zr1wRFpw7/MOgDXrG/HVA+l+cSwdObffkrpnSg= +cloud.google.com/go/kms v1.15.3/go.mod h1:AJdXqHxS2GlPyduM99s9iGqi2nwbviBbhV/hdmt4iOQ= +cloud.google.com/go/language v1.11.1/go.mod h1:Xyid9MG9WOX3utvDbpX7j3tXDmmDooMyMDqgUVpH17U= +cloud.google.com/go/lifesciences v0.9.2/go.mod h1:QHEOO4tDzcSAzeJg7s2qwnLM2ji8IRpQl4p6m5Z9yTA= +cloud.google.com/go/logging v1.8.1/go.mod h1:TJjR+SimHwuC8MZ9cjByQulAMgni+RkXeI3wwctHJEI= +cloud.google.com/go/longrunning v0.5.2/go.mod h1:nqo6DQbNV2pXhGDbDMoN2bWz68MjZUzqv2YttZiveCs= +cloud.google.com/go/managedidentities v1.6.2/go.mod h1:5c2VG66eCa0WIq6IylRk3TBW83l161zkFvCj28X7jn8= +cloud.google.com/go/maps v1.4.1/go.mod h1:BxSa0BnW1g2U2gNdbq5zikLlHUuHW0GFWh7sgML2kIY= +cloud.google.com/go/mediatranslation v0.8.2/go.mod h1:c9pUaDRLkgHRx3irYE5ZC8tfXGrMYwNZdmDqKMSfFp8= +cloud.google.com/go/memcache v1.10.2/go.mod h1:f9ZzJHLBrmd4BkguIAa/l/Vle6uTHzHokdnzSWOdQ6A= +cloud.google.com/go/metastore v1.13.1/go.mod h1:IbF62JLxuZmhItCppcIfzBBfUFq0DIB9HPDoLgWrVOU= +cloud.google.com/go/monitoring v1.16.1/go.mod h1:6HsxddR+3y9j+o/cMJH6q/KJ/CBTvM/38L/1m7bTRJ4= +cloud.google.com/go/networkconnectivity v1.14.1/go.mod h1:LyGPXR742uQcDxZ/wv4EI0Vu5N6NKJ77ZYVnDe69Zug= +cloud.google.com/go/networkmanagement v1.9.1/go.mod h1:CCSYgrQQvW73EJawO2QamemYcOb57LvrDdDU51F0mcI= +cloud.google.com/go/networksecurity v0.9.2/go.mod h1:jG0SeAttWzPMUILEHDUvFYdQTl8L/E/KC8iZDj85lEI= +cloud.google.com/go/notebooks v1.10.1/go.mod h1:5PdJc2SgAybE76kFQCWrTfJolCOUQXF97e+gteUUA6A= +cloud.google.com/go/optimization v1.5.1/go.mod h1:NC0gnUD5MWVAF7XLdoYVPmYYVth93Q6BUzqAq3ZwtV8= +cloud.google.com/go/orchestration v1.8.2/go.mod h1:T1cP+6WyTmh6LSZzeUhvGf0uZVmJyTx7t8z7Vg87+A0= +cloud.google.com/go/orgpolicy v1.11.2/go.mod h1:biRDpNwfyytYnmCRWZWxrKF22Nkz9eNVj9zyaBdpm1o= +cloud.google.com/go/osconfig v1.12.2/go.mod h1:eh9GPaMZpI6mEJEuhEjUJmaxvQ3gav+fFEJon1Y8Iw0= +cloud.google.com/go/oslogin v1.11.1/go.mod h1:OhD2icArCVNUxKqtK0mcSmKL7lgr0LVlQz+v9s1ujTg= +cloud.google.com/go/phishingprotection v0.8.2/go.mod h1:LhJ91uyVHEYKSKcMGhOa14zMMWfbEdxG032oT6ECbC8= +cloud.google.com/go/policytroubleshooter v1.9.1/go.mod h1:MYI8i0bCrL8cW+VHN1PoiBTyNZTstCg2WUw2eVC4c4U= +cloud.google.com/go/privatecatalog v0.9.2/go.mod h1:RMA4ATa8IXfzvjrhhK8J6H4wwcztab+oZph3c6WmtFc= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= +cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= +cloud.google.com/go/pubsub v1.33.0/go.mod h1:f+w71I33OMyxf9VpMVcZbnG5KSUkCOUHYpFd5U1GdRc= +cloud.google.com/go/pubsublite v1.8.1/go.mod h1:fOLdU4f5xldK4RGJrBMm+J7zMWNj/k4PxwEZXy39QS0= +cloud.google.com/go/recaptchaenterprise/v2 v2.8.1/go.mod h1:JZYZJOeZjgSSTGP4uz7NlQ4/d1w5hGmksVgM0lbEij0= +cloud.google.com/go/recommendationengine v0.8.2/go.mod h1:QIybYHPK58qir9CV2ix/re/M//Ty10OxjnnhWdaKS1Y= +cloud.google.com/go/recommender v1.11.1/go.mod h1:sGwFFAyI57v2Hc5LbIj+lTwXipGu9NW015rkaEM5B18= +cloud.google.com/go/redis v1.13.2/go.mod h1:0Hg7pCMXS9uz02q+LoEVl5dNHUkIQv+C/3L76fandSA= +cloud.google.com/go/resourcemanager v1.9.2/go.mod h1:OujkBg1UZg5lX2yIyMo5Vz9O5hf7XQOSV7WxqxxMtQE= +cloud.google.com/go/resourcesettings v1.6.2/go.mod h1:mJIEDd9MobzunWMeniaMp6tzg4I2GvD3TTmPkc8vBXk= +cloud.google.com/go/retail v1.14.2/go.mod h1:W7rrNRChAEChX336QF7bnMxbsjugcOCPU44i5kbLiL8= +cloud.google.com/go/run v1.3.1/go.mod h1:cymddtZOzdwLIAsmS6s+Asl4JoXIDm/K1cpZTxV4Q5s= +cloud.google.com/go/scheduler v1.10.2/go.mod h1:O3jX6HRH5eKCA3FutMw375XHZJudNIKVonSCHv7ropY= +cloud.google.com/go/secretmanager v1.11.2/go.mod h1:MQm4t3deoSub7+WNwiC4/tRYgDBHJgJPvswqQVB1Vss= +cloud.google.com/go/security v1.15.2/go.mod h1:2GVE/v1oixIRHDaClVbHuPcZwAqFM28mXuAKCfMgYIg= +cloud.google.com/go/securitycenter v1.23.1/go.mod h1:w2HV3Mv/yKhbXKwOCu2i8bCuLtNP1IMHuiYQn4HJq5s= +cloud.google.com/go/servicedirectory v1.11.1/go.mod h1:tJywXimEWzNzw9FvtNjsQxxJ3/41jseeILgwU/QLrGI= +cloud.google.com/go/shell v1.7.2/go.mod h1:KqRPKwBV0UyLickMn0+BY1qIyE98kKyI216sH/TuHmc= +cloud.google.com/go/spanner v1.50.0/go.mod h1:eGj9mQGK8+hkgSVbHNQ06pQ4oS+cyc4tXXd6Dif1KoM= +cloud.google.com/go/speech v1.19.1/go.mod h1:WcuaWz/3hOlzPFOVo9DUsblMIHwxP589y6ZMtaG+iAA= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= +cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= +cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= +cloud.google.com/go/storagetransfer v1.10.1/go.mod h1:rS7Sy0BtPviWYTTJVWCSV4QrbBitgPeuK4/FKa4IdLs= +cloud.google.com/go/talent v1.6.3/go.mod h1:xoDO97Qd4AK43rGjJvyBHMskiEf3KulgYzcH6YWOVoo= +cloud.google.com/go/texttospeech v1.7.2/go.mod h1:VYPT6aTOEl3herQjFHYErTlSZJ4vB00Q2ZTmuVgluD4= +cloud.google.com/go/tpu v1.6.2/go.mod h1:NXh3NDwt71TsPZdtGWgAG5ThDfGd32X1mJ2cMaRlVgU= +cloud.google.com/go/trace v1.10.2/go.mod h1:NPXemMi6MToRFcSxRl2uDnu/qAlAQ3oULUphcHGh1vA= +cloud.google.com/go/translate v1.9.1/go.mod h1:TWIgDZknq2+JD4iRcojgeDtqGEp154HN/uL6hMvylS8= +cloud.google.com/go/video v1.20.1/go.mod h1:3gJS+iDprnj8SY6pe0SwLeC5BUW80NjhwX7INWEuWGU= +cloud.google.com/go/videointelligence v1.11.2/go.mod h1:ocfIGYtIVmIcWk1DsSGOoDiXca4vaZQII1C85qtoplc= +cloud.google.com/go/vision/v2 v2.7.3/go.mod h1:V0IcLCY7W+hpMKXK1JYE0LV5llEqVmj+UJChjvA1WsM= +cloud.google.com/go/vmmigration v1.7.2/go.mod h1:iA2hVj22sm2LLYXGPT1pB63mXHhrH1m/ruux9TwWLd8= +cloud.google.com/go/vmwareengine v1.0.1/go.mod h1:aT3Xsm5sNx0QShk1Jc1B8OddrxAScYLwzVoaiXfdzzk= +cloud.google.com/go/vpcaccess v1.7.2/go.mod h1:mmg/MnRHv+3e8FJUjeSibVFvQF1cCy2MsFaFqxeY1HU= +cloud.google.com/go/webrisk v1.9.2/go.mod h1:pY9kfDgAqxUpDBOrG4w8deLfhvJmejKB0qd/5uQIPBc= +cloud.google.com/go/websecurityscanner v1.6.2/go.mod h1:7YgjuU5tun7Eg2kpKgGnDuEOXWIrh8x8lWrJT4zfmas= +cloud.google.com/go/workflows v1.12.1/go.mod h1:5A95OhD/edtOhQd/O741NSfIMezNTbCwLM1P1tBRGHM= +github.com/Azure/azure-sdk-for-go v46.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go v55.0.0+incompatible h1:L4/vUGbg1Xkw5L20LZD+hJI5I+ibWSytqQ68lTCfLwY= +github.com/Azure/azure-sdk-for-go v55.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-autorest/autorest v0.11.6/go.mod h1:V6p3pKZx1KKkJubbxnDWrzNhEIfOy/pTGasLqzHIPHs= +github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= +github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= +github.com/Azure/go-autorest/autorest/adal v0.9.4/go.mod h1:/3SMAM86bP6wC9Ev35peQDUeqFZBMH07vvUOmg4z/fE= +github.com/Azure/go-autorest/autorest/adal v0.9.13 h1:Mp5hbtOePIzM8pJVRa3YLrWWmZtoxRXqUEzCfJt3+/Q= +github.com/Azure/go-autorest/autorest/adal v0.9.13/go.mod h1:W/MM4U6nLxnIskrw4UwWzlHfGjwUS50aOsc/I3yuU8M= +github.com/Azure/go-autorest/autorest/adal v0.9.21/go.mod h1:zua7mBUaCc5YnSLKYgGJR/w5ePdMDA6H56upLsHzA9U= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.2 h1:R1pgoZkhXuv4+0ky9r3e5pcnRXWcXGIuPXpC/xkc7uI= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.2/go.mod h1:q98IH4qgc3eWM4/WOeR5+YPmBuy8Lq0jNRDwSM0CuFk= +github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW2NCJ08uT9VBfjfUHpgLVnG2InYD6cg= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.1 h1:jwcD1wURu0+hKceV04MubZmKLzwEYOCz6q4aOtVZ+Ng= +github.com/Azure/go-autorest/autorest/azure/cli v0.4.1/go.mod h1:JfDgiIO1/RPu6z42AdQTyjOoCM2MFhLqSBDvMEkDgcg= +github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= +github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b/go.mod h1:FNj4KYEAAHfYu68kRYolGoxkaJn+6mdEsaM12VTwuI0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= github.com/Microsoft/hnslib v0.1.1/go.mod h1:DRQR4IjLae6WHYVhW7uqe44hmFUiNhmaWA+jwMbz5tM= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= @@ -14,44 +224,417 @@ github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod h1:F7bn7fEU90QkQ3tnmaTx3 github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-lambda-go v1.41.0/go.mod h1:jwFe2KmMsHmffA1X2R09hH6lFzJQxzI8qK17ewzbQMM= +<<<<<<< HEAD github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +======= +github.com/aws/aws-sdk-go-v2 v1.7.1/go.mod h1:L5LuPC1ZgDr2xQS7AmIec/Jlc7O/Y1u2KxJyNVab250= +github.com/aws/aws-sdk-go-v2 v1.36.1 h1:iTDl5U6oAhkNPba0e1t1hrwAo02ZMqbrGq4k5JBWM5E= +github.com/aws/aws-sdk-go-v2 v1.36.1/go.mod h1:5PMILGVKiW32oDzjj6RU52yrNrDPUHcbZQYr1sM7qmM= +github.com/aws/aws-sdk-go-v2 v1.39.6 h1:2JrPCVgWJm7bm83BDwY5z8ietmeJUbh3O2ACnn+Xsqk= +github.com/aws/aws-sdk-go-v2 v1.39.6/go.mod h1:c9pm7VwuW0UPxAEYGyTmyurVcNrbF6Rt/wixFqDhcjE= +github.com/aws/aws-sdk-go-v2/config v1.5.0/go.mod h1:RWlPOAW3E3tbtNAqTwvSW54Of/yP3oiZXMI0xfUdjyA= +github.com/aws/aws-sdk-go-v2/config v1.29.6 h1:fqgqEKK5HaZVWLQoLiC9Q+xDlSp+1LYidp6ybGE2OGg= +github.com/aws/aws-sdk-go-v2/config v1.29.6/go.mod h1:Ft+WLODzDQmCTHDvqAH1JfC2xxbZ0MxpZAcJqmE1LTQ= +github.com/aws/aws-sdk-go-v2/config v1.31.19 h1:qdUtOw4JhZr2YcKO3g0ho/IcFXfXrrb8xlX05Y6EvSw= +github.com/aws/aws-sdk-go-v2/config v1.31.19/go.mod h1:tMJ8bur01t8eEm0atLadkIIFA154OJ4JCKZeQ+o+R7k= +github.com/aws/aws-sdk-go-v2/credentials v1.3.1/go.mod h1:r0n73xwsIVagq8RsxmZbGSRQFj9As3je72C2WzUIToc= +github.com/aws/aws-sdk-go-v2/credentials v1.17.59 h1:9btwmrt//Q6JcSdgJOLI98sdr5p7tssS9yAsGe8aKP4= +github.com/aws/aws-sdk-go-v2/credentials v1.17.59/go.mod h1:NM8fM6ovI3zak23UISdWidyZuI1ghNe2xjzUZAyT+08= +github.com/aws/aws-sdk-go-v2/credentials v1.18.23 h1:IQILcxVgMO2BVLaJ2aAv21dKWvE1MduNrbvuK43XL2Q= +github.com/aws/aws-sdk-go-v2/credentials v1.18.23/go.mod h1:JRodHszhVdh5TPUknxDzJzrMiznG+M+FfR3WSWKgCI8= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.3.0/go.mod h1:2LAuqPx1I6jNfaGDucWfA2zqQCYCOMCDHiCOciALyNw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28 h1:KwsodFKVQTlI5EyhRSugALzsV6mG/SGrdjlMXSZSdso= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28/go.mod h1:EY3APf9MzygVhKuPXAc5H+MkGb8k/DOSQjWS0LgkKqI= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13 h1:T1brd5dR3/fzNFAQch/iBKeX07/ffu/cLu+q+RuzEWk= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13/go.mod h1:Peg/GBAQ6JDt+RoBf4meB1wylmAipb7Kg2ZFakZTlwk= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32 h1:BjUcr3X3K0wZPGFg2bxOWW3VPN8rkE3/61zhP+IHviA= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32/go.mod h1:80+OGC/bgzzFFTUmcuwD0lb4YutwQeKLFpmt6hoWapU= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13 h1:a+8/MLcWlIxo1lF9xaGt3J/u3yOZx+CdSveSNwjhD40= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13/go.mod h1:oGnKwIYZ4XttyU2JWxFrwvhF6YKiK/9/wmE3v3Iu9K8= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32 h1:m1GeXHVMJsRsUAqG6HjZWx9dj7F5TR+cF1bjyfYyBd4= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32/go.mod h1:IitoQxGfaKdVLNg0hD8/DXmAqNy0H4K2H2Sf91ti8sI= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13 h1:HBSI2kDkMdWz4ZM7FjwE7e/pWDEZ+nR95x8Ztet1ooY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13/go.mod h1:YE94ZoDArI7awZqJzBAZ3PDD2zSfuP7w6P2knOzIn8M= +github.com/aws/aws-sdk-go-v2/internal/ini v1.1.1/go.mod h1:Zy8smImhTdOETZqfyn01iNOe0CNggVbPjCajyaz6Gvg= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc= +github.com/aws/aws-sdk-go-v2/service/ecr v1.4.1/go.mod h1:FglZcyeiBqcbvyinl+n14aT/EWC7S1MIH+Gan2iizt0= +github.com/aws/aws-sdk-go-v2/service/ecr v1.40.3 h1:a+210FCU/pR5hhKRaskRfX/ogcyyzFBrehcTk5DTAyU= +github.com/aws/aws-sdk-go-v2/service/ecr v1.40.3/go.mod h1:dtD3a4sjUjVL86e0NUvaqdGvds5ED6itUiZPDaT+Gh8= +github.com/aws/aws-sdk-go-v2/service/ecr v1.51.3 h1:+0AhrMCsfRxzlojjbJBOOBO1Ka5t1VsF28g+eHYbyEI= +github.com/aws/aws-sdk-go-v2/service/ecr v1.51.3/go.mod h1:1NVD1KuMjH2GqnPwMotPndQaT/MreKkWpjkF12d6oKU= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.4.1/go.mod h1:eD5Eo4drVP2FLTw0G+SMIPWNWvQRGGTtIZR2XeAagoA= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.31.2 h1:E6/Myrj9HgLF22medmDrKmbpm4ULsa+cIBNx3phirBk= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.31.2/go.mod h1:OQ8NALFcchBJ/qruak6zKUQodovnTKKaReTuCkc5/9Y= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.3 h1:2Mfho1EDuk815vcGZbiGsOY6mMGPMCsJTx2dWZdWudI= +github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.3/go.mod h1:x7gU4CAyAz4BsM9hlRkhHiYw2GIr1QCmN45uwQw9l/E= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 h1:x2Ibm/Af8Fi+BH+Hsn9TXGdT+hKbDd5XOTZxTMxDk7o= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3/go.mod h1:IW1jwyrQgMdhisceG8fQLmQIydcT/jWY21rFhzgaKwo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.2.1/go.mod h1:zceowr5Z1Nh2WVP8bf/3ikB41IZW59E4yIYbg+pC6mw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13 h1:SYVGSFQHlchIcy6e7x12bsrxClCXSP5et8cqVhL8cuw= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13/go.mod h1:kizuDaLX37bG5WZaoxGPQR/LNFXpxp0vsUnqfkWXfNE= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 h1:kDqdFvMY4AtKoACfzIGD8A0+hbT41KTKF//gq7jITfM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13/go.mod h1:lmKuogqSU3HzQCwZ9ZtcqOc5XGMqtDK7OIc2+DxiUEg= +github.com/aws/aws-sdk-go-v2/service/sso v1.3.1/go.mod h1:J3A3RGUvuCZjvSuZEcOpHDnzZP/sKbhDWV2T1EOzFIM= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.15 h1:/eE3DogBjYlvlbhd2ssWyeuovWunHLxfgw3s/OJa4GQ= +github.com/aws/aws-sdk-go-v2/service/sso v1.24.15/go.mod h1:2PCJYpi7EKeA5SkStAmZlF6fi0uUABuhtF8ILHjGc3Y= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.2 h1:/p6MxkbQoCzaGQT3WO0JwG0FlQyG9RD8VmdmoKc5xqU= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.2/go.mod h1:fKvyjJcz63iL/ftA6RaM8sRCtN4r4zl4tjL3qw5ec7k= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14 h1:M/zwXiL2iXUrHputuXgmO94TVNmcenPHxgLXLutodKE= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14/go.mod h1:RVwIw3y/IqxC2YEXSIkAzRDdEU1iRabDPaYjpGCbCGQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.6 h1:0dES42T2dhICCbVB3JSTTn7+Bz93wfJEK1b7jksZIyQ= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.6/go.mod h1:klO+ejMvYsB4QATfEOIXk8WAEwN4N0aBfJpvC+5SZBo= +github.com/aws/aws-sdk-go-v2/service/sts v1.6.0/go.mod h1:q7o0j7d7HrJk/vr9uUt3BVRASvcU7gYZB9PUgPiByXg= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 h1:TzeR06UCMUq+KA3bDkujxK1GVGy+G8qQN/QVYzGLkQE= +github.com/aws/aws-sdk-go-v2/service/sts v1.33.14/go.mod h1:dspXf/oYWGWo6DEvj98wpaTeqt5+DMidZD0A9BYTizc= +github.com/aws/aws-sdk-go-v2/service/sts v1.40.1 h1:5sbIM57lHLaEaNWdIx23JH30LNBsSDkjN/QXGcRLAFc= +github.com/aws/aws-sdk-go-v2/service/sts v1.40.1/go.mod h1:E19xDjpzPZC7LS2knI9E6BaRFDK43Eul7vd6rSq2HWk= +github.com/aws/smithy-go v1.6.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= +github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= +github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= +github.com/aws/smithy-go v1.23.2 h1:Crv0eatJUQhaManss33hS5r40CG3ZFH+21XSkqMrIUM= +github.com/aws/smithy-go v1.23.2/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220517224237-e6f29200ae04/go.mod h1:Z+bXnIbhKJYSvxNwsNnwde7pDKxuqlEZCbUBoTwAqf0= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 h1:GOPttfOAf5qAgx7r6b+zCWZrvCsfKffkL4H6mSYx1kA= +github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0/go.mod h1:a2HN6+p7k0JLDO8514sMr0l4cnrR52z4sWoZ/Uc82ho= +github.com/bazelbuild/bazelisk v1.13.2/go.mod h1:jVD8/E7hMAXgWKCljEz8hOV0PZ+nFBgCpjIOJ6Xyzus= +github.com/bazelbuild/rules_go v0.34.0/go.mod h1:MC23Dc/wkXEyk3Wpq6lCqz0ZAYOZDw2DR5y3N1q2i7M= +github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/bmatcuk/doublestar v1.2.1 h1:eetYiv8DDYOZcBADY+pRvRytf3Dlz1FhnpvL2FsClBc= +github.com/bmatcuk/doublestar v1.2.1/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= +github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= +github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= +github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= +<<<<<<< HEAD github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5/go.mod h1:KdCmV+x/BuvyMxRnYBlmVaq4OLiKW6iRQfvC62cvdkI= +======= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= +github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= +github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= +github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= +github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= +github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= +github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= +github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= +github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= +github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/compose-spec/compose-go/v2 v2.9.1 h1:8UwI+ujNU+9Ffkf/YgAm/qM9/eU7Jn8nHzWG721W4rs= +github.com/compose-spec/compose-go/v2 v2.9.1/go.mod h1:Oky9AZGTRB4E+0VbTPZTUu4Kp+oEMMuwZXZtPPVT1iE= +github.com/container-storage-interface/spec v1.8.0/go.mod h1:ROLik+GhPslwwWRNFF1KasPzroNARibH2rfz1rkg4H0= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/container-storage-interface/spec v1.9.0/go.mod h1:ZfDu+3ZRyeVqxZM0Ds19MVLkN2d1XJ5MAfi1L3VjlT0= github.com/containerd/containerd/api v1.8.0/go.mod h1:dFv4lt6S20wTu/hMcP4350RL87qPWLVa/OHOwmmdnYc= +<<<<<<< HEAD +======= +github.com/containerd/errdefs v0.1.0/go.mod h1:YgWiiHtLmSeBrvpw+UfPijzbLaB77mEG1WwJTDETIV0= +github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= +github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= +github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= +github.com/containerd/stargz-snapshotter/estargz v0.18.1 h1:cy2/lpgBXDA3cDKSyEfNOFMA/c10O1axL69EU7iirO8= +github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q= +github.com/containerd/ttrpc v1.2.2/go.mod h1:sIT6l32Ph/H9cvnJsfXM5drIVzTr5A2flTf1G5tYZak= +github.com/containerd/ttrpc v1.2.5/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/containerd/ttrpc v1.2.6/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= github.com/containerd/typeurl/v2 v2.2.2/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= github.com/coredns/corefile-migration v1.0.26/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= +<<<<<<< HEAD +github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +======= +github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/cppforlife/cobrautil v0.0.0-20221021151949-d60711905d65/go.mod h1:2w+qxVu2KSGW78Ex/XaIqfh/OvBgjEsmN53S4T8vEyA= +github.com/cppforlife/go-cli-ui v0.0.0-20220425131040-94f26b16bc14/go.mod h1:AlgTssDlstr4mf92TR4DPITLfl5+7wEY4cKStCmeeto= +github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad h1:PaYhzcFC4VCmlBNWLshK0VxWJyb5J+AdnrwR6hnfe+A= +github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad/go.mod h1:xZhzUOhCF76o47bEulESCNzmvP4xbwRFUSpN62Zu9FI= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +<<<<<<< HEAD +======= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= +github.com/cyphar/filepath-securejoin v0.3.4/go.mod h1:8s/MCNJREmFK0H02MF6Ihv1nakJe4L/w3WZLHNkvlYM= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/danieljoos/wincred v1.2.3/go.mod h1:6qqX0WNrS4RzPZ1tnroDzq9kY3fu1KwE7MRLQK4X0bs= +<<<<<<< HEAD +======= +github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c= +github.com/dimchansky/utfbom v1.1.0 h1:FcM3g+nofKgUteL8dm/UpdRXNC9KmADgTpLKsu0TRo4= +github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/docker/cli v24.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v27.5.0+incompatible h1:aMphQkcGtpHixwwhAXJT1rrK/detk2JIvDaFkLctbGM= +github.com/docker/cli v27.5.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.0.0+incompatible h1:KgsN2RUFMNM8wChxryicn4p46BdQWpXOA1XLGBGPGAw= +github.com/docker/cli v29.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v24.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v27.5.0+incompatible h1:um++2NcQtGRTz5eEgO6aJimo6/JxrTXC941hd05JO6U= +github.com/docker/docker v27.5.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v28.0.2+incompatible h1:9BILleFwug5FSSqWBgVevgL3ewDJfWWWyZVqlDMttE8= +github.com/docker/docker v28.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= +github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= +github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= +github.com/docker/docker-credential-helpers v0.9.4 h1:76ItO69/AP/V4yT9V4uuuItG0B1N8hvt0T0c0NN/DzI= +github.com/docker/docker-credential-helpers v0.9.4/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= +github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= +github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= +github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= +github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epTksy9HQ1MyrbDXSdYhM= github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= +<<<<<<< HEAD github.com/envoyproxy/go-control-plane v0.14.0/go.mod h1:NcS5X47pLl/hfqxU70yPwL9ZMkUlwlKxtAohpi2wBEU= github.com/envoyproxy/go-control-plane/envoy v1.36.0/go.mod h1:ty89S1YCCVruQAm9OtKeEkQLTb+Lkz0k8v9W0Oxsv98= +======= +github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= +github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= +github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= +github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= +github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= +github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQLaTEw+YhGluxZkrTmD0g= +github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= +github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= +github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA= +github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.3.0/go.mod h1:HvYl7zwPa5mffgyeTUHA9zHIH36nmrm7oCbo4YKoSWA= github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +<<<<<<< HEAD github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= +======= +github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= +github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= +github.com/fxamacker/cbor/v2 v2.6.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= +github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/getkin/kin-openapi v0.81.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= +github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-jose/go-jose/v4 v4.1.2/go.mod h1:22cg9HWM1pOlnRiY+9cQYJ9XHmya1bYW8OeDM6Ku6Oo= +github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= +github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= +github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= +github.com/go-logr/logr v1.2.0/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= +github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +<<<<<<< HEAD +======= +github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= +github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= +github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= +github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= +github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= +github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= +github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +<<<<<<< HEAD +======= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= +github.com/go-openapi/jsonpointer v0.22.1 h1:sHYI1He3b9NqJ4wXLoJDKmUmHkWy/L7rtEo92JUxBNk= +github.com/go-openapi/jsonpointer v0.22.1/go.mod h1:pQT9OsLkfz1yWoMgYFy4x3U5GY5nUlsOn1qSBH5MkCM= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= +github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= +github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= +github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= +github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +<<<<<<< HEAD +======= +github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/jsonreference v0.21.3 h1:96Dn+MRPa0nYAR8DR1E03SblB5FJvh7W6krPI0Z7qMc= +github.com/go-openapi/jsonreference v0.21.3/go.mod h1:RqkUP0MrLf37HqxZxrIAtTWW4ZJIK1VzduhXYBEeGc4= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= +github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= +github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= +github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +<<<<<<< HEAD +======= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= +github.com/go-openapi/swag v0.25.1 h1:6uwVsx+/OuvFVPqfQmOOPsqTcm5/GkBhNwLqIR916n8= +github.com/go-openapi/swag v0.25.1/go.mod h1:bzONdGlT0fkStgGPd3bhZf1MnuPkf2YAys6h+jZipOo= +github.com/go-openapi/swag/cmdutils v0.25.1 h1:nDke3nAFDArAa631aitksFGj2omusks88GF1VwdYqPY= +github.com/go-openapi/swag/cmdutils v0.25.1/go.mod h1:pdae/AFo6WxLl5L0rq87eRzVPm/XRHM3MoYgRMvG4A0= +github.com/go-openapi/swag/conv v0.25.1 h1:+9o8YUg6QuqqBM5X6rYL/p1dpWeZRhoIt9x7CCP+he0= +github.com/go-openapi/swag/conv v0.25.1/go.mod h1:Z1mFEGPfyIKPu0806khI3zF+/EUXde+fdeksUl2NiDs= +github.com/go-openapi/swag/fileutils v0.25.1 h1:rSRXapjQequt7kqalKXdcpIegIShhTPXx7yw0kek2uU= +github.com/go-openapi/swag/fileutils v0.25.1/go.mod h1:+NXtt5xNZZqmpIpjqcujqojGFek9/w55b3ecmOdtg8M= +github.com/go-openapi/swag/jsonname v0.25.1 h1:Sgx+qbwa4ej6AomWC6pEfXrA6uP2RkaNjA9BR8a1RJU= +github.com/go-openapi/swag/jsonname v0.25.1/go.mod h1:71Tekow6UOLBD3wS7XhdT98g5J5GR13NOTQ9/6Q11Zo= +github.com/go-openapi/swag/jsonutils v0.25.1 h1:AihLHaD0brrkJoMqEZOBNzTLnk81Kg9cWr+SPtxtgl8= +github.com/go-openapi/swag/jsonutils v0.25.1/go.mod h1:JpEkAjxQXpiaHmRO04N1zE4qbUEg3b7Udll7AMGTNOo= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.1/go.mod h1:kjmweouyPwRUEYMSrbAidoLMGeJ5p6zdHi9BgZiqmsg= +github.com/go-openapi/swag/loading v0.25.1 h1:6OruqzjWoJyanZOim58iG2vj934TysYVptyaoXS24kw= +github.com/go-openapi/swag/loading v0.25.1/go.mod h1:xoIe2EG32NOYYbqxvXgPzne989bWvSNoWoyQVWEZicc= +github.com/go-openapi/swag/mangling v0.25.1 h1:XzILnLzhZPZNtmxKaz/2xIGPQsBsvmCjrJOWGNz/ync= +github.com/go-openapi/swag/mangling v0.25.1/go.mod h1:CdiMQ6pnfAgyQGSOIYnZkXvqhnnwOn997uXZMAd/7mQ= +github.com/go-openapi/swag/netutils v0.25.1 h1:2wFLYahe40tDUHfKT1GRC4rfa5T1B4GWZ+msEFA4Fl4= +github.com/go-openapi/swag/netutils v0.25.1/go.mod h1:CAkkvqnUJX8NV96tNhEQvKz8SQo2KF0f7LleiJwIeRE= +github.com/go-openapi/swag/stringutils v0.25.1 h1:Xasqgjvk30eUe8VKdmyzKtjkVjeiXx1Iz0zDfMNpPbw= +github.com/go-openapi/swag/stringutils v0.25.1/go.mod h1:JLdSAq5169HaiDUbTvArA2yQxmgn4D6h4A+4HqVvAYg= +github.com/go-openapi/swag/typeutils v0.25.1 h1:rD/9HsEQieewNt6/k+JBwkxuAHktFtH3I3ysiFZqukA= +github.com/go-openapi/swag/typeutils v0.25.1/go.mod h1:9McMC/oCdS4BKwk2shEB7x17P6HmMmA6dQRtAkSnNb8= +github.com/go-openapi/swag/yamlutils v0.25.1 h1:mry5ez8joJwzvMbaTGLhw8pXUnhDK91oSJLDPF1bmGk= +github.com/go-openapi/swag/yamlutils v0.25.1/go.mod h1:cm9ywbzncy3y6uPm/97ysW8+wZ09qsks+9RS8fLWKqg= +github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= +github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/google/cadvisor v0.52.1/go.mod h1:OAhPcx1nOm5YwMh/JhpUOMKyv1YKLRtS9KgzWPndHmA= +<<<<<<< HEAD +github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +======= +github.com/google/cel-go v0.12.7/go.mod h1:Jk7ljRzLBhkmiAwBoUxB1sZSCVBAzkqPF25olK/iRDw= +github.com/google/cel-go v0.17.7/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY= +github.com/google/cel-go v0.17.8/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY= +github.com/google/cel-go v0.22.0 h1:b3FJZxpiv1vTMo2/5RDUqAHPxkT8mmMfJIrq1llbf7g= +github.com/google/cel-go v0.22.0/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8= +github.com/google/cel-go v0.23.2 h1:UdEe3CvQh3Nv+E/j9r1Y//WO0K0cSyD7/y0bzyLIMI4= +github.com/google/cel-go v0.23.2/go.mod h1:52Pb6QsDbC5kvgxvZhiL9QX1oZEkcUF/ZqaPx1J5Wwo= +github.com/google/cel-go v0.24.1 h1:jsBCtxG8mM5wiUJDSGUqU0K7Mtr3w7Eyv00rw4DiZxI= +github.com/google/cel-go v0.24.1/go.mod h1:Hdf9TqOaTNSFQA1ybQaRqATVoK7m/zcf7IMhGXP5zI8= +github.com/google/cel-go v0.26.1 h1:iPbVVEdkhTX++hpe3lzSk7D3G3QSYqLGoHOcEio+UXQ= +github.com/google/cel-go v0.26.1/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= +github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= +github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= +github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= +github.com/google/go-containerregistry v0.17.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= +github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo= +github.com/google/go-containerregistry v0.20.6 h1:cvWX87UxxLgaH76b4hIvya6Dzz9qHB31qAwjAohdSTU= +github.com/google/go-containerregistry v0.20.6/go.mod h1:T0x8MuoAoKX/873bkeSfLD2FAkwCDf9/HZgsFJ02E2Y= +github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= +github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= +github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= +github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= +github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/pprof v0.0.0-20250315033105-103756e64e1d/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= +github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= +github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 h1:SJ+NtwL6QaZ21U+IrK7d0gGgpjGGvd2kz+FzTHVzdqI= +github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2/go.mod h1:Tv1PlzqC9t8wNnpPdctvtSUOPUUg4SHeE6vR1Ir2hmg= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= +github.com/googleapis/enterprise-certificate-proxy v0.3.5/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= +github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= +github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= +github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA= +github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= +github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= +github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1/go.mod h1:lXGCsh6c22WGtjr+qGHj1otzZpV/1kwTMAqkwZsnWRU= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.0/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc= +<<<<<<< HEAD +======= +github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= +github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= +github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= +github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/ishidawataru/sctp v0.0.0-20250521072954-ae8eb7fa7995/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= @@ -64,80 +647,861 @@ github.com/k14s/semver/v4 v4.0.1-0.20210701191048-266d47ac6115/go.mod h1:mGrnmO5 github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= github.com/kisielk/errcheck v1.8.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= +<<<<<<< HEAD +======= +github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= +github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= +github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= +github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co= +github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0= +github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= +github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +<<<<<<< HEAD +======= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= +<<<<<<< HEAD github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +======= +github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= +github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= +github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= +github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= +github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= +github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.11.2/go.mod h1:VzB2VoMh1Y32/QqDfg9ZJYHj99oM4LiGtqPZydTiQSQ= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/moby/ipvs v1.1.0/go.mod h1:4VJMWuf098bsUMmZEiD4Tjk/O7mOn3l1PTD3s4OoYAs= +<<<<<<< HEAD +======= +github.com/moby/moby v27.1.1+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= +github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4= +github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= +<<<<<<< HEAD +======= +github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= +github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= +github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= +github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/mrunalp/fileutils v0.5.1/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +<<<<<<< HEAD +======= +github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= +github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI= +github.com/onsi/ginkgo/v2 v2.23.0/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= +github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/gomega v1.34.2/go.mod h1:v1xfxRgk0KIsG+QOdm7p8UosrOzPYRo60fd3B/1Dukc= +github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/opencontainers/cgroups v0.0.1/go.mod h1:s8lktyhlGUqM7OSRL5P7eAW6Wb+kWPNvt4qvVfzA5vs= github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.11.1/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE= +<<<<<<< HEAD +======= +github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11 h1:eTNDkNRNV5lZvUbVM9Nop0lBcljSnA8rZX6yQPZ0ZnU= +github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11/go.mod h1:EmVJt97N+pfWFsli/ipXTBZqSG5F5KGQhm3c3IsGq1o= +github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231 h1:8lSGufji9rfiyDxtUl7A4uOyeeP4x0UOOXcsDBFfkGI= +github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231/go.mod h1:sTxJ4ZFW9r9fEdbW2v0yMRi6NcyTbx0fII4p83IQ+L8= +github.com/openshift/generic-admission-server v1.14.1-0.20231020105858-8dcc3c9b298f/go.mod h1:/CLsleDcQ6AFTGKJe9VL3Y4rB9DqX3fQwQv47q2/ZJc= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/openshift/generic-admission-server v1.14.1-0.20240926143655-a882ebf9df19/go.mod h1:eNpBvr/3zce6zLOeCtBw48xbCp8SLAmQqu/rb7vFE9Y= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= +<<<<<<< HEAD github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= +======= +github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= +github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI= +github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= +github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= +github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= +github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= +github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= +github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= +github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= +github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= +github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= +github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= +github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= +github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= +github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= +<<<<<<< HEAD +github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= +======= +github.com/prometheus/common v0.67.2 h1:PcBAckGFTIHt2+L3I33uNRTlKTplNzFctXcWhPyAEN8= +github.com/prometheus/common v0.67.2/go.mod h1:63W3KZb1JOKgcjlIr64WW/LvFGAqKPj0atm+knVGEko= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= +github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= +github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= +github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= +github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= +github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= +github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= +github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= +github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= +github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= +github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= +github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= +github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= +github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= +github.com/seccomp/libseccomp-golang v0.10.0/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +<<<<<<< HEAD github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= +======= +github.com/spf13/cobra v1.2.0/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= +github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= +github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= +github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +<<<<<<< HEAD +github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +======= +github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= +github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +>>>>>>> 90af4d3c (Updates to docker-extension) +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= +github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stoewer/go-strcase v1.3.1 h1:iS0MdW+kVTxgMoE1LAZyMiYJFKlOzLooE4MxjirtkAs= +github.com/stoewer/go-strcase v1.3.1/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= +github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= +github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= +<<<<<<< HEAD +======= +github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY= +github.com/vbatts/tar-split v0.11.6 h1:4SjTW5+PU11n6fZenf2IPoV8/tz3AaYHMWjf23envGs= +github.com/vbatts/tar-split v0.11.6/go.mod h1:dqKNtesIOr2j2Qv3W/cHjnvk9I8+G7oAkFDFN6TCBEI= +github.com/vbatts/tar-split v0.12.2 h1:w/Y6tjxpeiFMR47yzZPlPj/FcPLpXbTUi/9H7d3CPa4= +github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= +github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= +github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/vishvananda/netlink v1.3.1/go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4= github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= +<<<<<<< HEAD +======= +github.com/vito/go-interact v1.0.2 h1:viJuANio3WH9utUG4rKbJC9V3JR5JgYNS+i0efeA+GU= +github.com/vito/go-interact v1.0.2/go.mod h1:s+y0jK9Z2etBYt5ZM6+DhpOsE5C7NNGC3jrJvW0BBpc= +github.com/vmware-tanzu/carvel-imgpkg v0.36.0 h1:ha5a3WUPaqpGlP+QRkKBA9WyT85vUPh7+57x94Cmj58= +github.com/vmware-tanzu/carvel-imgpkg v0.36.0/go.mod h1:8HeIt+froyx7iRjyZ/4py2wFMPXEFNyWUNUTQgAjD8M= +github.com/vmware-tanzu/carvel-imgpkg v0.38.2/go.mod h1:v9BcO1qfXwwIQFw2zmksdUkx8eI1e+/a0Md3xG2BzDE= +github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= +>>>>>>> e681bce4 (Updates to docker-extension) github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= +<<<<<<< HEAD +======= +go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= +go.etcd.io/etcd/api/v3 v3.5.8/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= +go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= +go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= +go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= +go.etcd.io/etcd/client/pkg/v3 v3.5.8/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= +go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= +go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= +go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= +go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= +go.etcd.io/etcd/client/v2 v2.305.16/go.mod h1:h9YxWCzcdvZENbfzBTFCnoNumr2ax3F19sKMqHFmXHE= +go.etcd.io/etcd/client/v3 v3.5.8/go.mod h1:idZYIPVkttBJBiRigkB5EM0MmEyx8jcl18zCV3F5noc= +go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= +go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= +go.etcd.io/etcd/pkg/v3 v3.5.10/go.mod h1:TKTuCKKcF1zxmfKWDkfz5qqYaE3JncKKZPFf8c1nFUs= +go.etcd.io/etcd/pkg/v3 v3.5.16/go.mod h1:+lutCZHG5MBBFI/U4eYT5yL7sJfnexsoM20Y0t2uNuY= +>>>>>>> e681bce4 (Updates to docker-extension) go.etcd.io/etcd/pkg/v3 v3.6.4/go.mod h1:kKcYWP8gHuBRcteyv6MXWSN0+bVMnfgqiHueIZnKMtE= go.etcd.io/etcd/server/v3 v3.6.4/go.mod h1:aYCL/h43yiONOv0QIR82kH/2xZ7m+IWYjzRmyQfnCAg= go.etcd.io/raft/v3 v3.6.0/go.mod h1:nLvLevg6+xrVtHUmVaTcTz603gQPHfh7kUAwV6YpfGo= +<<<<<<< HEAD go.opentelemetry.io/contrib/detectors/gcp v1.39.0/go.mod h1:t/OGqzHBa5v6RHZwrDBJ2OirWc+4q/w2fTbLZwAKjTk= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= +======= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= +go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= +go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= +go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= +go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= +go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= +go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= +go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPxAxnjc2pQTxWNkwfstZ+6H2k= +go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.42.0/go.mod h1:XiglO+8SPMqM3Mqh5/rtxR1VHc63o8tb38QrU6tm4mU= +go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0/go.mod h1:h8TWwRAhQpOd0aM5nYsRD8+flnkj+526GEIVlarH7eY= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1/go.mod h1:9NiG9I2aHTKkcxqCILhjtyNA1QEiCjdBACv4IvrFQ+c= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg= +go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= +go.opentelemetry.io/otel v1.10.0/go.mod h1:NbvWjCthWHKBEUMpf0/v8ZRZlni86PpGFEMA9pnQSnQ= +go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= +go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= +go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= +go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= +go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= +go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= +go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= +go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0/go.mod h1:Krqnjl22jUJ0HgMzw5eveuCvFDXY4nSYb4F8t5gdrag= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0/go.mod h1:OfUCyyIiDvNXHWpcWgbF+MWvqPZiNa3YDEnivcnYsV0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= +go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= +go.opentelemetry.io/otel/metric v0.31.0/go.mod h1:ohmwj9KTSIeBnDBm/ZwH2PSZxZzoOaG2xZeekTRzL5A= +go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= +go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= +go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ= +go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= +go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= +go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= +go.opentelemetry.io/otel/sdk v1.10.0/go.mod h1:vO06iKzD5baltJz1zarxMCNHFpUlUiOy4s65ECtn6kE= +go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= +go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= +go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= +go.opentelemetry.io/otel/sdk v1.33.0/go.mod h1:A1Q5oi7/9XaMlIWzPSxLRWOI8nG3FnzHJNbiENQuihM= +go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= +go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= +go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= +go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= +go.opentelemetry.io/otel/trace v1.10.0/go.mod h1:Sij3YYczqAdz+EhmGhE6TpTxUO5/F/AzrK+kxfGqySM= +go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= +go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= +go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= +go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= +go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= +go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= +go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= +go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= +go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= +go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= +go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= +>>>>>>> e681bce4 (Updates to docker-extension) go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +<<<<<<< HEAD golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= +======= +go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= +go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= +go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= +go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= +go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= +go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= +go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= +go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +<<<<<<< HEAD +golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= +golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +======= +golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= +>>>>>>> 90af4d3c (Updates to docker-extension) +golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= +golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= +golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= +golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 h1:mgKeJMpvi0yx/sU5GsxQ7p6s2wtOnGAHZWCHUM4KGzY= +golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546/go.mod h1:j/pmGrbnkbPtQfxEe5D0VQhZC6qKbfKifgD0oM7sR70= +golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= +golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= +golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= +golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191004110552-13f9640d40b9/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= +golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= +golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= +golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= +golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= +golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= +golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= +golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= +golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= +golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= +golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= +golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= +golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= +golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= +golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= +golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= +<<<<<<< HEAD +golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= +golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +======= +golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo= +golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +>>>>>>> 90af4d3c (Updates to docker-extension) +golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.2.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= +golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= +golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +<<<<<<< HEAD +golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +======= +golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= +golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +>>>>>>> 90af4d3c (Updates to docker-extension) +golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220325203850-36772127a21f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +<<<<<<< HEAD +golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +======= +golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= +golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +>>>>>>> 90af4d3c (Updates to docker-extension) +golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= +golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= +golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= +golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +<<<<<<< HEAD +======= +golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= +golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= +>>>>>>> 90af4d3c (Updates to docker-extension) +golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190920225731-5eefd052ad72/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= +golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= +golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200505023115-26f46d2f7ef8/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= +golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= +golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= +golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= +golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= +golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= +golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= +<<<<<<< HEAD +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +======= +>>>>>>> 90af4d3c (Updates to docker-extension) +golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= +golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= +golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= +golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= +golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= +gomodules.xyz/jsonpatch/v2 v2.3.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= +gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= +gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= +google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= +google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= +google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= +google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= +google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= +google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= +google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= +google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= +google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= +google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= +google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= +google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KAUgy8= +google.golang.org/api v0.224.0/go.mod h1:3V39my2xAGkodXy0vEqcEtkqgw2GtrFL5WuBZlCTCOQ= +google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +>>>>>>> e681bce4 (Updates to docker-extension) google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= +<<<<<<< HEAD +======= +google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= +google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= +google.golang.org/genproto v0.0.0-20240722135656-d784300faade/go.mod h1:FfBgJBJg9GcpPvKIuHSZ/aE1g2ecGL74upMzGZjiGEY= +google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE= +google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE= +google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= +google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw= +google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= +google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= +google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= +google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba h1:B14OtaXuMaCQsl2deSvNkyPKIzq3BjfxQp8d00QyWx4= +google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:G5IanEx8/PgI9w6CFcYQf7jMtHQhZruvfM1i3qOqk5U= +google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 h1:2035KHhUv+EpyB+hWgJnaWKJOdX1E95w2S8Rr4uWKTs= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251111163417-95abcf5c77ba h1:UKgtfRM7Yh93Sya0Fo8ZzhDP4qBckrrxEr2oF5UIVb8= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= +google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= +google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= +google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= +google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= +google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= +google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= +google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= +google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= +google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A= +google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c= +google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= +google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= +google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= +google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= +google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= +google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= +gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= +gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= +>>>>>>> e681bce4 (Updates to docker-extension) gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= +<<<<<<< HEAD k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= +======= +gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= +gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= +k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= +k8s.io/apiextensions-apiserver v0.25.0/go.mod h1:3pAjZiN4zw7R8aZC5gR0y3/vCkGlAjCazcg1me8iB/E= +k8s.io/apiextensions-apiserver v0.27.7/go.mod h1:x0p+b5a955lfPz9gaDeBy43obM12s+N9dNHK6+dUL+g= +k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= +k8s.io/apiextensions-apiserver v0.31.2 h1:W8EwUb8+WXBLu56ser5IudT2cOho0gAKeTOnywBLxd0= +k8s.io/apiextensions-apiserver v0.32.1 h1:hjkALhRUeCariC8DiVmb5jj0VjIc1N0DREP32+6UXZw= +k8s.io/apiextensions-apiserver v0.32.1/go.mod h1:sxWIGuGiYov7Io1fAS2X06NjMIk5CbRHc2StSmbaQto= +k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= +k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= +k8s.io/apimachinery v0.24.3/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= +k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= +k8s.io/apiserver v0.25.6/go.mod h1:IEp2B2/FvQ8GmdspscUoUS0iFF/GGc6NVrJ/cTM4OaA= +k8s.io/apiserver v0.27.7/go.mod h1:OrLG9RwCOerutAlo8QJW5EHzUG9Dad7k6rgcDUNSO/w= +k8s.io/apiserver v0.29.0/go.mod h1:31n78PsRKPmfpee7/l9NYEv67u6hOL6AfcE761HapDM= +k8s.io/apiserver v0.31.2 h1:VUzOEUGRCDi6kX1OyQ801m4A7AUPglpsmGvdsekmcI4= +k8s.io/apiserver v0.32.1 h1:oo0OozRos66WFq87Zc5tclUX2r0mymoVHRq8JmR7Aak= +k8s.io/apiserver v0.32.1/go.mod h1:UcB9tWjBY7aryeI5zAgzVJB/6k7E97bkr1RgqDz0jPw= +k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= +k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= +k8s.io/cli-runtime v0.34.2 h1:cct1GEuWc3IyVT8MSCoIWzRGw9HJ/C5rgP32H60H6aE= +k8s.io/cli-runtime v0.34.2/go.mod h1:X13tsrYexYUCIq8MarCBy8lrm0k0weFPTpcaNo7lms4= +k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= +k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= +k8s.io/code-generator v0.17.2/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= +k8s.io/code-generator v0.25.6/go.mod h1:aDxzxJynLKQkaa117y0FFcgZ5jG8+GobxZ2JUntmvKk= +k8s.io/code-generator v0.27.7/go.mod h1:w1YF/xQcTg+d9Ag+04xuRqER+q8rDnJ70ynLql8/RLA= +k8s.io/code-generator v0.30.3/go.mod h1:PFgBiv+miFV7TZYp+RXgROkhA+sWYZ+mtpbMLofMke8= +k8s.io/code-generator v0.32.3/go.mod h1:+mbiYID5NLsBuqxjQTygKM/DAdKpAjvBzrJd64NU1G8= +k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= +k8s.io/component-base v0.28.6 h1:G4T8VrcQ7xZou3by/fY5NU5mfxOBlWaivS2lPrEltAo= +k8s.io/component-base v0.28.6/go.mod h1:Dg62OOG3ALu2P4nAG00UdsuHoNLQJ5VsUZKQlLDcS+E= +k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= +k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= +k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= +k8s.io/component-helpers v0.29.0/go.mod h1:j2coxVfmzTOXWSE6sta0MTgNSr572Dcx68F6DD+8fWc= +k8s.io/component-helpers v0.34.2 h1:RIUGDdU+QFzeVKLZ9f05sXTNAtJrRJ3bnbMLrogCrvM= +k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= +k8s.io/controller-manager v0.33.5/go.mod h1:KuQeAlf4vI2+qj5fwPVLaDlbtrTBA/8L/LqQvI74Ow0= +k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= +k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= +>>>>>>> e681bce4 (Updates to docker-extension) k8s.io/gengo v0.0.0-20220902162205-c0856e24416d/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo/v2 v2.0.0-20250604051438-85fd79dbfd9f/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM= k8s.io/kube-aggregator v0.22.17/go.mod h1:J557nueFVurHA1JiDrxT1HlgygNQ+2exsTVUXiz2T7k= +<<<<<<< HEAD +======= +k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= +k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= +k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= +k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= +k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= +k8s.io/kubectl v0.34.2 h1:+fWGrVlDONMUmmQLDaGkQ9i91oszjjRAa94cr37hzqA= +k8s.io/kubectl v0.34.2/go.mod h1:X2KTOdtZZNrTWmUD4oHApJ836pevSl+zvC5sI6oO2YQ= +k8s.io/kubernetes v1.31.2 h1:VNSu4O7Xn5FFRsh9ePXyEPg6ucR21fOftarSdi053Gs= +k8s.io/kubernetes v1.34.2 h1:WQdDvYJazkmkwSncgNwGvVtaCt4TYXIU3wSMRgvp3MI= +k8s.io/kubernetes v1.34.2/go.mod h1:m6pZk6a179pRo2wsTiCPORJ86iOEQmfIzUvtyEF8BwA= +k8s.io/metrics v0.29.0/go.mod h1:UCuTT4dC/x/x6ODSk87IWIZQnuAfcwxOjb1gjWJdjMA= +k8s.io/metrics v0.30.3/go.mod h1:W06L2nXRhOwPkFYDJYWdEIS3u6JcJy3ebIPYbndRs6A= +k8s.io/metrics v0.32.3/go.mod h1:9R1Wk5cb+qJpCQon9h52mgkVCcFeYxcY+YkumfwHVCU= +>>>>>>> e681bce4 (Updates to docker-extension) k8s.io/metrics v0.34.2/go.mod h1:Ydulln+8uZZctUM8yrUQX4rfq/Ay6UzsuXf24QJ37Vc= k8s.io/system-validators v1.10.2/go.mod h1:awfSS706v9R12VC7u7K89FKfqVy44G+E0L1A0FX9Wmw= +<<<<<<< HEAD +sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= +======= +k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= +k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= +k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= +modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= +modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= +modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs= +modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= +mvdan.cc/sh/v3 v3.5.1/go.mod h1:1JcoyAKm1lZw/2bZje/iYKWicU/KMd0rsyJeKHnsK4E= +mvdan.cc/sh/v3 v3.7.0/go.mod h1:K2gwkaesF/D7av7Kxl0HbF5kGOd2ArupNTX3X44+8l8= +rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= +rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.1.2/go.mod h1:+qG7ISXqCDVVcyO8hLn12AKVYYUjM7ftlqsqmrhMZE0= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/KrK4fjnV61bE2g3sA7tiETLn8sooImelsCx3Y= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0/go.mod h1:z7+wmGM2dfIiLRfrC6jb5kV2Mq/sK1ZP303cxzkV5Y4= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcpeN4baWEV2ko2Z/AsiZgEdwgcfwLgMo= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= +sigs.k8s.io/controller-runtime v0.13.1/go.mod h1:Zbz+el8Yg31jubvAEyglRZGdLAjplZl+PgtYNI6WNTI= +sigs.k8s.io/controller-runtime v0.15.3/go.mod h1:kp4jckA4vTx281S/0Yk2LFEEQe67mjg+ev/yknv47Ds= +sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= +sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= +sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= +<<<<<<< HEAD +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +======= +sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= +sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= +sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= +sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= +>>>>>>> 90af4d3c (Updates to docker-extension) +sigs.k8s.io/knftables v0.0.14/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= +>>>>>>> e681bce4 (Updates to docker-extension) sigs.k8s.io/knftables v0.0.17/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM= sigs.k8s.io/kustomize/kustomize/v5 v5.7.1/go.mod h1:+5/SrBcJ4agx1SJknGuR/c9thwRSKLxnKoI5BzXFaLU= sigs.k8s.io/kustomize/kyaml v0.20.1/go.mod h1:0EmkQHRUsJxY8Ug9Niig1pUMSCGHxQ5RklbpV/Ri6po= +<<<<<<< HEAD sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= +======= +sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= +sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= +sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= +sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= +sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= +sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= +sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= +>>>>>>> e681bce4 (Updates to docker-extension) From 8bd08fe6dac1d85af30d80391f4999279e3f7bc2 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 19 Jan 2026 17:31:54 +0100 Subject: [PATCH 02/41] Refactored workshop_xxx and tunnel_xxx commands --- client-programs/go.mod | 106 +- client-programs/go.sum | 221 +++- client-programs/pkg/cmd/tunnel_connect_cmd.go | 93 +- .../pkg/cmd/workshop_export_cmd.go | 82 +- client-programs/pkg/cmd/workshop_new_cmd.go | 190 ++-- .../pkg/cmd/workshop_publish_cmd.go | 90 +- .../pkg/docker/workshop_manager.go | 1007 +++++++++++++++++ client-programs/pkg/tunnel/tunnel.go | 104 ++ client-programs/pkg/utils/cmd_error.go | 23 + client-programs/pkg/workshops/constants.go | 3 + client-programs/pkg/workshops/definition.go | 232 ++++ client-programs/pkg/workshops/manager.go | 372 ++++++ go.work.sum | 510 +++++---- 13 files changed, 2516 insertions(+), 517 deletions(-) create mode 100644 client-programs/pkg/docker/workshop_manager.go create mode 100644 client-programs/pkg/tunnel/tunnel.go create mode 100644 client-programs/pkg/utils/cmd_error.go create mode 100644 client-programs/pkg/workshops/constants.go create mode 100644 client-programs/pkg/workshops/definition.go create mode 100644 client-programs/pkg/workshops/manager.go diff --git a/client-programs/go.mod b/client-programs/go.mod index 291b2f2fa..53989a69b 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -15,7 +15,7 @@ require ( carvel.dev/vendir v0.44.0 carvel.dev/ytt v0.52.1 github.com/adrg/xdg v0.5.3 - github.com/compose-spec/compose-go/v2 v2.9.1 + github.com/compose-spec/compose-go/v2 v2.10.0 github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad // Every time we update below version, we need to update Docker Desktop client to match the required version // or else downgrade CLI support via export DOCKER_API_VERSION=1.xx @@ -27,7 +27,7 @@ require ( github.com/joho/godotenv v1.5.1 github.com/mitchellh/go-homedir v1.1.0 github.com/pkg/errors v0.9.1 - github.com/spf13/cobra v1.10.1 + github.com/spf13/cobra v1.10.2 golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 gopkg.in/yaml.v2 v2.4.0 k8s.io/api v0.34.2 @@ -42,6 +42,12 @@ require ( sigs.k8s.io/yaml v1.6.0 ) +require ( + github.com/docker/cli v29.0.0+incompatible + github.com/docker/compose/v5 v5.0.1 + go.yaml.in/yaml/v2 v2.4.3 +) + require ( al.essio.dev/pkg/shellescape v1.6.0 // indirect cel.dev/expr v0.25.1 // indirect @@ -57,9 +63,11 @@ require ( github.com/Azure/go-autorest/logger v0.2.2 // indirect github.com/Azure/go-autorest/tracing v0.6.1 // indirect github.com/BurntSushi/toml v1.5.0 // indirect + github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e // indirect github.com/MakeNowJust/heredoc v1.0.0 // indirect github.com/Microsoft/go-winio v0.6.2 // indirect github.com/VividCortex/ewma v1.2.0 // indirect + github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/aws/aws-sdk-go-v2 v1.39.6 // indirect github.com/aws/aws-sdk-go-v2/config v1.31.19 // indirect @@ -80,6 +88,7 @@ require ( github.com/beorn7/perks v1.0.1 // indirect github.com/blang/semver/v4 v4.0.0 // indirect github.com/bmatcuk/doublestar v1.3.4 // indirect + github.com/buger/goterm v1.0.4 // indirect github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 // indirect github.com/cenkalti/backoff/v5 v5.0.3 // indirect github.com/cespare/xxhash/v2 v2.3.0 // indirect @@ -87,23 +96,35 @@ require ( github.com/chrismellard/docker-credential-acr-env v0.0.0-20230304212654-82a0ddb27589 // indirect github.com/clipperhouse/stringish v0.1.1 // indirect github.com/clipperhouse/uax29/v2 v2.3.0 // indirect + github.com/containerd/console v1.0.5 // indirect + github.com/containerd/containerd/api v1.10.0 // indirect + github.com/containerd/containerd/v2 v2.2.1-0.20251115011841-efd86f2b0bc2 // indirect + github.com/containerd/continuity v0.4.5 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect + github.com/containerd/log v0.1.0 // indirect + github.com/containerd/platforms v1.0.0-rc.2 // indirect github.com/containerd/stargz-snapshotter/estargz v0.18.1 // indirect + github.com/containerd/ttrpc v1.2.7 // indirect + github.com/containerd/typeurl/v2 v2.2.3 // indirect github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef // indirect github.com/cppforlife/color v1.9.1-0.20200716202919-6706ac40b835 // indirect github.com/cppforlife/go-patch v0.0.0-20240118020416-2147782e467b // indirect github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dimchansky/utfbom v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect + github.com/docker/buildx v0.30.1 // indirect github.com/docker/cli v29.2.0+incompatible // indirect github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.9.4 // indirect github.com/docker/go-units v0.5.0 // indirect + github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 // indirect github.com/emicklei/go-restful/v3 v3.13.0 // indirect github.com/evanphx/json-patch/v5 v5.9.11 // indirect github.com/fatih/color v1.18.0 // indirect github.com/felixge/httpsnoop v1.0.4 // indirect + github.com/fsnotify/fsevents v0.2.0 // indirect + github.com/fvbommel/sortorder v1.1.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect github.com/go-openapi/jsonpointer v0.22.1 // indirect @@ -120,19 +141,28 @@ require ( github.com/go-openapi/swag/stringutils v0.25.1 // indirect github.com/go-openapi/swag/typeutils v0.25.1 // indirect github.com/go-openapi/swag/yamlutils v0.25.1 // indirect + github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/gofrs/flock v0.13.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.2 // indirect + github.com/golang-jwt/jwt/v5 v5.3.0 // indirect + github.com/golang/protobuf v1.5.4 // indirect github.com/google/cel-go v0.26.1 // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/go-containerregistry v0.20.6 // indirect github.com/google/go-github v17.0.0+incompatible // indirect github.com/google/go-querystring v1.1.0 // indirect + github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.6.0 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect - github.com/hashicorp/go-version v1.7.0 // indirect - github.com/imdario/mergo v0.3.16 // indirect + github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-multierror v1.1.1 // indirect + github.com/hashicorp/go-version v1.8.0 // indirect + github.com/in-toto/in-toto-golang v0.9.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect + github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf // indirect + github.com/jonboulle/clockwork v0.5.0 // indirect github.com/json-iterator/go v1.1.12 // indirect github.com/k14s/difflib v0.0.0-20240118055029-596a7a5585c3 // indirect github.com/k14s/starlark-go v0.0.0-20200720175618-3a5c849cc368 // indirect @@ -144,13 +174,26 @@ require ( github.com/mattn/go-runewidth v0.0.19 // indirect github.com/mattn/go-shellwords v1.0.12 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect - github.com/mitchellh/mapstructure v1.5.0 // indirect + github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect + github.com/moby/buildkit v0.26.3 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect + github.com/moby/go-archive v0.1.0 // indirect + github.com/moby/locker v1.0.1 // indirect + github.com/moby/moby/api v1.52.0 // indirect + github.com/moby/moby/client v0.2.1 // indirect + github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/spdystream v0.5.0 // indirect + github.com/moby/sys/atomicwriter v0.1.0 // indirect + github.com/moby/sys/capability v0.4.0 // indirect github.com/moby/sys/sequential v0.6.0 // indirect + github.com/moby/sys/signal v0.7.1 // indirect + github.com/moby/sys/symlink v0.3.0 // indirect + github.com/moby/sys/user v0.4.0 // indirect + github.com/moby/sys/userns v0.1.0 // indirect github.com/moby/term v0.5.2 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee // indirect + github.com/morikuni/aec v1.1.0 // indirect github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 // indirect github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect github.com/opencontainers/go-digest v1.0.0 // indirect @@ -159,33 +202,59 @@ require ( github.com/otiai10/copy v1.14.1 // indirect github.com/otiai10/mint v1.6.3 // indirect github.com/pelletier/go-toml v1.9.5 // indirect + github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect github.com/prometheus/client_golang v1.23.2 // indirect github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/common v0.67.2 // indirect github.com/prometheus/procfs v0.19.2 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect + github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect + github.com/secure-systems-lab/go-securesystemslib v0.9.1 // indirect + github.com/shibumi/go-pathspec v1.3.0 // indirect github.com/sirupsen/logrus v1.9.3 // indirect + github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect github.com/spf13/pflag v1.0.10 // indirect github.com/stoewer/go-strcase v1.3.1 // indirect + github.com/stretchr/testify v1.11.1 // indirect + github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 // indirect + github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 // indirect + github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f // indirect + github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0 // indirect + github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect + github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab // indirect github.com/vbatts/tar-split v0.12.2 // indirect github.com/vito/go-interact v1.0.2 // indirect github.com/vmware-tanzu/carvel-kapp-controller v0.51.3 // indirect github.com/x448/float16 v0.8.4 // indirect - github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb // indirect - github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 // indirect - github.com/xeipuuv/gojsonschema v1.2.0 // indirect + github.com/xhit/go-str2duration/v2 v2.1.0 // indirect go.opentelemetry.io/auto/sdk v1.2.1 // indirect + go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect + go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect +<<<<<<< HEAD go.opentelemetry.io/otel v1.43.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 // indirect go.opentelemetry.io/otel/metric v1.43.0 // indirect go.opentelemetry.io/otel/sdk v1.43.0 // indirect go.opentelemetry.io/otel/trace v1.43.0 // indirect +======= + go.opentelemetry.io/otel v1.40.0 // indirect + go.opentelemetry.io/otel v1.39.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 // indirect + go.opentelemetry.io/otel/metric v1.39.0 // indirect + go.opentelemetry.io/otel/sdk v1.39.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect + go.opentelemetry.io/otel/trace v1.39.0 // indirect +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.opentelemetry.io/proto/otlp v1.9.0 // indirect - go.yaml.in/yaml/v2 v2.4.3 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect +<<<<<<< HEAD golang.org/x/crypto v0.46.0 // indirect golang.org/x/net v0.48.0 // indirect golang.org/x/oauth2 v0.34.0 // indirect @@ -197,9 +266,24 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/grpc v1.79.3 // indirect +======= + go.yaml.in/yaml/v4 v4.0.0-rc.3 // indirect + golang.org/x/crypto v0.45.0 // indirect + golang.org/x/net v0.47.0 // indirect + golang.org/x/oauth2 v0.33.0 // indirect + golang.org/x/sync v0.19.0 // indirect + golang.org/x/sys v0.39.0 // indirect + golang.org/x/term v0.37.0 // indirect + golang.org/x/text v0.31.0 // indirect + golang.org/x/time v0.14.0 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect + google.golang.org/grpc v1.77.0 // indirect +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) google.golang.org/protobuf v1.36.10 // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect + gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect k8s.io/apiextensions-apiserver v0.34.1 // indirect @@ -213,4 +297,8 @@ require ( sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect +<<<<<<< HEAD +======= + tags.cncf.io/container-device-interface v1.1.0 // indirect +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) ) diff --git a/client-programs/go.sum b/client-programs/go.sum index 52eac8edd..e9dbfe98c 100644 --- a/client-programs/go.sum +++ b/client-programs/go.sum @@ -14,6 +14,8 @@ cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= +github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c h1:udKWzYgxTojEKWjV8V+WSxDXJ4NFATAsZjh8iIbsQIg= @@ -46,14 +48,22 @@ github.com/Azure/go-autorest/tracing v0.6.1 h1:YUMSrC/CeD1ZnnXcNYU4a/fzsO35u2Fsf github.com/Azure/go-autorest/tracing v0.6.1/go.mod h1:/3EgjbsjraOqiicERAeu3m7/z0x1TzjQGAwDrJrXGkc= github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= +github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e h1:rd4bOvKmDIx0WeTv9Qz+hghsgyjikFiPrseXHlKepO0= +github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e/go.mod h1:blbwPQh4DTlCZEfk1BLU4oMIhLda2U+A840Uag9DsZw= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= +github.com/Microsoft/hcsshim v0.14.0-rc.1 h1:qAPXKwGOkVn8LlqgBN8GS0bxZ83hOJpcjxzmlQKxKsQ= +github.com/Microsoft/hcsshim v0.14.0-rc.1/go.mod h1:hTKFGbnDtQb1wHiOWv4v0eN+7boSWAHyK/tNAaYZL0c= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= +github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/adrg/xdg v0.5.3 h1:xRnxJXne7+oWDatRhR1JLnvuccuIeCoBu2rtuLqQB78= github.com/adrg/xdg v0.5.3/go.mod h1:nlTsY+NNiCBGCK2tpm09vRqfVzrc2fLmXGpBLF0zlTQ= +github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 h1:aM1rlcoLz8y5B2r4tTLMiVTrMtpfY0O8EScKJxaSaEc= +github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092/go.mod h1:rYqSE9HbjzpHTI74vwPvae4ZVYZd1lue2ta6xHPdblA= github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= @@ -96,10 +106,10 @@ github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0= github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= +github.com/buger/goterm v1.0.4 h1:Z9YvGmOih81P0FbVtEYTFF6YsSgxSUKEhf/f9bTMXbY= +github.com/buger/goterm v1.0.4/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE= github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 h1:F4rZiMGZyC66j9VB7doVOE4tFHF1yNEihQlOuht4jmM= github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4/go.mod h1:4cFTBLAr/U11ykiEEQMccu4uJ1i0GS+atJmeETHCFtI= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs= @@ -115,20 +125,44 @@ github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfa github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= -github.com/compose-spec/compose-go v1.20.2 h1:u/yfZHn4EaHGdidrZycWpxXgFffjYULlTbRfJ51ykjQ= -github.com/compose-spec/compose-go v1.20.2/go.mod h1:+MdqXV4RA7wdFsahh/Kb8U0pAJqkg7mr4PM9tFKU8RM= +github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= +github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= +github.com/compose-spec/compose-go/v2 v2.10.0 h1:K2C5LQ3KXvkYpy5N/SG6kIYB90iiAirA9btoTh/gB0Y= +github.com/compose-spec/compose-go/v2 v2.10.0/go.mod h1:Ohac1SzhO/4fXXrzWIztIVB6ckmKBv1Nt5Z5mGVESUg= +github.com/containerd/cgroups/v3 v3.1.0 h1:azxYVj+91ZgSnIBp2eI3k9y2iYQSR/ZQIgh9vKO+HSY= +github.com/containerd/cgroups/v3 v3.1.0/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins= +github.com/containerd/console v1.0.5 h1:R0ymNeydRqH2DmakFNdmjR2k0t7UPuiOV/N/27/qqsc= +github.com/containerd/console v1.0.5/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd/api v1.10.0 h1:5n0oHYVBwN4VhoX9fFykCV9dF1/BvAXeg2F8W6UYq1o= +github.com/containerd/containerd/api v1.10.0/go.mod h1:NBm1OAk8ZL+LG8R0ceObGxT5hbUYj7CzTmR3xh0DlMM= +github.com/containerd/containerd/v2 v2.2.1-0.20251115011841-efd86f2b0bc2 h1:WcvXNS/OmpiitTVdzRAudKwvShKxcOP4Elf2FyxSoTg= +github.com/containerd/containerd/v2 v2.2.1-0.20251115011841-efd86f2b0bc2/go.mod h1:YCMjKjA4ZA7egdHNi3/93bJR1+2oniYlnS+c0N62HdE= +github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4= +github.com/containerd/continuity v0.4.5/go.mod h1:/lNJvtJKUQStBzpVQ1+rasXO1LAWtUQssk28EZvJ3nE= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY= +github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= +github.com/containerd/nydus-snapshotter v0.15.4 h1:l59kGRVMtwMLDLh322HsWhEsBCkRKMkGWYV5vBeLYCE= +github.com/containerd/nydus-snapshotter v0.15.4/go.mod h1:eRJqnxQDr48HNop15kZdLZpFF5B6vf6Q11Aq1K0E4Ms= +github.com/containerd/platforms v1.0.0-rc.2 h1:0SPgaNZPVWGEi4grZdV8VRYQn78y+nm6acgLGv/QzE4= +github.com/containerd/platforms v1.0.0-rc.2/go.mod h1:J71L7B+aiM5SdIEqmd9wp6THLVRzJGXfNuWCZCllLA4= +github.com/containerd/plugin v1.0.0 h1:c8Kf1TNl6+e2TtMHZt+39yAPDbouRH9WAToRjex483Y= +github.com/containerd/plugin v1.0.0/go.mod h1:hQfJe5nmWfImiqT1q8Si3jLv3ynMUIBB47bQ+KexvO8= github.com/containerd/stargz-snapshotter/estargz v0.18.1 h1:cy2/lpgBXDA3cDKSyEfNOFMA/c10O1axL69EU7iirO8= github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q= +github.com/containerd/ttrpc v1.2.7 h1:qIrroQvuOL9HQ1X6KHe2ohc7p+HP/0VE6XPU7elJRqQ= +github.com/containerd/ttrpc v1.2.7/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= +github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= +github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= -github.com/coreos/go-systemd/v22 v22.5.0 h1:RrqgGjYQKalulkV8NGVIfkXQf6YYmOyiJKk8iXXhfZs= -github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.6.0 h1:aGVa/v8B7hpb0TKl0MWoAavPDmHvobFe5R5zn0bCJWo= +github.com/coreos/go-systemd/v22 v22.6.0/go.mod h1:iG+pp635Fo7ZmV/j14KUcmEyWF+0X7Lua8rrTWzYgWU= github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef h1:de10GNLe45JTMghl2qf9WH17H/BjGShK41X3vKAsPJA= github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef/go.mod h1:2w+qxVu2KSGW78Ex/XaIqfh/OvBgjEsmN53S4T8vEyA= github.com/cppforlife/color v1.9.1-0.20200716202919-6706ac40b835 h1:mYQweUIBD+TBRjIeQnJmXr0GSVMpI6O0takyb/aaOgo= @@ -148,8 +182,14 @@ github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= +github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= +github.com/docker/buildx v0.30.1 h1:3vthfaTQOLt5QfN2nl7rKuPLUvx69nL5ZikFIXp//c8= +github.com/docker/buildx v0.30.1/go.mod h1:8nwT0V6UNYNo9rXq6WO/BQd9KrJ0JYcY/QX6x0y1Oro= github.com/docker/cli v29.2.0+incompatible h1:9oBd9+YM7rxjZLfyMGxjraKBKE4/nVyvVfN4qNl9XRM= github.com/docker/cli v29.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/compose/v5 v5.0.1 h1:5yCjDJbwUqcuI+6WNFHNWz2/3vyBDsNnfe8LlFjyxEc= +github.com/docker/compose/v5 v5.0.1/go.mod h1:vuKBtnRuvsVIlYHzdPkF3SToljqR+pFJseO5lDBuF18= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= @@ -158,8 +198,12 @@ github.com/docker/docker-credential-helpers v0.9.4 h1:76ItO69/AP/V4yT9V4uuuItG0B github.com/docker/docker-credential-helpers v0.9.4/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= +github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= +github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 h1:XBBHcIb256gUJtLmY22n99HaZTz+r2Z51xUPi01m3wg= +github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203/go.mod h1:E1jcSv8FaEny+OP/5k9UxZVw9YFWGj7eI4KR/iOBqCg= github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= @@ -168,8 +212,12 @@ github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= github.com/fatih/color v1.18.0/go.mod h1:4FelSpRwEGDpQ12mAdzqdOukCy4u8WUtOY6lkT/6HfU= github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2Wg= github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/fsnotify/fsevents v0.2.0 h1:BRlvlqjvNTfogHfeBOFvSC9N0Ddy+wzQCQukyoD7o/c= +github.com/fsnotify/fsevents v0.2.0/go.mod h1:B3eEk39i4hz8y1zaWS/wPrAP4O6wkIl7HQwKBr1qH/w= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= +github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= +github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= @@ -211,6 +259,10 @@ github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6 github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= +github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= +github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/gofrs/flock v0.13.0 h1:95JolYOvGMqeH31+FC7D2+uULf6mG61mEZ/A8dRYMzw= +github.com/gofrs/flock v0.13.0/go.mod h1:jxeyy9R1auM5S6JYDBhDt+E2TCo7DkratH4Pgi8P+Z0= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= @@ -218,6 +270,10 @@ github.com/golang-jwt/jwt/v4 v4.2.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzw github.com/golang-jwt/jwt/v4 v4.5.0/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXeUI= github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= +github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= +github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= +github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= @@ -238,26 +294,37 @@ github.com/google/go-querystring v1.1.0/go.mod h1:Kcdr2DB4koayq7X8pmAG4sNG59So17 github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0= github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/pprof v0.0.0-20250315033105-103756e64e1d h1:tx51Lf+wdE+aavqH8TcPJoCjTf4cE8hrMzROghCely0= -github.com/google/pprof v0.0.0-20250315033105-103756e64e1d/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= +github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6 h1:EEHtgt9IwisQ2AZ4pIsMjahcegHh6rmhqxzIRQIyepY= +github.com/google/pprof v0.0.0-20250820193118-f64d9cf942d6/go.mod h1:I6V7YzU0XDpsHqbsyrghnFZLO1gwK6NPTNvmetQIk9U= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= +github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= -github.com/hashicorp/go-version v1.7.0 h1:5tqGy27NaOTB8yJKUZELlFAS/LTKJkrmONwQKeRZfjY= -github.com/hashicorp/go-version v1.7.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/imdario/mergo v0.3.16 h1:wwQJbIsHYGMUyLSPrEq1CT16AhnhNJQ51+4fdHUnCl4= -github.com/imdario/mergo v0.3.16/go.mod h1:WBLT9ZmE3lPoWsEzCh9LPo3TiwVN+ZKEjmz+hD27ysY= +github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= +github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= +github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= +github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= +github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU= +github.com/in-toto/in-toto-golang v0.9.0/go.mod h1:xsBVrVsHNsB61++S6Dy2vWosKhuA3lUTQd+eF9HdeMo= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= +github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf h1:FtEj8sfIcaaBfAKrE1Cwb61YDtYq9JxChK1c7AKce7s= +github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf/go.mod h1:yrqSXGoD/4EKfF26AOGzscPOgTTJcyAwM2rpixWT+t4= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= +github.com/jonboulle/clockwork v0.5.0 h1:Hyh9A8u51kptdkR+cqRpT1EebBwTn1oK9YfGYbdFz6I= +github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= github.com/k14s/difflib v0.0.0-20240118055029-596a7a5585c3 h1:q2ikACDbDDbyUcN9JkDcNMGhIx1EBRkctAsPZMr35qM= @@ -295,16 +362,40 @@ github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= +github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= +github.com/moby/buildkit v0.26.3 h1:D+ruZVAk/3ipRq5XRxBH9/DIFpRjSlTtMbghT5gQP9g= +github.com/moby/buildkit v0.26.3/go.mod h1:4T4wJzQS4kYWIfFRjsbJry4QoxDBjK+UGOEOs1izL7w= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= +github.com/moby/go-archive v0.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ= +github.com/moby/go-archive v0.1.0/go.mod h1:G9B+YoujNohJmrIYFBpSd54GTUB4lt9S+xVQvsJyFuo= +github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= +github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= +github.com/moby/moby/api v1.52.0 h1:00BtlJY4MXkkt84WhUZPRqt5TvPbgig2FZvTbe3igYg= +github.com/moby/moby/api v1.52.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc= +github.com/moby/moby/client v0.2.1 h1:1Grh1552mvv6i+sYOdY+xKKVTvzJegcVMhuXocyDz/k= +github.com/moby/moby/client v0.2.1/go.mod h1:O+/tw5d4a1Ha/ZA/tPxIZJapJRUS6LNZ1wiVRxYHyUE= +github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= +github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/spdystream v0.5.0 h1:7r0J1Si3QO/kjRitvSLVVFUjxMEb/YLj6S9FF62JBCU= github.com/moby/spdystream v0.5.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= +github.com/moby/sys/capability v0.4.0 h1:4D4mI6KlNtWMCM1Z/K0i7RV1FkX+DBDHKVJpCndZoHk= +github.com/moby/sys/capability v0.4.0/go.mod h1:4g9IK291rVkms3LKCDOoYlnV8xKwoDTpIrNEE35Wq0I= +github.com/moby/sys/mountinfo v0.7.2 h1:1shs6aH5s4o5H2zQLn796ADW1wMrIwHsyJ2v9KouLrg= +github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4= github.com/moby/sys/sequential v0.6.0 h1:qrx7XFUd/5DxtqcoH1h438hF5TmOvzC/lspjy7zgvCU= github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= +github.com/moby/sys/signal v0.7.1 h1:PrQxdvxcGijdo6UXXo/lU/TvHUWyPhj7UOpSo8tuvk0= +github.com/moby/sys/signal v0.7.1/go.mod h1:Se1VGehYokAkrSQwL4tDzHvETwUZlnY7S5XtQ50mQp8= +github.com/moby/sys/symlink v0.3.0 h1:GZX89mEZ9u53f97npBy4Rc3vJKj7JBDj/PN2I22GrNU= +github.com/moby/sys/symlink v0.3.0/go.mod h1:3eNdhduHmYPcgsJtZXW1W4XUJdZGBIkttZ8xKqPUJq0= +github.com/moby/sys/user v0.4.0 h1:jhcMKit7SA80hivmFJcbB1vqmw//wU61Zdui2eQXuMs= +github.com/moby/sys/user v0.4.0/go.mod h1:bG+tYYYJgaMtRKgEmuueC0hJEAZWwtIbZTB+85uoHjs= +github.com/moby/sys/userns v0.1.0 h1:tVLXkFOxVu9A64/yh59slHVv9ahO9UIev4JZusOLG/g= +github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= github.com/moby/term v0.5.2 h1:6qk3FJAFDs6i/q3W/pQ97SX192qKfZgGjCQqfCJkgzQ= github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFLc= github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= @@ -313,8 +404,8 @@ github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJ github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= -github.com/morikuni/aec v1.0.0 h1:nP9CBfwrvYnBRgY6qfDQkygYDmYwOilePFkwzv4dU8A= -github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= +github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ= +github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= @@ -331,6 +422,10 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= +github.com/opencontainers/runtime-spec v1.3.0 h1:YZupQUdctfhpZy3TM39nN9Ika5CBWT5diQ8ibYCRkxg= +github.com/opencontainers/runtime-spec v1.3.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplUkdTrmPb8= +github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U= github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231 h1:8lSGufji9rfiyDxtUl7A4uOyeeP4x0UOOXcsDBFfkGI= github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231/go.mod h1:sTxJ4ZFW9r9fEdbW2v0yMRi6NcyTbx0fII4p83IQ+L8= github.com/otiai10/copy v1.14.1 h1:5/7E6qsUMBaH5AnQ0sSLzzTg1oTECmcCmT6lvF45Na8= @@ -343,6 +438,8 @@ github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1H github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= +github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= @@ -358,10 +455,20 @@ github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0t github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw= +github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= +github.com/secure-systems-lab/go-securesystemslib v0.9.1 h1:nZZaNz4DiERIQguNy0cL5qTdn9lR8XKHf4RUyG1Sx3g= +github.com/secure-systems-lab/go-securesystemslib v0.9.1/go.mod h1:np53YzT0zXGMv6x4iEWc9Z59uR+x+ndLwCLqPYpLXVU= +github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= +github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= -github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= +github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= +github.com/spdx/tools-golang v0.5.5 h1:61c0KLfAcNqAjlg6UNMdkwpMernhw3zVRwDZ2x9XOmk= +github.com/spdx/tools-golang v0.5.5/go.mod h1:MVIsXx8ZZzaRWNQpUDhC4Dud34edUYJYecciXgrw5vE= +github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= +github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= @@ -380,6 +487,18 @@ github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 h1:QB54BJwA6x8QU9nHY3xJSZR2kX9bgpZekRKGkLTmEXA= +github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375/go.mod h1:xRroudyp5iVtxKqZCrA6n2TLFRBf8bmnjr1UD4x+z7g= +github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 h1:r0p7fK56l8WPequOaR3i9LBqfPtEdXIQbUTzT55iqT4= +github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323/go.mod h1:3Iuxbr0P7D3zUzBMAZB+ois3h/et0shEz0qApgHYGpY= +github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f h1:MoxeMfHAe5Qj/ySSBfL8A7l1V+hxuluj8owsIEEZipI= +github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f/go.mod h1:BKdcez7BiVtBvIcef90ZPc6ebqIWr4JWD7+EvLm6J98= +github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0 h1:2f304B10LaZdB8kkVEaoXvAMVan2tl9AiK4G0odjQtE= +github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0/go.mod h1:278M4p8WsNh3n4a1eqiFcV2FGk7wE5fwUpUom9mK9lE= +github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0= +github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod h1:WPnis/6cRcDZSUvVmezrxJPkiO87ThFYsoUiMwWNDJk= +github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab h1:H6aJ0yKQ0gF49Qb2z5hI1UHxSQt4JMyxebFR15KnApw= +github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab/go.mod h1:ulncasL3N9uLrVann0m+CDlJKWsIAP34MPcOJF6VRvc= github.com/vbatts/tar-split v0.12.2 h1:w/Y6tjxpeiFMR47yzZPlPj/FcPLpXbTUi/9H7d3CPa4= github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= github.com/vito/go-interact v1.0.2 h1:viJuANio3WH9utUG4rKbJC9V3JR5JgYNS+i0efeA+GU= @@ -388,13 +507,8 @@ github.com/vmware-tanzu/carvel-kapp-controller v0.51.3 h1:TBeFKz1cmdI8vreaWT8waR github.com/vmware-tanzu/carvel-kapp-controller v0.51.3/go.mod h1:Ndy9tru0vO/UwChzM8GL6OHHCLCSL7InFB82Qxdyc8Q= github.com/x448/float16 v0.8.4 h1:qLwI1I70+NjRFUR3zs1JPUCgaCXSh3SW62uAKT1mSBM= github.com/x448/float16 v0.8.4/go.mod h1:14CWIYCyZA/cWjXOioeEpHeN/83MdbZDRQHoFcYsOfg= -github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb h1:zGWFAtiMcyryUHoUjUJX0/lt1H2+i2Ka2n+D3DImSNo= -github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415 h1:EzJWgHovont7NscjpAxXsDA8S8BMYve8Y5+7cuRE7R0= -github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= -github.com/xeipuuv/gojsonschema v1.2.0 h1:LhYJRs+L4fBtjZUfuSZIKGeVu0QRy8e5Xi7D17UxZ74= -github.com/xeipuuv/gojsonschema v1.2.0/go.mod h1:anYRn/JVcOK2ZgGU+IjEV4nwlhoK5sQluxsYJ78Id3Y= +github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= +github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= @@ -404,18 +518,43 @@ go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6 go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= +go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= +go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= -go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 h1:YH4g8lQroajqUwWbq/tr2QX1JFmEXaDLgG+ew9bLMWo= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0/go.mod h1:fvPi2qXDqFs8M4B4fmJhE92TyQs9Ydjlg3RvfUp+NbQ= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0 h1:2pn7OzMewmYRiNtv1doZnLo3gONcnMHlFnmOR8Vgt+8= +go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0/go.mod h1:rjbQTDEPQymPE0YnRQp9/NuPwwtL0sesz/fnqRW/v84= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg= +<<<<<<< HEAD go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= +======= +go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= +go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 h1:cEf8jF6WbuGQWUVcqgyWtTR0kOOAWY1DYZ+UhvdmQPw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0/go.mod h1:k1lzV5n5U3HkGvTCJHraTAGJ7MqsgL1wrGwTj1Isfiw= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 h1:Oe2z/BCg5q7k4iXC3cqJxKYg0ieRiOqF0cecFYdPTwk= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0/go.mod h1:ZQM5lAJpOsKnYagGg/zV2krVqTtaVdYdDkhMoX6Oalg= +go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= +go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 h1:aTL7F04bJHUlztTsNGJ2l+6he8c+y/b//eR0jjjemT4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4= +go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= +go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= +go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= +go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= +go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= +go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= +go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= +go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 h1:wpMfgF8E1rkrT1Z6meFh1NDtownE9Ii3n3X2GJYjsaU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= @@ -430,6 +569,8 @@ go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjce go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= +go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= +go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= @@ -438,6 +579,8 @@ go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= +go.yaml.in/yaml/v4 v4.0.0-rc.3 h1:3h1fjsh1CTAPjW7q/EMe+C8shx5d8ctzZTrLcs/j8Go= +go.yaml.in/yaml/v4 v4.0.0-rc.3/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -452,6 +595,8 @@ golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= +golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -479,12 +624,15 @@ golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210331175145-43e1dd70ce54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/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-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/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-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -527,8 +675,13 @@ google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1: google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +<<<<<<< HEAD google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +======= +google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= +google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -538,6 +691,8 @@ gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnf gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= +gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= +gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= @@ -545,8 +700,8 @@ gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= -gotest.tools/v3 v3.4.0 h1:ZazjZUfuVeZGLAmlKKuyv3IKP5orXcwtOwDQH6YVr6o= -gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= +gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= +gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= @@ -575,17 +730,21 @@ k8s.io/kubernetes v1.34.2 h1:WQdDvYJazkmkwSncgNwGvVtaCt4TYXIU3wSMRgvp3MI= k8s.io/kubernetes v1.34.2/go.mod h1:m6pZk6a179pRo2wsTiCPORJ86iOEQmfIzUvtyEF8BwA= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= +pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= -sigs.k8s.io/kind v0.29.0 h1:3TpCsyh908IkXXpcSnsMjWdwdWjIl7o9IMZImZCWFnI= -sigs.k8s.io/kind v0.29.0/go.mod h1:ldWQisw2NYyM6k64o/tkZng/1qQW7OlzcN5a8geJX3o= +sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= +sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= +tags.cncf.io/container-device-interface v1.1.0 h1:RnxNhxF1JOu6CJUVpetTYvrXHdxw9j9jFYgZpI+anSY= +tags.cncf.io/container-device-interface v1.1.0/go.mod h1:76Oj0Yqp9FwTx/pySDc8Bxjpg+VqXfDb50cKAXVJ34Q= diff --git a/client-programs/pkg/cmd/tunnel_connect_cmd.go b/client-programs/pkg/cmd/tunnel_connect_cmd.go index f5330ad36..1b2ad2814 100644 --- a/client-programs/pkg/cmd/tunnel_connect_cmd.go +++ b/client-programs/pkg/cmd/tunnel_connect_cmd.go @@ -1,13 +1,7 @@ package cmd import ( - "fmt" - "net/http" - "net/url" - "os" - - "github.com/gorilla/websocket" - "github.com/pkg/errors" + "github.com/educates/educates-training-platform/client-programs/pkg/tunnel" "github.com/spf13/cobra" ) @@ -15,46 +9,6 @@ type TunnelConnectOptions struct { Url string } -type session struct { - ws *websocket.Conn - errChan chan error -} - -func (o *TunnelConnectOptions) Run(cmd *cobra.Command) error { - dest, err := url.Parse(o.Url) - - if err != nil { - return errors.Wrap(err, "unable to parse websocket URL") - } - - originURL := *dest - - origin := originURL.String() - - headers := make(http.Header) - headers.Add("Origin", origin) - - dialer := websocket.Dialer{} - - ws, _, err := dialer.Dial(origin, headers) - - if err != nil { - return errors.Wrap(err, "unable to connect to websocket URL") - } - - sess := &session{ - ws: ws, - errChan: make(chan error), - } - - go sess.readInput() - go sess.readRemote() - - os.Stderr.WriteString(fmt.Sprintf("%s\n", <-sess.errChan)) - - return nil -} - func (p *ProjectInfo) NewTunnelConnectCmd() *cobra.Command { var o TunnelConnectOptions @@ -62,7 +16,7 @@ func (p *ProjectInfo) NewTunnelConnectCmd() *cobra.Command { Args: cobra.NoArgs, Use: "connect", Short: "SSH proxy for tunnelling over websockets", - RunE: func(cmd *cobra.Command, _ []string) error { return o.Run(cmd) }, + RunE: func(cmd *cobra.Command, _ []string) error { return tunnel.NewTunnel(o.Url).Start() }, } c.Flags().StringVar( @@ -76,46 +30,3 @@ func (p *ProjectInfo) NewTunnelConnectCmd() *cobra.Command { return c } - -func (s *session) readInput() { - in := os.Stdin - - const BUF_SIZE = 16384 - bufOut := make([]byte, BUF_SIZE) - - for { - var n int - var err error - - if n, err = in.Read(bufOut); err != nil || n == 0 { - break - } - - if err = s.ws.WriteMessage(websocket.BinaryMessage, bufOut[0:n]); err != nil { - break - } - } -} - -func (s *session) readRemote() { - out := os.Stdout - - for { - msgType, buf, err := s.ws.ReadMessage() - - if err != nil { - s.errChan <- err - return - } - - switch msgType { - case websocket.BinaryMessage: - if _, err = out.Write(buf); err != nil { - return - } - default: - s.errChan <- fmt.Errorf("unexpected websocket frame type: %d", msgType) - return - } - } -} diff --git a/client-programs/pkg/cmd/workshop_export_cmd.go b/client-programs/pkg/cmd/workshop_export_cmd.go index 7a14d41a6..7efb647a0 100644 --- a/client-programs/pkg/cmd/workshop_export_cmd.go +++ b/client-programs/pkg/cmd/workshop_export_cmd.go @@ -1,38 +1,82 @@ package cmd import ( + "os" + "path/filepath" + + yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/educates/educates-training-platform/client-programs/pkg/workshops" + "github.com/pkg/errors" "github.com/spf13/cobra" ) -var ( - workshopExportExample = ` - # Export workshop definition from current directory (workshop definition is expected within the path defined by workshop-file flag) to stdout +var workshopExportExample = ` + # Export workshop resource definition in current directory educates workshop export - # Export workshop definition from specific directory to stdout - educates workshop export lab-k8s-fundamentals - - # Export workshop definition using specific image repository - educates workshop export --image-repository ghcr.io/myorg + # Export workshop resource definition in my-workshop directory + educates workshop export my-workshop - # Export workshop definition using specific version - educates workshop export --workshop-version v1.0.0 + # Export workshop resource definition in my-workshop directory in a different workshop.yaml file + educates workshop export my-workshop --workshop-file ./workshop.yaml - # Export workshop definition for custom workshop file path - educates workshop export --workshop-file custom-workshop.yaml - educates workshop export $HOME/workshops/labs-educates-showcase --workshop-file lab-session-workshop.yaml + # Export workshop resource definition with data values + educates workshop export --image-repository ghcr.io/educates --workshop-version 1.0.0 ` -) + +type FilesExportOptions struct { + Repository string + WorkshopFile string + WorkshopVersion string + DataValuesFlags yttcmd.DataValuesFlags +} + +func (o *FilesExportOptions) Run(args []string) error { + var err error + + var directory string + + if len(args) != 0 { + directory = filepath.Clean(args[0]) + } else { + directory = "." + } + + if directory, err = filepath.Abs(directory); err != nil { + return errors.Wrap(err, "couldn't convert workshop directory to absolute path") + } + + fileInfo, err := os.Stat(directory) + + if err != nil || !fileInfo.IsDir() { + return errors.New("workshop directory does not exist or path is not a directory") + } + config := workshops.WorkshopExportConfig{ + Repository: o.Repository, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValuesFlags: o.DataValuesFlags, + } + + manager := workshops.NewWorkshopManager() + + return manager.Export(directory, &config) +} func (p *ProjectInfo) NewWorkshopExportCmd() *cobra.Command { - var o workshops.FilesExportOptions + var o FilesExportOptions var c = &cobra.Command{ - Args: cobra.MaximumNArgs(1), - Use: "export [PATH]", - Short: "Export workshop resource definition for distribution to stdout", - RunE: func(cmd *cobra.Command, args []string) error { return o.Run(args) }, + Args: func(cmd *cobra.Command, args []string) error { + if len(args) > 1 { + return utils.CmdError(cmd, "too many arguments", "[PATH]") + } + return nil + }, + Use: "export [PATH]", + Short: "Export workshop resource definition", + RunE: func(cmd *cobra.Command, args []string) error { return o.Run(args) }, Example: workshopExportExample, } diff --git a/client-programs/pkg/cmd/workshop_new_cmd.go b/client-programs/pkg/cmd/workshop_new_cmd.go index 119bc69d3..81ae17bc1 100644 --- a/client-programs/pkg/cmd/workshop_new_cmd.go +++ b/client-programs/pkg/cmd/workshop_new_cmd.go @@ -1,66 +1,84 @@ package cmd import ( + "os" + "path/filepath" + "regexp" + + "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/templates" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) -var ( - workshopNewExample = ` - # Create a new workshop using default hugo template (a directory will be created with my-workshop as name) - educates workshop new my-workshop - - # Create a new workshop using default hugo template in /tmp/workshop - educates workshop new my-workshop -d /tmp/workshop - - # Create a new workshop using default hugo template in current directory and overwrite existing files - educates workshop new my-workshop -d . -y - - # Create a new workshop with custom name - educates workshop new my-workshop --name "my-custom-workshop" - - # Create a new workshop with title and description - educates workshop new my-workshop --title "Introduction to Kubernetes" --description "Learn the basics of Kubernetes" - - # Create a new workshop with language-specific educates base image. See docs for available images. - educates workshop new my-workshop --image 'jdk21-environment:*' - educates workshop new my-workshop --image 'conda-environment:*' - - # Create a new workshop with custom base image - educates workshop new my-workshop --image ghcr.io/myorg/workshop-base:latest - - # Create a new workshop using the classic template - educates workshop new my-workshop --template classic - - # Create a new workshop with kubernetes access enabled in the workshop - educates workshop new my-workshop --with-kubernetes-access - - # Create a new workshop with github action enabled in the workshop - educates workshop new my-workshop --with-github-action - - # Create a new workshop with virtual cluster enabled in the workshop - educates workshop new my-workshop --with-virtual-cluster +type WorkshopNewOptions struct { + Template string + Name string + Title string + Description string + Image string +} - # Create a new workshop with docker, registry and console enabled in the workshop - educates workshop new my-workshop --with-docker --with-registry --with-console +var workshopNewExample = ` + # Create workshop files from template in my-workshop directory + educates workshop new my-workshop - # Create a new workshop with editor and terminal disabled in the workshop - educates workshop new my-workshop --with-editor=false --with-terminal=false + # Create workshop files from template in my-workshop directory + educates workshop new my-workshop --template hugo (default template is hugo) - # Create a new workshop with workshop instructions disabled in the workshop - educates workshop new my-workshop --with-workshop-instructions=false + # Create workshop files from template in my-workshop directory with a different name + educates workshop new my-workshop --name "my-workshop" --title "My Workshop" --description "This is a workshop about my workshop" ` -) - func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { - var o workshops.WorkshopNewOptions + var o WorkshopNewOptions var c = &cobra.Command{ - Args: cobra.ExactArgs(1), - Use: "new PATH", - Short: "Create workshop files from template", - RunE: func(_ *cobra.Command, args []string) error { return o.Run(args) }, + Args: func(cmd *cobra.Command, args []string) error { + if len(args) < 1 { + return utils.CmdError(cmd, "path is required", "PATH") + } + if len(args) > 1 { + return utils.CmdError(cmd, "too many arguments", "PATH") + } + return nil + }, + Use: "new PATH", + Short: "Create workshop files from template", + RunE: func(_ *cobra.Command, args []string) error { + var err error + + directory := filepath.Clean(args[0]) + + if directory, err = filepath.Abs(directory); err != nil { + return errors.Wrapf(err, "could not convert path name %q to absolute path", directory) + } + + if _, err = os.Stat(directory); err == nil { + return errors.Errorf("target path name %q already exists", directory) + } + + name := o.Name + + if name == "" { + name = filepath.Base(directory) + } + + if match, _ := regexp.MatchString("^[a-z0-9-]+$", name); !match { + return errors.Errorf("invalid workshop name %q", name) + } + + parameters := map[string]string{ + "WorkshopName": name, + "WorkshopTitle": o.Title, + "WorkshopDescription": o.Description, + "WorkshopImage": o.Image, + } + + template := templates.InternalTemplate(o.Template) + + return template.Apply(directory, parameters) + }, Example: workshopNewExample, } @@ -69,14 +87,14 @@ func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { "template", "t", "hugo", - "name of the workshop template to use (hugo, classic)", + "name of the workshop template to use", ) c.Flags().StringVarP( &o.Name, "name", "n", "", - "override name of the workshop (default: directory name)", + "override name of the workshop", ) c.Flags().StringVar( &o.Title, @@ -96,76 +114,6 @@ func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { "", "name of the workshop base image to use", ) - c.Flags().StringVarP( - &o.TargetDirectory, - "directory", - "d", - "", - "directory where the workshop will be created. By default a new directory with the workshop name will be created", - ) - c.Flags().BoolVarP( - &o.Overwrite, - "overwrite", - "y", - false, - "overwrite existing files in the target directory. If not provided, the user will be prompted to confirm the operation.", - ) - c.Flags().BoolVarP( - &o.WithKubernetesAccess, - "with-kubernetes-access", - "", - false, - "enable kubernetes access in the workshop", - ) - c.Flags().BoolVarP( - &o.WithGitHubAction, - "with-github-action", - "", - false, - "add GitHub action to the generated workshop to publish the workshop", - ) - c.Flags().BoolVarP( - &o.WithVirtualCluster, - "with-virtual-cluster", - "", - false, - "enable virtual cluster in the workshop", - ) - c.Flags().BoolVarP( - &o.WithDockerDaemon, - "with-docker-daemon", - "", - false, - "enable docker daemon in the workshop", - ) - c.Flags().BoolVarP( - &o.WithImageRegistry, - "with-image-registry", - "", - false, - "enable image registry in the workshop", - ) - c.Flags().BoolVarP( - &o.WithKubernetesConsole, - "with-kubernetes-console", - "", - false, - "enable Kubernetes console in the workshop", - ) - c.Flags().BoolVarP( - &o.WithEditor, - "with-editor", - "", - true, - "enable editor in the workshop", - ) - c.Flags().BoolVarP( - &o.WithTerminal, - "with-terminal", - "", - true, - "enable terminal in the workshop", - ) return c } diff --git a/client-programs/pkg/cmd/workshop_publish_cmd.go b/client-programs/pkg/cmd/workshop_publish_cmd.go index 21affcdc9..58bc76b2c 100644 --- a/client-programs/pkg/cmd/workshop_publish_cmd.go +++ b/client-programs/pkg/cmd/workshop_publish_cmd.go @@ -1,45 +1,91 @@ package cmd import ( + "os" + "path/filepath" "time" + imgpkgcmd "carvel.dev/imgpkg/pkg/imgpkg/cmd" + yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/educates/educates-training-platform/client-programs/pkg/workshops" + "github.com/pkg/errors" "github.com/spf13/cobra" ) -var ( - workshopPublishExample = ` - # Publish workshop files to local registry +type FilesPublishOptions struct { + Image string + Repository string + WorkshopFile string + ExportWorkshop string + WorkshopVersion string + RegistryFlags imgpkgcmd.RegistryFlags + DataValuesFlags yttcmd.DataValuesFlags +} + +var workshopPublishExample = ` + # Publish workshop files to repository in current directory educates workshop publish - # Publish workshop files to specific registry - educates workshop publish --image-repository ghcr.io/myorg + # Publish workshop files to repository in my-workshop directory + educates workshop publish my-workshop - # Publish workshop files with specific version - educates workshop publish --workshop-version v1.0.0 + # Publish workshop files to repository with a specific image in my-workshop directory + educates workshop publish my-workshop --image=my-workshop-image-files + + # Publish workshop files to repository with a specific image and repository in my-workshop directory + educates workshop publish my-workshop --image=my-workshop-image-files --image-repository=ghcr.io/educates --workshop-version=1.0.0 +` +func (o *FilesPublishOptions) Run(args []string) error { + var err error - # Publish workshop files with custom workshop definition - educates workshop publish --workshop-file custom-workshop.yaml + var directory string - # Publish workshop files and export modified workshop definition - educates workshop publish --export-workshop exported-workshop.yaml + if len(args) != 0 { + directory = filepath.Clean(args[0]) + } else { + directory = "." + } - # Publish workshop files with registry authentication - educates workshop publish --registry-username user --registry-password pass + if directory, err = filepath.Abs(directory); err != nil { + return errors.Wrap(err, "couldn't convert workshop directory to absolute path") + } + + fileInfo, err := os.Stat(directory) + + if err != nil || !fileInfo.IsDir() { + return errors.New("workshop directory does not exist or path is not a directory") + } + + config := workshops.WorkshopPublishConfig{ + Image: o.Image, + Repository: o.Repository, + WorkshopFile: o.WorkshopFile, + ExportWorkshop: o.ExportWorkshop, + WorkshopVersion: o.WorkshopVersion, + RegistryFlags: o.RegistryFlags, + DataValuesFlags: o.DataValuesFlags, + } + + m := workshops.NewWorkshopManager() + + return m.Publish(directory, &config) +} - # Publish workshop files with data values - educates workshop publish --data-value workshop.title="My Workshop" --data-value workshop.description="A great workshop" -` -) func (p *ProjectInfo) NewWorkshopPublishCmd() *cobra.Command { - var o workshops.FilesPublishOptions + var o FilesPublishOptions var c = &cobra.Command{ - Args: cobra.MaximumNArgs(1), - Use: "publish [PATH]", - Short: "Publish workshop files to repository", - RunE: func(cmd *cobra.Command, args []string) error { return o.Run(args) }, + Args: func(cmd *cobra.Command, args []string) error { + if len(args) > 1 { + return utils.CmdError(cmd, "too many arguments", "[PATH]") + } + return nil + }, + Use: "publish [PATH]", + Short: "Publish workshop files to repository", + RunE: func(cmd *cobra.Command, args []string) error { return o.Run(args) }, Example: workshopPublishExample, } diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go new file mode 100644 index 000000000..2f7a2783f --- /dev/null +++ b/client-programs/pkg/docker/workshop_manager.go @@ -0,0 +1,1007 @@ +package docker + +import ( + "bytes" + "context" + "fmt" + "io" + "os" + "path" + "path/filepath" + "runtime" + "slices" + "strings" + "sync" + "text/template" + + yttcmd "carvel.dev/ytt/pkg/cmd/template" + composeloader "github.com/compose-spec/compose-go/v2/loader" + composetypes "github.com/compose-spec/compose-go/v2/types" + "github.com/docker/cli/cli/command" + "github.com/docker/cli/cli/flags" + "github.com/docker/compose/v5/pkg/api" + "github.com/docker/compose/v5/pkg/compose" + "github.com/docker/docker/api/types/container" + "github.com/docker/docker/client" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/educates/educates-training-platform/client-programs/pkg/workshops" + "github.com/pkg/errors" + "go.yaml.in/yaml/v2" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "sigs.k8s.io/kind/pkg/cluster" + "sigs.k8s.io/kind/pkg/cmd" +) + +const containerScript = `exec bash -s << "EOF" +mkdir -p /opt/eduk8s/config +cat > /opt/eduk8s/config/workshop.yaml << "EOS" +{{ .WorkshopConfig -}} +EOS +{{ if .Assets -}} +cat > /opt/eduk8s/config/vendir-assets-01.yaml << "EOS" +apiVersion: vendir.k14s.io/v1alpha1 +kind: Config +directories: +- path: /opt/assets/files + contents: + - directory: + path: /opt/eduk8s/mnt/assets + path: . +EOS +{{ else -}} +{{ range $k, $v := .VendirFilesConfig -}} +{{ $off := inc $k -}} +cat > /opt/eduk8s/config/vendir-assets-{{ printf "%02d" $off }}.yaml << "EOS" +{{ $v -}} +EOS +{{ end -}} +{{ end -}} +{{ if .VendirPackagesConfig -}} +cat > /opt/eduk8s/config/vendir-packages.yaml << "EOS" +{{ .VendirPackagesConfig -}} +EOS +{{ end -}} +{{ if .KubeConfig -}} +mkdir -p /opt/kubeconfig +cat > /opt/kubeconfig/config << "EOS" +{{ .KubeConfig -}} +EOS +{{ end -}} +exec start-container +EOF +` + +type DockerWorkshopsManager struct { + Statuses map[string]DockerWorkshopDetails + StatusesMutex sync.Mutex + composeService api.Compose + composeServiceMu sync.Mutex +} + +func NewDockerWorkshopsManager() DockerWorkshopsManager { + return DockerWorkshopsManager{ + Statuses: map[string]DockerWorkshopDetails{}, + StatusesMutex: sync.Mutex{}, + } +} + +type DockerWorkshopDetails struct { + Name string `json:"name"` + Url string `json:"url,omitempty"` + Source string `json:"source,omitempty"` + Status string `json:"status"` +} + +type DockerWorkshopDeployConfig struct { + Path string + Host string + Port uint + LocalRepository string + DisableOpenBrowser bool + ImageRepository string + ImageVersion string + Cluster string + KubeConfig string + Assets string + WorkshopFile string + WorkshopImage string + WorkshopVersion string + DataValuesFlags yttcmd.DataValuesFlags +} + + +func (m *DockerWorkshopsManager) WorkshopStatus(name string) (DockerWorkshopDetails, bool) { + workshops, err := m.ListWorkhops() + + if err != nil { + return DockerWorkshopDetails{}, false + } + + for _, workshop := range workshops { + if workshop.Name == name { + return workshop, true + } + } + + return DockerWorkshopDetails{}, false +} + +func (m *DockerWorkshopsManager) SetWorkshopStatus(name string, url string, source string, status string) { + m.StatusesMutex.Lock() + + m.Statuses[name] = DockerWorkshopDetails{ + Name: name, + Url: url, + Source: source, + Status: status, + } + + m.StatusesMutex.Unlock() +} + +func (m *DockerWorkshopsManager) ClearWorkshopStatus(name string) { + m.StatusesMutex.Lock() + + delete(m.Statuses, name) + + m.StatusesMutex.Unlock() +} + +func (m *DockerWorkshopsManager) ListWorkhops() ([]DockerWorkshopDetails, error) { + setOfWorkshops := map[string]DockerWorkshopDetails{} + workshopsList := []DockerWorkshopDetails{} + + ctx := context.Background() + + cli, err := client.NewClientWithOpts(client.FromEnv) + + if err != nil { + return nil, errors.Wrap(err, "unable to create docker client") + } + + containers, err := cli.ContainerList(ctx, container.ListOptions{}) + + if err != nil { + return nil, errors.Wrap(err, "unable to list containers") + } + + m.StatusesMutex.Lock() + + for _, details := range m.Statuses { + if details.Status == "Starting" { + setOfWorkshops[details.Name] = details + } + } + + defer m.StatusesMutex.Unlock() + + for _, container := range containers { + url, found := container.Labels["training.educates.dev/url"] + source := container.Labels["training.educates.dev/source"] + instance := container.Labels["training.educates.dev/session"] + + details, statusFound := m.Statuses[instance] + + status := "Running" + + if statusFound { + status = details.Status + } + + if found && url != "" && len(container.Names) != 0 { + setOfWorkshops[instance] = DockerWorkshopDetails{ + Name: instance, + Url: url, + Source: source, + Status: status, + } + } + } + + for _, details := range setOfWorkshops { + workshopsList = append(workshopsList, details) + } + + return workshopsList, nil +} + +// GetComposeService returns a ComposeService instance, initializing it if necessary. +// It uses a singleton pattern to reuse the same service instance across operations. +func (m *DockerWorkshopsManager) GetComposeService(stdout io.Writer, stderr io.Writer) (api.Compose, error) { + m.composeServiceMu.Lock() + defer m.composeServiceMu.Unlock() + + if m.composeService != nil { + return m.composeService, nil + } + + dockerCLI, err := command.NewDockerCli() + if err != nil { + return nil, errors.Wrap(err, "unable to create docker CLI") + } + + err = dockerCLI.Initialize(&flags.ClientOptions{}) + if err != nil { + return nil, errors.Wrap(err, "unable to initialize docker CLI") + } + + // Create ComposeService with options for I/O redirection and non-interactive mode + service, err := compose.NewComposeService( + dockerCLI, + compose.WithOutputStream(stdout), + compose.WithErrorStream(stderr), + compose.WithPrompt(compose.AlwaysOkPrompt()), + compose.WithMaxConcurrency(4), + ) + if err != nil { + return nil, errors.Wrap(err, "unable to create compose service") + } + + m.composeService = service + return service, nil +} + + +func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, stdout io.Writer, stderr io.Writer) (string, error) { + var err error + + // If path not provided assume the current working directory. When loading + // the workshop will then expect the workshop definition to reside in the + // resources/workshop.yaml file under the directory, the same as if a + // directory path was provided explicitly. + + if o.Path == "" { + o.Path = "." + } + + // Load the workshop definition. The path can be a HTTP/HTTPS URL for a + // local file system path for a directory or file. + + var workshop *unstructured.Unstructured + + if workshop, err = workshops.LoadWorkshopDefinition("", o.Path, workshops.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + return "", err + } + + name := workshop.GetName() + + m.SetWorkshopStatus(name, "", o.Path, "Starting") + + defer m.ClearWorkshopStatus(name) + + originalName := workshop.GetAnnotations()["training.educates.dev/workshop"] + + configFileDir := utils.GetEducatesHomeDir() + composeConfigDir := path.Join(configFileDir, "compose", name) + + err = os.MkdirAll(composeConfigDir, os.ModePerm) + + if err != nil { + return name, errors.Wrapf(err, "unable to create workshops compose directory") + } + + ctx := context.Background() + + cli, err := client.NewClientWithOpts(client.FromEnv) + + if err != nil { + return name, errors.Wrap(err, "unable to create docker client") + } + + _, err = cli.ContainerInspect(ctx, name) + + if err == nil { + return name, errors.New("this workshop is already running") + } + + registryNetwork := false + + if o.LocalRepository == "localhost:5001" { + o.LocalRepository = "registry.docker.local:5000" + } + + var registryIP string + + registryInfo, err := cli.ContainerInspect(ctx, "educates-registry") + + if err == nil { + educatesNetwork, exists := registryInfo.NetworkSettings.Networks["educates"] + + if !exists { + return name, errors.New("registry is not attached to educates network") + } + + registryNetwork = true + registryIP = educatesNetwork.IPAddress + } else { + o.LocalRepository = "" + } + + var kubeConfigData string + + if o.KubeConfig != "" { + kubeConfigBytes, err := os.ReadFile(o.KubeConfig) + + if err != nil { + return name, errors.Wrap(err, "unable to read kubeconfig file") + } + + kubeConfigData = string(kubeConfigBytes) + } + + if o.Cluster != "" { + kubeConfigData, err = generateClusterKubeconfig(o.Cluster) + + if err != nil { + return name, err + } + } + + var workshopConfigData string + var vendirFilesConfigData []string + var vendirPackagesConfigData string + var workshopImageName string + + var workshopPortsConfig []composetypes.ServicePortConfig + var workshopVolumesConfig []composetypes.ServiceVolumeConfig + + var workshopEnvironment []string + var workshopLabels map[string]string + var workshopExtraHosts map[string]string + + var workshopComposeProject *composetypes.Project + + if workshopConfigData, err = generateWorkshopConfig(workshop); err != nil { + return name, err + } + + if vendirFilesConfigData, err = generateVendirFilesConfig(workshop, originalName, o.LocalRepository, o.WorkshopVersion); err != nil { + return name, err + } + + if vendirPackagesConfigData, err = generateVendirPackagesConfig(workshop, originalName, o.LocalRepository, o.WorkshopVersion); err != nil { + return name, err + } + + if workshopImageName, err = generateWorkshopImageName(workshop, o.LocalRepository, o.ImageRepository, o.ImageVersion, o.WorkshopImage, o.WorkshopVersion); err != nil { + return name, err + } + + if workshopPortsConfig, err = composetypes.ParsePortConfig(fmt.Sprintf("%s:%d:10081", o.Host, o.Port)); err != nil { + return name, errors.Wrap(err, "unable to generate workshop ports config") + } + + if workshopVolumesConfig, err = generateWorkshopVolumeMounts(workshop, o.Assets); err != nil { + return name, err + } + + if workshopEnvironment, err = generateWorkshopEnvironment(workshop, o.LocalRepository, o.Host, o.Port); err != nil { + return name, err + } + + if workshopLabels, err = generateWorkshopLabels(workshop, o.Host, o.Port); err != nil { + return name, err + } + + if registryIP != "" { + if workshopExtraHosts, err = generateWorkshopExtraHosts(workshop, registryIP); err != nil { + return name, err + } + } + + if workshopComposeProject, err = extractWorkshopComposeConfig(workshop); err != nil { + return name, err + } + + type TemplateInputs struct { + WorkshopConfig string + VendirFilesConfig []string + VendirPackagesConfig string + KubeConfig string + Assets string + } + + inputs := TemplateInputs{ + WorkshopConfig: workshopConfigData, + VendirFilesConfig: vendirFilesConfigData, + VendirPackagesConfig: vendirPackagesConfigData, + KubeConfig: kubeConfigData, + Assets: o.Assets, + } + + funcMap := template.FuncMap{ + "inc": func(i int) int { + return i + 1 + }, + } + + containerScriptTemplate, err := template.New("entrypoint").Funcs(funcMap).Parse(containerScript) + + if err != nil { + return name, errors.Wrap(err, "not able to parse container script template") + } + + var containerScriptData bytes.Buffer + + err = containerScriptTemplate.Execute(&containerScriptData, inputs) + + if err != nil { + return name, errors.Wrap(err, "not able to generate container script") + } + + networks := map[string]*composetypes.ServiceNetworkConfig{ + "default": {}, + } + + if registryNetwork { + networks["educates"] = &composetypes.ServiceNetworkConfig{} + } + + var extraHostsList composetypes.HostsList + if len(workshopExtraHosts) > 0 { + extraHostsList = make(composetypes.HostsList, len(workshopExtraHosts)) + for hostname, ip := range workshopExtraHosts { + extraHostsList[hostname] = []string{ip} + } + } + + workshopServiceConfig := composetypes.ServiceConfig{ + Name: "workshop", + Image: workshopImageName, + Command: composetypes.ShellCommand([]string{"bash", "-c", containerScriptData.String()}), + User: "1001:0", + Ports: workshopPortsConfig, + Volumes: workshopVolumesConfig, + Environment: composetypes.NewMappingWithEquals(workshopEnvironment), + Labels: composetypes.Labels(workshopLabels), + ExtraHosts: extraHostsList, + DependsOn: composetypes.DependsOnConfig{}, + Networks: networks, + } + + if o.Cluster != "" { + workshopServiceConfig.Networks["kind"] = &composetypes.ServiceNetworkConfig{} + } + + dockerEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "enabled") + + if found && dockerEnabled { + extraServices, _, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") + + socketEnabledDefault := true + + if len(extraServices) != 0 { + socketEnabledDefault = false + } + + socketEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "socket", "enabled") + + if !found { + socketEnabled = socketEnabledDefault + } + + if socketEnabled { + workshopServiceConfig.GroupAdd = []string{"docker"} + } + } + + workshopServices := composetypes.Services{ + "workshop": workshopServiceConfig, + } + + composeConfig := composetypes.Project{ + Name: originalName, + Services: workshopServices, + Networks: composetypes.Networks{ + "educates": composetypes.NetworkConfig{Name: "educates", External: true}, + }, + Volumes: composetypes.Volumes{ + "workshop": composetypes.VolumeConfig{}, + }, + } + + if workshopComposeProject != nil { + for serviceName, extraService := range workshopComposeProject.Services { + extraService.Ports = []composetypes.ServicePortConfig{} + + composeConfig.Services[serviceName] = extraService + + workshopServiceConfig.DependsOn[serviceName] = composetypes.ServiceDependency{ + Condition: composetypes.ServiceConditionStarted, + } + } + + for volumeName, extraVolume := range workshopComposeProject.Volumes { + if volumeName != "workshop" { + composeConfig.Volumes[volumeName] = extraVolume + } + } + } + + if o.Cluster != "" { + composeConfig.Networks["kind"] = composetypes.NetworkConfig{Name: "kind", External: true} + } + + composeConfigBytes, err := yaml.Marshal(&composeConfig) + + if err != nil { + return name, errors.Wrap(err, "failed to generate compose config") + } + + composeConfigFilePath := path.Join(composeConfigDir, "docker-compose.yaml") + + composeConfigFile, err := os.OpenFile(composeConfigFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) + + if err != nil { + return name, errors.Wrapf(err, "unable to create workshop config file %s", composeConfigFilePath) + } + + if _, err = composeConfigFile.Write(composeConfigBytes); err != nil { + return name, errors.Wrapf(err, "unable to write workshop config file %s", composeConfigFilePath) + } + + if err := composeConfigFile.Close(); err != nil { + return name, errors.Wrapf(err, "unable to close workshop config file %s", composeConfigFilePath) + } + + // Get ComposeService instance + service, err := m.GetComposeService(stdout, stderr) + if err != nil { + return name, errors.Wrap(err, "unable to get compose service") + } + + // Load the project from the compose file + project, err := service.LoadProject(ctx, api.ProjectLoadOptions{ + ConfigPaths: []string{composeConfigFilePath}, + ProjectName: name, + }) + if err != nil { + return name, errors.Wrap(err, "failed to load project") + } + + // Start the services using SDK + err = service.Up(ctx, project, api.UpOptions{ + Create: api.CreateOptions{ + Recreate: api.RecreateDiverged, + RecreateDependencies: api.RecreateDiverged, + RemoveOrphans: false, + }, + Start: api.StartOptions{}, + }) + if err != nil { + return name, errors.Wrap(err, "unable to start workshop") + } + + return name, nil +} + +func (m *DockerWorkshopsManager) DeleteWorkshop(name string, stdout io.Writer, stderr io.Writer) error { + m.SetWorkshopStatus(name, "", "", "Stopping") + + defer m.ClearWorkshopStatus(name) + + ctx := context.Background() + + // Get ComposeService instance + service, err := m.GetComposeService(stdout, stderr) + if err != nil { + return errors.Wrap(err, "unable to get compose service") + } + + // Load the project to get the project name + configFileDir := utils.GetEducatesHomeDir() + composeConfigDir := path.Join(configFileDir, "compose", name) + composeConfigFilePath := path.Join(composeConfigDir, "docker-compose.yaml") + + // Try to load project, but if file doesn't exist, just use the name + project, err := service.LoadProject(ctx, api.ProjectLoadOptions{ + ConfigPaths: []string{composeConfigFilePath}, + ProjectName: name, + }) + if err != nil { + // If project can't be loaded, still try to remove by name + project = nil + } + + projectName := name + if project != nil { + projectName = project.Name + } + + // Stop and remove services using SDK + err = service.Down(ctx, projectName, api.DownOptions{ + RemoveOrphans: true, + Volumes: true, + }) + if err != nil { + return errors.Wrap(err, "unable to stop workshop") + } + + cli, err2 := client.NewClientWithOpts(client.FromEnv) + + if err2 != nil { + return errors.Wrap(err2, "unable to create docker client") + } + + err2 = cli.VolumeRemove(ctx, fmt.Sprintf("%s_workshop", name), false) + + if err2 != nil { + return errors.Wrap(err2, "unable to delete workshop volume") + } + + workshopConfigDir := path.Join(configFileDir, "workshops", name) + + os.RemoveAll(workshopConfigDir) + os.RemoveAll(composeConfigDir) + + return nil +} + + +func generateWorkshopConfig(workshop *unstructured.Unstructured) (string, error) { + workshopTitle, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "title") + workshopDescription, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "description") + applicationsConfig, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "session", "applications") + ingressesConfig, _, _ := unstructured.NestedSlice(workshop.Object, "spec", "session", "ingresses") + dashboardsConfig, _, _ := unstructured.NestedSlice(workshop.Object, "spec", "session", "dashboards") + + workshopConfig := map[string]interface{}{ + "spec": map[string]interface{}{ + "title": workshopTitle, + "description": workshopDescription, + "session": map[string]interface{}{ + "applications": applicationsConfig, + "ingresses": ingressesConfig, + "dashboards": dashboardsConfig, + }, + }, + } + + workshopConfigData, err := yaml.Marshal(&workshopConfig) + + if err != nil { + return "", errors.Wrap(err, "failed to generate workshop config") + } + + return string(workshopConfigData), nil +} + +func generateVendirFilesConfig(workshop *unstructured.Unstructured, name string, localRepository string, version string) ([]string, error) { + var vendirConfigs []string + + workshopVersion, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if !found { + workshopVersion = version + } + + filesItems, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "workshop", "files") + + if found && len(filesItems) != 0 { + for _, filesItem := range filesItems { + directoriesConfig := []map[string]interface{}{} + + tmpPath, found := filesItem.(map[string]interface{})["path"] + + var filesItemPath string + + if found { + filesItemPath = tmpPath.(string) + } else { + filesItemPath = "." + } + + filesItemPath = filepath.Clean(path.Join("/opt/assets/files", filesItemPath)) + + filesItem.(map[string]interface{})["path"] = "." + + directoriesConfig = append(directoriesConfig, map[string]interface{}{ + "path": filesItemPath, + "contents": []interface{}{filesItem}, + }) + + vendirConfig := map[string]interface{}{ + "apiVersion": "vendir.k14s.io/v1alpha1", + "kind": "Config", + "directories": directoriesConfig, + } + + vendirConfigBytes, err := yaml.Marshal(&vendirConfig) + + if err != nil { + return []string{}, errors.Wrap(err, "failed to generate vendir config") + } + + vendirConfigString := string(vendirConfigBytes) + + vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(image_repository)", localRepository) + vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_name)", name) + vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_version)", workshopVersion) + vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(platform_arch)", runtime.GOARCH) + + vendirConfigs = append(vendirConfigs, vendirConfigString) + } + } + + return vendirConfigs, nil +} + +func generateVendirPackagesConfig(workshop *unstructured.Unstructured, name string, localRepository string, version string) (string, error) { + var vendirConfigString string + + workshopVersion, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if !found { + workshopVersion = version + } + + packagesItems, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "workshop", "packages") + + if found && len(packagesItems) != 0 { + directoriesConfig := []map[string]interface{}{} + + for _, packagesItem := range packagesItems { + tmpPackagesItem := packagesItem.(map[string]interface{}) + + tmpName, found := tmpPackagesItem["name"] + + if !found { + continue + } + + packagesItemPath := filepath.Clean(path.Join("/opt/packages", tmpName.(string))) + + tmpPackagesFilesItem := tmpPackagesItem["files"] + + packagesFilesItem := tmpPackagesFilesItem.([]interface{}) + + for _, tmpEntry := range packagesFilesItem { + entry := tmpEntry.(map[string]interface{}) + + _, found = entry["path"] + + if !found { + entry["path"] = "." + } + } + + directoriesConfig = append(directoriesConfig, map[string]interface{}{ + "path": packagesItemPath, + "contents": packagesFilesItem, + }) + + } + + vendirConfig := map[string]interface{}{ + "apiVersion": "vendir.k14s.io/v1alpha1", + "kind": "Config", + "directories": directoriesConfig, + } + + vendirConfigBytes, err := yaml.Marshal(&vendirConfig) + + if err != nil { + return "", errors.Wrap(err, "failed to generate vendir config") + } + + vendirConfigString = string(vendirConfigBytes) + + vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(image_repository)", localRepository) + vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_name)", name) + vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_version)", workshopVersion) + } + + return vendirConfigString, nil +} + +func generateWorkshopImageName(workshop *unstructured.Unstructured, localRepository string, imageRepository string, baseImageVersion string, workshopImage string, workshopVersion string) (string, error) { + _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if found { + workshopVersion, _, _ = unstructured.NestedString(workshop.Object, "spec", "version") + } + + image, found, err := unstructured.NestedString(workshop.Object, "spec", "workshop", "image") + + if err != nil { + return "", errors.Wrapf(err, "unable to parse workshop definition") + } + + if !found || image == "" { + image = "base-environment:*" + } + + defaultImageVersion := strings.TrimSpace(baseImageVersion) + + if workshopImage != "" { + image = workshopImage + } else { + if defaultImageVersion == "latest" { + image = strings.ReplaceAll(image, "base-environment:*", fmt.Sprintf("localhost:5001/educates-base-environment:%s", defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk8-environment:*", fmt.Sprintf("localhost:5001/educates-jdk8-environment:%s", defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk11-environment:*", fmt.Sprintf("localhost:5001/educates-jdk11-environment:%s", defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk17-environment:*", fmt.Sprintf("localhost:5001/educates-jdk17-environment:%s", defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk21-environment:*", fmt.Sprintf("localhost:5001/educates-jdk21-environment:%s", defaultImageVersion)) + image = strings.ReplaceAll(image, "conda-environment:*", fmt.Sprintf("localhost:5001/educates-conda-environment:%s", defaultImageVersion)) + } else { + image = strings.ReplaceAll(image, "base-environment:*", fmt.Sprintf("%s/educates-base-environment:%s", imageRepository, defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk8-environment:*", fmt.Sprintf("%s/educates-jdk8-environment:%s", imageRepository, defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk11-environment:*", fmt.Sprintf("%s/educates-jdk11-environment:%s", imageRepository, defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk17-environment:*", fmt.Sprintf("%s/educates-jdk17-environment:%s", imageRepository, defaultImageVersion)) + image = strings.ReplaceAll(image, "jdk21-environment:*", fmt.Sprintf("%s/educates-jdk21-environment:%s", imageRepository, defaultImageVersion)) + image = strings.ReplaceAll(image, "conda-environment:*", fmt.Sprintf("%s/educates-conda-environment:%s", imageRepository, defaultImageVersion)) + } + } + + image = strings.ReplaceAll(image, "$(image_repository)", localRepository) + image = strings.ReplaceAll(image, "$(workshop_version)", workshopVersion) + + return image, nil +} + +func generateWorkshopVolumeMounts(workshop *unstructured.Unstructured, assets string) ([]composetypes.ServiceVolumeConfig, error) { + filesMounts := []composetypes.ServiceVolumeConfig{ + { + Type: "volume", + Source: "workshop", + Target: "/home/eduk8s", + }, + } + + if assets != "" { + assets = filepath.Clean(assets) + assets, err := filepath.Abs(assets) + + if err != nil { + return []composetypes.ServiceVolumeConfig{}, errors.Wrap(err, "can't resolve local workshop assets path") + } + + filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ + Type: "bind", + Source: assets, + Target: "/opt/eduk8s/mnt/assets", + ReadOnly: true, + }) + } + + dockerEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "enabled") + + if found && dockerEnabled { + extraServices, _, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") + + socketEnabledDefault := true + + if len(extraServices) != 0 { + socketEnabledDefault = false + } + + socketEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "socket", "enabled") + + if !found { + socketEnabled = socketEnabledDefault + } + + if socketEnabled { + if runtime.GOOS == "linux" { + filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ + Type: "bind", + Source: "/var/run/docker.sock", + Target: "/var/run/docker/docker.sock", + ReadOnly: true, + }) + } else { + filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ + Type: "bind", + Source: "/var/run/docker.sock.raw", + Target: "/var/run/docker/docker.sock", + ReadOnly: true, + }) + } + } + } + + return filesMounts, nil +} + +func generateWorkshopEnvironment(workshop *unstructured.Unstructured, localRepository string, host string, port uint) ([]string, error) { + domain := fmt.Sprintf("%s.nip.io", strings.ReplaceAll(host, ".", "-")) + + return []string{ + fmt.Sprintf("WORKSHOP_NAME=%s", workshop.GetName()), + "SESSION_NAME=workshop", + fmt.Sprintf("SESSION_URL=http://workshop.%s:%d", domain, port), + "INGRESS_PROTOCOL=http", + fmt.Sprintf("INGRESS_DOMAIN=%s", domain), + fmt.Sprintf("INGRESS_PORT_SUFFIX=:%d", port), + fmt.Sprintf("IMAGE_REPOSITORY=%s", localRepository), + }, nil +} + +func generateWorkshopLabels(workshop *unstructured.Unstructured, host string, port uint) (map[string]string, error) { + labels := workshop.GetAnnotations() + + domain := fmt.Sprintf("%s.nip.io", strings.ReplaceAll(host, ".", "-")) + + labels["training.educates.dev/url"] = fmt.Sprintf("http://workshop.%s:%d", domain, port) + labels["training.educates.dev/session"] = workshop.GetName() + + return labels, nil +} + +func generateWorkshopExtraHosts(workshop *unstructured.Unstructured, registryIP string) (map[string]string, error) { + hosts := map[string]string{} + + if registryIP != "" { + hosts["registry.docker.local"] = registryIP + } + + return hosts, nil +} + +func extractWorkshopComposeConfig(workshop *unstructured.Unstructured) (*composetypes.Project, error) { + composeConfigObj, found, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") + + if found { + composeConfigObjBytes, err := yaml.Marshal(&composeConfigObj) + + if err != nil { + return nil, errors.Wrap(err, "unable to parse workshop docker compose config") + } + + configFiles := composetypes.ConfigFile{ + Content: composeConfigObjBytes, + } + + composeConfigDetails := composetypes.ConfigDetails{ + ConfigFiles: []composetypes.ConfigFile{configFiles}, + } + + return composeloader.LoadWithContext(context.Background(), composeConfigDetails, func(options *composeloader.Options) { + options.SkipConsistencyCheck = true + options.SkipNormalization = true + options.ResolvePaths = false + options.SkipValidation = true + }) + } + + return nil, nil +} + +func generateClusterKubeconfig(name string) (string, error) { + provider := cluster.NewProvider( + cluster.ProviderWithLogger(cmd.NewLogger()), + ) + + clusters, err := provider.List() + + if err != nil { + return "", errors.Wrap(err, "unable to get list of clusters") + } + + if !slices.Contains(clusters, name) { + return "", errors.Errorf("cluster %s doesn't exist", name) + } + + file, err := os.CreateTemp("", "kubeconfig-") + + if err != nil { + return "", errors.Wrap(err, "unable to generate kubeconfig file") + } + + defer os.Remove(file.Name()) + + err = provider.ExportKubeConfig(name, file.Name(), true) + + if err != nil { + return "", errors.Wrap(err, "unable to generate kubeconfig file") + } + + kubeConfigData, err := os.ReadFile(file.Name()) + + if err != nil { + return "", errors.Wrap(err, "unable to generate kubeconfig file") + } + + return string(kubeConfigData), nil +} + diff --git a/client-programs/pkg/tunnel/tunnel.go b/client-programs/pkg/tunnel/tunnel.go new file mode 100644 index 000000000..20eb7e033 --- /dev/null +++ b/client-programs/pkg/tunnel/tunnel.go @@ -0,0 +1,104 @@ +package tunnel + +import ( + "fmt" + "net/http" + "net/url" + "os" + + "github.com/gorilla/websocket" + "github.com/pkg/errors" +) + +type session struct { + ws *websocket.Conn + errChan chan error +} + +type Tunnel struct { + Url string +} + +func NewTunnel(url string) *Tunnel { + return &Tunnel{ + Url: url, + } +} + +func (t *Tunnel) Start() error { + dest, err := url.Parse(t.Url) + + if err != nil { + return errors.Wrap(err, "unable to parse websocket URL") + } + + originURL := *dest + + origin := originURL.String() + + headers := make(http.Header) + headers.Add("Origin", origin) + + dialer := websocket.Dialer{} + + ws, _, err := dialer.Dial(origin, headers) + + if err != nil { + return errors.Wrap(err, "unable to connect to websocket URL") + } + + sess := &session{ + ws: ws, + errChan: make(chan error), + } + + go sess.readInput() + go sess.readRemote() + + os.Stderr.WriteString(fmt.Sprintf("%s\n", <-sess.errChan)) + + return nil +} + +func (s *session) readInput() { + in := os.Stdin + + const BUF_SIZE = 16384 + bufOut := make([]byte, BUF_SIZE) + + for { + var n int + var err error + + if n, err = in.Read(bufOut); err != nil || n == 0 { + break + } + + if err = s.ws.WriteMessage(websocket.BinaryMessage, bufOut[0:n]); err != nil { + break + } + } +} + +func (s *session) readRemote() { + out := os.Stdout + + for { + msgType, buf, err := s.ws.ReadMessage() + + if err != nil { + s.errChan <- err + return + } + + switch msgType { + case websocket.BinaryMessage: + if _, err = out.Write(buf); err != nil { + return + } + default: + s.errChan <- fmt.Errorf("unexpected websocket frame type: %d", msgType) + return + } + } +} diff --git a/client-programs/pkg/utils/cmd_error.go b/client-programs/pkg/utils/cmd_error.go new file mode 100644 index 000000000..f02156e73 --- /dev/null +++ b/client-programs/pkg/utils/cmd_error.go @@ -0,0 +1,23 @@ +package utils + +import ( + "fmt" + + "github.com/spf13/cobra" +) + +func CmdError(cmd *cobra.Command, errorMessage string, additionalMessage string) error { + return cmdError(cmd, errorMessage, additionalMessage, false) +} + +func CmdErrorFullUsage(cmd *cobra.Command, errorMessage string, additionalMessage string) error { + return cmdError(cmd, errorMessage, additionalMessage, true) +} + +func cmdError(cmd *cobra.Command, errorMessage string, additionalMessage string, fullUsage bool) error { + if fullUsage { + return fmt.Errorf("%s\n\n%s", errorMessage, cmd.UsageString()) + } + + return fmt.Errorf("%s\n\n%s %s\nRun '%s --help' for details.", errorMessage, cmd.CommandPath(), additionalMessage, cmd.CommandPath()) +} diff --git a/client-programs/pkg/workshops/constants.go b/client-programs/pkg/workshops/constants.go new file mode 100644 index 000000000..00d2d05e9 --- /dev/null +++ b/client-programs/pkg/workshops/constants.go @@ -0,0 +1,3 @@ +package workshops + +const DefaultPortalName = "educates-cli" diff --git a/client-programs/pkg/workshops/definition.go b/client-programs/pkg/workshops/definition.go new file mode 100644 index 000000000..611dc3534 --- /dev/null +++ b/client-programs/pkg/workshops/definition.go @@ -0,0 +1,232 @@ +package workshops + +import ( + "bytes" + "context" + "crypto/sha1" + "fmt" + "io" + "log" + "net/http" + "net/url" + "os" + "path/filepath" + + yttcmd "carvel.dev/ytt/pkg/cmd/template" + yttcmdui "carvel.dev/ytt/pkg/cmd/ui" + "carvel.dev/ytt/pkg/files" + "carvel.dev/ytt/pkg/yamlmeta" + "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/apis/meta/internalversion/scheme" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/dynamic" +) + + +func LoadWorkshopDefinition(name string, path string, portal string, workshopFile string, workshopVersion string, dataValueFlags yttcmd.DataValuesFlags) (*unstructured.Unstructured, error) { + // Parse the workshop location so we can determine if it is a local file + // or accessible using a HTTP/HTTPS URL. + + var urlInfo *url.URL + var err error + + if urlInfo, err = url.Parse(path); err != nil { + return nil, errors.Wrap(err, "unable to parse workshop location") + } + + // Check if file system path first (not HTTP/HTTPS) and if so normalize + // the path. If it the path references a directory, then extend the path + // so we look for the workshop file within that directory. + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + path = filepath.Clean(path) + + if path, err = filepath.Abs(path); err != nil { + return nil, errors.Wrap(err, "couldn't convert workshop location to absolute path") + } + + if !filepath.IsAbs(workshopFile) { + fileInfo, err := os.Stat(path) + + if err != nil { + return nil, errors.Wrap(err, "couldn't test if workshop location is a directory") + } + + if fileInfo.IsDir() { + path = filepath.Join(path, workshopFile) + } + } else { + path = workshopFile + } + } + + // Read in the workshop definition as raw data ready for parsing. + + var workshopData []byte + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + if workshopData, err = os.ReadFile(path); err != nil { + return nil, errors.Wrap(err, "couldn't read workshop definition data file") + } + } else { + var client http.Client + + resp, err := client.Get(path) + + if err != nil { + return nil, errors.Wrap(err, "couldn't download workshop definition from host") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, errors.New("failed to download workshop definition from host") + } + + workshopData, err = io.ReadAll(resp.Body) + + if err != nil { + return nil, errors.Wrap(err, "failed to read workshop definition from host") + } + } + + // Process the workshop YAML data in case it contains ytt templating. + + if workshopData, err = ProcessWorkshopDefinition(workshopData, dataValueFlags); err != nil { + return nil, errors.Wrap(err, "unable to process workshop definition as template") + } + + // Parse the workshop definition. + + decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() + + workshop := &unstructured.Unstructured{} + + err = runtime.DecodeInto(decoder, workshopData, workshop) + + if err != nil { + return nil, errors.Wrap(err, "couldn't parse workshop definition") + } + + // Verify the type of resource definition. + + if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { + return nil, errors.New("invalid type for workshop definition") + } + + // Add annotations recording details about original workshop location. + + annotations := workshop.GetAnnotations() + + if annotations == nil { + annotations = map[string]string{} + } + + annotations["training.educates.dev/workshop"] = workshop.GetName() + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + annotations["training.educates.dev/source"] = fmt.Sprintf("file://%s", path) + } else { + annotations["training.educates.dev/source"] = path + } + + workshop.SetAnnotations(annotations) + + // Update the name for the workshop such that it incorporates a hash of + // the workshop location. + + if name == "" { + name = GenerateWorkshopName(path, workshop, portal) + } + + workshop.SetName(name) + + // Insert workshop version property if not specified. + + _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if !found && workshopVersion != "latest" { + unstructured.SetNestedField(workshop.Object, workshopVersion, "spec", "version") + } + + // Remove the publish section as will not be accurate after publising. + + unstructured.RemoveNestedField(workshop.Object, "spec", "publish") + + return workshop, nil +} + +func GenerateWorkshopName(path string, workshop *unstructured.Unstructured, portal string) string { + name := workshop.GetName() + + h := sha1.New() + + io.WriteString(h, path) + + hv := fmt.Sprintf("%x", h.Sum(nil)) + + name = fmt.Sprintf("%s--%s-%s", portal, name, hv[len(hv)-7:]) + + return name +} + +func GetWorkshopResource() schema.GroupVersionResource { + return schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshops"} +} + +func UpdateWorkshopResource(client dynamic.Interface, workshop *unstructured.Unstructured) error { + workshopsClient := client.Resource(GetWorkshopResource()) + + // _, err := workshopsClient.Apply(context.TODO(), workshop.GetName(), workshop, metav1.ApplyOptions{FieldManager: workshops.DefaultPortalName, Force: true}) + + workshopBytes, err := runtime.Encode(unstructured.UnstructuredJSONScheme, workshop) + + if err != nil { + return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) + } + + _, err = workshopsClient.Patch(context.TODO(), workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: DefaultPortalName, Force: true}.ToPatchOptions()) + + if err != nil { + return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) + } + + return nil +} + +func ProcessWorkshopDefinition(yamlData []byte, dataValueFlags yttcmd.DataValuesFlags) ([]byte, error) { + templatingOptions := yttcmd.NewOptions() + + templatingOptions.IgnoreUnknownComments = true + + templatingOptions.DataValuesFlags = dataValueFlags + + var filesToProcess []*files.File + + mainInputFile := files.MustNewFileFromSource(files.NewBytesSource("workshop.yaml", yamlData)) + + filesToProcess = append(filesToProcess, mainInputFile) + + logUI := yttcmdui.NewCustomWriterTTY(false, log.Writer(), log.Writer()) + + output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logUI) + + if output.Err != nil { + return []byte{}, fmt.Errorf("execution of ytt failed: %s", output.Err) + } + + if len(output.DocSet.Items) == 0 { + return []byte{}, nil + } + + var buf bytes.Buffer + + yamlmeta.NewYAMLPrinter(&buf).Print(output.DocSet.Items[0]) + + return buf.Bytes(), nil +} diff --git a/client-programs/pkg/workshops/manager.go b/client-programs/pkg/workshops/manager.go new file mode 100644 index 000000000..bafacb7eb --- /dev/null +++ b/client-programs/pkg/workshops/manager.go @@ -0,0 +1,372 @@ +package workshops + +import ( + "fmt" + "os" + "path/filepath" + "regexp" + "strings" + + "carvel.dev/imgpkg/pkg/imgpkg/cmd" + imgpkgcmd "carvel.dev/imgpkg/pkg/imgpkg/cmd" + vendirsync "carvel.dev/vendir/pkg/vendir/cmd" + yttcmd "carvel.dev/ytt/pkg/cmd/template" + + "github.com/cppforlife/go-cli-ui/ui" + "github.com/educates/educates-training-platform/client-programs/pkg/templates" + "github.com/pkg/errors" + "go.yaml.in/yaml/v2" + "k8s.io/apimachinery/pkg/apis/meta/internalversion/scheme" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer" +) + +type WorkshopManager struct { + +} + +type WorkshopNewConfig struct { + Template string + Name string + Title string + Description string + Image string +} + +type WorkshopExportConfig struct { + Repository string + WorkshopFile string + WorkshopVersion string + DataValuesFlags yttcmd.DataValuesFlags +} + +type WorkshopPublishConfig struct { + Image string + Repository string + WorkshopFile string + ExportWorkshop string + WorkshopVersion string + RegistryFlags imgpkgcmd.RegistryFlags + DataValuesFlags yttcmd.DataValuesFlags +} + +func NewWorkshopManager() *WorkshopManager { + return &WorkshopManager{} +} + +func (m *WorkshopManager) NewWorkshop(directory string,o *WorkshopNewConfig) error { + name := o.Name + + if name == "" { + name = filepath.Base(directory) + } + + if match, _ := regexp.MatchString("^[a-z0-9-]+$", name); !match { + return errors.Errorf("invalid workshop name %q", name) + } + + parameters := map[string]string{ + "WorkshopName": name, + "WorkshopTitle": o.Title, + "WorkshopDescription": o.Description, + "WorkshopImage": o.Image, + } + + template := templates.InternalTemplate(o.Template) + + return template.Apply(directory, parameters) +} + +func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) error { + // If image name hasn't been supplied read workshop definition file and + // try to work out image name to Export workshop as. + + rootDirectory := directory + workshopFilePath := o.WorkshopFile + + if !filepath.IsAbs(workshopFilePath) { + workshopFilePath = filepath.Join(rootDirectory, workshopFilePath) + } + + workshopFileData, err := os.ReadFile(workshopFilePath) + + if err != nil { + return errors.Wrapf(err, "cannot open workshop definition %q", workshopFilePath) + } + + // Process the workshop YAML data for ytt templating and data variables. + + if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { + return errors.Wrap(err, "unable to process workshop definition as template") + } + + workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(image_repository)", o.Repository)) + workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(workshop_version)", o.WorkshopVersion)) + + decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() + + workshop := &unstructured.Unstructured{} + + err = runtime.DecodeInto(decoder, workshopFileData, workshop) + + if err != nil { + return errors.Wrap(err, "couldn't parse workshop definition") + } + + if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { + return errors.New("invalid type for workshop definition") + } + + // Insert workshop version property if not specified. + + _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if !found && o.WorkshopVersion != "latest" { + unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") + } + + // Remove the publish section as will not be accurate after publising. + + unstructured.RemoveNestedField(workshop.Object, "spec", "publish") + + // Export modified workshop definition file. + + workshopFileData, err = yaml.Marshal(&workshop.Object) + + if err != nil { + return errors.Wrap(err, "couldn't convert workshop definition back to YAML") + } + + fmt.Print(string(workshopFileData)) + + return nil +} + +func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) error { + // If image name hasn't been supplied read workshop definition file and + // try to work out image name to publish workshop as. + + rootDirectory := directory + workshopFilePath := o.WorkshopFile + + workingDirectory, err := os.Getwd() + + if err != nil { + return errors.Wrap(err, "cannot determine current working directory") + } + + includePaths := []string{directory} + excludePaths := []string{".git"} + + if !filepath.IsAbs(workshopFilePath) { + workshopFilePath = filepath.Join(rootDirectory, workshopFilePath) + } + + workshopFileData, err := os.ReadFile(workshopFilePath) + + if err != nil { + return errors.Wrapf(err, "cannot open workshop definition %q", workshopFilePath) + } + + // Process the workshop YAML data for ytt templating and data variables. + + if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { + return errors.Wrap(err, "unable to process workshop definition as template") + } + + workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(image_repository)", o.Repository)) + workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(workshop_version)", o.WorkshopVersion)) + + decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() + + workshop := &unstructured.Unstructured{} + + err = runtime.DecodeInto(decoder, workshopFileData, workshop) + + if err != nil { + return errors.Wrap(err, "couldn't parse workshop definition") + } + + fmt.Printf("Processing workshop with name %q.\n", workshop.GetName()) + + if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { + return errors.New("invalid type for workshop definition") + } + + image := o.Image + + if image == "" { + image, _, _ = unstructured.NestedString(workshop.Object, "spec", "publish", "image") + } + + if image == "" { + return errors.Errorf("cannot find image name for publishing workshop %q", workshopFilePath) + } + + // Extract vendir snippet describing subset of files to package up as the + // workshop image. + + confUI := ui.NewConfUI(ui.NewNoopLogger()) + + uiFlags := cmd.UIFlags{ + Color: true, + JSON: false, + NonInteractive: true, + } + + uiFlags.ConfigureUI(confUI) + + defer confUI.Flush() + + if fileArtifacts, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "publish", "files"); found && len(fileArtifacts) != 0 { + tempDir, err := os.MkdirTemp("", "educates-imgpkg") + + if err != nil { + return errors.Wrapf(err, "unable to create temporary working directory") + } + + defer os.RemoveAll(tempDir) + + for _, artifactEntry := range fileArtifacts { + vendirConfig := map[string]interface{}{ + "apiVersion": "vendir.k14s.io/v1alpha1", + "kind": "Config", + "directories": []interface{}{}, + } + + dir := filepath.Join(tempDir, "files") + + if filePath, found := artifactEntry.(map[string]interface{})["path"].(string); found { + dir = filepath.Join(tempDir, "files", filepath.Clean(filePath)) + } + + if directoryConfig, found := artifactEntry.(map[string]interface{})["directory"]; found { + if directoryPath, found := directoryConfig.(map[string]interface{})["path"].(string); found { + if !filepath.IsAbs(directoryPath) { + directoryConfig.(map[string]interface{})["path"] = filepath.Join(directory, directoryPath) + } + } + } + + artifactEntry.(map[string]interface{})["path"] = "." + + directoryConfig := map[string]interface{}{ + "path": dir, + "contents": []interface{}{artifactEntry}, + } + + vendirConfig["directories"] = append(vendirConfig["directories"].([]interface{}), directoryConfig) + + yamlData, err := yaml.Marshal(&vendirConfig) + + if err != nil { + return errors.Wrap(err, "unable to generate vendir config") + } + + vendirConfigFile, err := os.Create(filepath.Join(tempDir, "vendir.yml")) + + if err != nil { + return errors.Wrap(err, "unable to create vendir config file") + } + + defer vendirConfigFile.Close() + + _, err = vendirConfigFile.Write(yamlData) + + if err != nil { + return errors.Wrap(err, "unable to write vendir config file") + } + + syncOptions := vendirsync.NewSyncOptions(confUI) + + syncOptions.Directories = nil + syncOptions.Files = []string{filepath.Join(tempDir, "vendir.yml")} + + // Note that Chdir here actually changes the process working directory. + + syncOptions.LockFile = filepath.Join(tempDir, "lock-file") + syncOptions.Locked = false + syncOptions.Chdir = tempDir + syncOptions.AllowAllSymlinkDestinations = false + + if err = syncOptions.Run(); err != nil { + fmt.Println(string(yamlData)) + + return errors.Wrap(err, "failed to prepare image files for publishing") + } + } + + // Restore working directory as was changed. + + os.Chdir((workingDirectory)) + + rootDirectory = filepath.Join(tempDir, "files") + includePaths = []string{rootDirectory} + } + + // Now publish workshop directory contents as OCI image artifact. + + fmt.Printf("Publishing workshop files to %q.\n", image) + + pushOptions := imgpkgcmd.NewPushOptions(confUI) + + pushOptions.ImageFlags.Image = image + pushOptions.FileFlags.Files = append(pushOptions.FileFlags.Files, includePaths...) + pushOptions.FileFlags.ExcludedFilePaths = append(pushOptions.FileFlags.ExcludedFilePaths, excludePaths...) + + pushOptions.RegistryFlags = o.RegistryFlags + + err = pushOptions.Run() + + if err != nil { + return errors.Wrap(err, "unable to push image artifact for workshop") + } + + // We add a newline to output for better readability. + fmt.Println() + + // Export modified workshop definition file. + + exportWorkshop := o.ExportWorkshop + + if exportWorkshop != "" { + // Insert workshop version property if not specified. + + _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if !found && o.WorkshopVersion != "latest" { + unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") + } + + // Remove the publish section as will not be accurate after publising. + + unstructured.RemoveNestedField(workshop.Object, "spec", "publish") + + workshopFileData, err = yaml.Marshal(&workshop.Object) + + if err != nil { + return errors.Wrap(err, "couldn't convert workshop definition back to YAML") + } + + if !filepath.IsAbs(exportWorkshop) { + exportWorkshop = filepath.Join(workingDirectory, exportWorkshop) + } + + exportWorkshopFile, err := os.Create(exportWorkshop) + + if err != nil { + return errors.Wrap(err, "unable to create exported workshop definition file") + } + + defer exportWorkshopFile.Close() + + _, err = exportWorkshopFile.Write(workshopFileData) + + if err != nil { + return errors.Wrap(err, "unable to write exported workshop definition file") + } + } + + return nil +} diff --git a/go.work.sum b/go.work.sum index 3fb3cde22..6f215205a 100644 --- a/go.work.sum +++ b/go.work.sum @@ -5,23 +5,12 @@ cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5x github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= ======= carvel.dev/imgpkg v0.44.0 h1:5f7LZKn8MALx2xldwNXm5TD6vn9NDQuHJs8Nag2Fr0Y= -carvel.dev/imgpkg v0.46.1 h1:UOYaPllQJRsbzSl61IiNvmDZA5z4951i/KaSROAC1W0= -carvel.dev/imgpkg v0.46.1/go.mod h1:Q1E+7tpoiPbVNjb7HSmLZP7E1j0w6mWFzDarOXW1HiI= carvel.dev/kapp v0.59.2/go.mod h1:HAeURGw65eT00APPvnOQ8uDx5yvdrro2vtH5VYF1Zz0= -carvel.dev/kapp v0.64.2 h1:dJhtWVOkvPPgcS0f5A4OtOlrGie9gHvabtZBvB/h0+M= -carvel.dev/kapp v0.64.2/go.mod h1:5t0pWQzyoY9SzPVqrqgYhTlzgsuyMy+bvFdmrvtbDJw= -carvel.dev/kbld v0.46.0 h1:khSHTH3yiEE8imE9K245ZT67ZToixa1nC1938Oje1O4= -carvel.dev/kbld v0.46.0/go.mod h1:wmUYbnw0di759Id26P6dtRW59cBHy4UT9/FJgthiJ0I= -carvel.dev/vendir v0.44.0 h1:vfq5KgGbbLlxHrE0prY7gZgiEQpjwo4lS2akCaVkcxA= -carvel.dev/vendir v0.44.0/go.mod h1:gslrJ0HPiy8gtJYsQZHzIVuGfOG0nfDKDupEm7uBWVQ= carvel.dev/ytt v0.47.0/go.mod h1:Xarf0th61vX6VY07l3KBSi3uaMCQ2UyPPiCPiaVpHME= -carvel.dev/ytt v0.52.1 h1:I9rCwIunzClas2MH5nVGtCK5ujZdiGaqAfGol/wiRKQ= -carvel.dev/ytt v0.52.1/go.mod h1:lzkMguCvSVvxT2My9RG3gRMgTws97NpNXufKZ6iiP5E= cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8= cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo= cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= -cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= -cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= +cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= @@ -86,8 +75,6 @@ cloud.google.com/go/compute v1.27.4/go.mod h1:7JZS+h21ERAGHOy5qb7+EPyXlQwzshzrx1 cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= -cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= -cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= cloud.google.com/go/contactcenterinsights v1.11.1/go.mod h1:FeNP3Kg8iteKM80lMwSk3zZZKVxr+PGnAId6soKuXwE= cloud.google.com/go/container v1.26.1/go.mod h1:5smONjPRUxeEpDG7bMKWfDL4sauswqEtnBK1/KKpR04= cloud.google.com/go/containeranalysis v0.11.1/go.mod h1:rYlUOM7nem1OJMKwE1SadufX0JP3wnXj844EtZAwWLY= @@ -187,9 +174,15 @@ cloud.google.com/go/vpcaccess v1.7.2/go.mod h1:mmg/MnRHv+3e8FJUjeSibVFvQF1cCy2Ms cloud.google.com/go/webrisk v1.9.2/go.mod h1:pY9kfDgAqxUpDBOrG4w8deLfhvJmejKB0qd/5uQIPBc= cloud.google.com/go/websecurityscanner v1.6.2/go.mod h1:7YgjuU5tun7Eg2kpKgGnDuEOXWIrh8x8lWrJT4zfmas= cloud.google.com/go/workflows v1.12.1/go.mod h1:5A95OhD/edtOhQd/O741NSfIMezNTbCwLM1P1tBRGHM= +dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Azure/azure-sdk-for-go v46.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v55.0.0+incompatible h1:L4/vUGbg1Xkw5L20LZD+hJI5I+ibWSytqQ68lTCfLwY= github.com/Azure/azure-sdk-for-go v55.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.2/go.mod h1:QyVsSSN64v5TGltphKLQ2sQxe4OBQg0J1eKRcVBnfgE= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.11.0/go.mod h1:okZ+ZURbArNdlJ+ptXoyHNuOETzOl1Oww19rm8I2WLA= +github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2/go.mod h1:XtLgD3ZD34DAaVIIAyG3objl5DynM3CQ/vMcbBNJZGI= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.5.0/go.mod h1:PXe2h+LKcWTX9afWdZoHyODqR4fBa5boUM/8uJfZ0Jo= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest/autorest v0.11.6/go.mod h1:V6p3pKZx1KKkJubbxnDWrzNhEIfOy/pTGasLqzHIPHs= github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= @@ -204,23 +197,50 @@ github.com/Azure/go-autorest/autorest/azure/auth v0.5.11/go.mod h1:84w/uV8E37feW github.com/Azure/go-autorest/autorest/azure/cli v0.4.1 h1:jwcD1wURu0+hKceV04MubZmKLzwEYOCz6q4aOtVZ+Ng= github.com/Azure/go-autorest/autorest/azure/cli v0.4.1/go.mod h1:JfDgiIO1/RPu6z42AdQTyjOoCM2MFhLqSBDvMEkDgcg= github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= +github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= -github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= -github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b/go.mod h1:FNj4KYEAAHfYu68kRYolGoxkaJn+6mdEsaM12VTwuI0= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw= +<<<<<<< HEAD >>>>>>> e681bce4 (Updates to docker-extension) github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= +======= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= +github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Microsoft/go-winio v0.4.21/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/hcsshim v0.8.25/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hnslib v0.0.8/go.mod h1:EYveQJlhKh2obmEIRB3uKN6dBd9pj1frPsrTGFppKuk= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/Microsoft/hnslib v0.1.1/go.mod h1:DRQR4IjLae6WHYVhW7uqe44hmFUiNhmaWA+jwMbz5tM= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +<<<<<<< HEAD +======= +github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= +github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +<<<<<<< HEAD +======= +github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= +<<<<<<< HEAD +======= +github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM= +github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= +github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= +github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-lambda-go v1.41.0/go.mod h1:jwFe2KmMsHmffA1X2R09hH6lFzJQxzI8qK17ewzbQMM= @@ -231,77 +251,51 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb github.com/aws/aws-sdk-go-v2 v1.7.1/go.mod h1:L5LuPC1ZgDr2xQS7AmIec/Jlc7O/Y1u2KxJyNVab250= github.com/aws/aws-sdk-go-v2 v1.36.1 h1:iTDl5U6oAhkNPba0e1t1hrwAo02ZMqbrGq4k5JBWM5E= github.com/aws/aws-sdk-go-v2 v1.36.1/go.mod h1:5PMILGVKiW32oDzjj6RU52yrNrDPUHcbZQYr1sM7qmM= -github.com/aws/aws-sdk-go-v2 v1.39.6 h1:2JrPCVgWJm7bm83BDwY5z8ietmeJUbh3O2ACnn+Xsqk= -github.com/aws/aws-sdk-go-v2 v1.39.6/go.mod h1:c9pm7VwuW0UPxAEYGyTmyurVcNrbF6Rt/wixFqDhcjE= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= github.com/aws/aws-sdk-go-v2/config v1.5.0/go.mod h1:RWlPOAW3E3tbtNAqTwvSW54Of/yP3oiZXMI0xfUdjyA= github.com/aws/aws-sdk-go-v2/config v1.29.6 h1:fqgqEKK5HaZVWLQoLiC9Q+xDlSp+1LYidp6ybGE2OGg= github.com/aws/aws-sdk-go-v2/config v1.29.6/go.mod h1:Ft+WLODzDQmCTHDvqAH1JfC2xxbZ0MxpZAcJqmE1LTQ= -github.com/aws/aws-sdk-go-v2/config v1.31.19 h1:qdUtOw4JhZr2YcKO3g0ho/IcFXfXrrb8xlX05Y6EvSw= -github.com/aws/aws-sdk-go-v2/config v1.31.19/go.mod h1:tMJ8bur01t8eEm0atLadkIIFA154OJ4JCKZeQ+o+R7k= github.com/aws/aws-sdk-go-v2/credentials v1.3.1/go.mod h1:r0n73xwsIVagq8RsxmZbGSRQFj9As3je72C2WzUIToc= github.com/aws/aws-sdk-go-v2/credentials v1.17.59 h1:9btwmrt//Q6JcSdgJOLI98sdr5p7tssS9yAsGe8aKP4= github.com/aws/aws-sdk-go-v2/credentials v1.17.59/go.mod h1:NM8fM6ovI3zak23UISdWidyZuI1ghNe2xjzUZAyT+08= -github.com/aws/aws-sdk-go-v2/credentials v1.18.23 h1:IQILcxVgMO2BVLaJ2aAv21dKWvE1MduNrbvuK43XL2Q= -github.com/aws/aws-sdk-go-v2/credentials v1.18.23/go.mod h1:JRodHszhVdh5TPUknxDzJzrMiznG+M+FfR3WSWKgCI8= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.3.0/go.mod h1:2LAuqPx1I6jNfaGDucWfA2zqQCYCOMCDHiCOciALyNw= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28 h1:KwsodFKVQTlI5EyhRSugALzsV6mG/SGrdjlMXSZSdso= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28/go.mod h1:EY3APf9MzygVhKuPXAc5H+MkGb8k/DOSQjWS0LgkKqI= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13 h1:T1brd5dR3/fzNFAQch/iBKeX07/ffu/cLu+q+RuzEWk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13/go.mod h1:Peg/GBAQ6JDt+RoBf4meB1wylmAipb7Kg2ZFakZTlwk= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.10/go.mod h1:3HKuexPDcwLWPaqpW2UR/9n8N/u/3CKcGAzSs8p8u8g= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32 h1:BjUcr3X3K0wZPGFg2bxOWW3VPN8rkE3/61zhP+IHviA= github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32/go.mod h1:80+OGC/bgzzFFTUmcuwD0lb4YutwQeKLFpmt6hoWapU= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13 h1:a+8/MLcWlIxo1lF9xaGt3J/u3yOZx+CdSveSNwjhD40= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13/go.mod h1:oGnKwIYZ4XttyU2JWxFrwvhF6YKiK/9/wmE3v3Iu9K8= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32 h1:m1GeXHVMJsRsUAqG6HjZWx9dj7F5TR+cF1bjyfYyBd4= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32/go.mod h1:IitoQxGfaKdVLNg0hD8/DXmAqNy0H4K2H2Sf91ti8sI= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13 h1:HBSI2kDkMdWz4ZM7FjwE7e/pWDEZ+nR95x8Ztet1ooY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13/go.mod h1:YE94ZoDArI7awZqJzBAZ3PDD2zSfuP7w6P2knOzIn8M= github.com/aws/aws-sdk-go-v2/internal/ini v1.1.1/go.mod h1:Zy8smImhTdOETZqfyn01iNOe0CNggVbPjCajyaz6Gvg= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk= github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.4/go.mod h1:SPBBhkJxjcrzJBc+qY85e83MQ2q3qdra8fghhkkyrJg= github.com/aws/aws-sdk-go-v2/service/ecr v1.4.1/go.mod h1:FglZcyeiBqcbvyinl+n14aT/EWC7S1MIH+Gan2iizt0= github.com/aws/aws-sdk-go-v2/service/ecr v1.40.3 h1:a+210FCU/pR5hhKRaskRfX/ogcyyzFBrehcTk5DTAyU= github.com/aws/aws-sdk-go-v2/service/ecr v1.40.3/go.mod h1:dtD3a4sjUjVL86e0NUvaqdGvds5ED6itUiZPDaT+Gh8= -github.com/aws/aws-sdk-go-v2/service/ecr v1.51.3 h1:+0AhrMCsfRxzlojjbJBOOBO1Ka5t1VsF28g+eHYbyEI= -github.com/aws/aws-sdk-go-v2/service/ecr v1.51.3/go.mod h1:1NVD1KuMjH2GqnPwMotPndQaT/MreKkWpjkF12d6oKU= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.4.1/go.mod h1:eD5Eo4drVP2FLTw0G+SMIPWNWvQRGGTtIZR2XeAagoA= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.31.2 h1:E6/Myrj9HgLF22medmDrKmbpm4ULsa+cIBNx3phirBk= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.31.2/go.mod h1:OQ8NALFcchBJ/qruak6zKUQodovnTKKaReTuCkc5/9Y= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.3 h1:2Mfho1EDuk815vcGZbiGsOY6mMGPMCsJTx2dWZdWudI= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.3/go.mod h1:x7gU4CAyAz4BsM9hlRkhHiYw2GIr1QCmN45uwQw9l/E= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 h1:x2Ibm/Af8Fi+BH+Hsn9TXGdT+hKbDd5XOTZxTMxDk7o= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3/go.mod h1:IW1jwyrQgMdhisceG8fQLmQIydcT/jWY21rFhzgaKwo= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.4/go.mod h1:b17At0o8inygF+c6FOD3rNyYZufPw62o9XJbSfQPgbo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.2.1/go.mod h1:zceowr5Z1Nh2WVP8bf/3ikB41IZW59E4yIYbg+pC6mw= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13 h1:SYVGSFQHlchIcy6e7x12bsrxClCXSP5et8cqVhL8cuw= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13/go.mod h1:kizuDaLX37bG5WZaoxGPQR/LNFXpxp0vsUnqfkWXfNE= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 h1:kDqdFvMY4AtKoACfzIGD8A0+hbT41KTKF//gq7jITfM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13/go.mod h1:lmKuogqSU3HzQCwZ9ZtcqOc5XGMqtDK7OIc2+DxiUEg= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.4/go.mod h1:DnbBOv4FlIXHj2/xmrUQYtawRFC9L9ZmQPz+DBc6X5I= +github.com/aws/aws-sdk-go-v2/service/s3 v1.87.1/go.mod h1:w5PC+6GHLkvMJKasYGVloB3TduOtROEMqm15HSuIbw4= github.com/aws/aws-sdk-go-v2/service/sso v1.3.1/go.mod h1:J3A3RGUvuCZjvSuZEcOpHDnzZP/sKbhDWV2T1EOzFIM= github.com/aws/aws-sdk-go-v2/service/sso v1.24.15 h1:/eE3DogBjYlvlbhd2ssWyeuovWunHLxfgw3s/OJa4GQ= github.com/aws/aws-sdk-go-v2/service/sso v1.24.15/go.mod h1:2PCJYpi7EKeA5SkStAmZlF6fi0uUABuhtF8ILHjGc3Y= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.2 h1:/p6MxkbQoCzaGQT3WO0JwG0FlQyG9RD8VmdmoKc5xqU= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.2/go.mod h1:fKvyjJcz63iL/ftA6RaM8sRCtN4r4zl4tjL3qw5ec7k= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14 h1:M/zwXiL2iXUrHputuXgmO94TVNmcenPHxgLXLutodKE= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14/go.mod h1:RVwIw3y/IqxC2YEXSIkAzRDdEU1iRabDPaYjpGCbCGQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.6 h1:0dES42T2dhICCbVB3JSTTn7+Bz93wfJEK1b7jksZIyQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.6/go.mod h1:klO+ejMvYsB4QATfEOIXk8WAEwN4N0aBfJpvC+5SZBo= github.com/aws/aws-sdk-go-v2/service/sts v1.6.0/go.mod h1:q7o0j7d7HrJk/vr9uUt3BVRASvcU7gYZB9PUgPiByXg= github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 h1:TzeR06UCMUq+KA3bDkujxK1GVGy+G8qQN/QVYzGLkQE= github.com/aws/aws-sdk-go-v2/service/sts v1.33.14/go.mod h1:dspXf/oYWGWo6DEvj98wpaTeqt5+DMidZD0A9BYTizc= -github.com/aws/aws-sdk-go-v2/service/sts v1.40.1 h1:5sbIM57lHLaEaNWdIx23JH30LNBsSDkjN/QXGcRLAFc= -github.com/aws/aws-sdk-go-v2/service/sts v1.40.1/go.mod h1:E19xDjpzPZC7LS2knI9E6BaRFDK43Eul7vd6rSq2HWk= github.com/aws/smithy-go v1.6.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= -github.com/aws/smithy-go v1.23.2 h1:Crv0eatJUQhaManss33hS5r40CG3ZFH+21XSkqMrIUM= -github.com/aws/smithy-go v1.23.2/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220517224237-e6f29200ae04/go.mod h1:Z+bXnIbhKJYSvxNwsNnwde7pDKxuqlEZCbUBoTwAqf0= -github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 h1:GOPttfOAf5qAgx7r6b+zCWZrvCsfKffkL4H6mSYx1kA= -github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0/go.mod h1:a2HN6+p7k0JLDO8514sMr0l4cnrR52z4sWoZ/Uc82ho= github.com/bazelbuild/bazelisk v1.13.2/go.mod h1:jVD8/E7hMAXgWKCljEz8hOV0PZ+nFBgCpjIOJ6Xyzus= github.com/bazelbuild/rules_go v0.34.0/go.mod h1:MC23Dc/wkXEyk3Wpq6lCqz0ZAYOZDw2DR5y3N1q2i7M= github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= @@ -311,23 +305,31 @@ github.com/bmatcuk/doublestar v1.2.1 h1:eetYiv8DDYOZcBADY+pRvRytf3Dlz1FhnpvL2FsC github.com/bmatcuk/doublestar v1.2.1/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= -github.com/cenkalti/backoff/v5 v5.0.3/go.mod h1:rkhZdG3JZukswDf7f0cwqPNk4K0sa+F97BxZthm/crw= +github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= >>>>>>> e681bce4 (Updates to docker-extension) github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= +<<<<<<< HEAD +======= +github.com/checkpoint-restore/checkpointctl v1.4.0/go.mod h1:ynQ52zQBazgcTZuxpwTFzRinIcAf0haDTC1X1LA/FKA= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/checkpoint-restore/go-criu/v7 v7.2.0/go.mod h1:u0LCWLg0w4yqqu14aXhiB4YD3a1qd8EcCEg7vda5dwo= +github.com/cheggaaa/pb/v3 v3.1.4/go.mod h1:6wVjILNBaXMs8c21qRiaUM8BR82erfgau1DQ4iUXmSA= +github.com/chrismellard/docker-credential-acr-env v0.0.0-20220327082430-c57b701bfc08 h1:9Qh4lJ/KMr5iS1zfZ8I97+3MDpiKjl+0lZVUNBhdvRs= +github.com/chrismellard/docker-credential-acr-env v0.0.0-20220327082430-c57b701bfc08/go.mod h1:MAuu1uDJNOS3T3ui0qmKdPUwm59+bO19BbTph2wZafE= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= <<<<<<< HEAD github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5/go.mod h1:KdCmV+x/BuvyMxRnYBlmVaq4OLiKW6iRQfvC62cvdkI= ======= github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= -github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfatpWHKCs= -github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= -github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= -github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= +github.com/cilium/ebpf v0.16.0/go.mod h1:L7u2Blt2jMM/vLAVgjxluxtBKlz3/GWjB0dMOEngfwE= +github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= @@ -337,27 +339,42 @@ github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido6 github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= +github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4= github.com/compose-spec/compose-go/v2 v2.9.1 h1:8UwI+ujNU+9Ffkf/YgAm/qM9/eU7Jn8nHzWG721W4rs= github.com/compose-spec/compose-go/v2 v2.9.1/go.mod h1:Oky9AZGTRB4E+0VbTPZTUu4Kp+oEMMuwZXZtPPVT1iE= github.com/container-storage-interface/spec v1.8.0/go.mod h1:ROLik+GhPslwwWRNFF1KasPzroNARibH2rfz1rkg4H0= >>>>>>> e681bce4 (Updates to docker-extension) github.com/container-storage-interface/spec v1.9.0/go.mod h1:ZfDu+3ZRyeVqxZM0Ds19MVLkN2d1XJ5MAfi1L3VjlT0= +<<<<<<< HEAD +======= +github.com/containerd/accelerated-container-image v1.3.0/go.mod h1:EvKVWor6ZQNUyYp0MZm5hw4k21ropuz7EegM+m/Jb/Q= +github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= +github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= +github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= +github.com/containerd/containerd/api v1.7.19/go.mod h1:fwGavl3LNwAV5ilJ0sbrABL44AQxmNjDRcwheXDb6Ig= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/containerd/containerd/api v1.8.0/go.mod h1:dFv4lt6S20wTu/hMcP4350RL87qPWLVa/OHOwmmdnYc= <<<<<<< HEAD ======= github.com/containerd/errdefs v0.1.0/go.mod h1:YgWiiHtLmSeBrvpw+UfPijzbLaB77mEG1WwJTDETIV0= -github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= -github.com/containerd/errdefs v1.0.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= -github.com/containerd/errdefs/pkg v0.3.0 h1:9IKJ06FvyNlexW690DXuQNx2KA2cUJXx151Xdx3ZPPE= -github.com/containerd/errdefs/pkg v0.3.0/go.mod h1:NJw6s9HwNuRhnjJhM7pylWwMyAkmCQvQ4GpJHEqRLVk= +github.com/containerd/fuse-overlayfs-snapshotter/v2 v2.1.6/go.mod h1:Mau9LZ7ZnyKCIgcNT7sMG5fjaZ9YCOHU5RuolUikhBQ= +github.com/containerd/go-cni v1.1.13/go.mod h1:nTieub0XDRmvCZ9VI/SBG6PyqT95N4FIhxsauF1vSBI= +github.com/containerd/go-runc v1.1.0/go.mod h1:xJv2hFF7GvHtTJd9JqTS2UVxMkULUYw4JN5XAUZqH5U= +github.com/containerd/imgcrypt/v2 v2.0.1/go.mod h1:/qIJL8nxzdzMA2n5iYyyuIY36KfoVQWmgTWdfVtyebM= +github.com/containerd/nri v0.10.0/go.mod h1:5VyvLa/4uL8FjyO8nis1UjbCutXDpngil17KvBSL6BU= +github.com/containerd/otelttrpc v0.1.0/go.mod h1:XhoA2VvaGPW1clB2ULwrBZfXVuEWuyOd2NUD1IM0yTg= +github.com/containerd/stargz-snapshotter v0.17.0 h1:djNS4KU8ztFhLdEDZ1bsfzOiYuVHT6TgSU5qwRk+cNc= +github.com/containerd/stargz-snapshotter v0.17.0/go.mod h1:ySEul1ck7jCE4jqsuFCo8FFLrHU20UWQeI9g7mdsanI= github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= -github.com/containerd/stargz-snapshotter/estargz v0.18.1 h1:cy2/lpgBXDA3cDKSyEfNOFMA/c10O1axL69EU7iirO8= -github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q= github.com/containerd/ttrpc v1.2.2/go.mod h1:sIT6l32Ph/H9cvnJsfXM5drIVzTr5A2flTf1G5tYZak= github.com/containerd/ttrpc v1.2.5/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= >>>>>>> e681bce4 (Updates to docker-extension) github.com/containerd/ttrpc v1.2.6/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= github.com/containerd/typeurl/v2 v2.2.2/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= +github.com/containerd/zfs/v2 v2.0.0-rc.0/go.mod h1:g36g/XCEGDRxUXIFdM3oWAEvmTvhfz/eKWElqg4Secw= +github.com/containernetworking/cni v1.3.0/go.mod h1:Bs8glZjjFfGPHMw6hQu82RUgEPNGEaBb9KS5KtNMnJ4= +github.com/containernetworking/plugins v1.9.0/go.mod h1:JG3BxoJifxxHBhG3hFyxyhid7JgRVBu/wtooGEvWf1c= +github.com/containers/ocicrypt v1.2.1/go.mod h1:aD0AAqfMp0MtwqWgHM1bUwe1anx0VazI108CRrSKINQ= github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= github.com/coredns/corefile-migration v1.0.26/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= @@ -368,17 +385,12 @@ github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSV github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cppforlife/cobrautil v0.0.0-20221021151949-d60711905d65/go.mod h1:2w+qxVu2KSGW78Ex/XaIqfh/OvBgjEsmN53S4T8vEyA= github.com/cppforlife/go-cli-ui v0.0.0-20220425131040-94f26b16bc14/go.mod h1:AlgTssDlstr4mf92TR4DPITLfl5+7wEY4cKStCmeeto= -github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad h1:PaYhzcFC4VCmlBNWLshK0VxWJyb5J+AdnrwR6hnfe+A= -github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad/go.mod h1:xZhzUOhCF76o47bEulESCNzmvP4xbwRFUSpN62Zu9FI= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -<<<<<<< HEAD -======= github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.3.4/go.mod h1:8s/MCNJREmFK0H02MF6Ihv1nakJe4L/w3WZLHNkvlYM= >>>>>>> e681bce4 (Updates to docker-extension) @@ -390,25 +402,22 @@ github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2 github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c= github.com/dimchansky/utfbom v1.1.0 h1:FcM3g+nofKgUteL8dm/UpdRXNC9KmADgTpLKsu0TRo4= github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= +github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/docker/cli v24.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/cli v27.5.0+incompatible h1:aMphQkcGtpHixwwhAXJT1rrK/detk2JIvDaFkLctbGM= github.com/docker/cli v27.5.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/cli v29.0.0+incompatible h1:KgsN2RUFMNM8wChxryicn4p46BdQWpXOA1XLGBGPGAw= -github.com/docker/cli v29.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli-docs-tool v0.11.0 h1:7d8QARFb7QEobizqxmEM7fOteZEHwH/zWgHQtHZEcfE= +github.com/docker/cli-docs-tool v0.11.0/go.mod h1:ma8BKiisUo8D6W05XEYIh3oa1UbgrZhi1nowyKFJa8Q= github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v24.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v27.5.0+incompatible h1:um++2NcQtGRTz5eEgO6aJimo6/JxrTXC941hd05JO6U= github.com/docker/docker v27.5.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker v28.0.2+incompatible h1:9BILleFwug5FSSqWBgVevgL3ewDJfWWWyZVqlDMttE8= github.com/docker/docker v28.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= -github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/docker/docker-credential-helpers v0.9.4 h1:76ItO69/AP/V4yT9V4uuuItG0B1N8hvt0T0c0NN/DzI= -github.com/docker/docker-credential-helpers v0.9.4/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= -github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= -github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= +github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= >>>>>>> e681bce4 (Updates to docker-extension) @@ -422,8 +431,6 @@ github.com/envoyproxy/go-control-plane/envoy v1.36.0/go.mod h1:ty89S1YCCVruQAm9O github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= -github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -434,13 +441,19 @@ github.com/envoyproxy/go-control-plane v0.11.1/go.mod h1:uhMcXKCQMEJHiAb0w+YGefQ github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/IragXCQKCnYbmlmtHvwRG0= github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA= +github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329/go.mod h1:Alz8LEClvR7xKsrq3qzoc4N0guvVNSS8KmSChGYr9hs= github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= +<<<<<<< HEAD >>>>>>> e681bce4 (Updates to docker-extension) +======= +github.com/envoyproxy/go-control-plane/envoy v1.35.0/go.mod h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.3.0/go.mod h1:HvYl7zwPa5mffgyeTUHA9zHIH36nmrm7oCbo4YKoSWA= github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= +<<<<<<< HEAD github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= <<<<<<< HEAD github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= @@ -449,9 +462,15 @@ github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9 github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= +======= +github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= +github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= +github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= +github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= +github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/fxamacker/cbor/v2 v2.6.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= -github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= -github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getkin/kin-openapi v0.81.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= @@ -459,7 +478,9 @@ github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-jose/go-jose/v3 v3.0.0/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= github.com/go-jose/go-jose/v4 v4.1.2/go.mod h1:22cg9HWM1pOlnRiY+9cQYJ9XHmya1bYW8OeDM6Ku6Oo= +github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= @@ -469,44 +490,38 @@ github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -<<<<<<< HEAD -======= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= +github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= +github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= +github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= +github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= +github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -<<<<<<< HEAD -======= github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonpointer v0.22.1 h1:sHYI1He3b9NqJ4wXLoJDKmUmHkWy/L7rtEo92JUxBNk= github.com/go-openapi/jsonpointer v0.22.1/go.mod h1:pQT9OsLkfz1yWoMgYFy4x3U5GY5nUlsOn1qSBH5MkCM= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -<<<<<<< HEAD -======= github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/jsonreference v0.21.3 h1:96Dn+MRPa0nYAR8DR1E03SblB5FJvh7W6krPI0Z7qMc= github.com/go-openapi/jsonreference v0.21.3/go.mod h1:RqkUP0MrLf37HqxZxrIAtTWW4ZJIK1VzduhXYBEeGc4= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -<<<<<<< HEAD -======= github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/swag v0.25.1 h1:6uwVsx+/OuvFVPqfQmOOPsqTcm5/GkBhNwLqIR916n8= github.com/go-openapi/swag v0.25.1/go.mod h1:bzONdGlT0fkStgGPd3bhZf1MnuPkf2YAys6h+jZipOo= @@ -534,17 +549,40 @@ github.com/go-openapi/swag/typeutils v0.25.1/go.mod h1:9McMC/oCdS4BKwk2shEB7x17P github.com/go-openapi/swag/yamlutils v0.25.1 h1:mry5ez8joJwzvMbaTGLhw8pXUnhDK91oSJLDPF1bmGk= github.com/go-openapi/swag/yamlutils v0.25.1/go.mod h1:cm9ywbzncy3y6uPm/97ysW8+wZ09qsks+9RS8fLWKqg= github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= +<<<<<<< HEAD github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= >>>>>>> e681bce4 (Updates to docker-extension) +======= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +<<<<<<< HEAD +======= +github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= +github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= +github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= +github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= +github.com/google/cadvisor v0.49.0/go.mod h1:s6Fqwb2KiWG6leCegVhw4KW40tf9f7m+SF1aXiE8Wsk= +github.com/google/cadvisor v0.49.2/go.mod h1:s6Fqwb2KiWG6leCegVhw4KW40tf9f7m+SF1aXiE8Wsk= +github.com/google/cadvisor v0.51.0/go.mod h1:czGE/c/P/i0QFpVNKTFrIEzord9Y10YfpwuaSWXELc0= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/google/cadvisor v0.52.1/go.mod h1:OAhPcx1nOm5YwMh/JhpUOMKyv1YKLRtS9KgzWPndHmA= <<<<<<< HEAD github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= @@ -558,14 +596,12 @@ github.com/google/cel-go v0.23.2 h1:UdEe3CvQh3Nv+E/j9r1Y//WO0K0cSyD7/y0bzyLIMI4= github.com/google/cel-go v0.23.2/go.mod h1:52Pb6QsDbC5kvgxvZhiL9QX1oZEkcUF/ZqaPx1J5Wwo= github.com/google/cel-go v0.24.1 h1:jsBCtxG8mM5wiUJDSGUqU0K7Mtr3w7Eyv00rw4DiZxI= github.com/google/cel-go v0.24.1/go.mod h1:Hdf9TqOaTNSFQA1ybQaRqATVoK7m/zcf7IMhGXP5zI8= -github.com/google/cel-go v0.26.1 h1:iPbVVEdkhTX++hpe3lzSk7D3G3QSYqLGoHOcEio+UXQ= -github.com/google/cel-go v0.26.1/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/certtostore v1.0.6/go.mod h1:2N0ZPLkGvQWhYvXaiBGq02r71fnSLfq78VKIWQHr1wo= +github.com/google/deck v0.0.0-20230104221208-105ad94aa8ae/go.mod h1:DoDv8G58DuLNZF0KysYn0bA/6ZWhmRW3fZE2VnGEH0w= github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= -github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= @@ -574,11 +610,11 @@ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= github.com/google/go-containerregistry v0.17.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo= -github.com/google/go-containerregistry v0.20.6 h1:cvWX87UxxLgaH76b4hIvya6Dzz9qHB31qAwjAohdSTU= -github.com/google/go-containerregistry v0.20.6/go.mod h1:T0x8MuoAoKX/873bkeSfLD2FAkwCDf9/HZgsFJ02E2Y= +github.com/google/go-dap v0.12.0/go.mod h1:tNjCASCm5cqePi/RVXXWEVqtnNLV1KTWtYOqu6rZNzc= github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= @@ -615,12 +651,11 @@ github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEP github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= -github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= >>>>>>> e681bce4 (Updates to docker-extension) github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1/go.mod h1:lXGCsh6c22WGtjr+qGHj1otzZpV/1kwTMAqkwZsnWRU= +github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0/go.mod h1:hM2alZsMUni80N33RBe6J0e423LB+odMj7d3EMP9l20= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.0/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc= <<<<<<< HEAD ======= @@ -629,22 +664,45 @@ github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFb github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= +github.com/hanwen/go-fuse/v2 v2.8.0/go.mod h1:yE6D2PqWwm3CbYRxFXV9xUd8Md5d6NG0WBs5spCswmI= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hashicorp/go-cty-funcs v0.0.0-20250818135842-6aab67130928/go.mod h1:YC9ASYt9Z9sQEAtzCe+yaAzi3E7wcxfRphDXtwZoWC0= +github.com/hashicorp/go-immutable-radix/v2 v2.1.0/go.mod h1:hgdqLXA4f6NIjRVisM1TJ9aOJVNRqKZj+xDGF6m7PBw= +github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +<<<<<<< HEAD >>>>>>> e681bce4 (Updates to docker-extension) github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +======= +github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= +github.com/hiddeco/sshsig v0.2.0/go.mod h1:nJc98aGgiH6Yql2doqH4CTBVHexQA40Q+hMMLHP4EqE= +github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/intel/goresctrl v0.10.0/go.mod h1:1S8GDqL46GuKb525bxNhIEEkhf4rhVcbSf9DuKhp7mw= +github.com/ishidawataru/sctp v0.0.0-20230406120618-7ff4192f6ff2/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/ishidawataru/sctp v0.0.0-20250521072954-ae8eb7fa7995/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= github.com/jessevdk/go-flags v1.6.1/go.mod h1:Mk8T1hIAWpOiJiHa9rJASDK2UGWji0EuPGBnNLMooyc= +<<<<<<< HEAD github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= +======= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= +github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/k14s/semver/v4 v4.0.1-0.20210701191048-266d47ac6115/go.mod h1:mGrnmO5qnhJIaSiwMo05cvRL6Ww9ccYbTgNFcm6RHZQ= github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= +github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= github.com/kisielk/errcheck v1.8.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= <<<<<<< HEAD @@ -653,15 +711,10 @@ github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQs github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= -github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co= -github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0= -github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= +github.com/knqyf263/go-plugin v0.9.0/go.mod h1:2z5lCO1/pez6qGo8CvCxSlBFSEat4MEp1DrnA+f7w8Q= github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -<<<<<<< HEAD -======= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= >>>>>>> e681bce4 (Updates to docker-extension) github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc= @@ -669,8 +722,12 @@ github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= <<<<<<< HEAD +<<<<<<< HEAD github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= ======= +======= +github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -679,30 +736,42 @@ github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJ github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= -github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byFGLdw= -github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= >>>>>>> e681bce4 (Updates to docker-extension) github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.11.2/go.mod h1:VzB2VoMh1Y32/QqDfg9ZJYHj99oM4LiGtqPZydTiQSQ= +github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= +github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnENvE+SE= +github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= +<<<<<<< HEAD +======= +github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= +github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/moby/ipvs v1.1.0/go.mod h1:4VJMWuf098bsUMmZEiD4Tjk/O7mOn3l1PTD3s4OoYAs= <<<<<<< HEAD ======= github.com/moby/moby v27.1.1+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= -github.com/moby/sys/atomicwriter v0.1.0/go.mod h1:Ul8oqv2ZMNHOceF643P6FKPXeCmYtlQMvpizfsSoaWs= +github.com/moby/policy-helpers v0.0.0-20251105011237-bcaa71c99f14/go.mod h1:HJfK0E8dR+Jpk5anJ3oADg2dRSom1gJK17sqEiiMS7w= +github.com/moby/profiles/seccomp v0.1.0/go.mod h1:Kqk57vxH6/wuOc5bmqRiSXJ6iEz8Pvo3LQRkv0ytFWs= +github.com/moby/sys/mount v0.3.4/go.mod h1:KcQJMbQdJHPlq5lcYT+/CjatWM4PuxKe+XLSVS4J6Os= github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= +<<<<<<< HEAD >>>>>>> e681bce4 (Updates to docker-extension) github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4= github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= <<<<<<< HEAD ======= +======= +github.com/moby/sys/reexec v0.1.0/go.mod h1:EqjBg8F3X7iZe5pU6nRZnYCMUTXoxsjiIfHup5wYIN8= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= -github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= >>>>>>> e681bce4 (Updates to docker-extension) github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= @@ -717,30 +786,54 @@ github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9k github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI= -github.com/onsi/ginkgo/v2 v2.23.0/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/onsi/gomega v1.34.2/go.mod h1:v1xfxRgk0KIsG+QOdm7p8UosrOzPYRo60fd3B/1Dukc= +<<<<<<< HEAD github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= >>>>>>> e681bce4 (Updates to docker-extension) +======= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/opencontainers/cgroups v0.0.1/go.mod h1:s8lktyhlGUqM7OSRL5P7eAW6Wb+kWPNvt4qvVfzA5vs= github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +<<<<<<< HEAD +======= +github.com/opencontainers/runtime-tools v0.9.1-0.20251114084447-edf4cb3d2116/go.mod h1:DKDEfzxvRkoQ6n9TGhxQgg2IM1lY4aM0eaQP4e3oElw= +github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/opencontainers/selinux v1.11.1/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE= <<<<<<< HEAD ======= github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11 h1:eTNDkNRNV5lZvUbVM9Nop0lBcljSnA8rZX6yQPZ0ZnU= github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11/go.mod h1:EmVJt97N+pfWFsli/ipXTBZqSG5F5KGQhm3c3IsGq1o= -github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231 h1:8lSGufji9rfiyDxtUl7A4uOyeeP4x0UOOXcsDBFfkGI= -github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231/go.mod h1:sTxJ4ZFW9r9fEdbW2v0yMRi6NcyTbx0fII4p83IQ+L8= github.com/openshift/generic-admission-server v1.14.1-0.20231020105858-8dcc3c9b298f/go.mod h1:/CLsleDcQ6AFTGKJe9VL3Y4rB9DqX3fQwQv47q2/ZJc= >>>>>>> e681bce4 (Updates to docker-extension) github.com/openshift/generic-admission-server v1.14.1-0.20240926143655-a882ebf9df19/go.mod h1:eNpBvr/3zce6zLOeCtBw48xbCp8SLAmQqu/rb7vFE9Y= +<<<<<<< HEAD github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= +======= +github.com/otiai10/copy v1.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= +github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= +github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= +github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= +github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= +github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= +github.com/package-url/packageurl-go v0.1.1/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= +github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= +github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= +github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= +github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= +github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= <<<<<<< HEAD github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= @@ -756,48 +849,43 @@ github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= -github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= -github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= -github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= -github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= -<<<<<<< HEAD github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= -======= github.com/prometheus/common v0.67.2 h1:PcBAckGFTIHt2+L3I33uNRTlKTplNzFctXcWhPyAEN8= github.com/prometheus/common v0.67.2/go.mod h1:63W3KZb1JOKgcjlIr64WW/LvFGAqKPj0atm+knVGEko= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= -github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= -github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= -github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= -github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= -github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw= -github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= +github.com/sasha-s/go-deadlock v0.3.5/go.mod h1:bugP6EGbdGYObIlx7pUZtWqlvo8k9H6vCBBsiChJQ5U= github.com/seccomp/libseccomp-golang v0.10.0/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b/go.mod h1:/yeG0My1xr/u+HZrFQ1tOQQQQrOawfyMUH13ai5brBc= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= +github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +<<<<<<< HEAD >>>>>>> e681bce4 (Updates to docker-extension) +======= +github.com/smallstep/pkcs7 v0.1.1/go.mod h1:dL6j5AIz9GHjVEBTXtW+QliALcgM19RtXaTeyxI+AfA= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= @@ -813,24 +901,18 @@ github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= -<<<<<<< HEAD github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -======= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= ->>>>>>> 90af4d3c (Updates to docker-extension) github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= +github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= +github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6/go.mod h1:39R/xuhNgVhi+K0/zst4TLrJrVmbm6LVgl4A0+ZFS5M= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= -github.com/stoewer/go-strcase v1.3.1 h1:iS0MdW+kVTxgMoE1LAZyMiYJFKlOzLooE4MxjirtkAs= -github.com/stoewer/go-strcase v1.3.1/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= -github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= +<<<<<<< HEAD github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= >>>>>>> e681bce4 (Updates to docker-extension) @@ -839,24 +921,42 @@ github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1 github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= <<<<<<< HEAD ======= +======= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/tchap/go-patricia/v2 v2.3.3/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= +github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM= +github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= +github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= +github.com/tonistiigi/go-actions-cache v0.0.0-20250626083717-378c5ed1ddd9/go.mod h1:cD0SB2270BYw6HYKriFn4H6NRLhGj6ytf48YTpsm8LY= +github.com/tonistiigi/go-archvariant v1.0.0/go.mod h1:TxFmO5VS6vMq2kvs3ht04iPXtu2rUT/erOnGFYfk5Ho= +github.com/tonistiigi/jaeger-ui-rest v0.0.0-20250408171107-3dd17559e117/go.mod h1:3Ez1Paeg+0Ghu3KwpEGC1HgZ4CHDlg+Ez/5Baeomk54= +github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= +github.com/urfave/cli v1.22.15/go.mod h1:wSan1hmo5zeyLGBjRJbzRTNk8gwoYa2B9n4q9dmRIc0= +github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= +github.com/urfave/cli v1.22.17/go.mod h1:b0ht0aqgH/6pBYzzxURyrM4xXNgsoT/n2ZzwQiEhNVo= +github.com/urfave/cli/v2 v2.27.7/go.mod h1:CyNAG/xg+iAOg0N4MPGZqVmv2rCoP267496AOXUZjA4= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY= github.com/vbatts/tar-split v0.11.6 h1:4SjTW5+PU11n6fZenf2IPoV8/tz3AaYHMWjf23envGs= github.com/vbatts/tar-split v0.11.6/go.mod h1:dqKNtesIOr2j2Qv3W/cHjnvk9I8+G7oAkFDFN6TCBEI= -github.com/vbatts/tar-split v0.12.2 h1:w/Y6tjxpeiFMR47yzZPlPj/FcPLpXbTUi/9H7d3CPa4= -github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= >>>>>>> e681bce4 (Updates to docker-extension) github.com/vishvananda/netlink v1.3.1/go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4= github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= <<<<<<< HEAD +<<<<<<< HEAD ======= github.com/vito/go-interact v1.0.2 h1:viJuANio3WH9utUG4rKbJC9V3JR5JgYNS+i0efeA+GU= github.com/vito/go-interact v1.0.2/go.mod h1:s+y0jK9Z2etBYt5ZM6+DhpOsE5C7NNGC3jrJvW0BBpc= +======= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/vmware-tanzu/carvel-imgpkg v0.36.0 h1:ha5a3WUPaqpGlP+QRkKBA9WyT85vUPh7+57x94Cmj58= github.com/vmware-tanzu/carvel-imgpkg v0.36.0/go.mod h1:8HeIt+froyx7iRjyZ/4py2wFMPXEFNyWUNUTQgAjD8M= github.com/vmware-tanzu/carvel-imgpkg v0.38.2/go.mod h1:v9BcO1qfXwwIQFw2zmksdUkx8eI1e+/a0Md3xG2BzDE= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= +<<<<<<< HEAD github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= >>>>>>> e681bce4 (Updates to docker-extension) github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= @@ -865,20 +965,32 @@ github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= <<<<<<< HEAD ======= +======= +github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= +github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= +github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U= +github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= +github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= +go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= +go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= +go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= +go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.8/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= -go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.8/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= -go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= go.etcd.io/etcd/client/v2 v2.305.16/go.mod h1:h9YxWCzcdvZENbfzBTFCnoNumr2ax3F19sKMqHFmXHE= go.etcd.io/etcd/client/v3 v3.5.8/go.mod h1:idZYIPVkttBJBiRigkB5EM0MmEyx8jcl18zCV3F5noc= go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= -go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= go.etcd.io/etcd/pkg/v3 v3.5.10/go.mod h1:TKTuCKKcF1zxmfKWDkfz5qqYaE3JncKKZPFf8c1nFUs= go.etcd.io/etcd/pkg/v3 v3.5.16/go.mod h1:+lutCZHG5MBBFI/U4eYT5yL7sJfnexsoM20Y0t2uNuY= >>>>>>> e681bce4 (Updates to docker-extension) @@ -895,25 +1007,22 @@ go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= -go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= -go.opentelemetry.io/auto/sdk v1.2.1/go.mod h1:KRTj+aOaElaLi+wW1kO/DZRXwkF4C5xPbEe3ZiIhN7Y= go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPxAxnjc2pQTxWNkwfstZ+6H2k= +go.opentelemetry.io/contrib/detectors/gcp v1.38.0/go.mod h1:SU+iU7nu5ud4oCb3LQOhIZ3nRLj6FNVrKgtflbaf2ts= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.42.0/go.mod h1:XiglO+8SPMqM3Mqh5/rtxR1VHc63o8tb38QrU6tm4mU= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0/go.mod h1:h8TWwRAhQpOd0aM5nYsRD8+flnkj+526GEIVlarH7eY= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ= +go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0 h1:x7wzEgXfnzJcHDwStJT+mxOz4etr2EcexjqhBvmoakw= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.60.0/go.mod h1:rg+RlpR5dKwaS95IyyZqj5Wd4E13lk/msnTS0Xl9lJM= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1:2AboqHi0CiIZU0qwhtUfCYD1GeUzvvIXWNkhDt7ZMG4= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1/go.mod h1:9NiG9I2aHTKkcxqCILhjtyNA1QEiCjdBACv4IvrFQ+c= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18= -go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.10.0/go.mod h1:NbvWjCthWHKBEUMpf0/v8ZRZlni86PpGFEMA9pnQSnQ= go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= @@ -922,19 +1031,18 @@ go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= +go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0/go.mod h1:Krqnjl22jUJ0HgMzw5eveuCvFDXY4nSYb4F8t5gdrag= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0/go.mod h1:OfUCyyIiDvNXHWpcWgbF+MWvqPZiNa3YDEnivcnYsV0= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= +go.opentelemetry.io/otel/exporters/prometheus v0.42.0/go.mod h1:f3bYiqNqhoPxkvI2LrXqQVC546K7BuRDL/kKuxkujhA= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/metric v0.31.0/go.mod h1:ohmwj9KTSIeBnDBm/ZwH2PSZxZzoOaG2xZeekTRzL5A= go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= @@ -953,6 +1061,7 @@ go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5 go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/otel/trace v1.10.0/go.mod h1:Sij3YYczqAdz+EhmGhE6TpTxUO5/F/AzrK+kxfGqySM= @@ -966,9 +1075,12 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= +<<<<<<< HEAD go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= >>>>>>> e681bce4 (Updates to docker-extension) +======= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= <<<<<<< HEAD @@ -983,10 +1095,6 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= -go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= -go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= -go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= -go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -995,12 +1103,9 @@ golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= -<<<<<<< HEAD golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= -======= golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= ->>>>>>> 90af4d3c (Updates to docker-extension) golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1009,8 +1114,6 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 h1:mgKeJMpvi0yx/sU5GsxQ7p6s2wtOnGAHZWCHUM4KGzY= -golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546/go.mod h1:j/pmGrbnkbPtQfxEe5D0VQhZC6qKbfKifgD0oM7sR70= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -1031,9 +1134,7 @@ golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1074,8 +1175,8 @@ golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= -golang.org/x/net v0.47.0 h1:Mx+4dIFzqraBXUugkia1OOvlD6LemFo1ALMHjrXDOhY= -golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= +golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -1089,13 +1190,11 @@ golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE golang.org/x/oauth2 v0.13.0/go.mod h1:/JMhi4ZRXAf4HG9LiNmxvk+45+96RUlVThiH8FzNBn0= golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= -<<<<<<< HEAD golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= -======= golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo= golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= ->>>>>>> 90af4d3c (Updates to docker-extension) +golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1109,13 +1208,11 @@ golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= -<<<<<<< HEAD golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -======= +golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= ->>>>>>> 90af4d3c (Updates to docker-extension) golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1140,6 +1237,7 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210112080510-489259a85091/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1153,7 +1251,7 @@ golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220325203850-36772127a21f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= @@ -1167,23 +1265,21 @@ golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -<<<<<<< HEAD golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -======= +golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= ->>>>>>> 90af4d3c (Updates to docker-extension) golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= +golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= -golang.org/x/term v0.37.0 h1:8EGAD0qCmHYZg6J17DvsMy9/wJ7/D/4pV/wfnld5lTU= -golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1195,16 +1291,12 @@ golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= -golang.org/x/text v0.31.0 h1:aC8ghyu4JhP8VojJ2lEHBnochRno1sgL6nEi9WGFGMM= -golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -<<<<<<< HEAD -======= golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= ->>>>>>> 90af4d3c (Updates to docker-extension) golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1248,24 +1340,21 @@ golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= +golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= -<<<<<<< HEAD golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= -======= ->>>>>>> 90af4d3c (Updates to docker-extension) golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= -golang.org/x/tools v0.38.0/go.mod h1:yEsQ/d/YK8cjh0L6rZlY8tgtlKiBNTL14pGDJPJpYQs= +golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= gomodules.xyz/jsonpatch/v2 v2.3.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= -gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= gonum.org/v1/netlib v0.0.0-20190331212654-76723241ea4e/go.mod h1:kS+toOQn6AQKjmKJ7gzohV1XkqsFehRA2FbsbkopSuQ= google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= @@ -1308,6 +1397,7 @@ google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1: google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= +google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8/go.mod h1:fDMmzKV90WSg1NbozdqrE64fkuTv6mlq2zxo9ad+3yo= google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba h1:B14OtaXuMaCQsl2deSvNkyPKIzq3BjfxQp8d00QyWx4= google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:G5IanEx8/PgI9w6CFcYQf7jMtHQhZruvfM1i3qOqk5U= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= @@ -1317,6 +1407,8 @@ google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go. google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251103181224-f26f9409b101/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/genproto/googleapis/rpc v0.0.0-20251111163417-95abcf5c77ba h1:UKgtfRM7Yh93Sya0Fo8ZzhDP4qBckrrxEr2oF5UIVb8= google.golang.org/genproto/googleapis/rpc v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= @@ -1342,6 +1434,7 @@ google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFN google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A= google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c= +google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= @@ -1357,11 +1450,6 @@ google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWn google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= -google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= -google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= -gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= >>>>>>> e681bce4 (Updates to docker-extension) gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= @@ -1378,31 +1466,19 @@ gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= -k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= k8s.io/apiextensions-apiserver v0.25.0/go.mod h1:3pAjZiN4zw7R8aZC5gR0y3/vCkGlAjCazcg1me8iB/E= k8s.io/apiextensions-apiserver v0.27.7/go.mod h1:x0p+b5a955lfPz9gaDeBy43obM12s+N9dNHK6+dUL+g= k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= k8s.io/apiextensions-apiserver v0.31.2 h1:W8EwUb8+WXBLu56ser5IudT2cOho0gAKeTOnywBLxd0= k8s.io/apiextensions-apiserver v0.32.1 h1:hjkALhRUeCariC8DiVmb5jj0VjIc1N0DREP32+6UXZw= k8s.io/apiextensions-apiserver v0.32.1/go.mod h1:sxWIGuGiYov7Io1fAS2X06NjMIk5CbRHc2StSmbaQto= -k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= -k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= k8s.io/apimachinery v0.24.3/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= -k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= -k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= k8s.io/apiserver v0.25.6/go.mod h1:IEp2B2/FvQ8GmdspscUoUS0iFF/GGc6NVrJ/cTM4OaA= k8s.io/apiserver v0.27.7/go.mod h1:OrLG9RwCOerutAlo8QJW5EHzUG9Dad7k6rgcDUNSO/w= k8s.io/apiserver v0.29.0/go.mod h1:31n78PsRKPmfpee7/l9NYEv67u6hOL6AfcE761HapDM= k8s.io/apiserver v0.31.2 h1:VUzOEUGRCDi6kX1OyQ801m4A7AUPglpsmGvdsekmcI4= k8s.io/apiserver v0.32.1 h1:oo0OozRos66WFq87Zc5tclUX2r0mymoVHRq8JmR7Aak= k8s.io/apiserver v0.32.1/go.mod h1:UcB9tWjBY7aryeI5zAgzVJB/6k7E97bkr1RgqDz0jPw= -k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= -k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= -k8s.io/cli-runtime v0.34.2 h1:cct1GEuWc3IyVT8MSCoIWzRGw9HJ/C5rgP32H60H6aE= -k8s.io/cli-runtime v0.34.2/go.mod h1:X13tsrYexYUCIq8MarCBy8lrm0k0weFPTpcaNo7lms4= -k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= -k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= k8s.io/code-generator v0.17.2/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= k8s.io/code-generator v0.25.6/go.mod h1:aDxzxJynLKQkaa117y0FFcgZ5jG8+GobxZ2JUntmvKk= k8s.io/code-generator v0.27.7/go.mod h1:w1YF/xQcTg+d9Ag+04xuRqER+q8rDnJ70ynLql8/RLA= @@ -1412,12 +1488,8 @@ k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608y k8s.io/component-base v0.28.6 h1:G4T8VrcQ7xZou3by/fY5NU5mfxOBlWaivS2lPrEltAo= k8s.io/component-base v0.28.6/go.mod h1:Dg62OOG3ALu2P4nAG00UdsuHoNLQJ5VsUZKQlLDcS+E= k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= -k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= -k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= k8s.io/component-helpers v0.29.0/go.mod h1:j2coxVfmzTOXWSE6sta0MTgNSr572Dcx68F6DD+8fWc= -k8s.io/component-helpers v0.34.2 h1:RIUGDdU+QFzeVKLZ9f05sXTNAtJrRJ3bnbMLrogCrvM= -k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= -k8s.io/controller-manager v0.33.5/go.mod h1:KuQeAlf4vI2+qj5fwPVLaDlbtrTBA/8L/LqQvI74Ow0= +k8s.io/cri-api v0.34.1/go.mod h1:4qVUjidMg7/Z9YGZpqIDygbkPWkg3mkS1PvOx/kpHTE= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= @@ -1433,13 +1505,7 @@ k8s.io/kube-aggregator v0.22.17/go.mod h1:J557nueFVurHA1JiDrxT1HlgygNQ+2exsTVUXi k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= -k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= -k8s.io/kubectl v0.34.2 h1:+fWGrVlDONMUmmQLDaGkQ9i91oszjjRAa94cr37hzqA= -k8s.io/kubectl v0.34.2/go.mod h1:X2KTOdtZZNrTWmUD4oHApJ836pevSl+zvC5sI6oO2YQ= k8s.io/kubernetes v1.31.2 h1:VNSu4O7Xn5FFRsh9ePXyEPg6ucR21fOftarSdi053Gs= -k8s.io/kubernetes v1.34.2 h1:WQdDvYJazkmkwSncgNwGvVtaCt4TYXIU3wSMRgvp3MI= -k8s.io/kubernetes v1.34.2/go.mod h1:m6pZk6a179pRo2wsTiCPORJ86iOEQmfIzUvtyEF8BwA= k8s.io/metrics v0.29.0/go.mod h1:UCuTT4dC/x/x6ODSk87IWIZQnuAfcwxOjb1gjWJdjMA= k8s.io/metrics v0.30.3/go.mod h1:W06L2nXRhOwPkFYDJYWdEIS3u6JcJy3ebIPYbndRs6A= k8s.io/metrics v0.32.3/go.mod h1:9R1Wk5cb+qJpCQon9h52mgkVCcFeYxcY+YkumfwHVCU= @@ -1452,8 +1518,8 @@ sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTE k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= -k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +kernel.org/pub/linux/libs/security/libcap/cap v1.2.76/go.mod h1:7V2BQeHnVAQwhCnCPJ977giCeGDiywVewWF+8vkpPlc= +kernel.org/pub/linux/libs/security/libcap/psx v1.2.76/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24= modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= @@ -1469,22 +1535,15 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0/go.mod h1:z7+wmGM2dfIiLRfrC6jb5kV2Mq/sK1ZP303cxzkV5Y4= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcpeN4baWEV2ko2Z/AsiZgEdwgcfwLgMo= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/controller-runtime v0.13.1/go.mod h1:Zbz+el8Yg31jubvAEyglRZGdLAjplZl+PgtYNI6WNTI= sigs.k8s.io/controller-runtime v0.15.3/go.mod h1:kp4jckA4vTx281S/0Yk2LFEEQe67mjg+ev/yknv47Ds= -sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= -sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= -<<<<<<< HEAD sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -======= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= ->>>>>>> 90af4d3c (Updates to docker-extension) sigs.k8s.io/knftables v0.0.14/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= >>>>>>> e681bce4 (Updates to docker-extension) sigs.k8s.io/knftables v0.0.17/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= @@ -1498,10 +1557,13 @@ sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:w sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= -sigs.k8s.io/structured-merge-diff/v6 v6.3.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= +sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= +<<<<<<< HEAD sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= >>>>>>> e681bce4 (Updates to docker-extension) +======= +tags.cncf.io/container-device-interface/specs-go v1.1.0/go.mod h1:u86hoFWqnh3hWz3esofRFKbI261bUlvUfLKGrDhJkgQ= +>>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) From b57857b3e99f11a8eb147ce81e6500e64a746287 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 19 Jan 2026 17:37:21 +0100 Subject: [PATCH 03/41] Refactored project_xxx commands --- .../pkg/cmd/project_docs_open_cmd.go | 23 ++------------- client-programs/pkg/config/project.go | 5 ++++ client-programs/pkg/utils/browser.go | 28 +++++++++++++++++++ 3 files changed, 36 insertions(+), 20 deletions(-) create mode 100644 client-programs/pkg/config/project.go create mode 100644 client-programs/pkg/utils/browser.go diff --git a/client-programs/pkg/cmd/project_docs_open_cmd.go b/client-programs/pkg/cmd/project_docs_open_cmd.go index 7de7198a4..6567516a7 100644 --- a/client-programs/pkg/cmd/project_docs_open_cmd.go +++ b/client-programs/pkg/cmd/project_docs_open_cmd.go @@ -1,10 +1,8 @@ package cmd import ( - "fmt" - "os/exec" - "runtime" - + "github.com/educates/educates-training-platform/client-programs/pkg/config" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -17,22 +15,7 @@ func (p *ProjectInfo) NewProjectDocsOpenCmd() *cobra.Command { Use: "open", Short: "Open browser on project documentation", RunE: func(_ *cobra.Command, _ []string) error { - var err error - - const url = "https://docs.educates.dev/" - - switch runtime.GOOS { - case "linux": - err = exec.Command("xdg-open", url).Start() - case "windows": - err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start() - case "darwin": - err = exec.Command("open", url).Start() - default: - err = fmt.Errorf("unsupported platform") - } - - return err + return utils.OpenBrowser(config.PROJECT_DOCS_URL) }, } diff --git a/client-programs/pkg/config/project.go b/client-programs/pkg/config/project.go new file mode 100644 index 000000000..992201109 --- /dev/null +++ b/client-programs/pkg/config/project.go @@ -0,0 +1,5 @@ +package config + +const ( + PROJECT_DOCS_URL = "https://docs.educates.dev/" +) diff --git a/client-programs/pkg/utils/browser.go b/client-programs/pkg/utils/browser.go new file mode 100644 index 000000000..c16dc2621 --- /dev/null +++ b/client-programs/pkg/utils/browser.go @@ -0,0 +1,28 @@ +package utils + +import ( + "fmt" + "os/exec" + "runtime" +) + +func OpenBrowser(url string) error { + var err error + + if url == "" { + return fmt.Errorf("url is required") + } + + switch runtime.GOOS { + case "linux": + err = exec.Command("xdg-open", url).Start() + case "windows": + err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start() + case "darwin": + err = exec.Command("open", url).Start() + default: + err = fmt.Errorf("unsupported platform") + } + + return err +} From 3549f97dcae038e3ccc76a822180e4062119c8bb Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 19 Jan 2026 18:00:04 +0100 Subject: [PATCH 04/41] Refactored commands admin_diagnostics_xx and admin_lookup_xx --- client-programs/pkg/cluster/cluster.go | 2 +- .../pkg/cmd/admin_diagnostics_analyze_cmd.go | 8 +- .../pkg/cmd/admin_diagnostics_collect_cmd.go | 19 ++- .../pkg/cmd/admin_lookup_kubeconfig_cmd.go | 113 +++++------------- client-programs/pkg/lookup/lookup.go | 93 ++++++++++++++ 5 files changed, 148 insertions(+), 87 deletions(-) create mode 100644 client-programs/pkg/lookup/lookup.go diff --git a/client-programs/pkg/cluster/cluster.go b/client-programs/pkg/cluster/cluster.go index bf4b80d89..00f5c402f 100644 --- a/client-programs/pkg/cluster/cluster.go +++ b/client-programs/pkg/cluster/cluster.go @@ -50,7 +50,7 @@ func GetConfig(kubeconfigPath string, context string) (*rest.Config, error) { if kubeconfigPath != "" { if _, err := os.Stat(kubeconfigPath); os.IsNotExist(err) { // If kubeconfig is provided but not available, fail - return nil, errors.Wrap(err, "kubeconfig file does not exist") + return nil, fmt.Errorf("kubeconfig file does not exist: %s", kubeconfigPath) } } diff --git a/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go b/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go index 62dc7d21a..2198451a2 100644 --- a/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go +++ b/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go @@ -11,6 +11,11 @@ type AdminDiagnosticsAnalyzeOptions struct { Dir string } +var adminDiagnosticsAnalyzeExample = ` + # Analyze diagnostic information for current Educates cluster in current directory + educates admin diagnostics analyze --file ./diagnostics.tar.gz +` + func (o *AdminDiagnosticsAnalyzeOptions) Run() error { // clusterConfig := cluster.NewClusterConfig(o.Kubeconfig, "") @@ -31,6 +36,7 @@ func (p *ProjectInfo) NewAdminDiagnosticsAnalyzeCmd() *cobra.Command { Use: "analyze", Short: "Analyze diagnostic information for an Educates cluster", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: adminDiagnosticsAnalyzeExample, } c.Flags().StringVar( @@ -47,7 +53,7 @@ func (p *ProjectInfo) NewAdminDiagnosticsAnalyzeCmd() *cobra.Command { "Path to the directory where the diagnostics files are located", ) - // c.MarkFlagRequired("dest") + //c.MarkFlagRequired("file") return c } diff --git a/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go b/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go index 98f202175..7f626cb59 100644 --- a/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go +++ b/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go @@ -4,10 +4,10 @@ import ( "os" "path/filepath" - "github.com/mitchellh/go-homedir" - "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/diagnostics" + "github.com/mitchellh/go-homedir" + "github.com/spf13/cobra" ) type AdminDiagnosticsCollectOptions struct { @@ -16,6 +16,20 @@ type AdminDiagnosticsCollectOptions struct { Verbose bool } +var adminDiagnosticsCollectExample = ` + # Collect diagnostic information for current Educates cluster in current directory + educates admin diagnostics collect + + # Collect diagnostic information ffor current Educates cluster in current directory with verbose output + educates admin diagnostics collect --verbose + + # Collect diagnostic information for an Educates cluster and save to a specific directory + educates admin diagnostics collect --dest ./diagnostics + + # Collect diagnostic information for a specific Educates Cluster in current directory + educates admin diagnostics collect --kubeconfig /path/to/kubeconfig --context my-cluster +` + func (o *AdminDiagnosticsCollectOptions) Run() error { clusterConfig := cluster.NewClusterConfig(o.Kubeconfig, o.Context) @@ -36,6 +50,7 @@ func (p *ProjectInfo) NewAdminDiagnosticsCollectCmd() *cobra.Command { Use: "collect", Short: "Collect diagnostic information for an Educates cluster", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: adminDiagnosticsCollectExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/admin_lookup_kubeconfig_cmd.go b/client-programs/pkg/cmd/admin_lookup_kubeconfig_cmd.go index 3f9c5eace..ec2b5bbf9 100644 --- a/client-programs/pkg/cmd/admin_lookup_kubeconfig_cmd.go +++ b/client-programs/pkg/cmd/admin_lookup_kubeconfig_cmd.go @@ -1,15 +1,12 @@ package cmd import ( - "context" - "encoding/base64" "fmt" - "io/ioutil" + "os" + "github.com/educates/educates-training-platform/client-programs/pkg/lookup" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) type LookupConfigOptions struct { @@ -17,85 +14,16 @@ type LookupConfigOptions struct { OutputPath string } -func (o *LookupConfigOptions) Run() error { - var err error +const adminLookupKubeconfigExample = ` + # Fetch kubeconfig for lookup service remote access + educates admin lookup kubeconfig - clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) - if err != nil { - return err - } - - client, err := clusterConfig.GetClient() - - if err != nil { - return err - } - - // We need to fetch the secret called "remote-access-token" from the - // "educates" namespace. This contains a Kubernetes access token secret - // giving access to just the Educates custom resources. - - secretsClient := client.CoreV1().Secrets("educates") - - secret, err := secretsClient.Get(context.TODO(), "remote-access-token", metav1.GetOptions{}) - - if err != nil { - return errors.Wrapf(err, "unable to fetch remote-access secret") - } - - // Within the secret are data fields for "ca.crt" and "token". We need to - // extract these and use them to create a kubeconfig file. Note that there - // is no "server" property in the secret, so when constructing the kubeconfig - // we need to use the server from the same cluster as we are requesting the - // secret from. - - caCrt := secret.Data["ca.crt"] - token := secret.Data["token"] + # Fetch kubeconfig for lookup service remote access and save to a specific file + educates admin lookup kubeconfig --output ./lookup-kubeconfig.yaml - // Get the server from the client for Kubernetes cluster access. - - serverScheme := client.CoreV1().RESTClient().Get().URL().Scheme - serverHost := client.CoreV1().RESTClient().Get().URL().Host - - serverUrl := fmt.Sprintf("%s://%s", serverScheme, serverHost) - - // Construct the kubeconfig file. We need to base64 encode the ca.crt file - // as it is a binary file. - - kubeconfig := fmt.Sprintf(`apiVersion: v1 -kind: Config -clusters: -- name: training-platform - cluster: - server: %s - certificate-authority-data: %s -contexts: -- name: training-platform - context: - cluster: training-platform - user: remote-access -current-context: training-platform -users: -- name: remote-access - user: - token: %s -`, serverUrl, base64.StdEncoding.EncodeToString(caCrt), token) - - // Write out the kubeconfig to the output path if provided, otherwise - // print it to stdout. - - if o.OutputPath != "" { - err = ioutil.WriteFile(o.OutputPath, []byte(kubeconfig), 0644) - - if err != nil { - return errors.Wrapf(err, "unable to write kubeconfig to %s", o.OutputPath) - } - } else { - fmt.Print(kubeconfig) - } - - return nil -} + # Fetch kubeconfig for lookup service remote access for a specific cluster + educates admin lookup kubeconfig --kubeconfig /path/to/kubeconfig --context my-cluster +` func (p *ProjectInfo) NewAdminLookupKubeconfigCmd() *cobra.Command { var o LookupConfigOptions @@ -105,8 +33,27 @@ func (p *ProjectInfo) NewAdminLookupKubeconfigCmd() *cobra.Command { Use: "kubeconfig", Short: "Fetch kubeconfig for lookup service remote access", RunE: func(cmd *cobra.Command, _ []string) error { - return o.Run() + config := lookup.LookupConfig{ + Kubeconfig: o.Kubeconfig, + Context: o.Context, + } + kubeconfig, err := lookup.NewLookupService().RemoteAccessKubeconfig(&config) + if err != nil { + return err + } + if o.OutputPath != "" { + err = os.WriteFile(o.OutputPath, []byte(kubeconfig), 0644) + + if err != nil { + return errors.Wrapf(err, "unable to write kubeconfig to %s", o.OutputPath) + } + } else { + fmt.Print(kubeconfig) + } + + return nil }, + Example: adminLookupKubeconfigExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/lookup/lookup.go b/client-programs/pkg/lookup/lookup.go new file mode 100644 index 000000000..54236a8ce --- /dev/null +++ b/client-programs/pkg/lookup/lookup.go @@ -0,0 +1,93 @@ +package lookup + +import ( + "context" + "encoding/base64" + "fmt" + + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/pkg/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" +) + + +type LookupConfig struct { + Kubeconfig string + Context string +} + +type LookupService struct { +} + +func NewLookupService() *LookupService { + return &LookupService{} +} + +func (o *LookupService) RemoteAccessKubeconfig(config *LookupConfig) (string, error) { + var err error + + clusterConfig, err := cluster.NewClusterConfigIfAvailable(config.Kubeconfig, config.Context) + if err != nil { + return "", err + } + + client, err := clusterConfig.GetClient() + + if err != nil { + return "", err + } + + // We need to fetch the secret called "remote-access-token" from the + // "educates" namespace. This contains a Kubernetes access token secret + // giving access to just the Educates custom resources. + + secretsClient := client.CoreV1().Secrets("educates") + + secret, err := secretsClient.Get(context.TODO(), "remote-access-token", metav1.GetOptions{}) + + if err != nil { + return "", errors.Wrapf(err, "unable to fetch remote-access secret") + } + + // Within the secret are data fields for "ca.crt" and "token". We need to + // extract these and use them to create a kubeconfig file. Note that there + // is no "server" property in the secret, so when constructing the kubeconfig + // we need to use the server from the same cluster as we are requesting the + // secret from. + + caCrt := secret.Data["ca.crt"] + token := secret.Data["token"] + + // Get the server from the client for Kubernetes cluster access. + + serverScheme := client.CoreV1().RESTClient().Get().URL().Scheme + serverHost := client.CoreV1().RESTClient().Get().URL().Host + + serverUrl := fmt.Sprintf("%s://%s", serverScheme, serverHost) + + // Construct the kubeconfig file. We need to base64 encode the ca.crt file + // as it is a binary file. + + kubeconfig := fmt.Sprintf(`apiVersion: v1 +kind: Config +clusters: +- name: training-platform + cluster: + server: %s + certificate-authority-data: %s +contexts: +- name: training-platform + context: + cluster: training-platform + user: remote-access +current-context: training-platform +users: +- name: remote-access + user: + token: %s +`, serverUrl, base64.StdEncoding.EncodeToString(caCrt), token) + + // Write out the kubeconfig to the output path if provided, otherwise + // print it to stdout. + return kubeconfig, nil +} From 5d797fbe91771c2a9745c66783c0e619e13d783e Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 19 Jan 2026 18:03:36 +0100 Subject: [PATCH 05/41] Refactored admin_platform_xx command --- client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go | 2 +- client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go | 2 +- client-programs/pkg/cmd/admin_platform_config_cmd.go | 4 ++-- client-programs/pkg/cmd/admin_platform_delete_cmd.go | 9 +++++++++ client-programs/pkg/cmd/admin_platform_deploy_cmd.go | 2 +- client-programs/pkg/cmd/admin_platform_values_cmd.go | 4 ++-- client-programs/pkg/cmd/workshop_export_cmd.go | 2 +- client-programs/pkg/cmd/workshop_new_cmd.go | 2 +- client-programs/pkg/cmd/workshop_publish_cmd.go | 2 +- 9 files changed, 19 insertions(+), 10 deletions(-) diff --git a/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go b/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go index 2198451a2..e4a34e85d 100644 --- a/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go +++ b/client-programs/pkg/cmd/admin_diagnostics_analyze_cmd.go @@ -11,7 +11,7 @@ type AdminDiagnosticsAnalyzeOptions struct { Dir string } -var adminDiagnosticsAnalyzeExample = ` +const adminDiagnosticsAnalyzeExample = ` # Analyze diagnostic information for current Educates cluster in current directory educates admin diagnostics analyze --file ./diagnostics.tar.gz ` diff --git a/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go b/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go index 7f626cb59..cc29a780a 100644 --- a/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go +++ b/client-programs/pkg/cmd/admin_diagnostics_collect_cmd.go @@ -16,7 +16,7 @@ type AdminDiagnosticsCollectOptions struct { Verbose bool } -var adminDiagnosticsCollectExample = ` +const adminDiagnosticsCollectExample = ` # Collect diagnostic information for current Educates cluster in current directory educates admin diagnostics collect diff --git a/client-programs/pkg/cmd/admin_platform_config_cmd.go b/client-programs/pkg/cmd/admin_platform_config_cmd.go index 5e7d2b490..b02a5c1bd 100644 --- a/client-programs/pkg/cmd/admin_platform_config_cmd.go +++ b/client-programs/pkg/cmd/admin_platform_config_cmd.go @@ -9,7 +9,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/installer" ) -var ( +const ( adminPlatformConfigExample = ` # Show configuration config for local deployment educates admin platform config --local-config @@ -18,7 +18,7 @@ var ( educates admin platform config --config config.yaml # Get configuration used to deploy to the current cluster - educates admin platform config --from-cluster + educates admin platform config --from-cluster educates admin platform config --from-cluster --kubeconfig /path/to/kubeconfig --context my-cluster # Get configuration config with different domain (to make copies of the config) diff --git a/client-programs/pkg/cmd/admin_platform_delete_cmd.go b/client-programs/pkg/cmd/admin_platform_delete_cmd.go index 6dfdb03a3..a141d2404 100644 --- a/client-programs/pkg/cmd/admin_platform_delete_cmd.go +++ b/client-programs/pkg/cmd/admin_platform_delete_cmd.go @@ -16,6 +16,14 @@ type PlatformDeleteOptions struct { Verbose bool } +const adminPlatformDeleteExample = ` + # Delete Educates and related cluster services from your cluster + educates admin platform delete + + # Delete Educates and related cluster services from your cluster for a specific cluster + educates admin platform delete --kubeconfig /path/to/kubeconfig --context my-cluster +` + func (o *PlatformDeleteOptions) Run() error { fullConfig := config.NewDefaultInstallationConfig() @@ -44,6 +52,7 @@ func (p *ProjectInfo) NewAdminPlatformDeleteCmd() *cobra.Command { RunE: func(cmd *cobra.Command, _ []string) error { return o.Run() }, + Example: adminPlatformDeleteExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/admin_platform_deploy_cmd.go b/client-programs/pkg/cmd/admin_platform_deploy_cmd.go index 51d4bf15f..11cf47503 100644 --- a/client-programs/pkg/cmd/admin_platform_deploy_cmd.go +++ b/client-programs/pkg/cmd/admin_platform_deploy_cmd.go @@ -12,7 +12,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/secrets" ) -var ( +const ( adminPlatformDeployExample = ` # Deploy educates platform educates admin platform deploy --config config.yaml diff --git a/client-programs/pkg/cmd/admin_platform_values_cmd.go b/client-programs/pkg/cmd/admin_platform_values_cmd.go index 95f57bde5..20ebe5c1b 100644 --- a/client-programs/pkg/cmd/admin_platform_values_cmd.go +++ b/client-programs/pkg/cmd/admin_platform_values_cmd.go @@ -10,7 +10,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/installer" ) -var ( +const ( adminPlatformValuesExample = ` # Show configuration values for local deployment educates admin platform values --local-config @@ -19,7 +19,7 @@ var ( educates admin platform values --config config.yaml # Get configuration used to deploy to the current cluster - educates admin platform values --from-cluster + educates admin platform values --from-cluster educates admin platform values --from-cluster --kubeconfig /path/to/kubeconfig --context my-cluster # Get configuration values using locally built educates package (version latest does the same and skips image resolution) diff --git a/client-programs/pkg/cmd/workshop_export_cmd.go b/client-programs/pkg/cmd/workshop_export_cmd.go index 7efb647a0..aa905892c 100644 --- a/client-programs/pkg/cmd/workshop_export_cmd.go +++ b/client-programs/pkg/cmd/workshop_export_cmd.go @@ -11,7 +11,7 @@ import ( "github.com/spf13/cobra" ) -var workshopExportExample = ` +const workshopExportExample = ` # Export workshop resource definition in current directory educates workshop export diff --git a/client-programs/pkg/cmd/workshop_new_cmd.go b/client-programs/pkg/cmd/workshop_new_cmd.go index 81ae17bc1..0feb8a651 100644 --- a/client-programs/pkg/cmd/workshop_new_cmd.go +++ b/client-programs/pkg/cmd/workshop_new_cmd.go @@ -20,7 +20,7 @@ type WorkshopNewOptions struct { Image string } -var workshopNewExample = ` +const workshopNewExample = ` # Create workshop files from template in my-workshop directory educates workshop new my-workshop diff --git a/client-programs/pkg/cmd/workshop_publish_cmd.go b/client-programs/pkg/cmd/workshop_publish_cmd.go index 58bc76b2c..f5a1ff014 100644 --- a/client-programs/pkg/cmd/workshop_publish_cmd.go +++ b/client-programs/pkg/cmd/workshop_publish_cmd.go @@ -23,7 +23,7 @@ type FilesPublishOptions struct { DataValuesFlags yttcmd.DataValuesFlags } -var workshopPublishExample = ` +const workshopPublishExample = ` # Publish workshop files to repository in current directory educates workshop publish From 06daa1dad8497bf0789a7dcce5bf63ed8dcc46c0 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 19 Jan 2026 19:13:36 +0100 Subject: [PATCH 06/41] Refactored cluster_portal_xxx command --- .../pkg/cmd/cluster_portal_create_cmd.go | 166 ++-------- .../pkg/cmd/cluster_portal_delete_cmd.go | 38 ++- .../pkg/cmd/cluster_portal_list_cmd.go | 50 +-- .../pkg/cmd/cluster_portal_open_cmd.go | 84 ++--- .../pkg/cmd/cluster_portal_password_cmd.go | 51 +-- .../pkg/cmd/cluster_session_extend_cmd.go | 7 +- .../pkg/cmd/cluster_session_list_cmd.go | 5 +- .../pkg/cmd/cluster_session_status_cmd.go | 7 +- .../pkg/cmd/cluster_session_terminate_cmd.go | 7 +- .../pkg/cmd/cluster_workshop_delete_cmd.go | 7 +- .../pkg/cmd/cluster_workshop_deploy_cmd.go | 9 +- .../pkg/cmd/cluster_workshop_list_cmd.go | 5 +- .../pkg/cmd/cluster_workshop_request_cmd.go | 9 +- .../pkg/cmd/cluster_workshop_serve_cmd.go | 5 +- .../pkg/cmd/cluster_workshop_update_cmd.go | 9 +- .../pkg/cmd/docker_workshop_delete_cmd.go | 7 +- .../pkg/cmd/docker_workshop_deploy_cmd.go | 3 +- .../pkg/cmd/docker_workshop_logs.go | 3 +- .../pkg/cmd/docker_workshop_open_cmd.go | 7 +- .../pkg/cmd/project_docs_open_cmd.go | 4 +- client-programs/pkg/config/project.go | 5 - client-programs/pkg/constants/project.go | 9 + .../pkg/docker/workshop_manager.go | 3 +- client-programs/pkg/portal/manager.go | 308 ++++++++++++++++++ client-programs/pkg/portal/password.go | 20 ++ client-programs/pkg/secrets/secrets.go | 5 +- client-programs/pkg/workshops/constants.go | 3 - client-programs/pkg/workshops/definition.go | 3 +- 28 files changed, 516 insertions(+), 323 deletions(-) delete mode 100644 client-programs/pkg/config/project.go create mode 100644 client-programs/pkg/constants/project.go create mode 100644 client-programs/pkg/portal/manager.go create mode 100644 client-programs/pkg/portal/password.go delete mode 100644 client-programs/pkg/workshops/constants.go diff --git a/client-programs/pkg/cmd/cluster_portal_create_cmd.go b/client-programs/pkg/cmd/cluster_portal_create_cmd.go index 393191c1c..584195632 100644 --- a/client-programs/pkg/cmd/cluster_portal_create_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_create_cmd.go @@ -1,16 +1,11 @@ package cmd import ( - "context" - "strings" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/portal" "github.com/pkg/errors" "github.com/spf13/cobra" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/client-go/dynamic" ) type ClusterConfigViewOptions struct { @@ -25,13 +20,26 @@ type ClusterConfigViewOptions struct { Labels []string } +const clusterPortalCreateExample = ` +# Create TrainingPortal in Educates cluster with default name +educates cluster portal create + +# Create TrainingPortal in Educates cluster with specific name +educates cluster portal create --portal=my-portal + +# Create TrainingPortal in Educates cluster with specific name and capacity and theme +educates cluster portal create --portal=my-portal --capacity=10 --theme-name=my-theme + +# Create given TrainingPortal in given Educates cluster +educates cluster portal create --portal=my-portal --kubeconfig ~/.kube/config --context=my-context +` + func (o *ClusterConfigViewOptions) Run(isPasswordSet bool) error { var err error // Ensure have portal name. - if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) @@ -46,9 +54,21 @@ func (o *ClusterConfigViewOptions) Run(isPasswordSet bool) error { return errors.Wrapf(err, "unable to create Kubernetes client") } - // Update the training portal, creating it if necessary. + config := portal.TrainingPortalCreateConfig{ + Portal: o.Portal, + Hostname: o.Hostname, + Repository: o.Repository, + Capacity: o.Capacity, + Password: o.Password, + IsPasswordSet: isPasswordSet, + ThemeName: o.ThemeName, + CookieDomain: o.CookieDomain, + Labels: o.Labels, + } + + manager := portal.NewPortalManager(dynamicClient) - err = createTrainingPortal(dynamicClient, o.Portal, o.Hostname, o.Repository, o.Capacity, o.Password, isPasswordSet, o.ThemeName, o.CookieDomain, o.Labels) + err = manager.CreateTrainingPortal(&config) if err != nil { return err @@ -69,6 +89,7 @@ func (p *ProjectInfo) NewClusterPortalCreateCmd() *cobra.Command { return o.Run(isPasswordSet) }, + Example: clusterPortalCreateExample, } c.Flags().StringVar( @@ -87,7 +108,7 @@ func (p *ProjectInfo) NewClusterPortalCreateCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) c.Flags().StringVar( @@ -105,7 +126,7 @@ func (p *ProjectInfo) NewClusterPortalCreateCmd() *cobra.Command { c.Flags().UintVar( &o.Capacity, "capacity", - 5, + constants.DefaultPortalCapacity, "maximum number of current sessions for the training portal", ) c.Flags().StringVar( @@ -136,122 +157,3 @@ func (p *ProjectInfo) NewClusterPortalCreateCmd() *cobra.Command { return c } - -func createTrainingPortal(client dynamic.Interface, portal string, hostname string, registry string, capacity uint, password string, isPasswordSet bool, themeName string, cookieDomain string, labels []string) error { - trainingPortalClient := client.Resource(trainingPortalResource) - - _, err := trainingPortalClient.Get(context.TODO(), portal, metav1.GetOptions{}) - - if err != nil { - if !k8serrors.IsNotFound(err) { - return errors.Wrap(err, "unable to query training portal") - } - } else { - return errors.New("training portal already exists") - } - - trainingPortal := &unstructured.Unstructured{} - - if !isPasswordSet { - password = randomPassword(12) - } - - type LabelDetails struct { - Name string `json:"name"` - Value string `json:"value"` - } - - var labelOverrides []LabelDetails - - for _, value := range labels { - parts := strings.SplitN(value, "=", 2) - labelOverrides = append(labelOverrides, LabelDetails{ - Name: parts[0], - Value: parts[1], - }) - } - - type RegistryDetails struct { - Host string `json:"host"` - Namespace string `json:"namespace"` - } - - registryHost := "" - registryNamespace := "" - - if registry != "" { - parts := strings.SplitN(registry, "/", 2) - - registryHost = parts[0] - - if len(parts) > 1 { - registryNamespace = parts[1] - } - - } - - trainingPortal.SetUnstructuredContent(map[string]interface{}{ - "apiVersion": "training.educates.dev/v1beta1", - "kind": "TrainingPortal", - "metadata": map[string]interface{}{ - "name": portal, - }, - "spec": map[string]interface{}{ - "portal": map[string]interface{}{ - "password": password, - "registration": struct { - Type string `json:"type"` - }{ - Type: "anonymous", - }, - "updates": struct { - Workshop bool `json:"workshop"` - }{ - Workshop: true, - }, - "sessions": struct { - Maximum int64 `json:"maximum"` - }{ - Maximum: int64(capacity), - }, - "workshop": map[string]interface{}{ - "defaults": struct { - Reserved int `json:"reserved"` - Registry RegistryDetails `json:"registry"` - }{ - Reserved: 0, - Registry: RegistryDetails{ - Host: registryHost, - Namespace: registryNamespace, - }, - }, - }, - "ingress": struct { - Hostname string `json:"hostname"` - }{ - Hostname: hostname, - }, - "theme": struct { - Name string `json:"name"` - }{ - Name: themeName, - }, - "cookies": struct { - Domain string `json:"domain"` - }{ - Domain: cookieDomain, - }, - "labels": labelOverrides, - }, - "workshops": []interface{}{}, - }, - }) - - _, err = trainingPortalClient.Create(context.TODO(), trainingPortal, metav1.CreateOptions{FieldManager: "educates-cli"}) - - if err != nil { - return errors.Wrapf(err, "unable to create training portal %q in cluster", portal) - } - - return nil -} diff --git a/client-programs/pkg/cmd/cluster_portal_delete_cmd.go b/client-programs/pkg/cmd/cluster_portal_delete_cmd.go index dc94d06cb..a0f95b80c 100644 --- a/client-programs/pkg/cmd/cluster_portal_delete_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_delete_cmd.go @@ -1,13 +1,11 @@ package cmd import ( - "context" - + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/portal" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) type ClusterPortalDeleteOptions struct { @@ -15,13 +13,24 @@ type ClusterPortalDeleteOptions struct { Portal string } +const clusterPortalDeleteExample = ` +# Delete TrainingPortal from Educates cluster with default name +educates cluster portal delete + +# Delete TrainingPortal from Educates cluster with specific name +educates cluster portal delete --portal=my-portal + +# Delete given TrainingPortal from given Educates cluster +educates cluster portal delete --portal=my-portal --kubeconfig ~/.kube/config --context=my-context +` + func (o *ClusterPortalDeleteOptions) Run() error { var err error // Ensure have portal name. if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) @@ -36,18 +45,16 @@ func (o *ClusterPortalDeleteOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := dynamicClient.Resource(trainingPortalResource) - - _, err = trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) - - if k8serrors.IsNotFound(err) { - return errors.New("no portal found") + config := portal.TrainingPortalDeleteConfig{ + Portal: o.Portal, } - err = trainingPortalClient.Delete(context.TODO(), o.Portal, metav1.DeleteOptions{}) + manager := portal.NewPortalManager(dynamicClient) + + err = manager.DeleteTrainingPortal(&config) if err != nil { - return errors.Wrap(err, "unable to delete portal") + return err } return nil @@ -61,6 +68,7 @@ func (p *ProjectInfo) NewClusterPortalDeleteCmd() *cobra.Command { Use: "delete", Short: "Delete portal from Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterPortalDeleteExample, } c.Flags().StringVar( @@ -79,7 +87,7 @@ func (p *ProjectInfo) NewClusterPortalDeleteCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) diff --git a/client-programs/pkg/cmd/cluster_portal_list_cmd.go b/client-programs/pkg/cmd/cluster_portal_list_cmd.go index 70d777e82..99bcea36d 100644 --- a/client-programs/pkg/cmd/cluster_portal_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_list_cmd.go @@ -1,23 +1,26 @@ package cmd import ( - "context" "fmt" - "os" - "text/tabwriter" + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/portal" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) type ClusterPortalListOptions struct { KubeconfigOptions } +const clusterPortalListExample = ` +# List TrainingPortals deployed to Educates cluster +educates cluster portal list + +# List TrainingPortals deployed to Educaets cluster and save to file +educates cluster portal list --kubeconfig ~/.kube/config --context=my-context +` + func (o *ClusterPortalListOptions) Run() error { var err error @@ -33,37 +36,15 @@ func (o *ClusterPortalListOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := dynamicClient.Resource(trainingPortalResource) + manager := portal.NewPortalManager(dynamicClient) - trainingPortals, err := trainingPortalClient.List(context.TODO(), metav1.ListOptions{}) + list, err := manager.ListTrainingPortals(nil) - if k8serrors.IsNotFound(err) { - fmt.Println("No portals found.") - return nil + if err != nil { + return err } - w := new(tabwriter.Writer) - w.Init(os.Stdout, 8, 8, 3, ' ', 0) - - defer w.Flush() - - fmt.Fprintf(w, "%s\t%s\t%s\n", "NAME", "CAPACITY", "URL") - - for _, item := range trainingPortals.Items { - name := item.GetName() - - sessionsMaximum, propertyExists, err := unstructured.NestedInt64(item.Object, "spec", "portal", "sessions", "maximum") - - var capacity string - - if err == nil && propertyExists { - capacity = fmt.Sprintf("%d", sessionsMaximum) - } - - url, _, _ := unstructured.NestedString(item.Object, "status", "educates", "url") - - fmt.Fprintf(w, "%s\t%s\t%s\n", name, capacity, url) - } + fmt.Print(list) return nil } @@ -76,6 +57,7 @@ func (p *ProjectInfo) NewClusterPortalListCmd() *cobra.Command { Use: "list", Short: "List portals deployed to Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterPortalListExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/cluster_portal_open_cmd.go b/client-programs/pkg/cmd/cluster_portal_open_cmd.go index 82b0321c0..6464a838c 100644 --- a/client-programs/pkg/cmd/cluster_portal_open_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_open_cmd.go @@ -1,21 +1,17 @@ package cmd import ( - "context" "fmt" "io" "net/http" - "net/url" - "os/exec" - "runtime" "time" + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/portal" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) type ClusterPortalOpenOptions struct { @@ -24,13 +20,26 @@ type ClusterPortalOpenOptions struct { Portal string } +const clusterPortalOpenExample = ` +# Open TrainingPortal in Educates cluster with default name +educates cluster portal open + +# Open TrainingPortal in Educates cluster with specific name +educates cluster portal open --portal=my-portal + +# Open admin interface of specific TrainingPortal +educates cluster portal open --portal=my-portal --admin + +# Open given TrainingPortal in given Educates cluster +educates cluster portal open --portal=my-portal --kubeconfig ~/.kube/config --context=my-context +` + func (o *ClusterPortalOpenOptions) Run() error { var err error // Ensure have portal name. - if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) @@ -45,37 +54,20 @@ func (o *ClusterPortalOpenOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := dynamicClient.Resource(trainingPortalResource) - - trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) - - if k8serrors.IsNotFound(err) { - return errors.New("no workshops deployed") + config := portal.TrainingPortalOpenConfig{ + Portal: o.Portal, + Admin: o.Admin, } - targetUrl, found, _ := unstructured.NestedString(trainingPortal.Object, "status", "educates", "url") - - if !found { - return errors.New("workshops not available") - } + manager := portal.NewPortalManager(dynamicClient) - rootUrl := targetUrl + targetUrl, err := manager.GetTrainingPortalBrowserUrl(&config) - if o.Admin { - targetUrl = targetUrl + "/admin" - } else { - password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") - - if password != "" { - values := url.Values{} - values.Add("redirect_url", "/") - values.Add("password", password) - - targetUrl = fmt.Sprintf("%s/workshops/access/?%s", targetUrl, values.Encode()) - } + if err != nil { + return err } - fmt.Printf("Training portal %q.\n", trainingPortal.GetName()) + fmt.Printf("Training portal %q.\n", o.Portal) fmt.Print("Checking training portal is ready.\n") @@ -89,7 +81,7 @@ func (o *ClusterPortalOpenOptions) Run() error { time.Sleep(time.Second) - resp, err := http.Get(rootUrl) + resp, err := http.Get(targetUrl) if err != nil || resp.StatusCode == 503 { continue @@ -105,22 +97,7 @@ func (o *ClusterPortalOpenOptions) Run() error { fmt.Printf("Opening training portal %s.\n", targetUrl) - switch runtime.GOOS { - case "linux": - err = exec.Command("xdg-open", targetUrl).Start() - case "windows": - err = exec.Command("rundll32", "url.dll,FileProtocolHandler", targetUrl).Start() - case "darwin": - err = exec.Command("open", targetUrl).Start() - default: - err = fmt.Errorf("unsupported platform") - } - - if err != nil { - return errors.Wrap(err, "unable to open web browser") - } - - return nil + return utils.OpenBrowser(targetUrl) } func (p *ProjectInfo) NewClusterPortalOpenCmd() *cobra.Command { @@ -131,6 +108,7 @@ func (p *ProjectInfo) NewClusterPortalOpenCmd() *cobra.Command { Use: "open", Short: "Browse portal in Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterPortalOpenExample, } c.Flags().StringVar( @@ -155,7 +133,7 @@ func (p *ProjectInfo) NewClusterPortalOpenCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) diff --git a/client-programs/pkg/cmd/cluster_portal_password_cmd.go b/client-programs/pkg/cmd/cluster_portal_password_cmd.go index 964627957..19ff5788d 100644 --- a/client-programs/pkg/cmd/cluster_portal_password_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_password_cmd.go @@ -1,17 +1,13 @@ package cmd import ( - "context" "fmt" - "os" - "text/tabwriter" + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/portal" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) type ClusterPortalPasswordOptions struct { @@ -26,7 +22,7 @@ func (o *ClusterPortalPasswordOptions) Run() error { // Ensure have portal name. if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) @@ -41,40 +37,21 @@ func (o *ClusterPortalPasswordOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := dynamicClient.Resource(trainingPortalResource) - - trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) - - if k8serrors.IsNotFound(err) { - return errors.New("no workshops deployed") + config := portal.TrainingPortalPasswordConfig{ + Portal: o.Portal, + Admin: o.Admin, } - if o.Admin { - username, found, err := unstructured.NestedString(trainingPortal.Object, "status", "educates", "credentials", "admin", "username") - - if err != nil || !found { - return errors.New("unable to access credentials") - } - - password, found, err := unstructured.NestedString(trainingPortal.Object, "status", "educates", "credentials", "admin", "password") + manager := portal.NewPortalManager(dynamicClient) - if err != nil || !found { - return errors.New("unable to access credentials") - } + password, err := manager.GetTrainingPortalPassword(&config) - w := new(tabwriter.Writer) - w.Init(os.Stdout, 8, 8, 3, ' ', 0) - - defer w.Flush() - - fmt.Fprintf(w, "%s\t%s\n", "USERNAME", "PASSWORD") - fmt.Fprintf(w, "%s\t%s\n", username, password) - } else { - password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") - - fmt.Println(password) + if err != nil { + return err } + fmt.Print(password) + return nil } @@ -110,7 +87,7 @@ func (p *ProjectInfo) NewClusterPortalPasswordCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) diff --git a/client-programs/pkg/cmd/cluster_session_extend_cmd.go b/client-programs/pkg/cmd/cluster_session_extend_cmd.go index 921d6da84..84ae3aed7 100644 --- a/client-programs/pkg/cmd/cluster_session_extend_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_extend_cmd.go @@ -3,10 +3,11 @@ package cmd import ( "fmt" - "github.com/pkg/errors" - "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + "github.com/pkg/errors" + "github.com/spf13/cobra" ) type ClusterSessionExtendOptions struct { @@ -75,7 +76,7 @@ func (p *ProjectInfo) NewClusterSessionExtendCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name of the training portal", ) diff --git a/client-programs/pkg/cmd/cluster_session_list_cmd.go b/client-programs/pkg/cmd/cluster_session_list_cmd.go index d34831446..2c2cd51ea 100644 --- a/client-programs/pkg/cmd/cluster_session_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_list_cmd.go @@ -6,9 +6,10 @@ import ( "os" "text/tabwriter" + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -121,7 +122,7 @@ func (p *ProjectInfo) NewClusterSessionListCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name of the training portal", ) c.Flags().StringVarP( diff --git a/client-programs/pkg/cmd/cluster_session_status_cmd.go b/client-programs/pkg/cmd/cluster_session_status_cmd.go index 29d00cd5b..869bae1e0 100644 --- a/client-programs/pkg/cmd/cluster_session_status_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_status_cmd.go @@ -3,10 +3,11 @@ package cmd import ( "fmt" - "github.com/pkg/errors" - "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + "github.com/pkg/errors" + "github.com/spf13/cobra" ) type ClusterSessionStatusOptions struct { @@ -71,7 +72,7 @@ func (p *ProjectInfo) NewClusterSessionStatusCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name of the training portal", ) diff --git a/client-programs/pkg/cmd/cluster_session_terminate_cmd.go b/client-programs/pkg/cmd/cluster_session_terminate_cmd.go index cb07e6fe1..3fe57a1c6 100644 --- a/client-programs/pkg/cmd/cluster_session_terminate_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_terminate_cmd.go @@ -3,10 +3,11 @@ package cmd import ( "fmt" - "github.com/pkg/errors" - "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + "github.com/pkg/errors" + "github.com/spf13/cobra" ) type ClusterSessionTerminateOptions struct { @@ -72,7 +73,7 @@ func (p *ProjectInfo) NewClusterSessionTerminateCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name of the training portal", ) diff --git a/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go b/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go index 8bbe26e2c..f4d5a066f 100644 --- a/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go @@ -5,6 +5,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/pkg/errors" "github.com/spf13/cobra" k8serrors "k8s.io/apimachinery/pkg/api/errors" @@ -32,7 +33,7 @@ func (o *ClusterWorkshopDeleteOptions) Run() error { // Ensure have portal name. if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } if name == "" { @@ -129,7 +130,7 @@ func (p *ProjectInfo) NewClusterWorkshopDeleteCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) @@ -223,7 +224,7 @@ func deleteWorkshopResource(client dynamic.Interface, name string, alias string, unstructured.SetNestedSlice(trainingPortal.Object, updatedWorkshops, "spec", "workshops") - _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: "educates-cli"}) + _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: constants.DefaultPortalName}) if err != nil { return errors.Wrapf(err, "unable to update training portal %q in cluster", portal) diff --git a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go index f14e5f2b4..cb89f2383 100644 --- a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go @@ -16,6 +16,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/pkg/errors" "github.com/spf13/cobra" k8serrors "k8s.io/apimachinery/pkg/api/errors" @@ -57,7 +58,7 @@ func (o *ClusterWorkshopDeployOptions) Run() error { // Ensure have portal name. if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } // If path not provided assume the current working directory. When loading @@ -158,7 +159,7 @@ func (p *ProjectInfo) NewClusterWorkshopDeployCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) c.Flags().UintVar( @@ -549,10 +550,10 @@ func deployWorkshopResource(client dynamic.Interface, workshop *unstructured.Uns if trainingPortalExists { fmt.Printf("Updating existing training portal %q.\n", trainingPortal.GetName()) - _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: "educates-cli"}) + _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: constants.DefaultPortalName}) } else { fmt.Printf("Creating new training portal %q.\n", trainingPortal.GetName()) - _, err = trainingPortalClient.Create(context.TODO(), trainingPortal, metav1.CreateOptions{FieldManager: "educates-cli"}) + _, err = trainingPortalClient.Create(context.TODO(), trainingPortal, metav1.CreateOptions{FieldManager: constants.DefaultPortalName}) } if err != nil { diff --git a/client-programs/pkg/cmd/cluster_workshop_list_cmd.go b/client-programs/pkg/cmd/cluster_workshop_list_cmd.go index b2228615f..f4d9094f9 100644 --- a/client-programs/pkg/cmd/cluster_workshop_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_list_cmd.go @@ -7,6 +7,7 @@ import ( "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/pkg/errors" "github.com/spf13/cobra" k8serrors "k8s.io/apimachinery/pkg/api/errors" @@ -25,7 +26,7 @@ func (o *ClusterWorkshopsListOptions) Run() error { // Ensure have portal name. if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) @@ -128,7 +129,7 @@ func (p *ProjectInfo) NewClusterWorkshopListCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) diff --git a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go index 38efb9d1a..94db7fb3e 100644 --- a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go @@ -9,11 +9,12 @@ import ( "strings" yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" "github.com/joho/godotenv" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -89,7 +90,7 @@ func (o *ClusterWorkshopRequestOptions) Run() error { // Ensure have portal name. if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } if name == "" { @@ -178,7 +179,7 @@ func (p *ProjectInfo) NewClusterWorkshopRequestCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) c.Flags().StringArrayVarP( diff --git a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go index 5bfdf020c..927f92e60 100644 --- a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go @@ -13,6 +13,7 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/renderer" "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) @@ -139,7 +140,7 @@ func (o *ClusterWorkshopServeOptions) Run() error { // Ensure have portal name. if portal == "" { - portal = "educates-cli" + portal = constants.DefaultPortalName } // Calculate workshop root and name. @@ -273,7 +274,7 @@ func (p *ProjectInfo) NewClusterWorkshopServeCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name of the training portal to lookup the workshop", ) c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/cluster_workshop_update_cmd.go b/client-programs/pkg/cmd/cluster_workshop_update_cmd.go index c3075ded8..dcf94706d 100644 --- a/client-programs/pkg/cmd/cluster_workshop_update_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_update_cmd.go @@ -12,6 +12,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -43,7 +44,7 @@ func (o *ClusterWorkshopUpdateOptions) Run() error { // Ensure have portal name. if o.Portal == "" { - o.Portal = "educates-cli" + o.Portal = constants.DefaultPortalName } // If path not provided assume the current working directory. When loading @@ -129,7 +130,7 @@ func (p *ProjectInfo) NewClusterWorkshopUpdateCmd() *cobra.Command { &o.Portal, "portal", "p", - "educates-cli", + constants.DefaultPortalName, "name to be used for training portal and workshop name prefixes", ) @@ -340,7 +341,7 @@ var workshopResource = schema.GroupVersionResource{Group: "training.educates.dev func updateWorkshopResource(client dynamic.Interface, workshop *unstructured.Unstructured) error { workshopsClient := client.Resource(workshopResource) - // _, err := workshopsClient.Apply(context.TODO(), workshop.GetName(), workshop, metav1.ApplyOptions{FieldManager: "educates-cli", Force: true}) + // _, err := workshopsClient.Apply(context.TODO(), workshop.GetName(), workshop, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}) workshopBytes, err := runtime.Encode(unstructured.UnstructuredJSONScheme, workshop) @@ -348,7 +349,7 @@ func updateWorkshopResource(client dynamic.Interface, workshop *unstructured.Uns return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) } - _, err = workshopsClient.Patch(context.TODO(), workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: "educates-cli", Force: true}.ToPatchOptions()) + _, err = workshopsClient.Patch(context.TODO(), workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}.ToPatchOptions()) if err != nil { return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) diff --git a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go index e7da2b75b..aa2c13e73 100644 --- a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go @@ -9,7 +9,8 @@ import ( "path" yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" + "github.com/docker/docker/client" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -51,7 +52,7 @@ func (m *DockerWorkshopsManager) DeleteWorkshop(name string, stdout io.Writer, s ctx := context.Background() - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -95,7 +96,7 @@ func (o *DockerWorkshopDeleteOptions) Run(cmd *cobra.Command) error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, "educates-cli", o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + if workshop, err = loadWorkshopDefinition(o.Name, path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { return err } diff --git a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go index 06c974085..f02db0026 100644 --- a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go @@ -19,6 +19,7 @@ import ( composeloader "github.com/compose-spec/compose-go/v2/loader" composetypes "github.com/compose-spec/compose-go/v2/types" "github.com/docker/docker/client" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -102,7 +103,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition("", o.Path, "educates-cli", o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + if workshop, err = loadWorkshopDefinition("", o.Path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { return "", err } diff --git a/client-programs/pkg/cmd/docker_workshop_logs.go b/client-programs/pkg/cmd/docker_workshop_logs.go index 841d17932..811579830 100644 --- a/client-programs/pkg/cmd/docker_workshop_logs.go +++ b/client-programs/pkg/cmd/docker_workshop_logs.go @@ -4,6 +4,7 @@ import ( "os/exec" yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/pkg/errors" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -40,7 +41,7 @@ func (o *DockerWorkshopLogsOptions) Run(cmd *cobra.Command) error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, "educates-cli", o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + if workshop, err = loadWorkshopDefinition(o.Name, path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { return err } diff --git a/client-programs/pkg/cmd/docker_workshop_open_cmd.go b/client-programs/pkg/cmd/docker_workshop_open_cmd.go index 80ff36c85..c04a78d85 100644 --- a/client-programs/pkg/cmd/docker_workshop_open_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_open_cmd.go @@ -10,7 +10,8 @@ import ( "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" + "github.com/docker/docker/client" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/pkg/errors" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -46,7 +47,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, "educates-cli", o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + if workshop, err = loadWorkshopDefinition(o.Name, path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { return err } @@ -57,7 +58,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { ctx := context.Background() - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") diff --git a/client-programs/pkg/cmd/project_docs_open_cmd.go b/client-programs/pkg/cmd/project_docs_open_cmd.go index 6567516a7..45702d226 100644 --- a/client-programs/pkg/cmd/project_docs_open_cmd.go +++ b/client-programs/pkg/cmd/project_docs_open_cmd.go @@ -1,7 +1,7 @@ package cmd import ( - "github.com/educates/educates-training-platform/client-programs/pkg/config" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -15,7 +15,7 @@ func (p *ProjectInfo) NewProjectDocsOpenCmd() *cobra.Command { Use: "open", Short: "Open browser on project documentation", RunE: func(_ *cobra.Command, _ []string) error { - return utils.OpenBrowser(config.PROJECT_DOCS_URL) + return utils.OpenBrowser(constants.PROJECT_DOCS_URL) }, } diff --git a/client-programs/pkg/config/project.go b/client-programs/pkg/config/project.go deleted file mode 100644 index 992201109..000000000 --- a/client-programs/pkg/config/project.go +++ /dev/null @@ -1,5 +0,0 @@ -package config - -const ( - PROJECT_DOCS_URL = "https://docs.educates.dev/" -) diff --git a/client-programs/pkg/constants/project.go b/client-programs/pkg/constants/project.go new file mode 100644 index 000000000..c07797160 --- /dev/null +++ b/client-programs/pkg/constants/project.go @@ -0,0 +1,9 @@ +package constants + +const ( + PROJECT_DOCS_URL = "https://docs.educates.dev/" + + + DefaultPortalName = "educates-cli" + DefaultPortalCapacity = 5 +) diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index 2f7a2783f..2847a0ac7 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -23,6 +23,7 @@ import ( "github.com/docker/compose/v5/pkg/compose" "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/educates/educates-training-platform/client-programs/pkg/workshops" "github.com/pkg/errors" @@ -259,7 +260,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s var workshop *unstructured.Unstructured - if workshop, err = workshops.LoadWorkshopDefinition("", o.Path, workshops.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + if workshop, err = workshops.LoadWorkshopDefinition("", o.Path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { return "", err } diff --git a/client-programs/pkg/portal/manager.go b/client-programs/pkg/portal/manager.go new file mode 100644 index 000000000..4af744a0c --- /dev/null +++ b/client-programs/pkg/portal/manager.go @@ -0,0 +1,308 @@ +package portal + +import ( + "context" + "fmt" + "net/url" + "strings" + "text/tabwriter" + + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/pkg/errors" + k8serrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/dynamic" +) + +var TrainingPortalResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"} + +type PortalManager struct { + client dynamic.Interface +} + +type TrainingPortalCreateConfig struct { + Portal string + Hostname string + Repository string + Capacity uint + Password string + IsPasswordSet bool + ThemeName string + CookieDomain string + Labels []string +} + +type TrainingPortalDeleteConfig struct { + Portal string +} + +type TrainingPortalListConfig struct { +} + +type TrainingPortalOpenConfig struct { + Portal string + Admin bool +} + +type TrainingPortalPasswordConfig struct { + Portal string + Admin bool +} + +func NewPortalManager(client dynamic.Interface) *PortalManager { + return &PortalManager{client: client} +} + +func (m *PortalManager) CreateTrainingPortal(cfg *TrainingPortalCreateConfig) error { + trainingPortalClient := m.client.Resource(TrainingPortalResource) + + _, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) + + if err != nil { + if !k8serrors.IsNotFound(err) { + return errors.Wrap(err, "unable to query training portal") + } + } else { + return errors.New("training portal already exists") + } + + trainingPortal := &unstructured.Unstructured{} + + if !cfg.IsPasswordSet { + cfg.Password = RandomPassword(12) + } + + type LabelDetails struct { + Name string `json:"name"` + Value string `json:"value"` + } + + var labelOverrides []LabelDetails + + for _, value := range cfg.Labels { + parts := strings.SplitN(value, "=", 2) + labelOverrides = append(labelOverrides, LabelDetails{ + Name: parts[0], + Value: parts[1], + }) + } + + type RegistryDetails struct { + Host string `json:"host"` + Namespace string `json:"namespace"` + } + + registryHost := "" + registryNamespace := "" + + if cfg.Repository != "" { + parts := strings.SplitN(cfg.Repository, "/", 2) + + registryHost = parts[0] + + if len(parts) > 1 { + registryNamespace = parts[1] + } + + } + + trainingPortal.SetUnstructuredContent(map[string]interface{}{ + "apiVersion": "training.educates.dev/v1beta1", + "kind": "TrainingPortal", + "metadata": map[string]interface{}{ + "name": cfg.Portal, + }, + "spec": map[string]interface{}{ + "portal": map[string]interface{}{ + "password": cfg.Password, + "registration": struct { + Type string `json:"type"` + }{ + Type: "anonymous", + }, + "updates": struct { + Workshop bool `json:"workshop"` + }{ + Workshop: true, + }, + "sessions": struct { + Maximum int64 `json:"maximum"` + }{ + Maximum: int64(cfg.Capacity), + }, + "workshop": map[string]interface{}{ + "defaults": struct { + Reserved int `json:"reserved"` + Registry RegistryDetails `json:"registry"` + }{ + Reserved: 0, + Registry: RegistryDetails{ + Host: registryHost, + Namespace: registryNamespace, + }, + }, + }, + "ingress": struct { + Hostname string `json:"hostname"` + }{ + Hostname: cfg.Hostname, + }, + "theme": struct { + Name string `json:"name"` + }{ + Name: cfg.ThemeName, + }, + "cookies": struct { + Domain string `json:"domain"` + }{ + Domain: cfg.CookieDomain, + }, + "labels": labelOverrides, + }, + "workshops": []interface{}{}, + }, + }) + + _, err = trainingPortalClient.Create(context.TODO(), trainingPortal, metav1.CreateOptions{FieldManager: constants.DefaultPortalName}) + + if err != nil { + return errors.Wrapf(err, "unable to create training portal %q in cluster", cfg.Portal) + } + + return nil +} + +func (m *PortalManager) DeleteTrainingPortal(cfg *TrainingPortalDeleteConfig) error { + trainingPortalClient := m.client.Resource(TrainingPortalResource) + + _, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) + + if k8serrors.IsNotFound(err) { + return errors.New("no portal found") + } + + err = trainingPortalClient.Delete(context.TODO(), cfg.Portal, metav1.DeleteOptions{}) + + if err != nil { + return errors.Wrap(err, "unable to delete portal") + } + + return nil +} + + +func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (string, error) { + trainingPortalClient := m.client.Resource(TrainingPortalResource) + + trainingPortals, err := trainingPortalClient.List(context.TODO(), metav1.ListOptions{}) + + if k8serrors.IsNotFound(err) { + fmt.Println("No portals found.") + return "", nil + } + + var buf strings.Builder + w := new(tabwriter.Writer) + + // Initialize tabwriter to write to 'buf' instead of 'os.Stdout' + w.Init(&buf, 8, 8, 3, ' ', 0) + + fmt.Fprintf(w, "%s\t%s\t%s\n", "NAME", "CAPACITY", "URL") + + for _, item := range trainingPortals.Items { + name := item.GetName() + + sessionsMaximum, propertyExists, err := unstructured.NestedInt64(item.Object, "spec", "portal", "sessions", "maximum") + + var capacity string + + if err == nil && propertyExists { + capacity = fmt.Sprintf("%d", sessionsMaximum) + } + + url, _, _ := unstructured.NestedString(item.Object, "status", "educates", "url") + + fmt.Fprintf(w, "%s\t%s\t%s\n", name, capacity, url) + } + + // Important: Flush ensures all data is written from tabwriter to the builder + w.Flush() + + return buf.String(), nil +} + +func (m *PortalManager) GetTrainingPortalBrowserUrl(cfg *TrainingPortalOpenConfig) (string, error) { + trainingPortalClient := m.client.Resource(TrainingPortalResource) + + trainingPortal, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) + + if k8serrors.IsNotFound(err) { + return "", errors.New("no workshops deployed") + } + + targetUrl, found, _ := unstructured.NestedString(trainingPortal.Object, "status", "educates", "url") + + if !found { + return "", errors.New("workshops not available") + } + + if cfg.Admin { + targetUrl = targetUrl + "/admin" + } else { + password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") + + if password != "" { + values := url.Values{} + values.Add("redirect_url", "/") + values.Add("password", password) + + targetUrl = fmt.Sprintf("%s/workshops/access/?%s", targetUrl, values.Encode()) + } + } + + return targetUrl, nil +} + +func (m *PortalManager) GetTrainingPortalPassword(cfg *TrainingPortalPasswordConfig) (string, error) { + trainingPortalClient := m.client.Resource(TrainingPortalResource) + + trainingPortal, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) + + if k8serrors.IsNotFound(err) { + return "", errors.New("no workshops deployed") + } + + if cfg.Admin { + username, found, err := unstructured.NestedString(trainingPortal.Object, "status", "educates", "credentials", "admin", "username") + + if err != nil || !found { + return "", errors.New("unable to access credentials") + } + + password, found, err := unstructured.NestedString(trainingPortal.Object, "status", "educates", "credentials", "admin", "password") + + if err != nil || !found { + return "", errors.New("unable to access credentials") + } + + var buf strings.Builder + w := new(tabwriter.Writer) + + // Initialize tabwriter to write to 'buf' instead of 'os.Stdout' + w.Init(&buf, 8, 8, 3, ' ', 0) + + fmt.Fprintf(w, "%s\t%s\n", "USERNAME", "PASSWORD") + fmt.Fprintf(w, "%s\t%s\n", username, password) + + // Important: Flush ensures all data is written from tabwriter to the builder + w.Flush() + + return buf.String(), nil + } else { + password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") + + return password, nil + } +} diff --git a/client-programs/pkg/portal/password.go b/client-programs/pkg/portal/password.go new file mode 100644 index 000000000..601322c8c --- /dev/null +++ b/client-programs/pkg/portal/password.go @@ -0,0 +1,20 @@ +package portal + +import ( + "hash/maphash" + "math/rand" + "strings" +) + +func RandomPassword(length int) string { + rand.New(rand.NewSource(int64(new(maphash.Hash).Sum64()))) + + chars := []rune("!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz") + + var b strings.Builder + + for i := 0; i < length; i++ { + b.WriteRune(chars[rand.Intn(len(chars))]) + } + return b.String() +} diff --git a/client-programs/pkg/secrets/secrets.go b/client-programs/pkg/secrets/secrets.go index 568091f6d..f0b8bad81 100644 --- a/client-programs/pkg/secrets/secrets.go +++ b/client-programs/pkg/secrets/secrets.go @@ -6,8 +6,9 @@ import ( "path" "strings" - "github.com/pkg/errors" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" apiv1 "k8s.io/api/core/v1" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -169,7 +170,7 @@ func SyncLocalCachedSecretsToCluster(client *kubernetes.Clientset) error { patch = applycorev1.Secret(name, secretsNS).WithType(secretObj.Type).WithData(secretObj.Data) } - _, err = secretsClient.Apply(context.TODO(), patch, metav1.ApplyOptions{FieldManager: "educates-cli", Force: true}) + _, err = secretsClient.Apply(context.TODO(), patch, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}) if err != nil { return errors.Wrapf(err, "unable to update secret in cluster %q", name) diff --git a/client-programs/pkg/workshops/constants.go b/client-programs/pkg/workshops/constants.go deleted file mode 100644 index 00d2d05e9..000000000 --- a/client-programs/pkg/workshops/constants.go +++ /dev/null @@ -1,3 +0,0 @@ -package workshops - -const DefaultPortalName = "educates-cli" diff --git a/client-programs/pkg/workshops/definition.go b/client-programs/pkg/workshops/definition.go index 611dc3534..ab667774e 100644 --- a/client-programs/pkg/workshops/definition.go +++ b/client-programs/pkg/workshops/definition.go @@ -16,6 +16,7 @@ import ( yttcmdui "carvel.dev/ytt/pkg/cmd/ui" "carvel.dev/ytt/pkg/files" "carvel.dev/ytt/pkg/yamlmeta" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/pkg/errors" "k8s.io/apimachinery/pkg/apis/meta/internalversion/scheme" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -190,7 +191,7 @@ func UpdateWorkshopResource(client dynamic.Interface, workshop *unstructured.Uns return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) } - _, err = workshopsClient.Patch(context.TODO(), workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: DefaultPortalName, Force: true}.ToPatchOptions()) + _, err = workshopsClient.Patch(context.TODO(), workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}.ToPatchOptions()) if err != nil { return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) From e11e1793c784118b3fd823e7f94bfe58ac3f4513 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 19 Jan 2026 19:16:30 +0100 Subject: [PATCH 07/41] Refactored cluster_portal_xxx command --- .../pkg/cmd/cluster_portal_password_cmd.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/client-programs/pkg/cmd/cluster_portal_password_cmd.go b/client-programs/pkg/cmd/cluster_portal_password_cmd.go index 19ff5788d..9081b863e 100644 --- a/client-programs/pkg/cmd/cluster_portal_password_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_password_cmd.go @@ -16,6 +16,20 @@ type ClusterPortalPasswordOptions struct { Portal string } +const clusterPortalPasswordExample = ` +# View accesspassword for TrainingPortal in Educates cluster with default name +educates cluster portal password + +# View access password for TrainingPortal in Educates cluster with specific name +educates cluster portal password --portal=my-portal + +# View admin password for TrainingPortal in Educates cluster with default name +educates cluster portal password --admin + +# View access password for given TrainingPortal in given Educates cluster +educates cluster portal password --portal=my-portal --kubeconfig ~/.kube/config --context=my-context --admin +` + func (o *ClusterPortalPasswordOptions) Run() error { var err error @@ -63,6 +77,7 @@ func (p *ProjectInfo) NewClusterPortalPasswordCmd() *cobra.Command { Use: "password", Short: "View portal credentials in Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterPortalPasswordExample, } c.Flags().StringVar( From ca6a0303f48e1a55f623b25b7f19406bf5ea4b02 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 19 Jan 2026 20:14:47 +0100 Subject: [PATCH 08/41] Refactored cluster_session_xx command --- .../pkg/cmd/cluster_portal_list_cmd.go | 2 +- .../pkg/cmd/cluster_portal_password_cmd.go | 2 +- .../pkg/cmd/cluster_session_extend_cmd.go | 47 +++-- .../pkg/cmd/cluster_session_list_cmd.go | 79 ++------ .../pkg/cmd/cluster_session_status_cmd.go | 47 +++-- .../pkg/cmd/cluster_session_terminate_cmd.go | 47 +++-- .../educates/resources/sessions/manager.go | 183 ++++++++++++++++++ client-programs/pkg/portal/manager.go | 9 +- 8 files changed, 293 insertions(+), 123 deletions(-) create mode 100644 client-programs/pkg/educates/resources/sessions/manager.go diff --git a/client-programs/pkg/cmd/cluster_portal_list_cmd.go b/client-programs/pkg/cmd/cluster_portal_list_cmd.go index 99bcea36d..bd6319a93 100644 --- a/client-programs/pkg/cmd/cluster_portal_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_list_cmd.go @@ -44,7 +44,7 @@ func (o *ClusterPortalListOptions) Run() error { return err } - fmt.Print(list) + fmt.Println(list) return nil } diff --git a/client-programs/pkg/cmd/cluster_portal_password_cmd.go b/client-programs/pkg/cmd/cluster_portal_password_cmd.go index 9081b863e..2523a7db5 100644 --- a/client-programs/pkg/cmd/cluster_portal_password_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_password_cmd.go @@ -64,7 +64,7 @@ func (o *ClusterPortalPasswordOptions) Run() error { return err } - fmt.Print(password) + fmt.Println(password) return nil } diff --git a/client-programs/pkg/cmd/cluster_session_extend_cmd.go b/client-programs/pkg/cmd/cluster_session_extend_cmd.go index 84ae3aed7..5f60b729f 100644 --- a/client-programs/pkg/cmd/cluster_session_extend_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_extend_cmd.go @@ -5,8 +5,8 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" - "github.com/pkg/errors" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -16,6 +16,17 @@ type ClusterSessionExtendOptions struct { Name string } +const clusterSessionExtendExample = ` +# Extend duration of session "my-session" in Kubernetes +educates cluster session extend my-session SESSION_NAME + +# Extend duration of session "my-session" in Kubernetes using a specific portal +educates cluster session extend my-session SESSION_NAME --portal=my-portal + +# Extend duration of session "my-session" in Kubernetes using a specific portal and context +educates cluster session extend my-session SESSION_NAME --portal=my-portal --kubeconfig ~/.kube/config --context=my-context +` + func (o *ClusterSessionExtendOptions) Run() error { var err error @@ -25,27 +36,17 @@ func (o *ClusterSessionExtendOptions) Run() error { return err } - catalogApiRequester := educatesrestapi.NewWorkshopsCatalogRequester( - clusterConfig, - o.Portal, - ) - logout, err := catalogApiRequester.Login() - defer logout() - if err != nil { - return errors.Wrap(err, "failed to login to training portal") - } - - details, err := catalogApiRequester.ExtendWorkshopSession(o.Name) + manager := sessions.NewSessionManager() + result, err := manager.ExtendSession(sessions.ExtendSessionConfig{ + ClusterConfig: clusterConfig, + Portal: o.Portal, + Name: o.Name, + }) if err != nil { return err } - fmt.Println("Started:", details.Started) - fmt.Println("Expires:", details.Expires) - fmt.Println("Expiring:", details.Expiring) - fmt.Println("Countdown:", details.Countdown) - fmt.Println("Extendable:", details.Extendable) - fmt.Println("Status:", details.Status) + fmt.Println(result) return nil } @@ -54,10 +55,16 @@ func (p *ProjectInfo) NewClusterSessionExtendCmd() *cobra.Command { var o ClusterSessionExtendOptions var c = &cobra.Command{ - Args: cobra.ExactArgs(1), + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "session name is required", "NAME") + } + return nil + }, Use: "extend NAME", Short: "Extend duration of session in Kubernetes", RunE: func(_ *cobra.Command, args []string) error { o.Name = args[0]; return o.Run() }, + Example: clusterSessionExtendExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/cluster_session_list_cmd.go b/client-programs/pkg/cmd/cluster_session_list_cmd.go index 2c2cd51ea..99ce16911 100644 --- a/client-programs/pkg/cmd/cluster_session_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_list_cmd.go @@ -1,19 +1,13 @@ package cmd import ( - "context" "fmt" - "os" - "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" "github.com/pkg/errors" "github.com/spf13/cobra" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" ) type ClusterSessionListOptions struct { @@ -22,7 +16,16 @@ type ClusterSessionListOptions struct { Environment string } -var workshopSessionResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopsessions"} +const clusterSessionListExample = ` +# List active Educates sessions in default Educates portal and cluster +educates cluster session list + +# List active Educates sessions using a specific portal +educates cluster session list --portal=my-portal + +# List active Educates sessions in Kubernetes using a specific portal and context +educates cluster session list --portal=my-portal --kubeconfig ~/.kube/config --context=my-context +` func (o *ClusterSessionListOptions) Run() error { var err error @@ -39,59 +42,18 @@ func (o *ClusterSessionListOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - workshopSessionClient := dynamicClient.Resource(workshopSessionResource) - - workshopSessions, err := workshopSessionClient.List(context.TODO(), metav1.ListOptions{}) - - if k8serrors.IsNotFound(err) { - fmt.Println("No sessions found.") - return nil - } - - var sessions []unstructured.Unstructured + manager := sessions.NewSessionManager() - for _, item := range workshopSessions.Items { - labels := item.GetLabels() - - portal, ok := labels["training.educates.dev/portal.name"] - - if ok && portal == o.Portal { - if o.Environment != "" { - environment, ok := labels["training.educates.dev/environment.name"] - - if ok && environment == o.Environment { - sessions = append(sessions, item) - } - } else { - sessions = append(sessions, item) - } - - } - } - - if len(sessions) == 0 { - fmt.Println("No sessions found.") - return nil + list, err := manager.ListSessions(sessions.ListSessionsConfig{ + Client: dynamicClient, + Portal: o.Portal, + Environment: o.Environment, + }) + if err != nil { + return err } - w := new(tabwriter.Writer) - w.Init(os.Stdout, 8, 8, 3, ' ', 0) - - defer w.Flush() - - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "PORTAL", "ENVIRONMENT", "STATUS") - - for _, item := range sessions { - name := item.GetName() - labels := item.GetLabels() - - portal := labels["training.educates.dev/portal.name"] - environment := labels["training.educates.dev/environment.name"] - - status, _, _ := unstructured.NestedString(item.Object, "status", "educates", "phase") - - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", name, portal, environment, status) - } + fmt.Println(list) return nil } @@ -104,6 +66,7 @@ func (p *ProjectInfo) NewClusterSessionListCmd() *cobra.Command { Use: "list", Short: "List active sessions in Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterSessionListExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/cluster_session_status_cmd.go b/client-programs/pkg/cmd/cluster_session_status_cmd.go index 869bae1e0..eeccd9365 100644 --- a/client-programs/pkg/cmd/cluster_session_status_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_status_cmd.go @@ -5,8 +5,8 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" - "github.com/pkg/errors" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -16,32 +16,33 @@ type ClusterSessionStatusOptions struct { Name string } +const clusterSessionStatusExample = ` +# Get status of Educates session "my-session" in default Educates portal +educates cluster session status my-session + +# Get status of Educates session "my-session" using a specific portal +educates cluster session status my-session --portal=my-portal + +# Get status of Educates session "my-session" using a specific portal and context +educates cluster session status my-session --portal=my-portal --kubeconfig ~/.kube/config --context=my-context +` + func (o *ClusterSessionStatusOptions) Run() error { var err error clusterConfig := cluster.NewClusterConfig(o.Kubeconfig, o.Context) - catalogApiRequester := educatesrestapi.NewWorkshopsCatalogRequester( - clusterConfig, - o.Portal, - ) - logout, err := catalogApiRequester.Login() - defer logout() - if err != nil { - return errors.Wrap(err, "failed to login to training portal") - } - - details, err := catalogApiRequester.GetWorkshopSession(o.Name) + manager := sessions.NewSessionManager() + result, err := manager.SessionStatus(sessions.SessionStatusConfig{ + ClusterConfig: clusterConfig, + Portal: o.Portal, + Name: o.Name, + }) if err != nil { return err } - fmt.Println("Started:", details.Started) - fmt.Println("Expires:", details.Expires) - fmt.Println("Expiring:", details.Expiring) - fmt.Println("Countdown:", details.Countdown) - fmt.Println("Extendable:", details.Extendable) - fmt.Println("Status:", details.Status) + fmt.Println(result) return nil } @@ -50,10 +51,16 @@ func (p *ProjectInfo) NewClusterSessionStatusCmd() *cobra.Command { var o ClusterSessionStatusOptions var c = &cobra.Command{ - Args: cobra.ExactArgs(1), + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "session name is required", "NAME") + } + return nil + }, Use: "status NAME", Short: "Output status of session in Kubernetes", RunE: func(_ *cobra.Command, args []string) error { o.Name = args[0]; return o.Run() }, + Example: clusterSessionStatusExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/cluster_session_terminate_cmd.go b/client-programs/pkg/cmd/cluster_session_terminate_cmd.go index 3fe57a1c6..c3950e0e0 100644 --- a/client-programs/pkg/cmd/cluster_session_terminate_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_terminate_cmd.go @@ -5,8 +5,8 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" - "github.com/pkg/errors" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -16,32 +16,33 @@ type ClusterSessionTerminateOptions struct { Name string } +const clusterSessionTerminateExample = ` +# Terminate running Educatessession "my-session" in default Educates portal +educates cluster session terminate my-session + +# Terminate running Educates session "my-session" using a specific portal +educates cluster session terminate my-session --portal=my-portal + +# Terminate running Educates session "my-session" using a specific portal and context +educates cluster session terminate my-session --portal=my-portal --kubeconfig ~/.kube/config --context=my-context +` + func (o *ClusterSessionTerminateOptions) Run() error { var err error clusterConfig := cluster.NewClusterConfig(o.Kubeconfig, o.Context) - catalogApiRequester := educatesrestapi.NewWorkshopsCatalogRequester( - clusterConfig, - o.Portal, - ) - logout, err := catalogApiRequester.Login() - defer logout() - if err != nil { - return errors.Wrap(err, "failed to login to training portal") - } - - details, err := catalogApiRequester.TerminateWorkshopSession(o.Name) + manager := sessions.NewSessionManager() + result, err := manager.TerminateSession(sessions.TerminateSessionConfig{ + ClusterConfig: clusterConfig, + Portal: o.Portal, + Name: o.Name, + }) if err != nil { return err } - fmt.Println("Started:", details.Started) - fmt.Println("Expires:", details.Expires) - fmt.Println("Expiring:", details.Expiring) - fmt.Println("Countdown:", details.Countdown) - fmt.Println("Extendable:", details.Extendable) - fmt.Println("Status:", details.Status) + fmt.Println(result) return nil } @@ -50,11 +51,17 @@ func (p *ProjectInfo) NewClusterSessionTerminateCmd() *cobra.Command { var o ClusterSessionTerminateOptions var c = &cobra.Command{ - Args: cobra.ExactArgs(1), + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "session name is required", "NAME") + } + return nil + }, Use: "delete NAME", Aliases: []string{"terminate"}, Short: "Terminate running session in Kubernetes", RunE: func(_ *cobra.Command, args []string) error { o.Name = args[0]; return o.Run() }, + Example: clusterSessionTerminateExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/educates/resources/sessions/manager.go b/client-programs/pkg/educates/resources/sessions/manager.go new file mode 100644 index 000000000..c4280979a --- /dev/null +++ b/client-programs/pkg/educates/resources/sessions/manager.go @@ -0,0 +1,183 @@ +package sessions + +import ( + "context" + "fmt" + "strings" + "text/tabwriter" + + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + "github.com/pkg/errors" + k8serrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/client-go/dynamic" +) + +var workshopSessionResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopsessions"} + + +type SessionManager struct { +} + +func NewSessionManager() *SessionManager { + return &SessionManager{} +} + + +type ListSessionsConfig struct { + Client dynamic.Interface + Portal string + Environment string +} + +type ExtendSessionConfig struct { + ClusterConfig *cluster.ClusterConfig + Portal string + Name string +} + +type SessionStatusConfig struct { + ClusterConfig *cluster.ClusterConfig + Portal string + Name string +} + +type TerminateSessionConfig struct { + ClusterConfig *cluster.ClusterConfig + Portal string + Name string +} + +func (m *SessionManager) ListSessions(cfg ListSessionsConfig) (string, error) { + workshopSessionClient := cfg.Client.Resource(workshopSessionResource) + + workshopSessions, err := workshopSessionClient.List(context.TODO(), metav1.ListOptions{}) + + if k8serrors.IsNotFound(err) { + return "No sessions found.", nil + } + + var sessions []unstructured.Unstructured + + for _, item := range workshopSessions.Items { + labels := item.GetLabels() + + portal, ok := labels["training.educates.dev/portal.name"] + + if ok && portal == cfg.Portal { + if cfg.Environment != "" { + environment, ok := labels["training.educates.dev/environment.name"] + + if ok && environment == cfg.Environment { + sessions = append(sessions, item) + } + } else { + sessions = append(sessions, item) + } + + } + } + + if len(sessions) == 0 { + return "No sessions found.", nil + } + + var buf strings.Builder + w := new(tabwriter.Writer) + w.Init(&buf, 8, 8, 3, ' ', 0) + + fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "PORTAL", "ENVIRONMENT", "STATUS") + + for i, item := range sessions { + name := item.GetName() + labels := item.GetLabels() + + portal := labels["training.educates.dev/portal.name"] + environment := labels["training.educates.dev/environment.name"] + + status, _, _ := unstructured.NestedString(item.Object, "status", "educates", "phase") + + fmt.Fprintf(w, "%s\t%s\t%s\t%s", name, portal, environment, status) + if i < len(sessions) - 1 { + fmt.Fprintf(w, "\n") + } + } + + w.Flush() + + return buf.String(), nil +} + +func (m *SessionManager) ExtendSession(cfg ExtendSessionConfig) (string, error) { + catalogApiRequester := educatesrestapi.NewWorkshopsCatalogRequester( + cfg.ClusterConfig, + cfg.Portal, + ) + logout, err := catalogApiRequester.Login() + defer logout() + if err != nil { + return "", errors.Wrap(err, "failed to login to training portal") + } + + details, err := catalogApiRequester.ExtendWorkshopSession(cfg.Name) + if err != nil { + return "", err + } + + return printStatus(details), nil +} + +func (m *SessionManager) SessionStatus(cfg SessionStatusConfig) (string, error) { + catalogApiRequester := educatesrestapi.NewWorkshopsCatalogRequester( + cfg.ClusterConfig, + cfg.Portal, + ) + logout, err := catalogApiRequester.Login() + defer logout() + if err != nil { + return "", errors.Wrap(err, "failed to login to training portal") + } + + details, err := catalogApiRequester.GetWorkshopSession(cfg.Name) + if err != nil { + return "", err + } + + return printStatus(details), nil +} + +func (m *SessionManager) TerminateSession(cfg TerminateSessionConfig) (string, error) { + catalogApiRequester := educatesrestapi.NewWorkshopsCatalogRequester( + cfg.ClusterConfig, + cfg.Portal, + ) + logout, err := catalogApiRequester.Login() + defer logout() + if err != nil { + return "", errors.Wrap(err, "failed to login to training portal") + } + + details, err := catalogApiRequester.TerminateWorkshopSession(cfg.Name) + if err != nil { + return "", err + } + + return printStatus(details), nil + +} + +func printStatus(details *educatesrestapi.WorkshopSessionDetails) string { + var buf strings.Builder + + fmt.Fprintf(&buf, "Started: %s\n", details.Started) + fmt.Fprintf(&buf, "Expires: %s\n", details.Expires) + fmt.Fprintf(&buf, "Expiring: %t\n", details.Expiring) + fmt.Fprintf(&buf, "Countdown: %d\n", details.Countdown) + fmt.Fprintf(&buf, "Extendable: %t\n", details.Extendable) + fmt.Fprintf(&buf, "Status: %s", details.Status) + + return buf.String() +} diff --git a/client-programs/pkg/portal/manager.go b/client-programs/pkg/portal/manager.go index 4af744a0c..286c9f524 100644 --- a/client-programs/pkg/portal/manager.go +++ b/client-programs/pkg/portal/manager.go @@ -211,7 +211,7 @@ func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (stri fmt.Fprintf(w, "%s\t%s\t%s\n", "NAME", "CAPACITY", "URL") - for _, item := range trainingPortals.Items { + for i, item := range trainingPortals.Items { name := item.GetName() sessionsMaximum, propertyExists, err := unstructured.NestedInt64(item.Object, "spec", "portal", "sessions", "maximum") @@ -224,7 +224,10 @@ func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (stri url, _, _ := unstructured.NestedString(item.Object, "status", "educates", "url") - fmt.Fprintf(w, "%s\t%s\t%s\n", name, capacity, url) + fmt.Fprintf(w, "%s\t%s\t%s", name, capacity, url) + if i < len(trainingPortals.Items) - 1 { + fmt.Fprintf(w, "\n") + } } // Important: Flush ensures all data is written from tabwriter to the builder @@ -294,7 +297,7 @@ func (m *PortalManager) GetTrainingPortalPassword(cfg *TrainingPortalPasswordCon w.Init(&buf, 8, 8, 3, ' ', 0) fmt.Fprintf(w, "%s\t%s\n", "USERNAME", "PASSWORD") - fmt.Fprintf(w, "%s\t%s\n", username, password) + fmt.Fprintf(w, "%s\t%s", username, password) // Important: Flush ensures all data is written from tabwriter to the builder w.Flush() From 5274104fea4330be709a8f0eafe75d6f4c61d967 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Tue, 20 Jan 2026 13:33:00 +0100 Subject: [PATCH 09/41] Refactored cluster_workshop_xx commands --- .../pkg/cmd/cluster_workshop_delete_cmd.go | 87 +-- .../pkg/cmd/cluster_workshop_deploy_cmd.go | 436 ++--------- .../pkg/cmd/cluster_workshop_list_cmd.go | 81 +- .../pkg/cmd/cluster_workshop_request_cmd.go | 48 +- .../pkg/cmd/cluster_workshop_serve_cmd.go | 131 ++-- .../pkg/cmd/cluster_workshop_update_cmd.go | 214 +----- .../pkg/cmd/docker_workshop_delete_cmd.go | 11 +- .../pkg/cmd/docker_workshop_deploy_cmd.go | 11 +- .../pkg/cmd/docker_workshop_logs.go | 11 +- .../pkg/cmd/docker_workshop_open_cmd.go | 11 +- .../educates/resources/workshops/manager.go | 693 ++++++++++++++++++ client-programs/pkg/portal/manager.go | 3 +- client-programs/pkg/renderer/hugo.go | 103 ++- .../pkg/{portal => utils}/password.go | 2 +- 14 files changed, 1044 insertions(+), 798 deletions(-) create mode 100644 client-programs/pkg/educates/resources/workshops/manager.go rename client-programs/pkg/{portal => utils}/password.go (96%) diff --git a/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go b/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go index f4d5a066f..9daf5f8ce 100644 --- a/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go @@ -1,19 +1,30 @@ package cmd import ( - "context" - yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/client-go/dynamic" ) +const ( + clusterWorkshopDeleteExample = ` + # Delete Educates workshop from cluster in current workshop directory and using default workshop file + educates cluster workshop delete + + # Delete Educates workshop from cluster from specific portal + educates cluster workshop delete --portal my-portal + + # Delete Educates workshop from cluster defined with custom path and workshop file + educates cluster workshop delete --path ./workshop --workshop-file custom-workshop.yaml + + # Delete Educates workshop from alternate cluster + educates cluster workshop delete --kubeconfig ~/.kube/config --context=my-context +` +) type ClusterWorkshopDeleteOptions struct { KubeconfigOptions Name string @@ -53,7 +64,16 @@ func (o *ClusterWorkshopDeleteOptions) Run() error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, o.Portal, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: o.Name, + Path: path, + Portal: o.Portal, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } @@ -72,9 +92,15 @@ func (o *ClusterWorkshopDeleteOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - // Delete the deployed workshop from the Kubernetes cluster. + manager := workshops.NewWorkshopManager(dynamicClient) - err = deleteWorkshopResource(dynamicClient, name, o.Alias, o.Portal) + // Delete the deployed workshop from the Kubernetes cluster. + deleteConfig := workshops.DeleteWorkshopResourceConfig{ + Name: name, + Alias: o.Alias, + Portal: o.Portal, + } + err = manager.DeleteWorkshopResource(&deleteConfig) if err != nil { return err @@ -91,6 +117,7 @@ func (p *ProjectInfo) NewClusterWorkshopDeleteCmd() *cobra.Command { Use: "delete", Short: "Delete workshop from Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterWorkshopDeleteExample, } c.Flags().StringVarP( @@ -188,47 +215,3 @@ func (p *ProjectInfo) NewClusterWorkshopDeleteCmd() *cobra.Command { return c } - -func deleteWorkshopResource(client dynamic.Interface, name string, alias string, portal string) error { - trainingPortalClient := client.Resource(trainingPortalResource) - - trainingPortal, err := trainingPortalClient.Get(context.TODO(), portal, metav1.GetOptions{}) - - if k8serrors.IsNotFound(err) { - return nil - } - - workshops, _, err := unstructured.NestedSlice(trainingPortal.Object, "spec", "workshops") - - if err != nil { - return errors.Wrap(err, "unable to retrieve workshops from training portal") - } - - var found = false - - var updatedWorkshops []interface{} - - for _, item := range workshops { - object := item.(map[string]interface{}) - - if object["name"] != name || object["alias"] != alias { - updatedWorkshops = append(updatedWorkshops, object) - } else { - found = true - } - } - - if !found { - return nil - } - - unstructured.SetNestedSlice(trainingPortal.Object, updatedWorkshops, "spec", "workshops") - - _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: constants.DefaultPortalName}) - - if err != nil { - return errors.Wrapf(err, "unable to update training portal %q in cluster", portal) - } - - return nil -} diff --git a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go index cb89f2383..e728ee812 100644 --- a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go @@ -1,29 +1,28 @@ package cmd import ( - "context" - "encoding/json" "fmt" - "hash/maphash" - "io" - "math/rand" - "net/http" - "net/url" - "os/exec" - "runtime" - "strings" - "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/client-go/dynamic" +) + +const ( + clusterWorkshopDeployExample = ` + # Deploy Educates workshop to cluster in current workshop directory and using default workshop file + educates cluster workshop deploy + + # Deploy Educates workshop to cluster with custom workshop name and alias and custom workshop settings + educates cluster workshop deploy --name my-workshop --alias my-workshop -initial 10 -reserved 5 -expires 1h -overtime 10m -deadline 2h -orphaned 10m -overdue 10s + + # Deploy Educates workshop to cluster with custom workshop file + educates cluster workshop deploy --path ./workshop --workshop-file custom-workshop.yaml +` ) type ClusterWorkshopDeployOptions struct { @@ -75,7 +74,16 @@ func (o *ClusterWorkshopDeployOptions) Run() error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, o.Portal, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + loadConfig := workshops.WorkshopDefinitionConfig{ + Name: o.Name, + Path: path, + Portal: o.Portal, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + + if workshop, err = workshops.LoadWorkshopDefinition(&loadConfig); err != nil { return err } @@ -91,9 +99,14 @@ func (o *ClusterWorkshopDeployOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } + manager := workshops.NewWorkshopManager(dynamicClient) + // Update the workshop resource in the Kubernetes cluster. + updateConfig := workshops.UpdateWorkshopResourceConfig{ + Workshop: workshop, + } - err = updateWorkshopResource(dynamicClient, workshop) + err = manager.UpdateWorkshopResource(&updateConfig) if err != nil { return err @@ -103,7 +116,33 @@ func (o *ClusterWorkshopDeployOptions) Run() error { // Update the training portal, creating it if necessary. - err = deployWorkshopResource(dynamicClient, workshop, o.Alias, o.Portal, o.Capacity, o.Reserved, o.Initial, o.Expires, o.Overtime, o.Deadline, o.Orphaned, o.Overdue, o.Refresh, o.Repository, o.Environ, o.Labels, o.OpenBrowser) + deployConfig := workshops.DeployWorkshopConfig{ + Workshop: workshop, + Alias: o.Alias, + Portal: o.Portal, + Capacity: o.Capacity, + Reserved: o.Reserved, + Initial: o.Initial, + Expires: o.Expires, + Overtime: o.Overtime, + Deadline: o.Deadline, + Orphaned: o.Orphaned, + Overdue: o.Overdue, + Refresh: o.Refresh, + Registry: o.Repository, + Environ: o.Environ, + Labels: o.Labels, + OpenBrowser: o.OpenBrowser, + } + err = manager.DeployWorkshopResource(&deployConfig) + + // TODO: Move open browser logic to separate function and extract logic here + // if o.OpenBrowser { + // err = manager.OpenBrowser(&deployConfig) + // if err != nil { + // return err + // } + // } if err != nil { return err @@ -120,6 +159,7 @@ func (p *ProjectInfo) NewClusterWorkshopDeployCmd() *cobra.Command { Use: "deploy", Short: "Deploy workshop to Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterWorkshopDeployExample, } c.Flags().StringVarP( @@ -299,363 +339,3 @@ func (p *ProjectInfo) NewClusterWorkshopDeployCmd() *cobra.Command { return c } - -var trainingPortalResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"} - -func deployWorkshopResource(client dynamic.Interface, workshop *unstructured.Unstructured, alias string, portal string, capacity uint, reserved uint, initial uint, expires string, overtime string, deadline string, orphaned string, overdue string, refresh string, registry string, environ []string, labels []string, openBrowser bool) error { - trainingPortalClient := client.Resource(trainingPortalResource) - - trainingPortal, err := trainingPortalClient.Get(context.TODO(), portal, metav1.GetOptions{}) - - var trainingPortalExists = true - - if k8serrors.IsNotFound(err) { - trainingPortalExists = false - - trainingPortal = &unstructured.Unstructured{} - - trainingPortal.SetUnstructuredContent(map[string]interface{}{ - "apiVersion": "training.educates.dev/v1beta1", - "kind": "TrainingPortal", - "metadata": map[string]interface{}{ - "name": portal, - }, - "spec": map[string]interface{}{ - "portal": map[string]interface{}{ - "password": randomPassword(12), - "registration": struct { - Type string `json:"type"` - }{ - Type: "anonymous", - }, - "updates": struct { - Workshop bool `json:"workshop"` - }{ - Workshop: true, - }, - "sessions": struct { - Maximum int64 `json:"maximum"` - }{ - Maximum: 5, - }, - "workshop": map[string]interface{}{ - "defaults": struct { - Reserved int `json:"reserved"` - }{ - Reserved: 0, - }, - }, - }, - "workshops": []interface{}{}, - }, - }) - } - - workshops, _, err := unstructured.NestedSlice(trainingPortal.Object, "spec", "workshops") - - if err != nil { - return errors.Wrap(err, "unable to retrieve workshops from training portal") - } - - var updatedWorkshops []interface{} - - if expires == "" { - duration, propertyExists, err := unstructured.NestedString(workshop.Object, "spec", "duration") - - if err != nil || !propertyExists { - expires = "60m" - } else { - expires = duration - } - } - - type EnvironDetails struct { - Name string `json:"name"` - Value string `json:"value"` - } - - var environVariables []EnvironDetails - - for _, value := range environ { - parts := strings.SplitN(value, "=", 2) - environVariables = append(environVariables, EnvironDetails{ - Name: parts[0], - Value: parts[1], - }) - } - - type LabelDetails struct { - Name string `json:"name"` - Value string `json:"value"` - } - - var labelOverrides []LabelDetails - - for _, value := range labels { - parts := strings.SplitN(value, "=", 2) - labelOverrides = append(labelOverrides, LabelDetails{ - Name: parts[0], - Value: parts[1], - }) - } - - var foundWorkshop = false - - for _, item := range workshops { - object := item.(map[string]interface{}) - - updatedWorkshops = append(updatedWorkshops, object) - - if object["name"] == workshop.GetName() && object["alias"] == alias { - foundWorkshop = true - - object["reserved"] = int64(reserved) - object["initial"] = int64(initial) - - if capacity != 0 { - object["capacity"] = int64(capacity) - } else { - delete(object, "capacity") - } - - if expires != "" { - object["expires"] = expires - } else { - delete(object, "expires") - } - - if overtime != "" { - object["overtime"] = overtime - } else { - delete(object, "overtime") - } - - if deadline != "" { - object["deadline"] = deadline - } else { - delete(object, "deadline") - } - - if orphaned != "" { - object["orphaned"] = orphaned - } else { - delete(object, "orphaned") - } - - if overdue != "" { - object["overdue"] = overdue - } else { - delete(object, "overdue") - } - - if refresh != "" { - object["refresh"] = refresh - } else { - delete(object, "refresh") - } - - var tmpEnvironVariables []interface{} - - for _, item := range environVariables { - tmpEnvironVariables = append(tmpEnvironVariables, map[string]interface{}{ - "name": item.Name, - "value": item.Value, - }) - } - - object["env"] = tmpEnvironVariables - - var tmpLabelOverrides []interface{} - - for _, item := range labelOverrides { - tmpLabelOverrides = append(tmpLabelOverrides, map[string]interface{}{ - "name": item.Name, - "value": item.Value, - }) - } - - object["labels"] = tmpLabelOverrides - } - } - - type RegistryDetails struct { - Host string `json:"host"` - Namespace string `json:"namespace,omitempty"` - } - - type WorkshopDetails struct { - Name string `json:"name"` - Alias string `json:"alias"` - Capacity int64 `json:"capacity,omitempty"` - Initial int64 `json:"initial"` - Reserved int64 `json:"reserved"` - Expires string `json:"expires,omitempty"` - Overtime string `json:"overtime,omitempty"` - Deadline string `json:"deadline,omitempty"` - Orphaned string `json:"orphaned,omitempty"` - Overdue string `json:"overdue,omitempty"` - Refresh string `json:"refresh,omitempty"` - Registry *RegistryDetails `json:"registry,omitempty"` - Environ []EnvironDetails `json:"env"` - Labels []LabelDetails `json:"labels"` - } - - if !foundWorkshop { - workshopDetails := WorkshopDetails{ - Name: workshop.GetName(), - Alias: alias, - Initial: int64(initial), - Reserved: int64(reserved), - Expires: expires, - Overtime: overtime, - Deadline: deadline, - Orphaned: orphaned, - Overdue: overdue, - Refresh: refresh, - Environ: environVariables, - Labels: labelOverrides, - } - - if capacity != 0 { - workshopDetails.Capacity = int64(capacity) - } - - if registry != "" { - parts := strings.SplitN(registry, "/", 2) - - host := parts[0] - var namespace string - - if len(parts) > 1 { - namespace = parts[1] - } - - registryDetails := RegistryDetails{ - Host: host, - Namespace: namespace, - } - - workshopDetails.Registry = ®istryDetails - } - - var workshopDetailsMap map[string]interface{} - - data, _ := json.Marshal(workshopDetails) - json.Unmarshal(data, &workshopDetailsMap) - - updatedWorkshops = append(updatedWorkshops, workshopDetailsMap) - } - - unstructured.SetNestedSlice(trainingPortal.Object, updatedWorkshops, "spec", "workshops") - - if trainingPortalExists { - fmt.Printf("Updating existing training portal %q.\n", trainingPortal.GetName()) - _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: constants.DefaultPortalName}) - } else { - fmt.Printf("Creating new training portal %q.\n", trainingPortal.GetName()) - _, err = trainingPortalClient.Create(context.TODO(), trainingPortal, metav1.CreateOptions{FieldManager: constants.DefaultPortalName}) - } - - if err != nil { - return errors.Wrapf(err, "unable to update training portal %q in cluster", portal) - } - - fmt.Print("Workshop added to training portal.\n") - - if openBrowser { - // Need to refetch training portal because if was just created the URL - // for access may not have been set yet. - - var targetUrl string - - fmt.Print("Checking training portal is ready.\n") - - spinner := func(iteration int) string { - spinners := `|/-\` - return string(spinners[iteration%len(spinners)]) - } - - for i := 1; i < 60; i++ { - fmt.Printf("\r[%s] Waiting...", spinner(i)) - - time.Sleep(time.Second) - - trainingPortal, err = trainingPortalClient.Get(context.TODO(), portal, metav1.GetOptions{}) - - if err != nil { - return errors.Wrapf(err, "unable to fetch training portal %q in cluster", portal) - } - - var found bool - - targetUrl, found, _ = unstructured.NestedString(trainingPortal.Object, "status", "educates", "url") - - if found { - break - } - } - - rootUrl := targetUrl - - password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") - - if password != "" { - values := url.Values{} - values.Add("redirect_url", "/") - values.Add("password", password) - - targetUrl = fmt.Sprintf("%s/workshops/access/?%s", targetUrl, values.Encode()) - } - - for i := 1; i < 300; i++ { - fmt.Printf("\r[%s] Waiting...", spinner(i)) - - time.Sleep(time.Second) - - resp, err := http.Get(rootUrl) - - if err != nil || resp.StatusCode == 503 { - continue - } - - defer resp.Body.Close() - io.ReadAll(resp.Body) - - break - } - - fmt.Print("\r \r") - - fmt.Printf("Opening training portal %s.\n", targetUrl) - - switch runtime.GOOS { - case "linux": - err = exec.Command("xdg-open", targetUrl).Start() - case "windows": - err = exec.Command("rundll32", "url.dll,FileProtocolHandler", targetUrl).Start() - case "darwin": - err = exec.Command("open", targetUrl).Start() - default: - err = fmt.Errorf("unsupported platform") - } - - if err != nil { - return errors.Wrap(err, "unable to open web browser") - } - } - - return nil -} - -func randomPassword(length int) string { - rand.New(rand.NewSource(int64(new(maphash.Hash).Sum64()))) - - chars := []rune("!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz") - - var b strings.Builder - - for i := 0; i < length; i++ { - b.WriteRune(chars[rand.Intn(len(chars))]) - } - return b.String() -} diff --git a/client-programs/pkg/cmd/cluster_workshop_list_cmd.go b/client-programs/pkg/cmd/cluster_workshop_list_cmd.go index f4d9094f9..4300f123a 100644 --- a/client-programs/pkg/cmd/cluster_workshop_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_list_cmd.go @@ -1,18 +1,26 @@ package cmd import ( - "context" "fmt" - "os" - "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" - k8serrors "k8s.io/apimachinery/pkg/api/errors" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" +) + +const ( + clusterWorkshopListExample = ` + # List Educates workshops deployed to Kubernetes cluster + educates cluster workshop list + + # List Educates workshops deployed to Kubernetes cluster with a specific portal + educates cluster workshop list --portal=my-portal + + # List Educates workshops deployed to alternateKubernetes cluster + educates cluster workshop list --kubeconfig ~/.kube/config --context=my-context +` ) type ClusterWorkshopsListOptions struct { @@ -40,65 +48,17 @@ func (o *ClusterWorkshopsListOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := dynamicClient.Resource(trainingPortalResource) - - trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) - - if k8serrors.IsNotFound(err) { - fmt.Println("No workshops found.") - return nil - } - - sessionsMaximum, sessionsMaximumExists, _ := unstructured.NestedInt64(trainingPortal.Object, "spec", "portal", "sessions", "maximum") + manager := workshops.NewWorkshopManager(dynamicClient) - workshops, _, err := unstructured.NestedSlice(trainingPortal.Object, "spec", "workshops") + list, err := manager.ListWorkshopResources(&workshops.ListWorkshopResourcesConfig{ + Portal: o.Portal, + }) if err != nil { - return errors.Wrap(err, "unable to retrieve workshops from training portal") - } - - if len(workshops) == 0 { - fmt.Println("No workshops found.") - return nil + return err } - w := new(tabwriter.Writer) - w.Init(os.Stdout, 8, 8, 3, ' ', 0) - - defer w.Flush() - - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "ALIAS", "CAPACITY", "SOURCE") - - workshopsClient := dynamicClient.Resource(workshopResource) - - for _, item := range workshops { - object := item.(map[string]interface{}) - name := object["name"].(string) - - var capacityField string - - capacity, capacityExists := object["capacity"] - - if capacityExists { - capacityField = fmt.Sprintf("%d", capacity) - } else if sessionsMaximumExists { - capacityField = fmt.Sprintf("%d", sessionsMaximum) - } - - workshop, err := workshopsClient.Get(context.TODO(), name, metav1.GetOptions{}) - - source := "" - - if err == nil { - annotations := workshop.GetAnnotations() - - if val, ok := annotations["training.educates.dev/source"]; ok { - source = val - } - } - - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", object["name"], object["alias"], capacityField, source) - } + fmt.Println(list) return nil } @@ -111,6 +71,7 @@ func (p *ProjectInfo) NewClusterWorkshopListCmd() *cobra.Command { Use: "list", Short: "List workshops deployed to Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterWorkshopListExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go index 94db7fb3e..360db579f 100644 --- a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go @@ -4,14 +4,14 @@ import ( "context" "fmt" "os" - "os/exec" - "runtime" "strings" yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/joho/godotenv" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -20,6 +20,19 @@ import ( "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) +const ( + clusterWorkshopRequestExample = ` + # Request Educates workshop in cluster in current workshop directory and using default workshop file + educates cluster workshop request + + # Request Educates workshop in cluster with custom workshop file + educates cluster workshop request --path ./workshop --workshop-file custom-workshop.yaml + + # Request Educates workshop but don't open the browser + educates cluster workshop request --no-browser +` +) + type ClusterWorkshopRequestOptions struct { KubeconfigOptions Name string @@ -110,7 +123,16 @@ func (o *ClusterWorkshopRequestOptions) Run() error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, o.Portal, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: o.Name, + Path: path, + Portal: o.Portal, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } @@ -147,6 +169,7 @@ func (p *ProjectInfo) NewClusterWorkshopRequestCmd() *cobra.Command { Use: "request", Short: "Request workshop in Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterWorkshopRequestExample, } c.Flags().StringVarP( @@ -300,7 +323,7 @@ func ensurePortalHasWorkshop(clusterConfig *cluster.ClusterConfig, name string, return errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := client.Resource(trainingPortalResource) + trainingPortalClient := client.Resource(workshops.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), portal, metav1.GetOptions{}) @@ -379,20 +402,5 @@ func requestWorkshop(clusterConfig *cluster.ClusterConfig, workshopName string, fmt.Printf("Opening workshop URL %s.\n", workshopUrl) - switch runtime.GOOS { - case "linux": - err = exec.Command("xdg-open", workshopUrl).Start() - case "windows": - err = exec.Command("rundll32", "url.dll,FileProtocolHandler", workshopUrl).Start() - case "darwin": - err = exec.Command("open", workshopUrl).Start() - default: - err = fmt.Errorf("unsupported platform") - } - - if err != nil { - return errors.Wrap(err, "unable to open web browser on workshop") - } - - return nil + return utils.OpenBrowser(workshopUrl) } diff --git a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go index 927f92e60..71d26c04d 100644 --- a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go @@ -2,9 +2,7 @@ package cmd import ( "fmt" - "io/ioutil" "os" - "path" "path/filepath" yttcmd "carvel.dev/ytt/pkg/cmd/template" @@ -14,10 +12,24 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/renderer" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) +const ( + clusterWorkshopServeExample = ` + # Serve Educates workshop from local system in current workshop directory and using default workshop file + educates cluster workshop serve + + # Serve Educates workshop from local system with custom workshop file + educates cluster workshop serve --path ./workshop --workshop-file custom-workshop.yaml + + # Serve Educates workshop from local system with custom workshop file and activate live reload mode + educates cluster workshop serve --path ./workshop --workshop-file custom-workshop.yaml --patch-workshop +` +) + +// TODO: Move this function somewhere and see how to update the code that does this same functionality in many workshop related commands func calculateWorkshopRoot(path string) (string, error) { var err error @@ -42,22 +54,6 @@ func calculateWorkshopRoot(path string) (string, error) { return path, nil } -// func calculateWorkshopName(name string, path string, portal string, workshopFile string, workshopVersion string, dataValuesFlags yttcmd.DataValuesFlags) (string, error) { -// var err error - -// if name == "" { -// var workshop *unstructured.Unstructured - -// if workshop, err = loadWorkshopDefinition(name, path, portal, workshopFile, workshopVersion, dataValuesFlags); err != nil { -// return "", err -// } - -// name = workshop.GetName() -// } - -// return name, nil -// } - type ClusterWorkshopServeOptions struct { KubeconfigOptions Name string @@ -78,51 +74,6 @@ type ClusterWorkshopServeOptions struct { DataValuesFlags yttcmd.DataValuesFlags } -func generateAccessToken(refresh bool) (string, error) { - configFileDir := utils.GetEducatesHomeDir() - accessTokenFile := path.Join(configFileDir, "live-reload-token.dat") - - err := os.MkdirAll(configFileDir, os.ModePerm) - - if err != nil { - return "", errors.Wrapf(err, "unable to create config directory") - } - - var accessToken string - - if refresh { - accessToken = randomPassword(32) - - err := ioutil.WriteFile(accessTokenFile, []byte(accessToken), 0644) - - if err != nil { - return "", err - } - } else { - if _, err := os.Stat(accessTokenFile); err == nil { - accessTokenBytes, err := ioutil.ReadFile(accessTokenFile) - - if err != nil { - return "", err - } - - accessToken = string(accessTokenBytes) - } else if os.IsNotExist(err) { - accessToken = randomPassword(32) - - err = ioutil.WriteFile(accessTokenFile, []byte(accessToken), 0644) - - if err != nil { - return "", err - } - } else { - return "", err - } - } - - return accessToken, nil -} - func (o *ClusterWorkshopServeOptions) Run() error { var err error @@ -138,20 +89,26 @@ func (o *ClusterWorkshopServeOptions) Run() error { } // Ensure have portal name. - if portal == "" { portal = constants.DefaultPortalName } // Calculate workshop root and name. - if path, err = calculateWorkshopRoot(path); err != nil { return err } var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(name, path, portal, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: name, + Path: path, + Portal: portal, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } @@ -160,9 +117,8 @@ func (o *ClusterWorkshopServeOptions) Run() error { } // If going to patch hosted workshop, ensure we have an access token. - if o.PatchWorkshop && token == "" { - token, err = generateAccessToken(o.RefreshToken) + token, err = renderer.GenerateAccessToken(o.RefreshToken) if err != nil { return errors.Wrap(err, "error generating access token") @@ -170,7 +126,6 @@ func (o *ClusterWorkshopServeOptions) Run() error { } // If patching hosted workshop create an apply the updated configuration. - if o.PatchWorkshop { patchedWorkshop := workshop.DeepCopyObject().(*unstructured.Unstructured) @@ -202,9 +157,11 @@ func (o *ClusterWorkshopServeOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } + manager := workshops.NewWorkshopManager(dynamicClient) // Update the workshop resource in the Kubernetes cluster. - - err = updateWorkshopResource(dynamicClient, patchedWorkshop) + err = manager.UpdateWorkshopResource(&workshops.UpdateWorkshopResourceConfig{ + Workshop: patchedWorkshop, + }) if err != nil { return err @@ -215,23 +172,38 @@ func (o *ClusterWorkshopServeOptions) Run() error { var cleanupFunc = func() { // Do our best to revert workshop configuration and ignore errors. - clusterConfig := cluster.NewClusterConfig(o.Kubeconfig, o.Context) dynamicClient, err := clusterConfig.GetDynamicClient() if err == nil { // Update the workshop resource in the Kubernetes cluster. - - updateWorkshopResource(dynamicClient, workshop) - - fmt.Printf("Restored workshop %q.\n", workshop.GetName()) + manager := workshops.NewWorkshopManager(dynamicClient) + err = manager.UpdateWorkshopResource(&workshops.UpdateWorkshopResourceConfig{ + Workshop: workshop, + }) + if err != nil { + fmt.Printf("Error restoring workshop %q: %v\n", workshop.GetName(), err) + } else { + fmt.Printf("Restored workshop %q.\n", workshop.GetName()) + } } } // Run the proxy server and Hugo server. - - return renderer.RunHugoServer(path, o.Kubeconfig, o.Context, name, portal, o.LocalHost, o.LocalPort, o.HugoPort, token, o.Files, cleanupFunc) + return renderer.RunHugoServer(&renderer.RunHugoServerConfig{ + WorkshopRoot: path, + Kubeconfig: o.Kubeconfig, + Context: o.Context, + Workshop: name, + Portal: portal, + LocalHost: o.LocalHost, + LocalPort: o.LocalPort, + HugoPort: o.HugoPort, + Token: token, + Files: o.Files, + CleanupFunc: cleanupFunc, + }) } func (p *ProjectInfo) NewClusterWorkshopServeCmd() *cobra.Command { @@ -242,6 +214,7 @@ func (p *ProjectInfo) NewClusterWorkshopServeCmd() *cobra.Command { Use: "serve", Short: "Serve workshop from local system", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterWorkshopServeExample, } c.Flags().StringVarP( diff --git a/client-programs/pkg/cmd/cluster_workshop_update_cmd.go b/client-programs/pkg/cmd/cluster_workshop_update_cmd.go index dcf94706d..15795fdbd 100644 --- a/client-programs/pkg/cmd/cluster_workshop_update_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_update_cmd.go @@ -1,29 +1,25 @@ package cmd import ( - "context" - "crypto/sha1" "fmt" - "io" - "net/http" - "net/url" - "os" - "path/filepath" yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/runtime/serializer" - "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/dynamic" - "k8s.io/kubectl/pkg/scheme" +) + +const ( + clusterWorkshopUpdateExample = ` + # Update Educates workshop in Kubernetes cluster in current workshop directory and using default workshop file + educates cluster workshop update + + # Update Educates workshop in Kubernetes cluster with custom workshop file + educates cluster workshop update --path ./workshop --workshop-file custom-workshop.yaml +` ) type ClusterWorkshopUpdateOptions struct { @@ -61,7 +57,16 @@ func (o *ClusterWorkshopUpdateOptions) Run() error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, o.Portal, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: o.Name, + Path: o.Path, + Portal: o.Portal, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } @@ -77,9 +82,14 @@ func (o *ClusterWorkshopUpdateOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } + manager := workshops.NewWorkshopManager(dynamicClient) + // Update the workshop resource in the Kubernetes cluster. + updateConfig := workshops.UpdateWorkshopResourceConfig{ + Workshop: workshop, + } - err = updateWorkshopResource(dynamicClient, workshop) + err = manager.UpdateWorkshopResource(&updateConfig) if err != nil { return err @@ -98,6 +108,7 @@ func (p *ProjectInfo) NewClusterWorkshopUpdateCmd() *cobra.Command { Use: "update", Short: "Update workshop in Kubernetes", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterWorkshopUpdateExample, } c.Flags().StringVarP( @@ -188,172 +199,3 @@ func (p *ProjectInfo) NewClusterWorkshopUpdateCmd() *cobra.Command { return c } - -func loadWorkshopDefinition(name string, path string, portal string, workshopFile string, workshopVersion string, dataValueFlags yttcmd.DataValuesFlags) (*unstructured.Unstructured, error) { - // Parse the workshop location so we can determine if it is a local file - // or accessible using a HTTP/HTTPS URL. - - var urlInfo *url.URL - var err error - - if urlInfo, err = url.Parse(path); err != nil { - return nil, errors.Wrap(err, "unable to parse workshop location") - } - - // Check if file system path first (not HTTP/HTTPS) and if so normalize - // the path. If it the path references a directory, then extend the path - // so we look for the workshop file within that directory. - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - path = filepath.Clean(path) - - if path, err = filepath.Abs(path); err != nil { - return nil, errors.Wrap(err, "couldn't convert workshop location to absolute path") - } - - if !filepath.IsAbs(workshopFile) { - fileInfo, err := os.Stat(path) - - if err != nil { - return nil, errors.Wrap(err, "couldn't test if workshop location is a directory") - } - - if fileInfo.IsDir() { - path = filepath.Join(path, workshopFile) - } - } else { - path = workshopFile - } - } - - // Read in the workshop definition as raw data ready for parsing. - - var workshopData []byte - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - if workshopData, err = os.ReadFile(path); err != nil { - return nil, errors.Wrap(err, "couldn't read workshop definition data file") - } - } else { - var client http.Client - - resp, err := client.Get(path) - - if err != nil { - return nil, errors.Wrap(err, "couldn't download workshop definition from host") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - return nil, errors.New("failed to download workshop definition from host") - } - - workshopData, err = io.ReadAll(resp.Body) - - if err != nil { - return nil, errors.Wrap(err, "failed to read workshop definition from host") - } - } - - // Process the workshop YAML data in case it contains ytt templating. - - if workshopData, err = workshops.ProcessWorkshopDefinition(workshopData, dataValueFlags); err != nil { - return nil, errors.Wrap(err, "unable to process workshop definition as template") - } - - // Parse the workshop definition. - - decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() - - workshop := &unstructured.Unstructured{} - - err = runtime.DecodeInto(decoder, workshopData, workshop) - - if err != nil { - return nil, errors.Wrap(err, "couldn't parse workshop definition") - } - - // Verify the type of resource definition. - - if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { - return nil, errors.New("invalid type for workshop definition") - } - - // Add annotations recording details about original workshop location. - - annotations := workshop.GetAnnotations() - - if annotations == nil { - annotations = map[string]string{} - } - - annotations["training.educates.dev/workshop"] = workshop.GetName() - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - annotations["training.educates.dev/source"] = fmt.Sprintf("file://%s", path) - } else { - annotations["training.educates.dev/source"] = path - } - - workshop.SetAnnotations(annotations) - - // Update the name for the workshop such that it incorporates a hash of - // the workshop location. - - if name == "" { - name = generateWorkshopName(path, workshop, portal) - } - - workshop.SetName(name) - - // Insert workshop version property if not specified. - - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found && workshopVersion != "latest" { - unstructured.SetNestedField(workshop.Object, workshopVersion, "spec", "version") - } - - // Remove the publish section as will not be accurate after publising. - - unstructured.RemoveNestedField(workshop.Object, "spec", "publish") - - return workshop, nil -} - -func generateWorkshopName(path string, workshop *unstructured.Unstructured, portal string) string { - name := workshop.GetName() - - h := sha1.New() - - io.WriteString(h, path) - - hv := fmt.Sprintf("%x", h.Sum(nil)) - - name = fmt.Sprintf("%s--%s-%s", portal, name, hv[len(hv)-7:]) - - return name -} - -var workshopResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshops"} - -func updateWorkshopResource(client dynamic.Interface, workshop *unstructured.Unstructured) error { - workshopsClient := client.Resource(workshopResource) - - // _, err := workshopsClient.Apply(context.TODO(), workshop.GetName(), workshop, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}) - - workshopBytes, err := runtime.Encode(unstructured.UnstructuredJSONScheme, workshop) - - if err != nil { - return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) - } - - _, err = workshopsClient.Patch(context.TODO(), workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}.ToPatchOptions()) - - if err != nil { - return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) - } - - return nil -} diff --git a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go index aa2c13e73..e524f4e4e 100644 --- a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go @@ -11,6 +11,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -96,7 +97,15 @@ func (o *DockerWorkshopDeleteOptions) Run(cmd *cobra.Command) error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: o.Name, + Path: path, + Portal: constants.DefaultPortalName, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } diff --git a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go index f02db0026..c98a09cd9 100644 --- a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go @@ -20,6 +20,7 @@ import ( composetypes "github.com/compose-spec/compose-go/v2/types" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -103,7 +104,15 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition("", o.Path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: "", + Path: o.Path, + Portal: constants.DefaultPortalName, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return "", err } diff --git a/client-programs/pkg/cmd/docker_workshop_logs.go b/client-programs/pkg/cmd/docker_workshop_logs.go index 811579830..67f819a1d 100644 --- a/client-programs/pkg/cmd/docker_workshop_logs.go +++ b/client-programs/pkg/cmd/docker_workshop_logs.go @@ -5,6 +5,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -41,7 +42,15 @@ func (o *DockerWorkshopLogsOptions) Run(cmd *cobra.Command) error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: o.Name, + Path: path, + Portal: constants.DefaultPortalName, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } diff --git a/client-programs/pkg/cmd/docker_workshop_open_cmd.go b/client-programs/pkg/cmd/docker_workshop_open_cmd.go index c04a78d85..a63c3ff53 100644 --- a/client-programs/pkg/cmd/docker_workshop_open_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_open_cmd.go @@ -12,6 +12,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -47,7 +48,15 @@ func (o *DockerWorkshopOpenOptions) Run() error { var workshop *unstructured.Unstructured - if workshop, err = loadWorkshopDefinition(o.Name, path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := workshops.WorkshopDefinitionConfig{ + Name: o.Name, + Path: path, + Portal: constants.DefaultPortalName, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops/manager.go new file mode 100644 index 000000000..62c65282f --- /dev/null +++ b/client-programs/pkg/educates/resources/workshops/manager.go @@ -0,0 +1,693 @@ +package workshops + +import ( + "context" + "crypto/sha1" + "encoding/json" + "fmt" + "io" + "net/http" + "net/url" + "os" + "path/filepath" + "strings" + "text/tabwriter" + "time" + + yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/educates/educates-training-platform/client-programs/pkg/workshops" + "github.com/pkg/errors" + k8serrors "k8s.io/apimachinery/pkg/api/errors" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/schema" + "k8s.io/apimachinery/pkg/runtime/serializer" + "k8s.io/apimachinery/pkg/types" + "k8s.io/client-go/dynamic" + "k8s.io/kubectl/pkg/scheme" +) + +type WorkshopManager struct { + Client dynamic.Interface +} + +func NewWorkshopManager(client dynamic.Interface) *WorkshopManager { + return &WorkshopManager{Client: client} +} + +type DeployWorkshopConfig struct { + Workshop *unstructured.Unstructured + Alias string + Portal string + Capacity uint + Reserved uint + Initial uint + Expires string + Overtime string + Deadline string + Orphaned string + Overdue string + Refresh string + Registry string + Environ []string + Labels []string + OpenBrowser bool +} + +type UpdateWorkshopResourceConfig struct { + Workshop *unstructured.Unstructured +} + +type WorkshopDefinitionConfig struct { + Name string + Path string + Portal string + WorkshopFile string + WorkshopVersion string + DataValueFlags yttcmd.DataValuesFlags +} + +type ListWorkshopResourcesConfig struct { + Portal string +} + +type DeleteWorkshopResourceConfig struct { + Name string + Alias string + Portal string +} + +var TrainingPortalResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"} +var WorkshopResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshops"} + + +func (m *WorkshopManager) DeployWorkshopResource(o *DeployWorkshopConfig) error { + trainingPortalClient := m.Client.Resource(TrainingPortalResource) + + trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) + + var trainingPortalExists = true + + if k8serrors.IsNotFound(err) { + trainingPortalExists = false + + trainingPortal = &unstructured.Unstructured{} + + trainingPortal.SetUnstructuredContent(map[string]interface{}{ + "apiVersion": "training.educates.dev/v1beta1", + "kind": "TrainingPortal", + "metadata": map[string]interface{}{ + "name": o.Portal, + }, + "spec": map[string]interface{}{ + "portal": map[string]interface{}{ + "password": utils.RandomPassword(12), + "registration": struct { + Type string `json:"type"` + }{ + Type: "anonymous", + }, + "updates": struct { + Workshop bool `json:"workshop"` + }{ + Workshop: true, + }, + "sessions": struct { + Maximum int64 `json:"maximum"` + }{ + Maximum: 5, + }, + "workshop": map[string]interface{}{ + "defaults": struct { + Reserved int `json:"reserved"` + }{ + Reserved: 0, + }, + }, + }, + "workshops": []interface{}{}, + }, + }) + } + + workshops, _, err := unstructured.NestedSlice(trainingPortal.Object, "spec", "workshops") + + if err != nil { + return errors.Wrap(err, "unable to retrieve workshops from training portal") + } + + var updatedWorkshops []interface{} + + if o.Expires == "" { + duration, propertyExists, err := unstructured.NestedString(o.Workshop.Object, "spec", "duration") + + if err != nil || !propertyExists { + o.Expires = "60m" + } else { + o.Expires = duration + } + } + + type EnvironDetails struct { + Name string `json:"name"` + Value string `json:"value"` + } + + var environVariables []EnvironDetails + + for _, value := range o.Environ { + parts := strings.SplitN(value, "=", 2) + environVariables = append(environVariables, EnvironDetails{ + Name: parts[0], + Value: parts[1], + }) + } + + type LabelDetails struct { + Name string `json:"name"` + Value string `json:"value"` + } + + var labelOverrides []LabelDetails + + for _, value := range o.Labels { + parts := strings.SplitN(value, "=", 2) + labelOverrides = append(labelOverrides, LabelDetails{ + Name: parts[0], + Value: parts[1], + }) + } + + var foundWorkshop = false + + for _, item := range workshops { + object := item.(map[string]interface{}) + + updatedWorkshops = append(updatedWorkshops, object) + + if object["name"] == o.Workshop.GetName() && object["alias"] == o.Alias { + foundWorkshop = true + + object["reserved"] = int64(o.Reserved) + object["initial"] = int64(o.Initial) + + if o.Capacity != 0 { + object["capacity"] = int64(o.Capacity) + } else { + delete(object, "capacity") + } + + if o.Expires != "" { + object["expires"] = o.Expires + } else { + delete(object, "expires") + } + + if o.Overtime != "" { + object["overtime"] = o.Overtime + } else { + delete(object, "overtime") + } + + if o.Deadline != "" { + object["deadline"] = o.Deadline + } else { + delete(object, "deadline") + } + + if o.Orphaned != "" { + object["orphaned"] = o.Orphaned + } else { + delete(object, "orphaned") + } + + if o.Overdue != "" { + object["overdue"] = o.Overdue + } else { + delete(object, "overdue") + } + + if o.Refresh != "" { + object["refresh"] = o.Refresh + } else { + delete(object, "refresh") + } + + var tmpEnvironVariables []interface{} + + for _, item := range environVariables { + tmpEnvironVariables = append(tmpEnvironVariables, map[string]interface{}{ + "name": item.Name, + "value": item.Value, + }) + } + + object["env"] = tmpEnvironVariables + + var tmpLabelOverrides []interface{} + + for _, item := range labelOverrides { + tmpLabelOverrides = append(tmpLabelOverrides, map[string]interface{}{ + "name": item.Name, + "value": item.Value, + }) + } + + object["labels"] = tmpLabelOverrides + } + } + + type RegistryDetails struct { + Host string `json:"host"` + Namespace string `json:"namespace,omitempty"` + } + + type WorkshopDetails struct { + Name string `json:"name"` + Alias string `json:"alias"` + Capacity int64 `json:"capacity,omitempty"` + Initial int64 `json:"initial"` + Reserved int64 `json:"reserved"` + Expires string `json:"expires,omitempty"` + Overtime string `json:"overtime,omitempty"` + Deadline string `json:"deadline,omitempty"` + Orphaned string `json:"orphaned,omitempty"` + Overdue string `json:"overdue,omitempty"` + Refresh string `json:"refresh,omitempty"` + Registry *RegistryDetails `json:"registry,omitempty"` + Environ []EnvironDetails `json:"env"` + Labels []LabelDetails `json:"labels"` + } + + if !foundWorkshop { + workshopDetails := WorkshopDetails{ + Name: o.Workshop.GetName(), + Alias: o.Alias, + Initial: int64(o.Initial), + Reserved: int64(o.Reserved), + Expires: o.Expires, + Overtime: o.Overtime, + Deadline: o.Deadline, + Orphaned: o.Orphaned, + Overdue: o.Overdue, + Refresh: o.Refresh, + Environ: environVariables, + Labels: labelOverrides, + } + + if o.Capacity != 0 { + workshopDetails.Capacity = int64(o.Capacity) + } + + if o.Registry != "" { + parts := strings.SplitN(o.Registry, "/", 2) + + host := parts[0] + var namespace string + + if len(parts) > 1 { + namespace = parts[1] + } + + registryDetails := RegistryDetails{ + Host: host, + Namespace: namespace, + } + + workshopDetails.Registry = ®istryDetails + } + + var workshopDetailsMap map[string]interface{} + + data, _ := json.Marshal(workshopDetails) + json.Unmarshal(data, &workshopDetailsMap) + + updatedWorkshops = append(updatedWorkshops, workshopDetailsMap) + } + + unstructured.SetNestedSlice(trainingPortal.Object, updatedWorkshops, "spec", "workshops") + + if trainingPortalExists { + fmt.Printf("Updating existing training portal %q.\n", trainingPortal.GetName()) + _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: constants.DefaultPortalName}) + } else { + fmt.Printf("Creating new training portal %q.\n", trainingPortal.GetName()) + _, err = trainingPortalClient.Create(context.TODO(), trainingPortal, metav1.CreateOptions{FieldManager: constants.DefaultPortalName}) + } + + if err != nil { + return errors.Wrapf(err, "unable to update training portal %q in cluster", o.Portal) + } + + fmt.Print("Workshop added to training portal.\n") + + if o.OpenBrowser { + // Need to refetch training portal because if was just created the URL + // for access may not have been set yet. + + var targetUrl string + + fmt.Print("Checking training portal is ready.\n") + + spinner := func(iteration int) string { + spinners := `|/-\` + return string(spinners[iteration%len(spinners)]) + } + + for i := 1; i < 60; i++ { + fmt.Printf("\r[%s] Waiting...", spinner(i)) + + time.Sleep(time.Second) + + trainingPortal, err = trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) + + if err != nil { + return errors.Wrapf(err, "unable to fetch training portal %q in cluster", o.Portal) + } + + var found bool + + targetUrl, found, _ = unstructured.NestedString(trainingPortal.Object, "status", "educates", "url") + + if found { + break + } + } + + rootUrl := targetUrl + + password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") + + if password != "" { + values := url.Values{} + values.Add("redirect_url", "/") + values.Add("password", password) + + targetUrl = fmt.Sprintf("%s/workshops/access/?%s", targetUrl, values.Encode()) + } + + for i := 1; i < 300; i++ { + fmt.Printf("\r[%s] Waiting...", spinner(i)) + + time.Sleep(time.Second) + + resp, err := http.Get(rootUrl) + + if err != nil || resp.StatusCode == 503 { + continue + } + + defer resp.Body.Close() + io.ReadAll(resp.Body) + + break + } + + fmt.Print("\r \r") + + fmt.Printf("Opening training portal %s.\n", targetUrl) + + return utils.OpenBrowser(targetUrl) + } + + return nil +} + + +func (m *WorkshopManager) UpdateWorkshopResource(o *UpdateWorkshopResourceConfig) error { + workshopsClient := m.Client.Resource(WorkshopResource) + + // _, err := workshopsClient.Apply(context.TODO(), workshop.GetName(), workshop, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}) + + workshopBytes, err := runtime.Encode(unstructured.UnstructuredJSONScheme, o.Workshop) + + if err != nil { + return errors.Wrapf(err, "unable to update workshop definition in cluster %q", o.Workshop.GetName()) + } + + _, err = workshopsClient.Patch(context.TODO(), o.Workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}.ToPatchOptions()) + + if err != nil { + return errors.Wrapf(err, "unable to update workshop definition in cluster %q", o.Workshop.GetName()) + } + + return nil +} + +func (m *WorkshopManager) ListWorkshopResources(o *ListWorkshopResourcesConfig) (string, error) { + trainingPortalClient := m.Client.Resource(TrainingPortalResource) + + trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) + + if k8serrors.IsNotFound(err) { + return "No workshops found.", nil + } + + sessionsMaximum, sessionsMaximumExists, _ := unstructured.NestedInt64(trainingPortal.Object, "spec", "portal", "sessions", "maximum") + + workshops, _, err := unstructured.NestedSlice(trainingPortal.Object, "spec", "workshops") + + if err != nil { + return "", errors.Wrap(err, "unable to retrieve workshops from training portal") + } + + if len(workshops) == 0 { + return "No workshops found.", nil + } + + var buf strings.Builder + w := new(tabwriter.Writer) + w.Init(&buf, 8, 8, 3, ' ', 0) + + fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "ALIAS", "CAPACITY", "SOURCE") + + workshopsClient := m.Client.Resource(WorkshopResource) + + for _, item := range workshops { + object := item.(map[string]interface{}) + name := object["name"].(string) + + var capacityField string + + capacity, capacityExists := object["capacity"] + + if capacityExists { + capacityField = fmt.Sprintf("%d", capacity) + } else if sessionsMaximumExists { + capacityField = fmt.Sprintf("%d", sessionsMaximum) + } + + workshop, err := workshopsClient.Get(context.TODO(), name, metav1.GetOptions{}) + + source := "" + + if err == nil { + annotations := workshop.GetAnnotations() + + if val, ok := annotations["training.educates.dev/source"]; ok { + source = val + } + } + + fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", object["name"], object["alias"], capacityField, source) + } + + w.Flush() + + return buf.String(), nil +} + +func (m *WorkshopManager) DeleteWorkshopResource(o *DeleteWorkshopResourceConfig) error { + trainingPortalClient := m.Client.Resource(TrainingPortalResource) + + trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) + + if k8serrors.IsNotFound(err) { + return nil + } + + workshops, _, err := unstructured.NestedSlice(trainingPortal.Object, "spec", "workshops") + + if err != nil { + return errors.Wrap(err, "unable to retrieve workshops from training portal") + } + + var found = false + + var updatedWorkshops []interface{} + + for _, item := range workshops { + object := item.(map[string]interface{}) + + if object["name"] != o.Name || object["alias"] != o.Alias { + updatedWorkshops = append(updatedWorkshops, object) + } else { + found = true + } + } + + if !found { + return nil + } + + unstructured.SetNestedSlice(trainingPortal.Object, updatedWorkshops, "spec", "workshops") + + _, err = trainingPortalClient.Update(context.TODO(), trainingPortal, metav1.UpdateOptions{FieldManager: constants.DefaultPortalName}) + + if err != nil { + return errors.Wrapf(err, "unable to update training portal %q in cluster", o.Portal) + } + + return nil +} + +func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstructured, error) { + // Parse the workshop location so we can determine if it is a local file + // or accessible using a HTTP/HTTPS URL. + + var urlInfo *url.URL + var err error + + if urlInfo, err = url.Parse(o.Path); err != nil { + return nil, errors.Wrap(err, "unable to parse workshop location") + } + + // Check if file system path first (not HTTP/HTTPS) and if so normalize + // the path. If it the path references a directory, then extend the path + // so we look for the workshop file within that directory. + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + o.Path = filepath.Clean(o.Path) + + if o.Path, err = filepath.Abs(o.Path); err != nil { + return nil, errors.Wrap(err, "couldn't convert workshop location to absolute path") + } + + if !filepath.IsAbs(o.WorkshopFile) { + fileInfo, err := os.Stat(o.Path) + + if err != nil { + return nil, errors.Wrap(err, "couldn't test if workshop location is a directory") + } + + if fileInfo.IsDir() { + o.Path = filepath.Join(o.Path, o.WorkshopFile) + } + } else { + o.Path = o.WorkshopFile + } + } + + // Read in the workshop definition as raw data ready for parsing. + + var workshopData []byte + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + if workshopData, err = os.ReadFile(o.Path); err != nil { + return nil, errors.Wrap(err, "couldn't read workshop definition data file") + } + } else { + var client http.Client + + resp, err := client.Get(o.Path) + + if err != nil { + return nil, errors.Wrap(err, "couldn't download workshop definition from host") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, errors.New("failed to download workshop definition from host") + } + + workshopData, err = io.ReadAll(resp.Body) + + if err != nil { + return nil, errors.Wrap(err, "failed to read workshop definition from host") + } + } + + // Process the workshop YAML data in case it contains ytt templating. + + if workshopData, err = workshops.ProcessWorkshopDefinition(workshopData, o.DataValueFlags); err != nil { + return nil, errors.Wrap(err, "unable to process workshop definition as template") + } + + // Parse the workshop definition. + + decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() + + workshop := &unstructured.Unstructured{} + + err = runtime.DecodeInto(decoder, workshopData, workshop) + + if err != nil { + return nil, errors.Wrap(err, "couldn't parse workshop definition") + } + + // Verify the type of resource definition. + + if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { + return nil, errors.New("invalid type for workshop definition") + } + + // Add annotations recording details about original workshop location. + + annotations := workshop.GetAnnotations() + + if annotations == nil { + annotations = map[string]string{} + } + + annotations["training.educates.dev/workshop"] = workshop.GetName() + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + annotations["training.educates.dev/source"] = fmt.Sprintf("file://%s", o.Path) + } else { + annotations["training.educates.dev/source"] = o.Path + } + + workshop.SetAnnotations(annotations) + + // Update the name for the workshop such that it incorporates a hash of + // the workshop location. + + if o.Name == "" { + o.Name = generateWorkshopName(o.Path, workshop, o.Portal) + } + + workshop.SetName(o.Name) + + // Insert workshop version property if not specified. + + _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if !found && o.WorkshopVersion != "latest" { + unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") + } + + // Remove the publish section as will not be accurate after publising. + + unstructured.RemoveNestedField(workshop.Object, "spec", "publish") + + return workshop, nil +} + + +func generateWorkshopName(path string, workshop *unstructured.Unstructured, portal string) string { + name := workshop.GetName() + + h := sha1.New() + + io.WriteString(h, path) + + hv := fmt.Sprintf("%x", h.Sum(nil)) + + name = fmt.Sprintf("%s--%s-%s", portal, name, hv[len(hv)-7:]) + + return name +} diff --git a/client-programs/pkg/portal/manager.go b/client-programs/pkg/portal/manager.go index 286c9f524..4412f9b1f 100644 --- a/client-programs/pkg/portal/manager.go +++ b/client-programs/pkg/portal/manager.go @@ -8,6 +8,7 @@ import ( "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -71,7 +72,7 @@ func (m *PortalManager) CreateTrainingPortal(cfg *TrainingPortalCreateConfig) er trainingPortal := &unstructured.Unstructured{} if !cfg.IsPasswordSet { - cfg.Password = RandomPassword(12) + cfg.Password = utils.RandomPassword(12) } type LabelDetails struct { diff --git a/client-programs/pkg/renderer/hugo.go b/client-programs/pkg/renderer/hugo.go index ce2bea5e5..5c96fd038 100644 --- a/client-programs/pkg/renderer/hugo.go +++ b/client-programs/pkg/renderer/hugo.go @@ -24,6 +24,10 @@ import ( "time" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" +<<<<<<< HEAD +======= + "github.com/educates/educates-training-platform/client-programs/pkg/utils" +>>>>>>> 91b3f12b (Refactored cluster_workshop_xx commands) "github.com/pkg/errors" "gopkg.in/yaml.v2" k8serrors "k8s.io/apimachinery/pkg/api/errors" @@ -61,7 +65,7 @@ func copyFiles(fs embed.FS, src string, dst string) error { return errors.Wrapf(err, "unable to open source file %q", srcFile) } - err = ioutil.WriteFile(dstFile, input, 0644) + err = os.WriteFile(dstFile, input, 0644) if err != nil { return errors.Wrapf(err, "unable to create source file %q", dstFile) @@ -104,6 +108,20 @@ type WorkshopConfig struct { Params []WorkshopParamsConfig `yaml:"params,omitempty"` } +type RunHugoServerConfig struct { + WorkshopRoot string + Kubeconfig string + Context string + Workshop string + Portal string + LocalHost string + LocalPort int + HugoPort int + Token string + Files bool + CleanupFunc ServerCleanupFunc +} + var workshopSessionResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopsessions"} func fetchWorkshopSessionAndValidate(kubeconfig string, kubeContext string, workshop string, portal string, session string) (string, string, error) { @@ -180,7 +198,7 @@ func fetchSessionVariables(sessionURL string, password string) (map[string]strin return params, errors.New("unexpected failure querying workshop session config") } - resBody, err := ioutil.ReadAll(res.Body) + resBody, err := io.ReadAll(res.Body) if err != nil { return params, errors.Wrapf(err, "failed to read workshop session config") @@ -403,8 +421,13 @@ func startHugoServer(workshopDir string, tempDir string, port int, sessionURL st return nil } +<<<<<<< HEAD func PopulateTemporaryDirectory() (string, error) { tempDir, err := ioutil.TempDir("", "educates") +======= +func populateTemporaryDirectory() (string, error) { + tempDir, err := os.MkdirTemp("", "educates") +>>>>>>> 91b3f12b (Refactored cluster_workshop_xx commands) if err != nil { return "", errors.Wrapf(err, "unable to create hugo files directory") @@ -421,11 +444,11 @@ func PopulateTemporaryDirectory() (string, error) { type ServerCleanupFunc func() -func RunHugoServer(workshopRoot string, kubeconfig string, context string, workshop string, portal string, localHost string, localPort int, hugoPort int, token string, files bool, cleanupFunc ServerCleanupFunc) error { +func RunHugoServer(o *RunHugoServerConfig) error { var err error var tempDir string - workshopDir := filepath.Join(workshopRoot, "workshop") + workshopDir := filepath.Join(o.WorkshopRoot, "workshop") // First create directory to hold unpacked files for Hugo to use. @@ -446,8 +469,8 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works os.RemoveAll(tempDir) - if cleanupFunc != nil { - cleanupFunc() + if o.CleanupFunc != nil { + o.CleanupFunc() } os.Exit(1) @@ -463,10 +486,10 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works proxyHandler := func(w http.ResponseWriter, r *http.Request) { // If an access token is provided validate it. - if token != "" { + if o.Token != "" { accessToken := r.Header.Get("X-Access-Token") - if accessToken != token { + if accessToken != o.Token { w.WriteHeader(http.StatusForbidden) w.Write([]byte("403 - Invalid access token")) @@ -492,7 +515,7 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works if sessionName != lastSessionName { // First validate that can access workshop session. - sessionURL, password, err := fetchWorkshopSessionAndValidate(kubeconfig, context, workshop, portal, sessionName) + sessionURL, password, err := fetchWorkshopSessionAndValidate(o.Kubeconfig, o.Context, o.Workshop, o.Portal, sessionName) if err != nil { fmt.Println("Error validating workshop session:", err) @@ -541,7 +564,7 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works if !hugoStarted { fmt.Println("Starting Hugo server") - go startHugoServer(workshopDir, tempDir, hugoPort, sessionURL) + go startHugoServer(workshopDir, tempDir, o.HugoPort, sessionURL) time.Sleep(4 * time.Second) @@ -557,7 +580,7 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works serverDetailsLock.Unlock() - hugoServerURL := fmt.Sprintf("http://localhost:%d", hugoPort) + hugoServerURL := fmt.Sprintf("http://localhost:%d", o.HugoPort) target, _ := url.Parse(hugoServerURL) proxy := httputil.NewSingleHostReverseProxy(target) @@ -572,10 +595,10 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works http.HandleFunc("/workshop/content/", proxyHandler) filesHandler := func(w http.ResponseWriter, r *http.Request) { - if token != "" { + if o.Token != "" { accessToken := r.URL.Query().Get("token") - if accessToken != token { + if accessToken != o.Token { w.WriteHeader(http.StatusForbidden) w.Write([]byte("403 - Invalid access token")) @@ -587,7 +610,7 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works tw := tar.NewWriter(w) - filepath.Walk(workshopRoot, func(file string, fi os.FileInfo, err error) error { + filepath.Walk(o.WorkshopRoot, func(file string, fi os.FileInfo, err error) error { if err != nil { return err } @@ -597,7 +620,7 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works return err } - header.Name, err = filepath.Rel(workshopRoot, filepath.ToSlash(file)) + header.Name, err = filepath.Rel(o.WorkshopRoot, filepath.ToSlash(file)) if err != nil { return err @@ -625,11 +648,11 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works }) } - if files { + if o.Files { http.HandleFunc("/workshop/files.tar", filesHandler) } - portString := fmt.Sprintf("%s:%d", localHost, localPort) + portString := fmt.Sprintf("%s:%d", o.LocalHost, o.LocalPort) fmt.Println("Proxy listening on:", portString) @@ -638,6 +661,7 @@ func RunHugoServer(workshopRoot string, kubeconfig string, context string, works return nil } +<<<<<<< HEAD func RenderHugoStaticHTML(workshopDir string, tempDir string) error { commandArgs := []string{ "build", @@ -695,4 +719,49 @@ func RenderHugoStaticHTML(workshopDir string, tempDir string) error { } return nil +======= +func GenerateAccessToken(refresh bool) (string, error) { + configFileDir := utils.GetEducatesHomeDir() + accessTokenFile := path.Join(configFileDir, "live-reload-token.dat") + + err := os.MkdirAll(configFileDir, os.ModePerm) + + if err != nil { + return "", errors.Wrapf(err, "unable to create config directory") + } + + var accessToken string + + if refresh { + accessToken = utils.RandomPassword(32) + + err := os.WriteFile(accessTokenFile, []byte(accessToken), 0644) + + if err != nil { + return "", err + } + } else { + if _, err := os.Stat(accessTokenFile); err == nil { + accessTokenBytes, err := ioutil.ReadFile(accessTokenFile) + + if err != nil { + return "", err + } + + accessToken = string(accessTokenBytes) + } else if os.IsNotExist(err) { + accessToken = utils.RandomPassword(32) + + err = os.WriteFile(accessTokenFile, []byte(accessToken), 0644) + + if err != nil { + return "", err + } + } else { + return "", err + } + } + + return accessToken, nil +>>>>>>> 91b3f12b (Refactored cluster_workshop_xx commands) } diff --git a/client-programs/pkg/portal/password.go b/client-programs/pkg/utils/password.go similarity index 96% rename from client-programs/pkg/portal/password.go rename to client-programs/pkg/utils/password.go index 601322c8c..a6e18605b 100644 --- a/client-programs/pkg/portal/password.go +++ b/client-programs/pkg/utils/password.go @@ -1,4 +1,4 @@ -package portal +package utils import ( "hash/maphash" From 58babafe71e5e68a191dfa11697b81681dd203a9 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Tue, 20 Jan 2026 14:03:52 +0100 Subject: [PATCH 10/41] Refactoring moves and cluster_workshop_xx command --- .../pkg/cmd/cluster_portal_create_cmd.go | 2 +- .../pkg/cmd/cluster_portal_delete_cmd.go | 2 +- .../pkg/cmd/cluster_portal_list_cmd.go | 2 +- .../pkg/cmd/cluster_portal_open_cmd.go | 2 +- .../pkg/cmd/cluster_portal_password_cmd.go | 2 +- .../pkg/cmd/cluster_workshop_request_cmd.go | 5 +- .../pkg/cmd/workshop_export_cmd.go | 2 +- client-programs/pkg/cmd/workshop_new_cmd.go | 47 +--- .../pkg/cmd/workshop_publish_cmd.go | 2 +- .../pkg/diagnostics/diagnostics.go | 21 +- client-programs/pkg/diagnostics/fetcher.go | 15 +- .../pkg/docker/workshop_manager.go | 12 +- .../{ => educates/local}/workshops/export.go | 0 .../{ => educates/local}/workshops/manager.go | 17 +- .../pkg/{ => educates/local}/workshops/new.go | 0 .../{ => educates/local}/workshops/publish.go | 0 .../resources}/portal/manager.go | 14 +- .../educates/resources/sessions/manager.go | 9 +- .../educates/resources/workshops/manager.go | 59 ++++- .../restapi}/catalog.go | 8 +- .../restapi}/types.go | 2 +- .../pkg/educates/types/educates.go | 14 ++ client-programs/pkg/renderer/hugo.go | 83 ++----- client-programs/pkg/workshops/definition.go | 233 ------------------ 24 files changed, 147 insertions(+), 406 deletions(-) rename client-programs/pkg/{ => educates/local}/workshops/export.go (100%) rename client-programs/pkg/{ => educates/local}/workshops/manager.go (93%) rename client-programs/pkg/{ => educates/local}/workshops/new.go (100%) rename client-programs/pkg/{ => educates/local}/workshops/publish.go (100%) rename client-programs/pkg/{ => educates/resources}/portal/manager.go (93%) rename client-programs/pkg/{educatesrestapi => educates/restapi}/catalog.go (98%) rename client-programs/pkg/{educatesrestapi => educates/restapi}/types.go (98%) create mode 100644 client-programs/pkg/educates/types/educates.go delete mode 100644 client-programs/pkg/workshops/definition.go diff --git a/client-programs/pkg/cmd/cluster_portal_create_cmd.go b/client-programs/pkg/cmd/cluster_portal_create_cmd.go index 584195632..61c54f468 100644 --- a/client-programs/pkg/cmd/cluster_portal_create_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_create_cmd.go @@ -3,7 +3,7 @@ package cmd import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/portal" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" "github.com/pkg/errors" "github.com/spf13/cobra" ) diff --git a/client-programs/pkg/cmd/cluster_portal_delete_cmd.go b/client-programs/pkg/cmd/cluster_portal_delete_cmd.go index a0f95b80c..24f503dcb 100644 --- a/client-programs/pkg/cmd/cluster_portal_delete_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_delete_cmd.go @@ -3,7 +3,7 @@ package cmd import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/portal" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" "github.com/pkg/errors" "github.com/spf13/cobra" ) diff --git a/client-programs/pkg/cmd/cluster_portal_list_cmd.go b/client-programs/pkg/cmd/cluster_portal_list_cmd.go index bd6319a93..94a4e139d 100644 --- a/client-programs/pkg/cmd/cluster_portal_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_list_cmd.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - "github.com/educates/educates-training-platform/client-programs/pkg/portal" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" "github.com/pkg/errors" "github.com/spf13/cobra" ) diff --git a/client-programs/pkg/cmd/cluster_portal_open_cmd.go b/client-programs/pkg/cmd/cluster_portal_open_cmd.go index 6464a838c..baf5cee04 100644 --- a/client-programs/pkg/cmd/cluster_portal_open_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_open_cmd.go @@ -8,7 +8,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/portal" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" diff --git a/client-programs/pkg/cmd/cluster_portal_password_cmd.go b/client-programs/pkg/cmd/cluster_portal_password_cmd.go index 2523a7db5..10f51f1b5 100644 --- a/client-programs/pkg/cmd/cluster_portal_password_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_password_cmd.go @@ -5,7 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/portal" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" "github.com/pkg/errors" "github.com/spf13/cobra" ) diff --git a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go index 360db579f..9e1127147 100644 --- a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go @@ -10,7 +10,8 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" - "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + educatesrestapi "github.com/educates/educates-training-platform/client-programs/pkg/educates/restapi" + educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/joho/godotenv" "github.com/pkg/errors" @@ -323,7 +324,7 @@ func ensurePortalHasWorkshop(clusterConfig *cluster.ClusterConfig, name string, return errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := client.Resource(workshops.TrainingPortalResource) + trainingPortalClient := client.Resource(educatesTypes.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), portal, metav1.GetOptions{}) diff --git a/client-programs/pkg/cmd/workshop_export_cmd.go b/client-programs/pkg/cmd/workshop_export_cmd.go index aa905892c..d6ca0e5f9 100644 --- a/client-programs/pkg/cmd/workshop_export_cmd.go +++ b/client-programs/pkg/cmd/workshop_export_cmd.go @@ -5,8 +5,8 @@ import ( "path/filepath" yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/local/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/educates/educates-training-platform/client-programs/pkg/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" ) diff --git a/client-programs/pkg/cmd/workshop_new_cmd.go b/client-programs/pkg/cmd/workshop_new_cmd.go index 0feb8a651..99f7d6f4a 100644 --- a/client-programs/pkg/cmd/workshop_new_cmd.go +++ b/client-programs/pkg/cmd/workshop_new_cmd.go @@ -1,14 +1,9 @@ package cmd import ( - "os" - "path/filepath" - "regexp" - - "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/templates" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/local/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) @@ -46,38 +41,14 @@ func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { Use: "new PATH", Short: "Create workshop files from template", RunE: func(_ *cobra.Command, args []string) error { - var err error - - directory := filepath.Clean(args[0]) - - if directory, err = filepath.Abs(directory); err != nil { - return errors.Wrapf(err, "could not convert path name %q to absolute path", directory) - } - - if _, err = os.Stat(directory); err == nil { - return errors.Errorf("target path name %q already exists", directory) - } - - name := o.Name - - if name == "" { - name = filepath.Base(directory) - } - - if match, _ := regexp.MatchString("^[a-z0-9-]+$", name); !match { - return errors.Errorf("invalid workshop name %q", name) - } - - parameters := map[string]string{ - "WorkshopName": name, - "WorkshopTitle": o.Title, - "WorkshopDescription": o.Description, - "WorkshopImage": o.Image, - } - - template := templates.InternalTemplate(o.Template) - - return template.Apply(directory, parameters) + manager := workshops.NewWorkshopManager() + return manager.NewWorkshop(args[0], &workshops.WorkshopNewConfig{ + Template: o.Template, + Name: o.Name, + Title: o.Title, + Description: o.Description, + Image: o.Image, + }) }, Example: workshopNewExample, } diff --git a/client-programs/pkg/cmd/workshop_publish_cmd.go b/client-programs/pkg/cmd/workshop_publish_cmd.go index f5a1ff014..85cdd78d9 100644 --- a/client-programs/pkg/cmd/workshop_publish_cmd.go +++ b/client-programs/pkg/cmd/workshop_publish_cmd.go @@ -7,8 +7,8 @@ import ( imgpkgcmd "carvel.dev/imgpkg/pkg/imgpkg/cmd" yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/educates/local/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/educates/educates-training-platform/client-programs/pkg/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" ) diff --git a/client-programs/pkg/diagnostics/diagnostics.go b/client-programs/pkg/diagnostics/diagnostics.go index 3b875d667..4bfb39d2f 100644 --- a/client-programs/pkg/diagnostics/diagnostics.go +++ b/client-programs/pkg/diagnostics/diagnostics.go @@ -8,6 +8,7 @@ import ( "strings" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" ) type ClusterDiagnostics struct { @@ -35,22 +36,22 @@ func (c *ClusterDiagnostics) Run() error { clusterDiagnosticsFetcher := &ClusterDiagnosticsFetcher{c.clusterConfig, tempDir, c.verbose} // Fetch all Educates training related resources - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(trainingportalResource, "training-portals.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.TrainingPortalResource, "training-portals.yaml"); err != nil { fmt.Println("Error fetching training portals: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(workshopResource, "workshops.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.WorkshopResource, "workshops.yaml"); err != nil { fmt.Println("Error fetching workshops: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(workshopsessionsResource, "workshop-sessions.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.WorkshopsessionsResource, "workshop-sessions.yaml"); err != nil { fmt.Println("Error fetching workshop sessions: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(workshoprequestsResource, "workshop-requests.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.WorkshoprequestsResource, "workshop-requests.yaml"); err != nil { fmt.Println("Error fetching workshop requests: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(workshopenvironmentsResource, "workshop-environments.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.WorkshopenvironmentsResource, "workshop-environments.yaml"); err != nil { fmt.Println("Error fetching workshop environments: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(workshopallocationsResource, "workshop-allocations.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.WorkshopallocationsResource, "workshop-allocations.yaml"); err != nil { fmt.Println("Error fetching workshop allocations: ", err) } @@ -60,16 +61,16 @@ func (c *ClusterDiagnostics) Run() error { } // Fetch all Educates secrets related resources - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(secretcopierResource, "secret-copiers.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.SecretcopierResource, "secret-copiers.yaml"); err != nil { fmt.Println("Error fetching secret copiers: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(secretinjectorsResource, "secret-injectors.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.SecretinjectorsResource, "secret-injectors.yaml"); err != nil { fmt.Println("Error fetching secret injectors: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(secretexportersResource, "secret-exporters.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.SecretexportersResource, "secret-exporters.yaml"); err != nil { fmt.Println("Error fetching secret injectors: ", err) } - if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(secretimportersResource, "secret-importers.yaml"); err != nil { + if err = clusterDiagnosticsFetcher.fetchDynamicallyResources(educatesTypes.SecretimportersResource, "secret-importers.yaml"); err != nil { fmt.Println("Error fetching secret injectors: ", err) } diff --git a/client-programs/pkg/diagnostics/fetcher.go b/client-programs/pkg/diagnostics/fetcher.go index 9e000e865..abf74483a 100644 --- a/client-programs/pkg/diagnostics/fetcher.go +++ b/client-programs/pkg/diagnostics/fetcher.go @@ -10,7 +10,8 @@ import ( "strings" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + educatesrestapi "github.com/educates/educates-training-platform/client-programs/pkg/educates/restapi" + educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/pkg/errors" v1 "k8s.io/api/core/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -19,16 +20,6 @@ import ( "k8s.io/cli-runtime/pkg/printers" ) -var workshopResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshops"} -var trainingportalResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"} -var workshopsessionsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopsessions"} -var workshoprequestsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshoprequests"} -var workshopenvironmentsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopenvironments"} -var workshopallocationsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopallocations"} -var secretcopierResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretcopiers"} -var secretinjectorsResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretinjectors"} -var secretexportersResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretexporters"} -var secretimportersResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretimporters"} type ClusterDiagnosticsFetcher struct { clusterConfig *cluster.ClusterConfig @@ -216,7 +207,7 @@ func (c *ClusterDiagnosticsFetcher) fetchTrainingPortalDetailsAtRest(fileNamePat if err != nil { return err } - dynClient := dynamicClient.Resource(trainingportalResource) + dynClient := dynamicClient.Resource(educatesTypes.TrainingPortalResource) trainingPortals, err := dynClient.List(context.TODO(), metav1.ListOptions{}) if err != nil { return err diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index 2847a0ac7..63f8cdb6d 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -24,8 +24,8 @@ import ( "github.com/docker/docker/api/types/container" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + eduk8sWorkshops "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/educates/educates-training-platform/client-programs/pkg/workshops" "github.com/pkg/errors" "go.yaml.in/yaml/v2" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -260,7 +260,15 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s var workshop *unstructured.Unstructured - if workshop, err = workshops.LoadWorkshopDefinition("", o.Path, constants.DefaultPortalName, o.WorkshopFile, o.WorkshopVersion, o.DataValuesFlags); err != nil { + definitionConfig := eduk8sWorkshops.WorkshopDefinitionConfig{ + Name: "", + Path: o.Path, + Portal: constants.DefaultPortalName, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValueFlags: o.DataValuesFlags, + } + if workshop, err = eduk8sWorkshops.LoadWorkshopDefinition(&definitionConfig); err != nil { return "", err } diff --git a/client-programs/pkg/workshops/export.go b/client-programs/pkg/educates/local/workshops/export.go similarity index 100% rename from client-programs/pkg/workshops/export.go rename to client-programs/pkg/educates/local/workshops/export.go diff --git a/client-programs/pkg/workshops/manager.go b/client-programs/pkg/educates/local/workshops/manager.go similarity index 93% rename from client-programs/pkg/workshops/manager.go rename to client-programs/pkg/educates/local/workshops/manager.go index bafacb7eb..fcdc00e36 100644 --- a/client-programs/pkg/workshops/manager.go +++ b/client-programs/pkg/educates/local/workshops/manager.go @@ -13,6 +13,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/cppforlife/go-cli-ui/ui" + eduk8sWorkshops "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/templates" "github.com/pkg/errors" "go.yaml.in/yaml/v2" @@ -56,6 +57,18 @@ func NewWorkshopManager() *WorkshopManager { } func (m *WorkshopManager) NewWorkshop(directory string,o *WorkshopNewConfig) error { + var err error + + directory = filepath.Clean(directory) + + if directory, err = filepath.Abs(directory); err != nil { + return errors.Wrapf(err, "could not convert path name %q to absolute path", directory) + } + + if _, err = os.Stat(directory); err == nil { + return errors.Errorf("target path name %q already exists", directory) + } + name := o.Name if name == "" { @@ -97,7 +110,7 @@ func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) error // Process the workshop YAML data for ytt templating and data variables. - if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { + if workshopFileData, err = eduk8sWorkshops.ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { return errors.Wrap(err, "unable to process workshop definition as template") } @@ -171,7 +184,7 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err // Process the workshop YAML data for ytt templating and data variables. - if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { + if workshopFileData, err = eduk8sWorkshops.ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { return errors.Wrap(err, "unable to process workshop definition as template") } diff --git a/client-programs/pkg/workshops/new.go b/client-programs/pkg/educates/local/workshops/new.go similarity index 100% rename from client-programs/pkg/workshops/new.go rename to client-programs/pkg/educates/local/workshops/new.go diff --git a/client-programs/pkg/workshops/publish.go b/client-programs/pkg/educates/local/workshops/publish.go similarity index 100% rename from client-programs/pkg/workshops/publish.go rename to client-programs/pkg/educates/local/workshops/publish.go diff --git a/client-programs/pkg/portal/manager.go b/client-programs/pkg/educates/resources/portal/manager.go similarity index 93% rename from client-programs/pkg/portal/manager.go rename to client-programs/pkg/educates/resources/portal/manager.go index 4412f9b1f..a9fefb85f 100644 --- a/client-programs/pkg/portal/manager.go +++ b/client-programs/pkg/educates/resources/portal/manager.go @@ -8,17 +8,15 @@ import ( "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/dynamic" ) -var TrainingPortalResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"} - type PortalManager struct { client dynamic.Interface } @@ -57,7 +55,7 @@ func NewPortalManager(client dynamic.Interface) *PortalManager { } func (m *PortalManager) CreateTrainingPortal(cfg *TrainingPortalCreateConfig) error { - trainingPortalClient := m.client.Resource(TrainingPortalResource) + trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) _, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) @@ -176,7 +174,7 @@ func (m *PortalManager) CreateTrainingPortal(cfg *TrainingPortalCreateConfig) er } func (m *PortalManager) DeleteTrainingPortal(cfg *TrainingPortalDeleteConfig) error { - trainingPortalClient := m.client.Resource(TrainingPortalResource) + trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) _, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) @@ -195,7 +193,7 @@ func (m *PortalManager) DeleteTrainingPortal(cfg *TrainingPortalDeleteConfig) er func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (string, error) { - trainingPortalClient := m.client.Resource(TrainingPortalResource) + trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) trainingPortals, err := trainingPortalClient.List(context.TODO(), metav1.ListOptions{}) @@ -238,7 +236,7 @@ func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (stri } func (m *PortalManager) GetTrainingPortalBrowserUrl(cfg *TrainingPortalOpenConfig) (string, error) { - trainingPortalClient := m.client.Resource(TrainingPortalResource) + trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) @@ -270,7 +268,7 @@ func (m *PortalManager) GetTrainingPortalBrowserUrl(cfg *TrainingPortalOpenConfi } func (m *PortalManager) GetTrainingPortalPassword(cfg *TrainingPortalPasswordConfig) (string, error) { - trainingPortalClient := m.client.Resource(TrainingPortalResource) + trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) diff --git a/client-programs/pkg/educates/resources/sessions/manager.go b/client-programs/pkg/educates/resources/sessions/manager.go index c4280979a..0a3d46c4b 100644 --- a/client-programs/pkg/educates/resources/sessions/manager.go +++ b/client-programs/pkg/educates/resources/sessions/manager.go @@ -7,18 +7,15 @@ import ( "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - "github.com/educates/educates-training-platform/client-programs/pkg/educatesrestapi" + educatesrestapi "github.com/educates/educates-training-platform/client-programs/pkg/educates/restapi" + educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/pkg/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/client-go/dynamic" ) -var workshopSessionResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopsessions"} - - type SessionManager struct { } @@ -52,7 +49,7 @@ type TerminateSessionConfig struct { } func (m *SessionManager) ListSessions(cfg ListSessionsConfig) (string, error) { - workshopSessionClient := cfg.Client.Resource(workshopSessionResource) + workshopSessionClient := cfg.Client.Resource(educatesTypes.WorkshopsessionsResource) workshopSessions, err := workshopSessionClient.List(context.TODO(), metav1.ListOptions{}) diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops/manager.go index 62c65282f..e0834315c 100644 --- a/client-programs/pkg/educates/resources/workshops/manager.go +++ b/client-programs/pkg/educates/resources/workshops/manager.go @@ -1,11 +1,13 @@ package workshops import ( + "bytes" "context" "crypto/sha1" "encoding/json" "fmt" "io" + "log" "net/http" "net/url" "os" @@ -15,15 +17,19 @@ import ( "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" + yttcmdui "carvel.dev/ytt/pkg/cmd/ui" + "carvel.dev/ytt/pkg/files" + "carvel.dev/ytt/pkg/yamlmeta" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/educates/educates-training-platform/client-programs/pkg/workshops" + + // "github.com/educates/educates-training-platform/client-programs/pkg/workshops" "github.com/pkg/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/dynamic" @@ -80,12 +86,8 @@ type DeleteWorkshopResourceConfig struct { Portal string } -var TrainingPortalResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"} -var WorkshopResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshops"} - - func (m *WorkshopManager) DeployWorkshopResource(o *DeployWorkshopConfig) error { - trainingPortalClient := m.Client.Resource(TrainingPortalResource) + trainingPortalClient := m.Client.Resource(educatesTypes.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) @@ -418,7 +420,7 @@ func (m *WorkshopManager) DeployWorkshopResource(o *DeployWorkshopConfig) error func (m *WorkshopManager) UpdateWorkshopResource(o *UpdateWorkshopResourceConfig) error { - workshopsClient := m.Client.Resource(WorkshopResource) + workshopsClient := m.Client.Resource(educatesTypes.WorkshopResource) // _, err := workshopsClient.Apply(context.TODO(), workshop.GetName(), workshop, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}) @@ -438,7 +440,7 @@ func (m *WorkshopManager) UpdateWorkshopResource(o *UpdateWorkshopResourceConfig } func (m *WorkshopManager) ListWorkshopResources(o *ListWorkshopResourcesConfig) (string, error) { - trainingPortalClient := m.Client.Resource(TrainingPortalResource) + trainingPortalClient := m.Client.Resource(educatesTypes.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) @@ -464,7 +466,7 @@ func (m *WorkshopManager) ListWorkshopResources(o *ListWorkshopResourcesConfig) fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "ALIAS", "CAPACITY", "SOURCE") - workshopsClient := m.Client.Resource(WorkshopResource) + workshopsClient := m.Client.Resource(educatesTypes.WorkshopResource) for _, item := range workshops { object := item.(map[string]interface{}) @@ -501,7 +503,7 @@ func (m *WorkshopManager) ListWorkshopResources(o *ListWorkshopResourcesConfig) } func (m *WorkshopManager) DeleteWorkshopResource(o *DeleteWorkshopResourceConfig) error { - trainingPortalClient := m.Client.Resource(TrainingPortalResource) + trainingPortalClient := m.Client.Resource(educatesTypes.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) @@ -613,7 +615,7 @@ func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstruct // Process the workshop YAML data in case it contains ytt templating. - if workshopData, err = workshops.ProcessWorkshopDefinition(workshopData, o.DataValueFlags); err != nil { + if workshopData, err = ProcessWorkshopDefinition(workshopData, o.DataValueFlags); err != nil { return nil, errors.Wrap(err, "unable to process workshop definition as template") } @@ -677,6 +679,39 @@ func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstruct return workshop, nil } +func ProcessWorkshopDefinition(yamlData []byte, dataValueFlags yttcmd.DataValuesFlags) ([]byte, error) { + templatingOptions := yttcmd.NewOptions() + + templatingOptions.IgnoreUnknownComments = true + + templatingOptions.DataValuesFlags = dataValueFlags + + var filesToProcess []*files.File + + mainInputFile := files.MustNewFileFromSource(files.NewBytesSource("workshop.yaml", yamlData)) + + filesToProcess = append(filesToProcess, mainInputFile) + + logUI := yttcmdui.NewCustomWriterTTY(false, log.Writer(), log.Writer()) + + output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logUI) + + if output.Err != nil { + return []byte{}, fmt.Errorf("execution of ytt failed: %s", output.Err) + } + + if len(output.DocSet.Items) == 0 { + return []byte{}, nil + } + + var buf bytes.Buffer + + yamlmeta.NewYAMLPrinter(&buf).Print(output.DocSet.Items[0]) + + return buf.Bytes(), nil +} + + func generateWorkshopName(path string, workshop *unstructured.Unstructured, portal string) string { name := workshop.GetName() diff --git a/client-programs/pkg/educatesrestapi/catalog.go b/client-programs/pkg/educates/restapi/catalog.go similarity index 98% rename from client-programs/pkg/educatesrestapi/catalog.go rename to client-programs/pkg/educates/restapi/catalog.go index 745b3bd85..23664cf58 100644 --- a/client-programs/pkg/educatesrestapi/catalog.go +++ b/client-programs/pkg/educates/restapi/catalog.go @@ -1,4 +1,4 @@ -package educatesrestapi +package restapi import ( "bytes" @@ -12,12 +12,12 @@ import ( "strings" "time" - "github.com/pkg/errors" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" + "github.com/pkg/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime/schema" ) type AuthDetails struct { @@ -300,7 +300,7 @@ func (c *WorkshopsCatalogRequester) Login() (func(), error) { return nil, errors.Wrapf(err, "unable to create Kubernetes client") } - trainingPortalClient := dynamicClient.Resource(schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"}) + trainingPortalClient := dynamicClient.Resource(educatesTypes.TrainingPortalResource) var trainingPortal *unstructured.Unstructured var executions = 0 diff --git a/client-programs/pkg/educatesrestapi/types.go b/client-programs/pkg/educates/restapi/types.go similarity index 98% rename from client-programs/pkg/educatesrestapi/types.go rename to client-programs/pkg/educates/restapi/types.go index 1f7fb4cac..44c5c9f62 100644 --- a/client-programs/pkg/educatesrestapi/types.go +++ b/client-programs/pkg/educates/restapi/types.go @@ -1,4 +1,4 @@ -package educatesrestapi +package restapi // WorkshopCatalog // -------------------------------------------- diff --git a/client-programs/pkg/educates/types/educates.go b/client-programs/pkg/educates/types/educates.go new file mode 100644 index 000000000..88272d1fc --- /dev/null +++ b/client-programs/pkg/educates/types/educates.go @@ -0,0 +1,14 @@ +package types + +import "k8s.io/apimachinery/pkg/runtime/schema" + +var TrainingPortalResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "trainingportals"} +var WorkshopResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshops"} +var WorkshopsessionsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopsessions"} +var WorkshoprequestsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshoprequests"} +var WorkshopenvironmentsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopenvironments"} +var WorkshopallocationsResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopallocations"} +var SecretcopierResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretcopiers"} +var SecretinjectorsResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretinjectors"} +var SecretexportersResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretexporters"} +var SecretimportersResource = schema.GroupVersionResource{Group: "secrets.educates.dev", Version: "v1beta1", Resource: "secretimporters"} diff --git a/client-programs/pkg/renderer/hugo.go b/client-programs/pkg/renderer/hugo.go index 5c96fd038..9fc6e2975 100644 --- a/client-programs/pkg/renderer/hugo.go +++ b/client-programs/pkg/renderer/hugo.go @@ -24,10 +24,6 @@ import ( "time" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" -<<<<<<< HEAD -======= - "github.com/educates/educates-training-platform/client-programs/pkg/utils" ->>>>>>> 91b3f12b (Refactored cluster_workshop_xx commands) "github.com/pkg/errors" "gopkg.in/yaml.v2" k8serrors "k8s.io/apimachinery/pkg/api/errors" @@ -110,16 +106,16 @@ type WorkshopConfig struct { type RunHugoServerConfig struct { WorkshopRoot string - Kubeconfig string - Context string - Workshop string - Portal string - LocalHost string - LocalPort int - HugoPort int - Token string - Files bool - CleanupFunc ServerCleanupFunc + Kubeconfig string + Context string + Workshop string + Portal string + LocalHost string + LocalPort int + HugoPort int + Token string + Files bool + CleanupFunc ServerCleanupFunc } var workshopSessionResource = schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshopsessions"} @@ -295,10 +291,10 @@ func GenerateHugoConfiguration(workshopDir string, target string, params map[str } type HugoConfig struct { - BaseURL string `yaml:"baseURL"` - Params map[string]interface{} `yaml:"params"` - OutputFormats map[string]OutputFormatConfig `yaml:"outputFormats"` - Outputs map[string][]string `yaml:"outputs"` + BaseURL string `yaml:"baseURL"` + Params map[string]interface{} `yaml:"params"` + OutputFormats map[string]OutputFormatConfig `yaml:"outputFormats"` + Outputs map[string][]string `yaml:"outputs"` } config := HugoConfig{Params: make(map[string]interface{})} @@ -421,13 +417,8 @@ func startHugoServer(workshopDir string, tempDir string, port int, sessionURL st return nil } -<<<<<<< HEAD func PopulateTemporaryDirectory() (string, error) { tempDir, err := ioutil.TempDir("", "educates") -======= -func populateTemporaryDirectory() (string, error) { - tempDir, err := os.MkdirTemp("", "educates") ->>>>>>> 91b3f12b (Refactored cluster_workshop_xx commands) if err != nil { return "", errors.Wrapf(err, "unable to create hugo files directory") @@ -661,7 +652,6 @@ func RunHugoServer(o *RunHugoServerConfig) error { return nil } -<<<<<<< HEAD func RenderHugoStaticHTML(workshopDir string, tempDir string) error { commandArgs := []string{ "build", @@ -719,49 +709,4 @@ func RenderHugoStaticHTML(workshopDir string, tempDir string) error { } return nil -======= -func GenerateAccessToken(refresh bool) (string, error) { - configFileDir := utils.GetEducatesHomeDir() - accessTokenFile := path.Join(configFileDir, "live-reload-token.dat") - - err := os.MkdirAll(configFileDir, os.ModePerm) - - if err != nil { - return "", errors.Wrapf(err, "unable to create config directory") - } - - var accessToken string - - if refresh { - accessToken = utils.RandomPassword(32) - - err := os.WriteFile(accessTokenFile, []byte(accessToken), 0644) - - if err != nil { - return "", err - } - } else { - if _, err := os.Stat(accessTokenFile); err == nil { - accessTokenBytes, err := ioutil.ReadFile(accessTokenFile) - - if err != nil { - return "", err - } - - accessToken = string(accessTokenBytes) - } else if os.IsNotExist(err) { - accessToken = utils.RandomPassword(32) - - err = os.WriteFile(accessTokenFile, []byte(accessToken), 0644) - - if err != nil { - return "", err - } - } else { - return "", err - } - } - - return accessToken, nil ->>>>>>> 91b3f12b (Refactored cluster_workshop_xx commands) } diff --git a/client-programs/pkg/workshops/definition.go b/client-programs/pkg/workshops/definition.go deleted file mode 100644 index ab667774e..000000000 --- a/client-programs/pkg/workshops/definition.go +++ /dev/null @@ -1,233 +0,0 @@ -package workshops - -import ( - "bytes" - "context" - "crypto/sha1" - "fmt" - "io" - "log" - "net/http" - "net/url" - "os" - "path/filepath" - - yttcmd "carvel.dev/ytt/pkg/cmd/template" - yttcmdui "carvel.dev/ytt/pkg/cmd/ui" - "carvel.dev/ytt/pkg/files" - "carvel.dev/ytt/pkg/yamlmeta" - "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/pkg/errors" - "k8s.io/apimachinery/pkg/apis/meta/internalversion/scheme" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/schema" - "k8s.io/apimachinery/pkg/runtime/serializer" - "k8s.io/apimachinery/pkg/types" - "k8s.io/client-go/dynamic" -) - - -func LoadWorkshopDefinition(name string, path string, portal string, workshopFile string, workshopVersion string, dataValueFlags yttcmd.DataValuesFlags) (*unstructured.Unstructured, error) { - // Parse the workshop location so we can determine if it is a local file - // or accessible using a HTTP/HTTPS URL. - - var urlInfo *url.URL - var err error - - if urlInfo, err = url.Parse(path); err != nil { - return nil, errors.Wrap(err, "unable to parse workshop location") - } - - // Check if file system path first (not HTTP/HTTPS) and if so normalize - // the path. If it the path references a directory, then extend the path - // so we look for the workshop file within that directory. - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - path = filepath.Clean(path) - - if path, err = filepath.Abs(path); err != nil { - return nil, errors.Wrap(err, "couldn't convert workshop location to absolute path") - } - - if !filepath.IsAbs(workshopFile) { - fileInfo, err := os.Stat(path) - - if err != nil { - return nil, errors.Wrap(err, "couldn't test if workshop location is a directory") - } - - if fileInfo.IsDir() { - path = filepath.Join(path, workshopFile) - } - } else { - path = workshopFile - } - } - - // Read in the workshop definition as raw data ready for parsing. - - var workshopData []byte - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - if workshopData, err = os.ReadFile(path); err != nil { - return nil, errors.Wrap(err, "couldn't read workshop definition data file") - } - } else { - var client http.Client - - resp, err := client.Get(path) - - if err != nil { - return nil, errors.Wrap(err, "couldn't download workshop definition from host") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - return nil, errors.New("failed to download workshop definition from host") - } - - workshopData, err = io.ReadAll(resp.Body) - - if err != nil { - return nil, errors.Wrap(err, "failed to read workshop definition from host") - } - } - - // Process the workshop YAML data in case it contains ytt templating. - - if workshopData, err = ProcessWorkshopDefinition(workshopData, dataValueFlags); err != nil { - return nil, errors.Wrap(err, "unable to process workshop definition as template") - } - - // Parse the workshop definition. - - decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() - - workshop := &unstructured.Unstructured{} - - err = runtime.DecodeInto(decoder, workshopData, workshop) - - if err != nil { - return nil, errors.Wrap(err, "couldn't parse workshop definition") - } - - // Verify the type of resource definition. - - if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { - return nil, errors.New("invalid type for workshop definition") - } - - // Add annotations recording details about original workshop location. - - annotations := workshop.GetAnnotations() - - if annotations == nil { - annotations = map[string]string{} - } - - annotations["training.educates.dev/workshop"] = workshop.GetName() - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - annotations["training.educates.dev/source"] = fmt.Sprintf("file://%s", path) - } else { - annotations["training.educates.dev/source"] = path - } - - workshop.SetAnnotations(annotations) - - // Update the name for the workshop such that it incorporates a hash of - // the workshop location. - - if name == "" { - name = GenerateWorkshopName(path, workshop, portal) - } - - workshop.SetName(name) - - // Insert workshop version property if not specified. - - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found && workshopVersion != "latest" { - unstructured.SetNestedField(workshop.Object, workshopVersion, "spec", "version") - } - - // Remove the publish section as will not be accurate after publising. - - unstructured.RemoveNestedField(workshop.Object, "spec", "publish") - - return workshop, nil -} - -func GenerateWorkshopName(path string, workshop *unstructured.Unstructured, portal string) string { - name := workshop.GetName() - - h := sha1.New() - - io.WriteString(h, path) - - hv := fmt.Sprintf("%x", h.Sum(nil)) - - name = fmt.Sprintf("%s--%s-%s", portal, name, hv[len(hv)-7:]) - - return name -} - -func GetWorkshopResource() schema.GroupVersionResource { - return schema.GroupVersionResource{Group: "training.educates.dev", Version: "v1beta1", Resource: "workshops"} -} - -func UpdateWorkshopResource(client dynamic.Interface, workshop *unstructured.Unstructured) error { - workshopsClient := client.Resource(GetWorkshopResource()) - - // _, err := workshopsClient.Apply(context.TODO(), workshop.GetName(), workshop, metav1.ApplyOptions{FieldManager: workshops.DefaultPortalName, Force: true}) - - workshopBytes, err := runtime.Encode(unstructured.UnstructuredJSONScheme, workshop) - - if err != nil { - return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) - } - - _, err = workshopsClient.Patch(context.TODO(), workshop.GetName(), types.ApplyPatchType, workshopBytes, metav1.ApplyOptions{FieldManager: constants.DefaultPortalName, Force: true}.ToPatchOptions()) - - if err != nil { - return errors.Wrapf(err, "unable to update workshop definition in cluster %q", workshop.GetName()) - } - - return nil -} - -func ProcessWorkshopDefinition(yamlData []byte, dataValueFlags yttcmd.DataValuesFlags) ([]byte, error) { - templatingOptions := yttcmd.NewOptions() - - templatingOptions.IgnoreUnknownComments = true - - templatingOptions.DataValuesFlags = dataValueFlags - - var filesToProcess []*files.File - - mainInputFile := files.MustNewFileFromSource(files.NewBytesSource("workshop.yaml", yamlData)) - - filesToProcess = append(filesToProcess, mainInputFile) - - logUI := yttcmdui.NewCustomWriterTTY(false, log.Writer(), log.Writer()) - - output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logUI) - - if output.Err != nil { - return []byte{}, fmt.Errorf("execution of ytt failed: %s", output.Err) - } - - if len(output.DocSet.Items) == 0 { - return []byte{}, nil - } - - var buf bytes.Buffer - - yamlmeta.NewYAMLPrinter(&buf).Print(output.DocSet.Items[0]) - - return buf.Bytes(), nil -} From 7fc9148186afd5811a8098e3a44596a384dca588 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Tue, 20 Jan 2026 17:52:58 +0100 Subject: [PATCH 11/41] Refactored docker_xxx commands --- client-programs/go.mod | 36 +- client-programs/go.sum | 225 +++-- .../pkg/cmd/docker_extension_backend_cmd.go | 235 +---- .../pkg/cmd/docker_workshop_delete_cmd.go | 91 +- .../pkg/cmd/docker_workshop_deploy_cmd.go | 815 +----------------- .../pkg/cmd/docker_workshop_list_cmd.go | 128 +-- .../pkg/cmd/docker_workshop_logs.go | 23 +- .../pkg/cmd/docker_workshop_open_cmd.go | 46 +- .../pkg/docker/extension_backend.go | 103 +++ .../pkg/docker/extension_backend_api.go | 145 ++++ .../pkg/docker/workshop_manager.go | 4 +- .../educates/resources/workshops/manager.go | 1 - go.work.sum | 503 ++--------- 13 files changed, 585 insertions(+), 1770 deletions(-) create mode 100644 client-programs/pkg/docker/extension_backend.go create mode 100644 client-programs/pkg/docker/extension_backend_api.go diff --git a/client-programs/go.mod b/client-programs/go.mod index 53989a69b..4ca5ba457 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -2,12 +2,6 @@ module github.com/educates/educates-training-platform/client-programs go 1.25.0 -// replace cloud.google.com/go/compute/metadata => cloud.google.com/go/compute/metadata v0.2.3 - -// replace github.com/google/cel-go => github.com/google/cel-go v0.22.1 - -// replace github.com/docker/docker => github.com/docker/docker v27.5.1+incompatible - require ( carvel.dev/imgpkg v0.46.1 carvel.dev/kapp v0.64.2 @@ -17,9 +11,7 @@ require ( github.com/adrg/xdg v0.5.3 github.com/compose-spec/compose-go/v2 v2.10.0 github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad - // Every time we update below version, we need to update Docker Desktop client to match the required version - // or else downgrade CLI support via export DOCKER_API_VERSION=1.xx - // Version compabitility: https://github.com/moby/moby/blob/master/docs/api/version-history.md + // Docker packages must be kept aligned with docker/compose v5.0.1 requirements. This still relies on docker/docker v28.5.2 github.com/docker/docker v28.5.2+incompatible github.com/docker/go-connections v0.6.0 github.com/go-logr/logr v1.4.3 @@ -34,7 +26,6 @@ require ( k8s.io/apimachinery v0.34.2 k8s.io/cli-runtime v0.34.2 k8s.io/client-go v0.34.2 - k8s.io/controller-manager v0.33.5 // indirect k8s.io/klog/v2 v2.130.1 k8s.io/kubectl v0.34.2 sigs.k8s.io/controller-runtime v0.22.4 @@ -43,14 +34,15 @@ require ( ) require ( - github.com/docker/cli v29.0.0+incompatible + // Keep docker/cli aligned with docker/docker - see comment above + github.com/docker/cli v28.5.2+incompatible + // This still relies on docker/docker v28.5.2 so we need to align docker/docker and docker/cli to the same version github.com/docker/compose/v5 v5.0.1 go.yaml.in/yaml/v2 v2.4.3 ) require ( al.essio.dev/pkg/shellescape v1.6.0 // indirect - cel.dev/expr v0.25.1 // indirect cloud.google.com/go/compute/metadata v0.9.0 // indirect github.com/Azure/azure-sdk-for-go v68.0.0+incompatible // indirect github.com/Azure/go-ansiterm v0.0.0-20250102033503-faa5f7b0171c // indirect @@ -68,7 +60,6 @@ require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect - github.com/antlr4-go/antlr/v4 v4.13.1 // indirect github.com/aws/aws-sdk-go-v2 v1.39.6 // indirect github.com/aws/aws-sdk-go-v2/config v1.31.19 // indirect github.com/aws/aws-sdk-go-v2/credentials v1.18.23 // indirect @@ -86,7 +77,6 @@ require ( github.com/aws/smithy-go v1.23.2 // indirect github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/blang/semver/v4 v4.0.0 // indirect github.com/bmatcuk/doublestar v1.3.4 // indirect github.com/buger/goterm v1.0.4 // indirect github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 // indirect @@ -115,8 +105,11 @@ require ( github.com/distribution/reference v0.6.0 // indirect github.com/docker/buildx v0.30.1 // indirect github.com/docker/cli v29.2.0+incompatible // indirect + github.com/docker/cli-docs-tool v0.11.0 // indirect github.com/docker/distribution v2.8.3+incompatible // indirect github.com/docker/docker-credential-helpers v0.9.4 // indirect + github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c // indirect + github.com/docker/go-metrics v0.0.1 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 // indirect github.com/emicklei/go-restful/v3 v3.13.0 // indirect @@ -147,7 +140,6 @@ require ( github.com/golang-jwt/jwt/v4 v4.5.2 // indirect github.com/golang-jwt/jwt/v5 v5.3.0 // indirect github.com/golang/protobuf v1.5.4 // indirect - github.com/google/cel-go v0.26.1 // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect github.com/google/go-containerregistry v0.20.6 // indirect @@ -155,6 +147,7 @@ require ( github.com/google/go-querystring v1.1.0 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.6.0 // indirect + github.com/gorilla/mux v1.8.1 // indirect github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect @@ -173,14 +166,13 @@ require ( github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.19 // indirect github.com/mattn/go-shellwords v1.0.12 // indirect + github.com/miekg/pkcs11 v1.1.1 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect github.com/moby/buildkit v0.26.3 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect github.com/moby/go-archive v0.1.0 // indirect github.com/moby/locker v1.0.1 // indirect - github.com/moby/moby/api v1.52.0 // indirect - github.com/moby/moby/client v0.2.1 // indirect github.com/moby/patternmatcher v0.6.0 // indirect github.com/moby/spdystream v0.5.0 // indirect github.com/moby/sys/atomicwriter v0.1.0 // indirect @@ -198,7 +190,6 @@ require ( github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect - github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231 // indirect github.com/otiai10/copy v1.14.1 // indirect github.com/otiai10/mint v1.6.3 // indirect github.com/pelletier/go-toml v1.9.5 // indirect @@ -215,8 +206,8 @@ require ( github.com/sirupsen/logrus v1.9.3 // indirect github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect github.com/spf13/pflag v1.0.10 // indirect - github.com/stoewer/go-strcase v1.3.1 // indirect github.com/stretchr/testify v1.11.1 // indirect + github.com/theupdateframework/notary v0.7.0 // indirect github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 // indirect github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 // indirect github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f // indirect @@ -284,16 +275,9 @@ require ( gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect - gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.34.1 // indirect - k8s.io/apiserver v0.34.1 // indirect - k8s.io/component-base v0.34.2 // indirect - k8s.io/component-helpers v0.34.2 // indirect k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect - k8s.io/kubernetes v1.34.2 // indirect k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect - sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect diff --git a/client-programs/go.sum b/client-programs/go.sum index e9dbfe98c..95330ccd6 100644 --- a/client-programs/go.sum +++ b/client-programs/go.sum @@ -10,8 +10,6 @@ carvel.dev/vendir v0.44.0 h1:vfq5KgGbbLlxHrE0prY7gZgiEQpjwo4lS2akCaVkcxA= carvel.dev/vendir v0.44.0/go.mod h1:gslrJ0HPiy8gtJYsQZHzIVuGfOG0nfDKDupEm7uBWVQ= carvel.dev/ytt v0.52.1 h1:I9rCwIunzClas2MH5nVGtCK5ujZdiGaqAfGol/wiRKQ= carvel.dev/ytt v0.52.1/go.mod h1:lzkMguCvSVvxT2My9RG3gRMgTws97NpNXufKZ6iiP5E= -cel.dev/expr v0.25.1 h1:1KrZg61W6TWSxuNZ37Xy49ps13NUovb66QLprthtwi4= -cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= @@ -46,6 +44,7 @@ github.com/Azure/go-autorest/logger v0.2.2/go.mod h1:I5fg9K52o+iuydlWfa9T5K6WFos github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/Azure/go-autorest/tracing v0.6.1 h1:YUMSrC/CeD1ZnnXcNYU4a/fzsO35u2Fsful9L/2nyR0= github.com/Azure/go-autorest/tracing v0.6.1/go.mod h1:/3EgjbsjraOqiicERAeu3m7/z0x1TzjQGAwDrJrXGkc= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e h1:rd4bOvKmDIx0WeTv9Qz+hghsgyjikFiPrseXHlKepO0= @@ -56,16 +55,18 @@ github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERo github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.14.0-rc.1 h1:qAPXKwGOkVn8LlqgBN8GS0bxZ83hOJpcjxzmlQKxKsQ= github.com/Microsoft/hcsshim v0.14.0-rc.1/go.mod h1:hTKFGbnDtQb1wHiOWv4v0eN+7boSWAHyK/tNAaYZL0c= +github.com/Shopify/logrus-bugsnag v0.0.0-20170309145241-6dbc35f2c30d h1:hi6J4K6DKrR4/ljxn6SF6nURyu785wKMuQcjt7H3VCQ= +github.com/Shopify/logrus-bugsnag v0.0.0-20170309145241-6dbc35f2c30d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/adrg/xdg v0.5.3 h1:xRnxJXne7+oWDatRhR1JLnvuccuIeCoBu2rtuLqQB78= github.com/adrg/xdg v0.5.3/go.mod h1:nlTsY+NNiCBGCK2tpm09vRqfVzrc2fLmXGpBLF0zlTQ= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 h1:aM1rlcoLz8y5B2r4tTLMiVTrMtpfY0O8EScKJxaSaEc= github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092/go.mod h1:rYqSE9HbjzpHTI74vwPvae4ZVYZd1lue2ta6xHPdblA= -github.com/antlr4-go/antlr/v4 v4.13.1 h1:SqQKkuVZ+zWkMMNkjy5FZe5mr5WURWnlpmOuzYWrPrQ= -github.com/antlr4-go/antlr/v4 v4.13.1/go.mod h1:GKmUxMtwp6ZgGwZSva4eWPC5mS6vUAmOABFgjdkM7Nw= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= github.com/aws/aws-sdk-go-v2 v1.39.6 h1:2JrPCVgWJm7bm83BDwY5z8ietmeJUbh3O2ACnn+Xsqk= @@ -100,14 +101,24 @@ github.com/aws/smithy-go v1.23.2 h1:Crv0eatJUQhaManss33hS5r40CG3ZFH+21XSkqMrIUM= github.com/aws/smithy-go v1.23.2/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 h1:GOPttfOAf5qAgx7r6b+zCWZrvCsfKffkL4H6mSYx1kA= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0/go.mod h1:a2HN6+p7k0JLDO8514sMr0l4cnrR52z4sWoZ/Uc82ho= +github.com/beorn7/perks v0.0.0-20150223135152-b965b613227f/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/bitly/go-hostpool v0.1.0/go.mod h1:4gOCgp6+NZnVqlKyZ/iBZFTAJKembaVENUpMkpg42fw= +github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0= github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= +github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/buger/goterm v1.0.4 h1:Z9YvGmOih81P0FbVtEYTFF6YsSgxSUKEhf/f9bTMXbY= github.com/buger/goterm v1.0.4/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE= +github.com/bugsnag/bugsnag-go v1.0.5-0.20150529004307-13fd6b8acda0 h1:s7+5BfS4WFJoVF9pnB8kBk03S7pZXRdKamnV0FOl5Sc= +github.com/bugsnag/bugsnag-go v1.0.5-0.20150529004307-13fd6b8acda0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= +github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= +github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 h1:F4rZiMGZyC66j9VB7doVOE4tFHF1yNEihQlOuht4jmM= github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4/go.mod h1:4cFTBLAr/U11ykiEEQMccu4uJ1i0GS+atJmeETHCFtI= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= @@ -125,6 +136,8 @@ github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfa github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= +github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004 h1:lkAMpLVBDaj17e85keuznYcH5rqI438v41pKcBl4ZxQ= +github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= github.com/compose-spec/compose-go/v2 v2.10.0 h1:K2C5LQ3KXvkYpy5N/SG6kIYB90iiAirA9btoTh/gB0Y= @@ -159,10 +172,6 @@ github.com/containerd/ttrpc v1.2.7 h1:qIrroQvuOL9HQ1X6KHe2ohc7p+HP/0VE6XPU7elJRq github.com/containerd/ttrpc v1.2.7/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= -github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= -github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= -github.com/coreos/go-systemd/v22 v22.6.0 h1:aGVa/v8B7hpb0TKl0MWoAavPDmHvobFe5R5zn0bCJWo= -github.com/coreos/go-systemd/v22 v22.6.0/go.mod h1:iG+pp635Fo7ZmV/j14KUcmEyWF+0X7Lua8rrTWzYgWU= github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef h1:de10GNLe45JTMghl2qf9WH17H/BjGShK41X3vKAsPJA= github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef/go.mod h1:2w+qxVu2KSGW78Ex/XaIqfh/OvBgjEsmN53S4T8vEyA= github.com/cppforlife/color v1.9.1-0.20200716202919-6706ac40b835 h1:mYQweUIBD+TBRjIeQnJmXr0GSVMpI6O0takyb/aaOgo= @@ -172,12 +181,14 @@ github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad/go.mod h1:xZh github.com/cppforlife/go-patch v0.0.0-20240118020416-2147782e467b h1:+8LQctLhaj+63L/37l8IK/5Q3odN6RzWlglonUwrKok= github.com/cppforlife/go-patch v0.0.0-20240118020416-2147782e467b/go.mod h1:67a7aIi94FHDZdoeGSJRRFDp66l9MhaAG1yGxpUoFD8= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= @@ -190,22 +201,31 @@ github.com/docker/cli v29.2.0+incompatible h1:9oBd9+YM7rxjZLfyMGxjraKBKE4/nVyvVf github.com/docker/cli v29.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/compose/v5 v5.0.1 h1:5yCjDJbwUqcuI+6WNFHNWz2/3vyBDsNnfe8LlFjyxEc= github.com/docker/compose/v5 v5.0.1/go.mod h1:vuKBtnRuvsVIlYHzdPkF3SToljqR+pFJseO5lDBuF18= +github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/docker-credential-helpers v0.9.4 h1:76ItO69/AP/V4yT9V4uuuItG0B1N8hvt0T0c0NN/DzI= github.com/docker/docker-credential-helpers v0.9.4/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= +github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0= +github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= +github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= +github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= +github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= +github.com/dvsekhvalnov/jose2go v0.0.0-20170216131308-f21a8cedbbae/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 h1:XBBHcIb256gUJtLmY22n99HaZTz+r2Z51xUPi01m3wg= github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203/go.mod h1:E1jcSv8FaEny+OP/5k9UxZVw9YFWGj7eI4KR/iOBqCg= github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= @@ -214,12 +234,16 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsevents v0.2.0 h1:BRlvlqjvNTfogHfeBOFvSC9N0Ddy+wzQCQukyoD7o/c= github.com/fsnotify/fsevents v0.2.0/go.mod h1:B3eEk39i4hz8y1zaWS/wPrAP4O6wkIl7HQwKBr1qH/w= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= @@ -257,12 +281,17 @@ github.com/go-openapi/swag/yamlutils v0.25.1 h1:mry5ez8joJwzvMbaTGLhw8pXUnhDK91o github.com/go-openapi/swag/yamlutils v0.25.1/go.mod h1:cm9ywbzncy3y6uPm/97ysW8+wZ09qsks+9RS8fLWKqg= github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls= github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= +github.com/go-sql-driver/mysql v1.3.0 h1:pgwjLi/dvffoP9aabwkT3AKpXQM93QARkjFhDDqC1UE= +github.com/go-sql-driver/mysql v1.3.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gofrs/flock v0.13.0 h1:95JolYOvGMqeH31+FC7D2+uULf6mG61mEZ/A8dRYMzw= github.com/gofrs/flock v0.13.0/go.mod h1:jxeyy9R1auM5S6JYDBhDt+E2TCo7DkratH4Pgi8P+Z0= +github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= @@ -272,16 +301,20 @@ github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXe github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= +github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/btree v1.1.3 h1:CVpQJjYgC4VbzxeGVHfvZrv1ctoYCAI8vbl07Fcxlyg= -github.com/google/btree v1.1.3/go.mod h1:qOPhT0dTNdNzV6Z/lhRX0YXUafgPLFUh+gZMl761Gm4= -github.com/google/cel-go v0.26.1 h1:iPbVVEdkhTX++hpe3lzSk7D3G3QSYqLGoHOcEio+UXQ= -github.com/google/cel-go v0.26.1/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/certificate-transparency-go v1.0.10-0.20180222191210-5ab67e519c93 h1:jc2UWq7CbdszqeH6qu1ougXMIUBfSy8Pbh/anURYbGI= +github.com/google/certificate-transparency-go v1.0.10-0.20180222191210-5ab67e519c93/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= @@ -300,14 +333,15 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaU github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0 h1:Ovs26xHkKqVztRpIrF/92BcuyuQ/YW4NSIpoGtfXNho= -github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= +github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= +github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -315,18 +349,31 @@ github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+l github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU= github.com/in-toto/in-toto-golang v0.9.0/go.mod h1:xsBVrVsHNsB61++S6Dy2vWosKhuA3lUTQd+eF9HdeMo= +github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf h1:FtEj8sfIcaaBfAKrE1Cwb61YDtYq9JxChK1c7AKce7s= github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf/go.mod h1:yrqSXGoD/4EKfF26AOGzscPOgTTJcyAwM2rpixWT+t4= +github.com/jinzhu/gorm v0.0.0-20170222002820-5409931a1bb8 h1:CZkYfurY6KGhVtlalI4QwQ6T0Cu6iuY3e0x5RLu96WE= +github.com/jinzhu/gorm v0.0.0-20170222002820-5409931a1bb8/go.mod h1:Vla75njaFJ8clLU1W44h34PjIkijhjHIYnZxMqCdxqo= +github.com/jinzhu/inflection v0.0.0-20170102125226-1c35d901db3d h1:jRQLvyVGL+iVtDElaEIDdKwpPqUIZJfzkNLV34htpEc= +github.com/jinzhu/inflection v0.0.0-20170102125226-1c35d901db3d/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= +github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/jonboulle/clockwork v0.5.0 h1:Hyh9A8u51kptdkR+cqRpT1EebBwTn1oK9YfGYbdFz6I= github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= +github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/k14s/difflib v0.0.0-20240118055029-596a7a5585c3 h1:q2ikACDbDDbyUcN9JkDcNMGhIx1EBRkctAsPZMr35qM= github.com/k14s/difflib v0.0.0-20240118055029-596a7a5585c3/go.mod h1:B0xN2MiNBGWOWi9CcfAo9LBI8IU4J1utlbOIJCsmKr4= github.com/k14s/starlark-go v0.0.0-20200720175618-3a5c849cc368 h1:4bcRTTSx+LKSxMWibIwzHnDNmaN1x52oEpvnjCy+8vk= @@ -337,16 +384,26 @@ github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co= github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0= +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.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= +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/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/lib/pq v0.0.0-20150723085316-0dad96c0b94f/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= +github.com/magiconair/properties v1.5.3/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= +github.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM= +github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= @@ -358,12 +415,20 @@ github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byF github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= +github.com/mattn/go-sqlite3 v1.6.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= +github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= +github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= +github.com/mitchellh/mapstructure v0.0.0-20150613213606-2caf8efc9366/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= +github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= +github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/buildkit v0.26.3 h1:D+ruZVAk/3ipRq5XRxBH9/DIFpRjSlTtMbghT5gQP9g= github.com/moby/buildkit v0.26.3/go.mod h1:4T4wJzQS4kYWIfFRjsbJry4QoxDBjK+UGOEOs1izL7w= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= @@ -372,10 +437,6 @@ github.com/moby/go-archive v0.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ github.com/moby/go-archive v0.1.0/go.mod h1:G9B+YoujNohJmrIYFBpSd54GTUB4lt9S+xVQvsJyFuo= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/moby/api v1.52.0 h1:00BtlJY4MXkkt84WhUZPRqt5TvPbgig2FZvTbe3igYg= -github.com/moby/moby/api v1.52.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc= -github.com/moby/moby/client v0.2.1 h1:1Grh1552mvv6i+sYOdY+xKKVTvzJegcVMhuXocyDz/k= -github.com/moby/moby/client v0.2.1/go.mod h1:O+/tw5d4a1Ha/ZA/tPxIZJapJRUS6LNZ1wiVRxYHyUE= github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/spdystream v0.5.0 h1:7r0J1Si3QO/kjRitvSLVVFUjxMEb/YLj6S9FF62JBCU= @@ -401,6 +462,8 @@ github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFL github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= @@ -408,26 +471,34 @@ github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ= github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= github.com/onsi/ginkgo/v2 v2.23.0 h1:FA1xjp8ieYDzlgS5ABTpdUDB7wtngggONc8a7ku2NqQ= github.com/onsi/ginkgo/v2 v2.23.0/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= +github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= +github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/opencontainers/runtime-spec v1.3.0 h1:YZupQUdctfhpZy3TM39nN9Ika5CBWT5diQ8ibYCRkxg= github.com/opencontainers/runtime-spec v1.3.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplUkdTrmPb8= github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U= -github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231 h1:8lSGufji9rfiyDxtUl7A4uOyeeP4x0UOOXcsDBFfkGI= -github.com/openshift/crd-schema-checker v0.0.0-20250905140724-c313b6407231/go.mod h1:sTxJ4ZFW9r9fEdbW2v0yMRi6NcyTbx0fII4p83IQ+L8= +github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/otiai10/copy v1.14.1 h1:5/7E6qsUMBaH5AnQ0sSLzzTg1oTECmcCmT6lvF45Na8= github.com/otiai10/copy v1.14.1/go.mod h1:oQwrEDDOci3IM8dJF0d8+jnbfPDllW6vUjNc3DoZm9I= github.com/otiai10/mint v1.6.3 h1:87qsV/aw1F5as1eH1zS/yqHY85ANKVMgkDrf9rcxbQs= @@ -436,6 +507,8 @@ github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3v github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= @@ -443,12 +516,26 @@ github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +github.com/prometheus/client_golang v0.9.0-pre1.0.20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= +github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= +github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.67.2 h1:PcBAckGFTIHt2+L3I33uNRTlKTplNzFctXcWhPyAEN8= github.com/prometheus/common v0.67.2/go.mod h1:63W3KZb1JOKgcjlIr64WW/LvFGAqKPj0atm+knVGEko= +github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= @@ -461,32 +548,54 @@ github.com/secure-systems-lab/go-securesystemslib v0.9.1 h1:nZZaNz4DiERIQguNy0cL github.com/secure-systems-lab/go-securesystemslib v0.9.1/go.mod h1:np53YzT0zXGMv6x4iEWc9Z59uR+x+ndLwCLqPYpLXVU= github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= +github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= github.com/spdx/tools-golang v0.5.5 h1:61c0KLfAcNqAjlg6UNMdkwpMernhw3zVRwDZ2x9XOmk= github.com/spdx/tools-golang v0.5.5/go.mod h1:MVIsXx8ZZzaRWNQpUDhC4Dud34edUYJYecciXgrw5vE= +github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= +github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= +github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= +github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= +github.com/spf13/jwalterweatherman v0.0.0-20141219030609-3d60171a6431/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= +github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= +github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/stoewer/go-strcase v1.3.1 h1:iS0MdW+kVTxgMoE1LAZyMiYJFKlOzLooE4MxjirtkAs= -github.com/stoewer/go-strcase v1.3.1/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= +github.com/spf13/viper v0.0.0-20150530192845-be5ff3e4840c/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= +github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= +github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= +github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c= +github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 h1:QB54BJwA6x8QU9nHY3xJSZR2kX9bgpZekRKGkLTmEXA= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375/go.mod h1:xRroudyp5iVtxKqZCrA6n2TLFRBf8bmnjr1UD4x+z7g= github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 h1:r0p7fK56l8WPequOaR3i9LBqfPtEdXIQbUTzT55iqT4= @@ -512,12 +621,6 @@ github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtX github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/etcd/api/v3 v3.6.4 h1:7F6N7toCKcV72QmoUKa23yYLiiljMrT4xCeBL9BmXdo= -go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= -go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6ok0= -go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= -go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= -go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= go.opencensus.io v0.24.0 h1:y73uSU6J157QMP2kn2r30vwW1A2W2WFwSCGnAVxeaD0= go.opencensus.io v0.24.0/go.mod h1:vNK8G9p7aAivkbmorf4v+7Hgx+Zs0yY+0fOtgBfjQKo= go.opentelemetry.io/auto/sdk v1.2.1 h1:jXsnJ4Lmnqd11kwkBV2LgLoFMZKizbCi5fNZ/ipaZ64= @@ -528,19 +631,8 @@ go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0. go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0/go.mod h1:rjbQTDEPQymPE0YnRQp9/NuPwwtL0sesz/fnqRW/v84= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg= -<<<<<<< HEAD go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= -======= -go.opentelemetry.io/otel v1.39.0 h1:8yPrr/S0ND9QEfTfdP9V+SiwT4E0G7Y5MO7p85nis48= -go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 h1:cEf8jF6WbuGQWUVcqgyWtTR0kOOAWY1DYZ+UhvdmQPw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0/go.mod h1:k1lzV5n5U3HkGvTCJHraTAGJ7MqsgL1wrGwTj1Isfiw= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 h1:Oe2z/BCg5q7k4iXC3cqJxKYg0ieRiOqF0cecFYdPTwk= -go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0/go.mod h1:ZQM5lAJpOsKnYagGg/zV2krVqTtaVdYdDkhMoX6Oalg= -go.opentelemetry.io/otel v1.40.0 h1:oA5YeOcpRTXq6NN7frwmwFR0Cn3RhTVZvXsP4duvCms= -go.opentelemetry.io/otel v1.40.0/go.mod h1:IMb+uXZUKkMXdPddhwAHm6UfOwJyh4ct1ybIlV14J0g= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= @@ -571,19 +663,19 @@ go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= go.uber.org/goleak v1.3.0/go.mod h1:CoHD4mav9JJNrW/WLlf7HGZPjdw8EucARQHekz1X6bE= go.uber.org/mock v0.6.0 h1:hyF9dfmbgIX5EfOdasqLsWD6xqpNZlXblLB/Dbnwv3Y= go.uber.org/mock v0.6.0/go.mod h1:KiVJ4BqZJaMj4svdfmHM0AUx4NJYO8ZNpPnZn1Z+BBU= -go.uber.org/multierr v1.11.0 h1:blXXJkSxSSfBVBlC76pxqeO+LN3aDfLQo+309xJstO0= -go.uber.org/multierr v1.11.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= -go.uber.org/zap v1.27.0 h1:aJMhYGrd5QSmlpLMr2MftRKl7t8J8PTZPA732ud/XR8= -go.uber.org/zap v1.27.0/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= go.yaml.in/yaml/v4 v4.0.0-rc.3 h1:3h1fjsh1CTAPjW7q/EMe+C8shx5d8ctzZTrLcs/j8Go= go.yaml.in/yaml/v4 v4.0.0-rc.3/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= +golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= @@ -597,7 +689,10 @@ golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91 golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= +golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -617,11 +712,16 @@ golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= +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-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210331175145-43e1dd70ce54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -675,26 +775,37 @@ google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1: google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= -<<<<<<< HEAD google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= -======= +google.golang.org/grpc v1.0.5/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= +gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/cenkalti/backoff.v2 v2.2.1 h1:eJ9UAg01/HIHG987TwxvnzK2MgxXq97YY6rYDpY9aII= +gopkg.in/cenkalti/backoff.v2 v2.2.1/go.mod h1:S0QdOvT2AlerfSBkp0O+dk+bbIMaNbEmVk876gPCthU= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/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/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.1 h1:d4KQkxAaAiRY2h5Zqis161Pv91A37uZyJOx73duwUwM= +gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.1/go.mod h1:WbjuEoo1oadwzQ4apSDU+JTvmllEHtsNHS6y7vFc7iw= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -704,36 +815,20 @@ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= -k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= -k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= -k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= -k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= k8s.io/cli-runtime v0.34.2 h1:cct1GEuWc3IyVT8MSCoIWzRGw9HJ/C5rgP32H60H6aE= k8s.io/cli-runtime v0.34.2/go.mod h1:X13tsrYexYUCIq8MarCBy8lrm0k0weFPTpcaNo7lms4= k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= -k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= -k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= -k8s.io/component-helpers v0.34.2 h1:RIUGDdU+QFzeVKLZ9f05sXTNAtJrRJ3bnbMLrogCrvM= -k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= -k8s.io/controller-manager v0.33.5 h1:abmssknXnhOhW533583v2SYQObD5RhYiSL7Za1rezGM= -k8s.io/controller-manager v0.33.5/go.mod h1:KuQeAlf4vI2+qj5fwPVLaDlbtrTBA/8L/LqQvI74Ow0= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= k8s.io/kubectl v0.34.2 h1:+fWGrVlDONMUmmQLDaGkQ9i91oszjjRAa94cr37hzqA= k8s.io/kubectl v0.34.2/go.mod h1:X2KTOdtZZNrTWmUD4oHApJ836pevSl+zvC5sI6oO2YQ= -k8s.io/kubernetes v1.34.2 h1:WQdDvYJazkmkwSncgNwGvVtaCt4TYXIU3wSMRgvp3MI= -k8s.io/kubernetes v1.34.2/go.mod h1:m6pZk6a179pRo2wsTiCPORJ86iOEQmfIzUvtyEF8BwA= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= -pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= -pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0 h1:hSfpvjjTQXQY2Fol2CS0QHMNs/WI1MOSGzCm1KhM5ec= -sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.34.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= diff --git a/client-programs/pkg/cmd/docker_extension_backend_cmd.go b/client-programs/pkg/cmd/docker_extension_backend_cmd.go index bc1e28d6e..19d42d188 100644 --- a/client-programs/pkg/cmd/docker_extension_backend_cmd.go +++ b/client-programs/pkg/cmd/docker_extension_backend_cmd.go @@ -1,234 +1,19 @@ package cmd import ( - "context" - "encoding/json" - "fmt" - "net" - "net/http" - "os" - "os/signal" - "regexp" - "strconv" - "strings" - "syscall" - - "github.com/pkg/errors" + "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/spf13/cobra" ) +const dockerExtensionBackendExample = ` +# Start the backend server on a Unix socket +docker extension backend --socket /run/guest-services/backend.sock +` + type DockerExtensionBackendOptions struct { Socket string } -type DockerWorkshopsBackend struct { - Manager DockerWorkshopsManager - ImageRepository string - ImageVersion string -} - -func NewDockerWorkshopsBackend(version string, imageRepository string) DockerWorkshopsBackend { - return DockerWorkshopsBackend{ - Manager: NewDockerWorkshopsManager(), - ImageRepository: imageRepository, - ImageVersion: version, - } -} - -func (b *DockerWorkshopsBackend) ListWorkhops(w http.ResponseWriter, r *http.Request) { - workshops, err := b.Manager.ListWorkhops() - - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - jsonData, err := json.Marshal(workshops) - - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - w.Header().Set("Content-Type", "application/json") - - w.WriteHeader(http.StatusOK) - w.Write(jsonData) -} - -func (b *DockerWorkshopsBackend) DeployWorkshop(w http.ResponseWriter, r *http.Request) { - queryParams := r.URL.Query() - - url := queryParams.Get("url") - - if url == "" { - http.Error(w, "workshop definition url required", http.StatusBadRequest) - return - } - - portString := queryParams.Get("port") - - if portString == "" { - portString = "10081" - } - - port, err := strconv.Atoi(portString) - - if err != nil || port <= 0 { - http.Error(w, "invalid workshop port supplied", http.StatusBadRequest) - return - } - - o := DockerWorkshopDeployOptions{ - Path: url, - Host: "127.0.0.1", - Port: uint(port), - LocalRepository: "localhost:5001", - DisableOpenBrowser: false, - ImageRepository: b.ImageRepository, - ImageVersion: b.ImageVersion, - Cluster: "", - KubeConfig: "", - Assets: "", - } - - name, err := b.Manager.DeployWorkshop(&o, os.Stdout, os.Stderr) - - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - sessionUrl := fmt.Sprintf("http://workshop.%s.nip.io:%d", strings.ReplaceAll(o.Host, ".", "-"), o.Port) - - workshop := DockerWorkshopDetails{ - Name: name, - Url: sessionUrl, - Source: url, - Status: "Started", - } - - jsonData, err := json.Marshal(workshop) - - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - w.Header().Set("Content-Type", "application/json") - - w.WriteHeader(http.StatusOK) - w.Write(jsonData) -} - -func (b *DockerWorkshopsBackend) DeleteWorkshop(w http.ResponseWriter, r *http.Request) { - queryParams := r.URL.Query() - - name := queryParams.Get("name") - - if name == "" { - http.Error(w, "workshop session name required", http.StatusBadRequest) - return - } - - err := b.Manager.DeleteWorkshop(name, os.Stdout, os.Stderr) - - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - workshop := DockerWorkshopDetails{ - Name: name, - Status: "Stopped", - } - - jsonData, err := json.Marshal(workshop) - - if err != nil { - http.Error(w, err.Error(), http.StatusInternalServerError) - return - } - - w.Header().Set("Content-Type", "application/json") - - w.WriteHeader(http.StatusOK) - w.Write(jsonData) -} - -func (o *DockerExtensionBackendOptions) Run(p *ProjectInfo) error { - if o.Socket == "" { - return errors.New("invalid socket for HTTP server") - } - - router := http.NewServeMux() - - versionHandler := func(w http.ResponseWriter, r *http.Request) { - fmt.Fprintln(w, p.Version) - } - - router.HandleFunc("/version", versionHandler) - - backend := NewDockerWorkshopsBackend(p.Version, p.ImageRepository) - - router.HandleFunc("/workshop/list", backend.ListWorkhops) - router.HandleFunc("/workshop/deploy", backend.DeployWorkshop) - router.HandleFunc("/workshop/delete", backend.DeleteWorkshop) - - server := http.Server{ - Handler: router, - } - - // The socket string can either be of the form host:nnn, or it can be a file - // system path (absolute or relative). In the first case we start up a - // normal HTTP server accepting connections over an INET socket connection. - // In the second case connections will be accepted over a UNIX socket. - - inetRegexPattern := `^([a-zA-Z0-9.-]+):(\d+)$` - - match, err := regexp.MatchString(inetRegexPattern, o.Socket) - - if err != nil { - return errors.Wrap(err, "failed to perform regex match on socket") - } - - var listener net.Listener - - if match { - listener, err = net.Listen("tcp", o.Socket) - - if err != nil { - return errors.Wrap(err, "unable to create INET HTTP server socket") - } - } else { - listener, err = net.Listen("unix", o.Socket) - - if err != nil { - return errors.Wrap(err, "unable to create UNIX HTTP server socket") - } - - defer os.Remove(o.Socket) - } - - defer listener.Close() - - go func() { - server.Serve(listener) - }() - - sigChan := make(chan os.Signal, 1) - signal.Notify(sigChan, os.Interrupt, syscall.SIGTERM) - <-sigChan - - err = server.Shutdown(context.TODO()) - - if err != nil { - return errors.Wrap(err, "failed to shutdown HTTP server") - } - - return nil -} - func (p *ProjectInfo) NewDockerExtensionBackendCmd() *cobra.Command { var o DockerExtensionBackendOptions @@ -236,7 +21,13 @@ func (p *ProjectInfo) NewDockerExtensionBackendCmd() *cobra.Command { Args: cobra.NoArgs, Use: "backend", Short: "Docker desktop extension backend", - RunE: func(_ *cobra.Command, _ []string) error { return o.Run(p) }, + RunE: func(_ *cobra.Command, _ []string) error { + dockerExtensionBackend := docker.NewDockerExtensionBackend(p.Version, p.ImageRepository) + return dockerExtensionBackend.Run(&docker.DockerExtensionBackendConfig{ + Socket: o.Socket, + }) + }, + Example: dockerExtensionBackendExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go index e524f4e4e..48fff07ca 100644 --- a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go @@ -1,23 +1,24 @@ package cmd import ( - "context" - "fmt" - "io" - "os" - "os/exec" - "path" - yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/pkg/errors" "github.com/spf13/cobra" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) +const dockerWorkshopDeleteExample = ` + # Delete Educates workshop from Docker in current workshop directory and using default workshop file + educates docker workshop delete + + # Delete Educates workshop from Docker from specific portal + educates docker workshop delete --portal my-portal + + # Delete Educates workshop from Docker defined with custom path and workshop file + educates docker workshop delete --path ./workshop --workshop-file custom-workshop.yaml +` + type DockerWorkshopDeleteOptions struct { Name string Path string @@ -26,58 +27,7 @@ type DockerWorkshopDeleteOptions struct { DataValuesFlags yttcmd.DataValuesFlags } -func (m *DockerWorkshopsManager) DeleteWorkshop(name string, stdout io.Writer, stderr io.Writer) error { - m.SetWorkshopStatus(name, "", "", "Stopping") - - defer m.ClearWorkshopStatus(name) - - dockerCommand := exec.Command( - "docker", - "compose", - "--project-name", - name, - "rm", - "--stop", - "--force", - "--volumes", - ) - - dockerCommand.Stdout = stdout - dockerCommand.Stderr = stderr - - err := dockerCommand.Run() - - if err != nil { - return errors.Wrap(err, "unable to stop workshop") - } - - ctx := context.Background() - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") - } - - err = cli.VolumeRemove(ctx, fmt.Sprintf("%s_workshop", name), false) - - if err != nil { - return errors.Wrap(err, "unable to delete workshop volume") - } - - configFileDir := utils.GetEducatesHomeDir() - workshopConfigDir := path.Join(configFileDir, "workshops", name) - composeConfigDir := path.Join(configFileDir, "compose", name) - - os.RemoveAll(workshopConfigDir) - os.RemoveAll(composeConfigDir) - - return nil -} - func (o *DockerWorkshopDeleteOptions) Run(cmd *cobra.Command) error { - var err error - var name = o.Name if name == "" { @@ -87,32 +37,28 @@ func (o *DockerWorkshopDeleteOptions) Run(cmd *cobra.Command) error { // the workshop will then expect the workshop definition to reside in the // resources/workshop.yaml file under the directory, the same as if a // directory path was provided explicitly. - if path == "" { path = "." } // Load the workshop definition. The path can be a HTTP/HTTPS URL for a // local file system path for a directory or file. - - var workshop *unstructured.Unstructured - - definitionConfig := workshops.WorkshopDefinitionConfig{ + workshop, err := workshops.LoadWorkshopDefinition(&workshops.WorkshopDefinitionConfig{ Name: o.Name, Path: path, Portal: constants.DefaultPortalName, WorkshopFile: o.WorkshopFile, WorkshopVersion: o.WorkshopVersion, DataValueFlags: o.DataValuesFlags, - } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + }) + if err != nil { return err } name = workshop.GetName() } - dockerWorkshopsManager := NewDockerWorkshopsManager() + dockerWorkshopsManager := docker.NewDockerWorkshopsManager() return dockerWorkshopsManager.DeleteWorkshop(name, cmd.OutOrStdout(), cmd.OutOrStderr()) } @@ -125,6 +71,7 @@ func (p *ProjectInfo) NewDockerWorkshopDeleteCmd() *cobra.Command { Use: "delete", Short: "Delete workshop from Docker", RunE: func(cmd *cobra.Command, _ []string) error { return o.Run(cmd) }, + Example: dockerWorkshopDeleteExample, } c.Flags().StringVarP( @@ -134,6 +81,8 @@ func (p *ProjectInfo) NewDockerWorkshopDeleteCmd() *cobra.Command { "", "name to be used for the workshop definition, generated if not set", ) + + // TODO: Move "." to a constant c.Flags().StringVarP( &o.Path, "file", @@ -142,6 +91,7 @@ func (p *ProjectInfo) NewDockerWorkshopDeleteCmd() *cobra.Command { "path to local workshop directory, definition file, or URL for workshop definition file", ) + // TODO: Move "resources/workshop.yaml" to a constant c.Flags().StringVar( &o.WorkshopFile, "workshop-file", @@ -149,6 +99,7 @@ func (p *ProjectInfo) NewDockerWorkshopDeleteCmd() *cobra.Command { "location of the workshop definition file", ) + // TODO: Move "latest" to a constant c.Flags().StringVar( &o.WorkshopVersion, "workshop-version", diff --git a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go index c98a09cd9..aaff367fb 100644 --- a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go @@ -1,36 +1,41 @@ package cmd import ( - "bytes" - "context" "fmt" "io" "net/http" - "os" - "os/exec" - "path" - "path/filepath" - "runtime" "strings" - "text/template" "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" - composeloader "github.com/compose-spec/compose-go/v2/loader" - composetypes "github.com/compose-spec/compose-go/v2/types" - "github.com/docker/docker/client" - "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/pkg/errors" "github.com/spf13/cobra" - "golang.org/x/exp/slices" - "gopkg.in/yaml.v2" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "sigs.k8s.io/kind/pkg/cluster" - "sigs.k8s.io/kind/pkg/cmd" ) +const dockerWorkshopDeployExample = ` + # Deploy Educates workshop to Docker in current workshop directory and using default workshop file + educates docker workshop deploy + + # Deploy Educates workshop to Docker from specific path and using custom workshop file + educates docker workshop deploy --path ./workshop --workshop-file custom-workshop.yaml + + # Deploy Educates workshop to Docker with custom host and port + educates docker workshop deploy --host 192.168.1.100 --port 10081 + + # Deploy Educates workshop to Docker with custom local repository + educates docker workshop deploy --local-repository localhost:5001 + + # Deploy Educates workshop adding to the session kubeconfig to specified Kind cluster + educates docker workshop deploy --cluster my-cluster + + # Deploy Educates workshop adding to the specified kubeconfig to the session + educates docker workshop deploy --kubeconfig /path/to/kubeconfig + + # Deploy Educates workshop in current folder without opening the browser + educates docker workshop deploy --disable-open-browser +` + type DockerWorkshopDeployOptions struct { Path string Host string @@ -48,393 +53,26 @@ type DockerWorkshopDeployOptions struct { DataValuesFlags yttcmd.DataValuesFlags } -const containerScript = `exec bash -s << "EOF" -mkdir -p /opt/eduk8s/config -cat > /opt/eduk8s/config/workshop.yaml << "EOS" -{{ .WorkshopConfig -}} -EOS -{{ if .Assets -}} -cat > /opt/eduk8s/config/vendir-assets-01.yaml << "EOS" -apiVersion: vendir.k14s.io/v1alpha1 -kind: Config -directories: -- path: /opt/assets/files - contents: - - directory: - path: /opt/eduk8s/mnt/assets - path: . -EOS -{{ else -}} -{{ range $k, $v := .VendirFilesConfig -}} -{{ $off := inc $k -}} -cat > /opt/eduk8s/config/vendir-assets-{{ printf "%02d" $off }}.yaml << "EOS" -{{ $v -}} -EOS -{{ end -}} -{{ end -}} -{{ if .VendirPackagesConfig -}} -cat > /opt/eduk8s/config/vendir-packages.yaml << "EOS" -{{ .VendirPackagesConfig -}} -EOS -{{ end -}} -{{ if .KubeConfig -}} -mkdir -p /opt/kubeconfig -cat > /opt/kubeconfig/config << "EOS" -{{ .KubeConfig -}} -EOS -{{ end -}} -exec start-container -EOF -` - -func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployOptions, stdout io.Writer, stderr io.Writer) (string, error) { - var err error - - // If path not provided assume the current working directory. When loading - // the workshop will then expect the workshop definition to reside in the - // resources/workshop.yaml file under the directory, the same as if a - // directory path was provided explicitly. - - if o.Path == "" { - o.Path = "." - } - - // Load the workshop definition. The path can be a HTTP/HTTPS URL for a - // local file system path for a directory or file. - - var workshop *unstructured.Unstructured +func (o *DockerWorkshopDeployOptions) Run(cmd *cobra.Command) error { + dockerWorkshopsManager := docker.NewDockerWorkshopsManager() - definitionConfig := workshops.WorkshopDefinitionConfig{ - Name: "", + config := docker.DockerWorkshopDeployConfig{ Path: o.Path, - Portal: constants.DefaultPortalName, - WorkshopFile: o.WorkshopFile, - WorkshopVersion: o.WorkshopVersion, - DataValueFlags: o.DataValuesFlags, - } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { - return "", err - } - - name := workshop.GetName() - - m.SetWorkshopStatus(name, "", o.Path, "Starting") - - defer m.ClearWorkshopStatus(name) - - originalName := workshop.GetAnnotations()["training.educates.dev/workshop"] - - configFileDir := utils.GetEducatesHomeDir() - composeConfigDir := path.Join(configFileDir, "compose", name) - - err = os.MkdirAll(composeConfigDir, os.ModePerm) - - if err != nil { - return name, errors.Wrapf(err, "unable to create workshops compose directory") - } - - ctx := context.Background() - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return name, errors.Wrap(err, "unable to create docker client") - } - - _, err = cli.ContainerInspect(ctx, name) - - if err == nil { - return name, errors.New("this workshop is already running") - } - - registryNetwork := false - - if o.LocalRepository == "localhost:5001" { - o.LocalRepository = "registry.docker.local:5000" - } - - var registryIP string - - registryInfo, err := cli.ContainerInspect(ctx, "educates-registry") - - if err == nil { - educatesNetwork, exists := registryInfo.NetworkSettings.Networks["educates"] - - if !exists { - return name, errors.New("registry is not attached to educates network") - } - - registryNetwork = true - registryIP = educatesNetwork.IPAddress - } else { - o.LocalRepository = "" - } - - var kubeConfigData string - - if o.KubeConfig != "" { - kubeConfigBytes, err := os.ReadFile(o.KubeConfig) - - if err != nil { - return name, errors.Wrap(err, "unable to read kubeconfig file") - } - - kubeConfigData = string(kubeConfigBytes) - } - - if o.Cluster != "" { - kubeConfigData, err = generateClusterKubeconfig(o.Cluster) - - if err != nil { - return name, err - } - } - - var workshopConfigData string - var vendirFilesConfigData []string - var vendirPackagesConfigData string - var workshopImageName string - - var workshopPortsConfig []composetypes.ServicePortConfig - var workshopVolumesConfig []composetypes.ServiceVolumeConfig - - var workshopEnvironment []string - var workshopLabels map[string]string - var workshopExtraHosts map[string]string - - var workshopComposeProject *composetypes.Project - - if workshopConfigData, err = generateWorkshopConfig(workshop); err != nil { - return name, err - } - - if vendirFilesConfigData, err = generateVendirFilesConfig(workshop, originalName, o.LocalRepository, o.WorkshopVersion); err != nil { - return name, err - } - - if vendirPackagesConfigData, err = generateVendirPackagesConfig(workshop, originalName, o.LocalRepository, o.WorkshopVersion); err != nil { - return name, err - } - - if workshopImageName, err = generateWorkshopImageName(workshop, o.LocalRepository, o.ImageRepository, o.ImageVersion, o.WorkshopImage, o.WorkshopVersion); err != nil { - return name, err - } - - if workshopPortsConfig, err = composetypes.ParsePortConfig(fmt.Sprintf("%s:%d:10081", o.Host, o.Port)); err != nil { - return name, errors.Wrap(err, "unable to generate workshop ports config") - } - - if workshopVolumesConfig, err = generateWorkshopVolumeMounts(workshop, o.Assets); err != nil { - return name, err - } - - if workshopEnvironment, err = generateWorkshopEnvironment(workshop, o.LocalRepository, o.Host, o.Port); err != nil { - return name, err - } - - if workshopLabels, err = generateWorkshopLabels(workshop, o.Host, o.Port); err != nil { - return name, err - } - - if registryIP != "" { - if workshopExtraHosts, err = generateWorkshopExtraHosts(workshop, registryIP); err != nil { - return name, err - } - } - - if workshopComposeProject, err = extractWorkshopComposeConfig(workshop); err != nil { - return name, err - } - - type TemplateInputs struct { - WorkshopConfig string - VendirFilesConfig []string - VendirPackagesConfig string - KubeConfig string - Assets string - } - - inputs := TemplateInputs{ - WorkshopConfig: workshopConfigData, - VendirFilesConfig: vendirFilesConfigData, - VendirPackagesConfig: vendirPackagesConfigData, - KubeConfig: kubeConfigData, - Assets: o.Assets, - } - - funcMap := template.FuncMap{ - "inc": func(i int) int { - return i + 1 - }, - } - - containerScriptTemplate, err := template.New("entrypoint").Funcs(funcMap).Parse(containerScript) - - if err != nil { - return name, errors.Wrap(err, "not able to parse container script template") - } - - var containerScriptData bytes.Buffer - - err = containerScriptTemplate.Execute(&containerScriptData, inputs) - - if err != nil { - return name, errors.Wrap(err, "not able to generate container script") - } - - networks := map[string]*composetypes.ServiceNetworkConfig{ - "default": {}, - } - - if registryNetwork { - networks["educates"] = &composetypes.ServiceNetworkConfig{} - } - - var extraHostsList composetypes.HostsList - if len(workshopExtraHosts) > 0 { - extraHostsList = make(composetypes.HostsList, len(workshopExtraHosts)) - for hostname, ip := range workshopExtraHosts { - extraHostsList[hostname] = []string{ip} - } - } - - workshopServiceConfig := composetypes.ServiceConfig{ - Name: "workshop", - Image: workshopImageName, - Command: composetypes.ShellCommand([]string{"bash", "-c", containerScriptData.String()}), - User: "1001:0", - Ports: workshopPortsConfig, - Volumes: workshopVolumesConfig, - Environment: composetypes.NewMappingWithEquals(workshopEnvironment), - Labels: composetypes.Labels(workshopLabels), - ExtraHosts: extraHostsList, - DependsOn: composetypes.DependsOnConfig{}, - Networks: networks, - } - - if o.Cluster != "" { - workshopServiceConfig.Networks["kind"] = &composetypes.ServiceNetworkConfig{} - } - - dockerEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "enabled") - - if found && dockerEnabled { - extraServices, _, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") - - socketEnabledDefault := true - - if len(extraServices) != 0 { - socketEnabledDefault = false - } - - socketEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "socket", "enabled") - - if !found { - socketEnabled = socketEnabledDefault - } - - if socketEnabled { - workshopServiceConfig.GroupAdd = []string{"docker"} - } - } - - workshopServices := composetypes.Services{ - "workshop": workshopServiceConfig, - } - - composeConfig := composetypes.Project{ - Name: originalName, - Services: workshopServices, - Networks: composetypes.Networks{ - "educates": composetypes.NetworkConfig{Name: "educates", External: true}, - }, - Volumes: composetypes.Volumes{ - "workshop": composetypes.VolumeConfig{}, - }, - } - - if workshopComposeProject != nil { - for serviceName, extraService := range workshopComposeProject.Services { - extraService.Ports = []composetypes.ServicePortConfig{} - - composeConfig.Services[serviceName] = extraService - - workshopServiceConfig.DependsOn[serviceName] = composetypes.ServiceDependency{ - Condition: composetypes.ServiceConditionStarted, - } - } - - for volumeName, extraVolume := range workshopComposeProject.Volumes { - if volumeName != "workshop" { - composeConfig.Volumes[volumeName] = extraVolume - } - } - } - - if o.Cluster != "" { - composeConfig.Networks["kind"] = composetypes.NetworkConfig{Name: "kind", External: true} - } - - composeConfigBytes, err := yaml.Marshal(&composeConfig) - - if err != nil { - return name, errors.Wrap(err, "failed to generate compose config") + Host: o.Host, + Port: o.Port, + LocalRepository: o.LocalRepository, + DisableOpenBrowser: o.DisableOpenBrowser, + ImageRepository: o.ImageRepository, + ImageVersion: o.ImageVersion, } - - composeConfigFilePath := path.Join(composeConfigDir, "docker-compose.yaml") - - composeConfigFile, err := os.OpenFile(composeConfigFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) - - if err != nil { - return name, errors.Wrapf(err, "unable to create workshop config file %s", composeConfigFilePath) - } - - if _, err = composeConfigFile.Write(composeConfigBytes); err != nil { - return name, errors.Wrapf(err, "unable to write workshop config file %s", composeConfigFilePath) - } - - if err := composeConfigFile.Close(); err != nil { - return name, errors.Wrapf(err, "unable to close workshop config file %s", composeConfigFilePath) - } - - dockerCommand := exec.Command( - "docker", - "compose", - "--project-directory", - composeConfigDir, - "--file", - composeConfigFilePath, - "--project-name", - name, - "up", - "--detach", - "--renew-anon-volumes", - ) - - dockerCommand.Stdout = stdout - dockerCommand.Stderr = stderr - - err = dockerCommand.Run() - - if err != nil { - return name, errors.Wrap(err, "unable to start workshop") - } - - return name, nil -} - -func (o *DockerWorkshopDeployOptions) Run(cmd *cobra.Command) error { - dockerWorkshopsManager := NewDockerWorkshopsManager() - - _, err := dockerWorkshopsManager.DeployWorkshop(o, cmd.OutOrStdout(), cmd.OutOrStderr()) + _, err := dockerWorkshopsManager.DeployWorkshop(&config, cmd.OutOrStdout(), cmd.OutOrStderr()) if err != nil { return err } - // XXX Need a better way of handling very long startup times for container + // TODO: XXX Need a better way of handling very long startup times for container // due to workshop content or package downloads. - url := fmt.Sprintf("http://workshop.%s.nip.io:%d", strings.ReplaceAll(o.Host, ".", "-"), o.Port) if !o.DisableOpenBrowser { @@ -453,20 +91,7 @@ func (o *DockerWorkshopDeployOptions) Run(cmd *cobra.Command) error { break } - switch runtime.GOOS { - case "linux": - err = exec.Command("xdg-open", url).Start() - case "windows": - err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start() - case "darwin": - err = exec.Command("open", url).Start() - default: - err = fmt.Errorf("unsupported platform") - } - - if err != nil { - return errors.Wrap(err, "unable to open web browser") - } + return utils.OpenBrowser(url) } return nil @@ -480,6 +105,7 @@ func (p *ProjectInfo) NewDockerWorkshopDeployCmd() *cobra.Command { Use: "deploy", Short: "Deploy workshop to Docker", RunE: func(cmd *cobra.Command, _ []string) error { return o.Run(cmd) }, + Example: dockerWorkshopDeployExample, } c.Flags().StringVarP( @@ -605,370 +231,3 @@ func (p *ProjectInfo) NewDockerWorkshopDeployCmd() *cobra.Command { return c } - -func generateWorkshopConfig(workshop *unstructured.Unstructured) (string, error) { - workshopTitle, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "title") - workshopDescription, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "description") - applicationsConfig, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "session", "applications") - ingressesConfig, _, _ := unstructured.NestedSlice(workshop.Object, "spec", "session", "ingresses") - dashboardsConfig, _, _ := unstructured.NestedSlice(workshop.Object, "spec", "session", "dashboards") - - workshopConfig := map[string]interface{}{ - "spec": map[string]interface{}{ - "title": workshopTitle, - "description": workshopDescription, - "session": map[string]interface{}{ - "applications": applicationsConfig, - "ingresses": ingressesConfig, - "dashboards": dashboardsConfig, - }, - }, - } - - workshopConfigData, err := yaml.Marshal(&workshopConfig) - - if err != nil { - return "", errors.Wrap(err, "failed to generate workshop config") - } - - return string(workshopConfigData), nil -} - -func generateVendirFilesConfig(workshop *unstructured.Unstructured, name string, localRepository string, version string) ([]string, error) { - var vendirConfigs []string - - workshopVersion, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found { - workshopVersion = version - } - - filesItems, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "workshop", "files") - - if found && len(filesItems) != 0 { - for _, filesItem := range filesItems { - directoriesConfig := []map[string]interface{}{} - - tmpPath, found := filesItem.(map[string]interface{})["path"] - - var filesItemPath string - - if found { - filesItemPath = tmpPath.(string) - } else { - filesItemPath = "." - } - - filesItemPath = filepath.Clean(path.Join("/opt/assets/files", filesItemPath)) - - filesItem.(map[string]interface{})["path"] = "." - - directoriesConfig = append(directoriesConfig, map[string]interface{}{ - "path": filesItemPath, - "contents": []interface{}{filesItem}, - }) - - vendirConfig := map[string]interface{}{ - "apiVersion": "vendir.k14s.io/v1alpha1", - "kind": "Config", - "directories": directoriesConfig, - } - - vendirConfigBytes, err := yaml.Marshal(&vendirConfig) - - if err != nil { - return []string{}, errors.Wrap(err, "failed to generate vendir config") - } - - vendirConfigString := string(vendirConfigBytes) - - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(image_repository)", localRepository) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_name)", name) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_version)", workshopVersion) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(platform_arch)", runtime.GOARCH) - - vendirConfigs = append(vendirConfigs, vendirConfigString) - } - } - - return vendirConfigs, nil -} - -func generateVendirPackagesConfig(workshop *unstructured.Unstructured, name string, localRepository string, version string) (string, error) { - var vendirConfigString string - - workshopVersion, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found { - workshopVersion = version - } - - packagesItems, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "workshop", "packages") - - if found && len(packagesItems) != 0 { - directoriesConfig := []map[string]interface{}{} - - for _, packagesItem := range packagesItems { - tmpPackagesItem := packagesItem.(map[string]interface{}) - - tmpName, found := tmpPackagesItem["name"] - - if !found { - continue - } - - packagesItemPath := filepath.Clean(path.Join("/opt/packages", tmpName.(string))) - - tmpPackagesFilesItem := tmpPackagesItem["files"] - - packagesFilesItem := tmpPackagesFilesItem.([]interface{}) - - for _, tmpEntry := range packagesFilesItem { - entry := tmpEntry.(map[string]interface{}) - - _, found = entry["path"] - - if !found { - entry["path"] = "." - } - } - - directoriesConfig = append(directoriesConfig, map[string]interface{}{ - "path": packagesItemPath, - "contents": packagesFilesItem, - }) - - } - - vendirConfig := map[string]interface{}{ - "apiVersion": "vendir.k14s.io/v1alpha1", - "kind": "Config", - "directories": directoriesConfig, - } - - vendirConfigBytes, err := yaml.Marshal(&vendirConfig) - - if err != nil { - return "", errors.Wrap(err, "failed to generate vendir config") - } - - vendirConfigString = string(vendirConfigBytes) - - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(image_repository)", localRepository) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_name)", name) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_version)", workshopVersion) - } - - return vendirConfigString, nil -} - -func generateWorkshopImageName(workshop *unstructured.Unstructured, localRepository string, imageRepository string, baseImageVersion string, workshopImage string, workshopVersion string) (string, error) { - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if found { - workshopVersion, _, _ = unstructured.NestedString(workshop.Object, "spec", "version") - } - - image, found, err := unstructured.NestedString(workshop.Object, "spec", "workshop", "image") - - if err != nil { - return "", errors.Wrapf(err, "unable to parse workshop definition") - } - - if !found || image == "" { - image = "base-environment:*" - } - - defaultImageVersion := strings.TrimSpace(baseImageVersion) - - if workshopImage != "" { - image = workshopImage - } else { - if defaultImageVersion == "latest" { - image = strings.ReplaceAll(image, "base-environment:*", fmt.Sprintf("localhost:5001/educates-base-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk8-environment:*", fmt.Sprintf("localhost:5001/educates-jdk8-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk11-environment:*", fmt.Sprintf("localhost:5001/educates-jdk11-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk17-environment:*", fmt.Sprintf("localhost:5001/educates-jdk17-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk21-environment:*", fmt.Sprintf("localhost:5001/educates-jdk21-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "conda-environment:*", fmt.Sprintf("localhost:5001/educates-conda-environment:%s", defaultImageVersion)) - } else { - image = strings.ReplaceAll(image, "base-environment:*", fmt.Sprintf("%s/educates-base-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk8-environment:*", fmt.Sprintf("%s/educates-jdk8-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk11-environment:*", fmt.Sprintf("%s/educates-jdk11-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk17-environment:*", fmt.Sprintf("%s/educates-jdk17-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk21-environment:*", fmt.Sprintf("%s/educates-jdk21-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "conda-environment:*", fmt.Sprintf("%s/educates-conda-environment:%s", imageRepository, defaultImageVersion)) - } - } - - image = strings.ReplaceAll(image, "$(image_repository)", localRepository) - image = strings.ReplaceAll(image, "$(workshop_version)", workshopVersion) - - return image, nil -} - -func generateWorkshopVolumeMounts(workshop *unstructured.Unstructured, assets string) ([]composetypes.ServiceVolumeConfig, error) { - filesMounts := []composetypes.ServiceVolumeConfig{ - { - Type: "volume", - Source: "workshop", - Target: "/home/eduk8s", - }, - } - - if assets != "" { - assets = filepath.Clean(assets) - assets, err := filepath.Abs(assets) - - if err != nil { - return []composetypes.ServiceVolumeConfig{}, errors.Wrap(err, "can't resolve local workshop assets path") - } - - filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ - Type: "bind", - Source: assets, - Target: "/opt/eduk8s/mnt/assets", - ReadOnly: true, - }) - } - - dockerEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "enabled") - - if found && dockerEnabled { - extraServices, _, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") - - socketEnabledDefault := true - - if len(extraServices) != 0 { - socketEnabledDefault = false - } - - socketEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "socket", "enabled") - - if !found { - socketEnabled = socketEnabledDefault - } - - if socketEnabled { - if runtime.GOOS == "linux" { - filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ - Type: "bind", - Source: "/var/run/docker.sock", - Target: "/var/run/docker/docker.sock", - ReadOnly: true, - }) - } else { - filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ - Type: "bind", - Source: "/var/run/docker.sock.raw", - Target: "/var/run/docker/docker.sock", - ReadOnly: true, - }) - } - } - } - - return filesMounts, nil -} - -func generateWorkshopEnvironment(workshop *unstructured.Unstructured, localRepository string, host string, port uint) ([]string, error) { - domain := fmt.Sprintf("%s.nip.io", strings.ReplaceAll(host, ".", "-")) - - return []string{ - fmt.Sprintf("WORKSHOP_NAME=%s", workshop.GetName()), - "SESSION_NAME=workshop", - fmt.Sprintf("SESSION_URL=http://workshop.%s:%d", domain, port), - "INGRESS_PROTOCOL=http", - fmt.Sprintf("INGRESS_DOMAIN=%s", domain), - fmt.Sprintf("INGRESS_PORT_SUFFIX=:%d", port), - fmt.Sprintf("IMAGE_REPOSITORY=%s", localRepository), - }, nil -} - -func generateWorkshopLabels(workshop *unstructured.Unstructured, host string, port uint) (map[string]string, error) { - labels := workshop.GetAnnotations() - - domain := fmt.Sprintf("%s.nip.io", strings.ReplaceAll(host, ".", "-")) - - labels["training.educates.dev/url"] = fmt.Sprintf("http://workshop.%s:%d", domain, port) - labels["training.educates.dev/session"] = workshop.GetName() - - return labels, nil -} - -func generateWorkshopExtraHosts(workshop *unstructured.Unstructured, registryIP string) (map[string]string, error) { - hosts := map[string]string{} - - if registryIP != "" { - hosts["registry.docker.local"] = registryIP - } - - return hosts, nil -} - -func extractWorkshopComposeConfig(workshop *unstructured.Unstructured) (*composetypes.Project, error) { - composeConfigObj, found, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") - - if found { - composeConfigObjBytes, err := yaml.Marshal(&composeConfigObj) - - if err != nil { - return nil, errors.Wrap(err, "unable to parse workshop docker compose config") - } - - configFiles := composetypes.ConfigFile{ - Content: composeConfigObjBytes, - } - - composeConfigDetails := composetypes.ConfigDetails{ - ConfigFiles: []composetypes.ConfigFile{configFiles}, - } - - return composeloader.LoadWithContext(context.Background(), composeConfigDetails, func(options *composeloader.Options) { - options.SkipConsistencyCheck = true - options.SkipNormalization = true - options.ResolvePaths = false - options.SkipValidation = true - }) - } - - return nil, nil -} - -func generateClusterKubeconfig(name string) (string, error) { - provider := cluster.NewProvider( - cluster.ProviderWithLogger(cmd.NewLogger()), - ) - - clusters, err := provider.List() - - if err != nil { - return "", errors.Wrap(err, "unable to get list of clusters") - } - - if !slices.Contains(clusters, name) { - return "", errors.Errorf("cluster %s doesn't exist", name) - } - - file, err := os.CreateTemp("", "kubeconfig-") - - if err != nil { - return "", errors.Wrap(err, "unable to generate kubeconfig file") - } - - defer os.Remove(file.Name()) - - err = provider.ExportKubeConfig(name, file.Name(), true) - - if err != nil { - return "", errors.Wrap(err, "unable to generate kubeconfig file") - } - - kubeConfigData, err := os.ReadFile(file.Name()) - - if err != nil { - return "", errors.Wrap(err, "unable to generate kubeconfig file") - } - - return string(kubeConfigData), nil -} diff --git a/client-programs/pkg/cmd/docker_workshop_list_cmd.go b/client-programs/pkg/cmd/docker_workshop_list_cmd.go index 13b47204a..77f618b32 100644 --- a/client-programs/pkg/cmd/docker_workshop_list_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_list_cmd.go @@ -1,32 +1,35 @@ package cmd import ( - "context" "fmt" "os" - "sync" "text/tabwriter" - "github.com/docker/docker/api/types/container" "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/pkg/errors" "github.com/spf13/cobra" ) +const dockerWorkshopListExample = ` + # List Educates workshops deployed to Docker + educates docker workshop list +` + func (p *ProjectInfo) NewDockerWorkshopListCmd() *cobra.Command { var c = &cobra.Command{ Args: cobra.NoArgs, Use: "list", Short: "List workshops deployed to Docker", RunE: func(_ *cobra.Command, _ []string) error { - dockerWorkshopsManager := NewDockerWorkshopsManager() + dockerWorkshopsManager := docker.NewDockerWorkshopsManager() - workshops, err := dockerWorkshopsManager.ListWorkhops() + workshops, err := dockerWorkshopsManager.ListWorkshops() if err != nil { return errors.Wrap(err, "cannot display list of workshops") } + // TODO: Move this to a helper function w := new(tabwriter.Writer) w.Init(os.Stdout, 8, 8, 3, ' ', 0) @@ -40,121 +43,8 @@ func (p *ProjectInfo) NewDockerWorkshopListCmd() *cobra.Command { return nil }, + Example: dockerWorkshopListExample, } return c } - -type DockerWorkshopsManager struct { - Statuses map[string]DockerWorkshopDetails - StatusesMutex sync.Mutex -} - -func NewDockerWorkshopsManager() DockerWorkshopsManager { - return DockerWorkshopsManager{ - Statuses: map[string]DockerWorkshopDetails{}, - StatusesMutex: sync.Mutex{}, - } -} - -type DockerWorkshopDetails struct { - Name string `json:"name"` - Url string `json:"url,omitempty"` - Source string `json:"source,omitempty"` - Status string `json:"status"` -} - -func (m *DockerWorkshopsManager) WorkshopStatus(name string) (DockerWorkshopDetails, bool) { - workshops, err := m.ListWorkhops() - - if err != nil { - return DockerWorkshopDetails{}, false - } - - for _, workshop := range workshops { - if workshop.Name == name { - return workshop, true - } - } - - return DockerWorkshopDetails{}, false -} - -func (m *DockerWorkshopsManager) SetWorkshopStatus(name string, url string, source string, status string) { - m.StatusesMutex.Lock() - - m.Statuses[name] = DockerWorkshopDetails{ - Name: name, - Url: url, - Source: source, - Status: status, - } - - m.StatusesMutex.Unlock() -} - -func (m *DockerWorkshopsManager) ClearWorkshopStatus(name string) { - m.StatusesMutex.Lock() - - delete(m.Statuses, name) - - m.StatusesMutex.Unlock() -} - -func (m *DockerWorkshopsManager) ListWorkhops() ([]DockerWorkshopDetails, error) { - setOfWorkshops := map[string]DockerWorkshopDetails{} - workshopsList := []DockerWorkshopDetails{} - - ctx := context.Background() - - cli, err := docker.NewDockerClient() - - if err != nil { - return nil, errors.Wrap(err, "unable to create docker client") - } - - containers, err := cli.ContainerList(ctx, container.ListOptions{}) - - if err != nil { - return nil, errors.Wrap(err, "unable to list containers") - } - - m.StatusesMutex.Lock() - - for _, details := range m.Statuses { - if details.Status == "Starting" { - setOfWorkshops[details.Name] = details - } - } - - defer m.StatusesMutex.Unlock() - - for _, container := range containers { - url, found := container.Labels["training.educates.dev/url"] - source := container.Labels["training.educates.dev/source"] - instance := container.Labels["training.educates.dev/session"] - - details, statusFound := m.Statuses[instance] - - status := "Running" - - if statusFound { - status = details.Status - } - - if found && url != "" && len(container.Names) != 0 { - setOfWorkshops[instance] = DockerWorkshopDetails{ - Name: instance, - Url: url, - Source: source, - Status: status, - } - } - } - - for _, details := range setOfWorkshops { - workshopsList = append(workshopsList, details) - } - - return workshopsList, nil -} diff --git a/client-programs/pkg/cmd/docker_workshop_logs.go b/client-programs/pkg/cmd/docker_workshop_logs.go index 67f819a1d..8330d20e0 100644 --- a/client-programs/pkg/cmd/docker_workshop_logs.go +++ b/client-programs/pkg/cmd/docker_workshop_logs.go @@ -8,9 +8,22 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/pkg/errors" "github.com/spf13/cobra" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) +const dockerWorkshopLogsExample = ` + # Display logs for Educates workshop in current workshop directory + educates docker workshop logs + + # Display logs for Educates workshop with provided name + educates docker workshop logs --name my-workshop + + # Display logs for Educates workshop from specific path and using custom workshop file + educates docker workshop logs --path ./workshop --workshop-file custom-workshop.yaml + + # Display logs for Educates workshop in current folder and follow the logs + educates docker workshop logs --follow +` + type DockerWorkshopLogsOptions struct { Name string Path string @@ -32,16 +45,12 @@ func (o *DockerWorkshopLogsOptions) Run(cmd *cobra.Command) error { // the workshop will then expect the workshop definition to reside in the // resources/workshop.yaml file under the directory, the same as if a // directory path was provided explicitly. - if path == "" { path = "." } // Load the workshop definition. The path can be a HTTP/HTTPS URL for a // local file system path for a directory or file. - - var workshop *unstructured.Unstructured - definitionConfig := workshops.WorkshopDefinitionConfig{ Name: o.Name, Path: path, @@ -50,7 +59,8 @@ func (o *DockerWorkshopLogsOptions) Run(cmd *cobra.Command) error { WorkshopVersion: o.WorkshopVersion, DataValueFlags: o.DataValuesFlags, } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + workshop, err := workshops.LoadWorkshopDefinition(&definitionConfig) + if err != nil { return err } @@ -90,6 +100,7 @@ func (p *ProjectInfo) NewDockerWorkshopLogsCmd() *cobra.Command { Use: "logs", Short: "Display logs for workshop", RunE: func(cmd *cobra.Command, _ []string) error { return o.Run(cmd) }, + Example: dockerWorkshopLogsExample, } c.Flags().StringVarP( diff --git a/client-programs/pkg/cmd/docker_workshop_open_cmd.go b/client-programs/pkg/cmd/docker_workshop_open_cmd.go index a63c3ff53..0f7361f97 100644 --- a/client-programs/pkg/cmd/docker_workshop_open_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_open_cmd.go @@ -2,22 +2,30 @@ package cmd import ( "context" - "fmt" "io" "net/http" - "os/exec" - "runtime" "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" ) +const dockerWorkshopOpenExample = ` + # Open Educates workshop in browser in current workshop directory + educates docker workshop open + + # Open Educates workshop in browser with provided name + educates docker workshop open --name my-workshop + + # Open Educates workshop in browser from specific path and using custom workshop file + educates docker workshop open --path ./workshop --workshop-file custom-workshop.yaml +` + type DockerWorkshopOpenOptions struct { Name string Path string @@ -27,8 +35,6 @@ type DockerWorkshopOpenOptions struct { } func (o *DockerWorkshopOpenOptions) Run() error { - var err error - var name = o.Name if name == "" { @@ -38,16 +44,12 @@ func (o *DockerWorkshopOpenOptions) Run() error { // the workshop will then expect the workshop definition to reside in the // resources/workshop.yaml file under the directory, the same as if a // directory path was provided explicitly. - if path == "" { path = "." } // Load the workshop definition. The path can be a HTTP/HTTPS URL for a // local file system path for a directory or file. - - var workshop *unstructured.Unstructured - definitionConfig := workshops.WorkshopDefinitionConfig{ Name: o.Name, Path: path, @@ -56,7 +58,8 @@ func (o *DockerWorkshopOpenOptions) Run() error { WorkshopVersion: o.WorkshopVersion, DataValueFlags: o.DataValuesFlags, } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + workshop, err := workshops.LoadWorkshopDefinition(&definitionConfig) + if err != nil { return err } @@ -85,9 +88,8 @@ func (o *DockerWorkshopOpenOptions) Run() error { return errors.New("can't determine URL for workshop") } - // XXX Need a better way of handling very long startup times for container + // TODO: XXX Need a better way of handling very long startup times for container // due to workshop content or package downloads. - for i := 1; i < 120; i++ { time.Sleep(time.Second) @@ -103,22 +105,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { break } - switch runtime.GOOS { - case "linux": - err = exec.Command("xdg-open", url).Start() - case "windows": - err = exec.Command("rundll32", "url.dll,FileProtocolHandler", url).Start() - case "darwin": - err = exec.Command("open", url).Start() - default: - err = fmt.Errorf("unsupported platform") - } - - if err != nil { - return errors.Wrap(err, "unable to open web browser") - } - - return nil + return utils.OpenBrowser(url) } func (p *ProjectInfo) NewDockerWorkshopOpenCmd() *cobra.Command { @@ -129,6 +116,7 @@ func (p *ProjectInfo) NewDockerWorkshopOpenCmd() *cobra.Command { Use: "open", Short: "Open workshop in browser", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: dockerWorkshopOpenExample, } c.Flags().StringVarP( diff --git a/client-programs/pkg/docker/extension_backend.go b/client-programs/pkg/docker/extension_backend.go new file mode 100644 index 000000000..c4b4cb797 --- /dev/null +++ b/client-programs/pkg/docker/extension_backend.go @@ -0,0 +1,103 @@ +package docker + +import ( + "context" + "fmt" + "net" + "net/http" + "os" + "os/signal" + "regexp" + "syscall" + + "github.com/pkg/errors" +) + +type DockerExtensionBackendConfig struct { + Socket string +} + +type DockerExtensionBackend struct { + Api *DockerWorkshopsApi +} + +func NewDockerExtensionBackend(version string, imageRepository string) DockerExtensionBackend { + return DockerExtensionBackend{ + Api: &DockerWorkshopsApi{ + Manager: NewDockerWorkshopsManager(), + ImageRepository: imageRepository, + ImageVersion: version, + }, + } +} + +func (b *DockerExtensionBackend) Run(config *DockerExtensionBackendConfig) error { + if config.Socket == "" { + return errors.New("invalid socket for HTTP server") + } + + router := http.NewServeMux() + + versionHandler := func(w http.ResponseWriter, r *http.Request) { + fmt.Fprintln(w, b.Api.ImageVersion) + } + + router.HandleFunc("/version", versionHandler) + + router.HandleFunc("/workshop/list", b.Api.ListWorkhops) + router.HandleFunc("/workshop/deploy", b.Api.DeployWorkshop) + router.HandleFunc("/workshop/delete", b.Api.DeleteWorkshop) + + server := http.Server{ + Handler: router, + } + + // The socket string can either be of the form host:nnn, or it can be a file + // system path (absolute or relative). In the first case we start up a + // normal HTTP server accepting connections over an INET socket connection. + // In the second case connections will be accepted over a UNIX socket. + + inetRegexPattern := `^([a-zA-Z0-9.-]+):(\d+)$` + + match, err := regexp.MatchString(inetRegexPattern, config.Socket) + + if err != nil { + return errors.Wrap(err, "failed to perform regex match on socket") + } + + var listener net.Listener + + if match { + listener, err = net.Listen("tcp", config.Socket) + + if err != nil { + return errors.Wrap(err, "unable to create INET HTTP server socket") + } + } else { + listener, err = net.Listen("unix", config.Socket) + + if err != nil { + return errors.Wrap(err, "unable to create UNIX HTTP server socket") + } + + defer os.Remove(config.Socket) + } + + defer listener.Close() + + go func() { + server.Serve(listener) + }() + + sigChan := make(chan os.Signal, 1) + signal.Notify(sigChan, os.Interrupt, syscall.SIGTERM) + <-sigChan + + err = server.Shutdown(context.TODO()) + + if err != nil { + return errors.Wrap(err, "failed to shutdown HTTP server") + } + + return nil +} diff --git a/client-programs/pkg/docker/extension_backend_api.go b/client-programs/pkg/docker/extension_backend_api.go new file mode 100644 index 000000000..f4bbbb81e --- /dev/null +++ b/client-programs/pkg/docker/extension_backend_api.go @@ -0,0 +1,145 @@ +package docker + +import ( + "encoding/json" + "fmt" + "net/http" + "os" + "strconv" + "strings" +) + +type DockerWorkshopsApi struct { + Manager DockerWorkshopsManager + ImageRepository string + ImageVersion string +} + +// func NewDockerWorkshopsApi(version string, imageRepository string) *DockerWorkshopsApi { +// return &DockerWorkshopsApi{ +// Manager: NewDockerWorkshopsManager(), +// ImageRepository: imageRepository, +// ImageVersion: version, +// } +// } + +func (b *DockerWorkshopsApi) ListWorkhops(w http.ResponseWriter, r *http.Request) { + workshops, err := b.Manager.ListWorkshops() + + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + jsonData, err := json.Marshal(workshops) + + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + w.Header().Set("Content-Type", "application/json") + + w.WriteHeader(http.StatusOK) + w.Write(jsonData) +} + +func (b *DockerWorkshopsApi) DeployWorkshop(w http.ResponseWriter, r *http.Request) { + queryParams := r.URL.Query() + + url := queryParams.Get("url") + + if url == "" { + http.Error(w, "workshop definition url required", http.StatusBadRequest) + return + } + + portString := queryParams.Get("port") + + if portString == "" { + portString = "10081" + } + + port, err := strconv.Atoi(portString) + + if err != nil || port <= 0 { + http.Error(w, "invalid workshop port supplied", http.StatusBadRequest) + return + } + + o := DockerWorkshopDeployConfig{ + Path: url, + Host: "127.0.0.1", + Port: uint(port), + LocalRepository: "localhost:5001", + DisableOpenBrowser: false, + ImageRepository: b.ImageRepository, + ImageVersion: b.ImageVersion, + Cluster: "", + KubeConfig: "", + Assets: "", + } + + name, err := b.Manager.DeployWorkshop(&o, os.Stdout, os.Stderr) + + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + sessionUrl := fmt.Sprintf("http://workshop.%s.nip.io:%d", strings.ReplaceAll(o.Host, ".", "-"), o.Port) + + workshop := DockerWorkshopDetails{ + Name: name, + Url: sessionUrl, + Source: url, + Status: "Started", + } + + jsonData, err := json.Marshal(workshop) + + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + w.Header().Set("Content-Type", "application/json") + + w.WriteHeader(http.StatusOK) + w.Write(jsonData) +} + +func (b *DockerWorkshopsApi) DeleteWorkshop(w http.ResponseWriter, r *http.Request) { + queryParams := r.URL.Query() + + name := queryParams.Get("name") + + if name == "" { + http.Error(w, "workshop session name required", http.StatusBadRequest) + return + } + + err := b.Manager.DeleteWorkshop(name, os.Stdout, os.Stderr) + + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + workshop := DockerWorkshopDetails{ + Name: name, + Status: "Stopped", + } + + jsonData, err := json.Marshal(workshop) + + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + w.Header().Set("Content-Type", "application/json") + + w.WriteHeader(http.StatusOK) + w.Write(jsonData) +} diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index 63f8cdb6d..04b166257 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -112,7 +112,7 @@ type DockerWorkshopDeployConfig struct { func (m *DockerWorkshopsManager) WorkshopStatus(name string) (DockerWorkshopDetails, bool) { - workshops, err := m.ListWorkhops() + workshops, err := m.ListWorkshops() if err != nil { return DockerWorkshopDetails{}, false @@ -148,7 +148,7 @@ func (m *DockerWorkshopsManager) ClearWorkshopStatus(name string) { m.StatusesMutex.Unlock() } -func (m *DockerWorkshopsManager) ListWorkhops() ([]DockerWorkshopDetails, error) { +func (m *DockerWorkshopsManager) ListWorkshops() ([]DockerWorkshopDetails, error) { setOfWorkshops := map[string]DockerWorkshopDetails{} workshopsList := []DockerWorkshopDetails{} diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops/manager.go index e0834315c..0c421c6c4 100644 --- a/client-programs/pkg/educates/resources/workshops/manager.go +++ b/client-programs/pkg/educates/resources/workshops/manager.go @@ -584,7 +584,6 @@ func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstruct } // Read in the workshop definition as raw data ready for parsing. - var workshopData []byte if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { diff --git a/go.work.sum b/go.work.sum index 6f215205a..aff19eaf5 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,15 +1,14 @@ bitbucket.org/bertimus9/systemstat v0.5.0/go.mod h1:EkUWPp8lKFPMXP8vnbpT5JDI0W/sTiLZAvN8ONWErHY= -<<<<<<< HEAD cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= -======= carvel.dev/imgpkg v0.44.0 h1:5f7LZKn8MALx2xldwNXm5TD6vn9NDQuHJs8Nag2Fr0Y= carvel.dev/kapp v0.59.2/go.mod h1:HAeURGw65eT00APPvnOQ8uDx5yvdrro2vtH5VYF1Zz0= carvel.dev/ytt v0.47.0/go.mod h1:Xarf0th61vX6VY07l3KBSi3uaMCQ2UyPPiCPiaVpHME= cel.dev/expr v0.16.1/go.mod h1:AsGA5zb3WruAEQeQng1RZdGEXmBj0jvMWh6l5SnNuC8= cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo= cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= +cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= @@ -203,172 +202,31 @@ github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbi github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b/go.mod h1:FNj4KYEAAHfYu68kRYolGoxkaJn+6mdEsaM12VTwuI0= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw= -<<<<<<< HEAD ->>>>>>> e681bce4 (Updates to docker-extension) github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= -======= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Microsoft/go-winio v0.4.21/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= github.com/Microsoft/hcsshim v0.8.25/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= github.com/Microsoft/hnslib v0.0.8/go.mod h1:EYveQJlhKh2obmEIRB3uKN6dBd9pj1frPsrTGFppKuk= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/Microsoft/hnslib v0.1.1/go.mod h1:DRQR4IjLae6WHYVhW7uqe44hmFUiNhmaWA+jwMbz5tM= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= -<<<<<<< HEAD -======= -github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= -github.com/PuerkitoBio/purell v1.0.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= -<<<<<<< HEAD -======= -github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= -github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= -github.com/alecthomas/kingpin/v2 v2.3.2/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= -<<<<<<< HEAD -======= -github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM= -github.com/antlr4-go/antlr/v4 v4.13.0 h1:lxCg3LAv+EUK6t1i0y1V6/SLeUi0eKEKdhQAlS8TVTI= -github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= -github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= -github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-lambda-go v1.41.0/go.mod h1:jwFe2KmMsHmffA1X2R09hH6lFzJQxzI8qK17ewzbQMM= -<<<<<<< HEAD github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -======= -github.com/aws/aws-sdk-go-v2 v1.7.1/go.mod h1:L5LuPC1ZgDr2xQS7AmIec/Jlc7O/Y1u2KxJyNVab250= -github.com/aws/aws-sdk-go-v2 v1.36.1 h1:iTDl5U6oAhkNPba0e1t1hrwAo02ZMqbrGq4k5JBWM5E= -github.com/aws/aws-sdk-go-v2 v1.36.1/go.mod h1:5PMILGVKiW32oDzjj6RU52yrNrDPUHcbZQYr1sM7qmM= -github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= -github.com/aws/aws-sdk-go-v2/config v1.5.0/go.mod h1:RWlPOAW3E3tbtNAqTwvSW54Of/yP3oiZXMI0xfUdjyA= -github.com/aws/aws-sdk-go-v2/config v1.29.6 h1:fqgqEKK5HaZVWLQoLiC9Q+xDlSp+1LYidp6ybGE2OGg= -github.com/aws/aws-sdk-go-v2/config v1.29.6/go.mod h1:Ft+WLODzDQmCTHDvqAH1JfC2xxbZ0MxpZAcJqmE1LTQ= -github.com/aws/aws-sdk-go-v2/credentials v1.3.1/go.mod h1:r0n73xwsIVagq8RsxmZbGSRQFj9As3je72C2WzUIToc= -github.com/aws/aws-sdk-go-v2/credentials v1.17.59 h1:9btwmrt//Q6JcSdgJOLI98sdr5p7tssS9yAsGe8aKP4= -github.com/aws/aws-sdk-go-v2/credentials v1.17.59/go.mod h1:NM8fM6ovI3zak23UISdWidyZuI1ghNe2xjzUZAyT+08= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.3.0/go.mod h1:2LAuqPx1I6jNfaGDucWfA2zqQCYCOMCDHiCOciALyNw= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28 h1:KwsodFKVQTlI5EyhRSugALzsV6mG/SGrdjlMXSZSdso= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.28/go.mod h1:EY3APf9MzygVhKuPXAc5H+MkGb8k/DOSQjWS0LgkKqI= -github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.10/go.mod h1:3HKuexPDcwLWPaqpW2UR/9n8N/u/3CKcGAzSs8p8u8g= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32 h1:BjUcr3X3K0wZPGFg2bxOWW3VPN8rkE3/61zhP+IHviA= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.3.32/go.mod h1:80+OGC/bgzzFFTUmcuwD0lb4YutwQeKLFpmt6hoWapU= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32 h1:m1GeXHVMJsRsUAqG6HjZWx9dj7F5TR+cF1bjyfYyBd4= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.6.32/go.mod h1:IitoQxGfaKdVLNg0hD8/DXmAqNy0H4K2H2Sf91ti8sI= -github.com/aws/aws-sdk-go-v2/internal/ini v1.1.1/go.mod h1:Zy8smImhTdOETZqfyn01iNOe0CNggVbPjCajyaz6Gvg= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2 h1:Pg9URiobXy85kgFev3og2CuOZ8JZUBENF+dcgWBaYNk= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.2/go.mod h1:FbtygfRFze9usAadmnGJNc8KsP346kEe+y2/oyhGAGc= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.4/go.mod h1:SPBBhkJxjcrzJBc+qY85e83MQ2q3qdra8fghhkkyrJg= -github.com/aws/aws-sdk-go-v2/service/ecr v1.4.1/go.mod h1:FglZcyeiBqcbvyinl+n14aT/EWC7S1MIH+Gan2iizt0= -github.com/aws/aws-sdk-go-v2/service/ecr v1.40.3 h1:a+210FCU/pR5hhKRaskRfX/ogcyyzFBrehcTk5DTAyU= -github.com/aws/aws-sdk-go-v2/service/ecr v1.40.3/go.mod h1:dtD3a4sjUjVL86e0NUvaqdGvds5ED6itUiZPDaT+Gh8= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.4.1/go.mod h1:eD5Eo4drVP2FLTw0G+SMIPWNWvQRGGTtIZR2XeAagoA= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.31.2 h1:E6/Myrj9HgLF22medmDrKmbpm4ULsa+cIBNx3phirBk= -github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.31.2/go.mod h1:OQ8NALFcchBJ/qruak6zKUQodovnTKKaReTuCkc5/9Y= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2 h1:D4oz8/CzT9bAEYtVhSBmFj2dNOtaHOtMKc2vHBwYizA= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.12.2/go.mod h1:Za3IHqTQ+yNcRHxu1OFucBh0ACZT4j4VQFF0BqpZcLY= -github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.4/go.mod h1:b17At0o8inygF+c6FOD3rNyYZufPw62o9XJbSfQPgbo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.2.1/go.mod h1:zceowr5Z1Nh2WVP8bf/3ikB41IZW59E4yIYbg+pC6mw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13 h1:SYVGSFQHlchIcy6e7x12bsrxClCXSP5et8cqVhL8cuw= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.12.13/go.mod h1:kizuDaLX37bG5WZaoxGPQR/LNFXpxp0vsUnqfkWXfNE= -github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.4/go.mod h1:DnbBOv4FlIXHj2/xmrUQYtawRFC9L9ZmQPz+DBc6X5I= -github.com/aws/aws-sdk-go-v2/service/s3 v1.87.1/go.mod h1:w5PC+6GHLkvMJKasYGVloB3TduOtROEMqm15HSuIbw4= -github.com/aws/aws-sdk-go-v2/service/sso v1.3.1/go.mod h1:J3A3RGUvuCZjvSuZEcOpHDnzZP/sKbhDWV2T1EOzFIM= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.15 h1:/eE3DogBjYlvlbhd2ssWyeuovWunHLxfgw3s/OJa4GQ= -github.com/aws/aws-sdk-go-v2/service/sso v1.24.15/go.mod h1:2PCJYpi7EKeA5SkStAmZlF6fi0uUABuhtF8ILHjGc3Y= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14 h1:M/zwXiL2iXUrHputuXgmO94TVNmcenPHxgLXLutodKE= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.28.14/go.mod h1:RVwIw3y/IqxC2YEXSIkAzRDdEU1iRabDPaYjpGCbCGQ= -github.com/aws/aws-sdk-go-v2/service/sts v1.6.0/go.mod h1:q7o0j7d7HrJk/vr9uUt3BVRASvcU7gYZB9PUgPiByXg= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.14 h1:TzeR06UCMUq+KA3bDkujxK1GVGy+G8qQN/QVYzGLkQE= -github.com/aws/aws-sdk-go-v2/service/sts v1.33.14/go.mod h1:dspXf/oYWGWo6DEvj98wpaTeqt5+DMidZD0A9BYTizc= -github.com/aws/smithy-go v1.6.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= -github.com/aws/smithy-go v1.22.2 h1:6D9hW43xKFrRx/tXXfAlIZc4JI+yQe6snnWcQyxSyLQ= -github.com/aws/smithy-go v1.22.2/go.mod h1:irrKGvNn1InZwb2d7fkIRNucdfwR8R+Ts3wxYa/cJHg= -github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.0.0-20220517224237-e6f29200ae04/go.mod h1:Z+bXnIbhKJYSvxNwsNnwde7pDKxuqlEZCbUBoTwAqf0= -github.com/bazelbuild/bazelisk v1.13.2/go.mod h1:jVD8/E7hMAXgWKCljEz8hOV0PZ+nFBgCpjIOJ6Xyzus= -github.com/bazelbuild/rules_go v0.34.0/go.mod h1:MC23Dc/wkXEyk3Wpq6lCqz0ZAYOZDw2DR5y3N1q2i7M= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= -github.com/bmatcuk/doublestar v1.2.1 h1:eetYiv8DDYOZcBADY+pRvRytf3Dlz1FhnpvL2FsClBc= -github.com/bmatcuk/doublestar v1.2.1/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= -github.com/cenkalti/backoff/v4 v4.2.1/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK343L8= -github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -github.com/census-instrumentation/opencensus-proto v0.4.1/go.mod h1:4T9NM4+4Vw91VeyqjLS6ao50K5bOcLKN6Q42XnYaRYw= -github.com/cespare/xxhash/v2 v2.1.2/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= -<<<<<<< HEAD -======= -github.com/checkpoint-restore/checkpointctl v1.4.0/go.mod h1:ynQ52zQBazgcTZuxpwTFzRinIcAf0haDTC1X1LA/FKA= -github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= -github.com/checkpoint-restore/go-criu/v7 v7.2.0/go.mod h1:u0LCWLg0w4yqqu14aXhiB4YD3a1qd8EcCEg7vda5dwo= -github.com/cheggaaa/pb/v3 v3.1.4/go.mod h1:6wVjILNBaXMs8c21qRiaUM8BR82erfgau1DQ4iUXmSA= -github.com/chrismellard/docker-credential-acr-env v0.0.0-20220327082430-c57b701bfc08 h1:9Qh4lJ/KMr5iS1zfZ8I97+3MDpiKjl+0lZVUNBhdvRs= -github.com/chrismellard/docker-credential-acr-env v0.0.0-20220327082430-c57b701bfc08/go.mod h1:MAuu1uDJNOS3T3ui0qmKdPUwm59+bO19BbTph2wZafE= -github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= -<<<<<<< HEAD github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5/go.mod h1:KdCmV+x/BuvyMxRnYBlmVaq4OLiKW6iRQfvC62cvdkI= -======= -github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= -github.com/cilium/ebpf v0.9.1/go.mod h1:+OhNOIXx/Fnu1IE8bJz2dzOA+VSfyTfdNUVdlQnxUFY= -github.com/cilium/ebpf v0.16.0/go.mod h1:L7u2Blt2jMM/vLAVgjxluxtBKlz3/GWjB0dMOEngfwE= -github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= -github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20220112060539-c52dc94e7fbe/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI= -github.com/cncf/xds/go v0.0.0-20230607035331-e9ce68804cb4/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs= -github.com/cncf/xds/go v0.0.0-20240318125728-8a4994d93e50/go.mod h1:5e1+Vvlzido69INQaVO6d87Qn543Xr6nooe9Kz7oBFM= -github.com/cncf/xds/go v0.0.0-20240905190251-b4127c9b8d78/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/cncf/xds/go v0.0.0-20241223141626-cff3c89139a3/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/cncf/xds/go v0.0.0-20250501225837-2ac532fd4443/go.mod h1:W+zGtBO5Y1IgJhy4+A9GOqVhqLpfZi+vwmdNXUehLA8= -github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4= -github.com/compose-spec/compose-go/v2 v2.9.1 h1:8UwI+ujNU+9Ffkf/YgAm/qM9/eU7Jn8nHzWG721W4rs= -github.com/compose-spec/compose-go/v2 v2.9.1/go.mod h1:Oky9AZGTRB4E+0VbTPZTUu4Kp+oEMMuwZXZtPPVT1iE= -github.com/container-storage-interface/spec v1.8.0/go.mod h1:ROLik+GhPslwwWRNFF1KasPzroNARibH2rfz1rkg4H0= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/container-storage-interface/spec v1.9.0/go.mod h1:ZfDu+3ZRyeVqxZM0Ds19MVLkN2d1XJ5MAfi1L3VjlT0= -<<<<<<< HEAD -======= -github.com/containerd/accelerated-container-image v1.3.0/go.mod h1:EvKVWor6ZQNUyYp0MZm5hw4k21ropuz7EegM+m/Jb/Q= -github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= -github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= -github.com/containerd/console v1.0.3/go.mod h1:7LqA/THxQ86k76b8c/EMSiaJ3h1eZkMkXar0TQ1gf3U= -github.com/containerd/containerd/api v1.7.19/go.mod h1:fwGavl3LNwAV5ilJ0sbrABL44AQxmNjDRcwheXDb6Ig= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/containerd/containerd/api v1.8.0/go.mod h1:dFv4lt6S20wTu/hMcP4350RL87qPWLVa/OHOwmmdnYc= -<<<<<<< HEAD -======= -github.com/containerd/errdefs v0.1.0/go.mod h1:YgWiiHtLmSeBrvpw+UfPijzbLaB77mEG1WwJTDETIV0= -github.com/containerd/fuse-overlayfs-snapshotter/v2 v2.1.6/go.mod h1:Mau9LZ7ZnyKCIgcNT7sMG5fjaZ9YCOHU5RuolUikhBQ= -github.com/containerd/go-cni v1.1.13/go.mod h1:nTieub0XDRmvCZ9VI/SBG6PyqT95N4FIhxsauF1vSBI= -github.com/containerd/go-runc v1.1.0/go.mod h1:xJv2hFF7GvHtTJd9JqTS2UVxMkULUYw4JN5XAUZqH5U= -github.com/containerd/imgcrypt/v2 v2.0.1/go.mod h1:/qIJL8nxzdzMA2n5iYyyuIY36KfoVQWmgTWdfVtyebM= -github.com/containerd/nri v0.10.0/go.mod h1:5VyvLa/4uL8FjyO8nis1UjbCutXDpngil17KvBSL6BU= -github.com/containerd/otelttrpc v0.1.0/go.mod h1:XhoA2VvaGPW1clB2ULwrBZfXVuEWuyOd2NUD1IM0yTg= -github.com/containerd/stargz-snapshotter v0.17.0 h1:djNS4KU8ztFhLdEDZ1bsfzOiYuVHT6TgSU5qwRk+cNc= -github.com/containerd/stargz-snapshotter v0.17.0/go.mod h1:ySEul1ck7jCE4jqsuFCo8FFLrHU20UWQeI9g7mdsanI= -github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= -github.com/containerd/ttrpc v1.2.2/go.mod h1:sIT6l32Ph/H9cvnJsfXM5drIVzTr5A2flTf1G5tYZak= -github.com/containerd/ttrpc v1.2.5/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/containerd/ttrpc v1.2.6/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= github.com/containerd/typeurl/v2 v2.2.2/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= github.com/containerd/zfs/v2 v2.0.0-rc.0/go.mod h1:g36g/XCEGDRxUXIFdM3oWAEvmTvhfz/eKWElqg4Secw= @@ -378,9 +236,8 @@ github.com/containers/ocicrypt v1.2.1/go.mod h1:aD0AAqfMp0MtwqWgHM1bUwe1anx0VazI github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= github.com/coredns/corefile-migration v1.0.26/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -<<<<<<< HEAD github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -======= +github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cppforlife/cobrautil v0.0.0-20221021151949-d60711905d65/go.mod h1:2w+qxVu2KSGW78Ex/XaIqfh/OvBgjEsmN53S4T8vEyA= @@ -389,45 +246,15 @@ github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46t github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= -github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.3.4/go.mod h1:8s/MCNJREmFK0H02MF6Ihv1nakJe4L/w3WZLHNkvlYM= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/danieljoos/wincred v1.2.3/go.mod h1:6qqX0WNrS4RzPZ1tnroDzq9kY3fu1KwE7MRLQK4X0bs= -<<<<<<< HEAD -======= -github.com/davecgh/go-spew v0.0.0-20151105211317-5215b55f46b2/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c= -github.com/dimchansky/utfbom v1.1.0 h1:FcM3g+nofKgUteL8dm/UpdRXNC9KmADgTpLKsu0TRo4= -github.com/dimchansky/utfbom v1.1.0/go.mod h1:rO41eb7gLfo8SF1jd9F8HplJm1Fewwi4mQvIirEdv+8= -github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= -github.com/docker/cli v24.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/cli v27.5.0+incompatible h1:aMphQkcGtpHixwwhAXJT1rrK/detk2JIvDaFkLctbGM= -github.com/docker/cli v27.5.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/cli-docs-tool v0.11.0 h1:7d8QARFb7QEobizqxmEM7fOteZEHwH/zWgHQtHZEcfE= -github.com/docker/cli-docs-tool v0.11.0/go.mod h1:ma8BKiisUo8D6W05XEYIh3oa1UbgrZhi1nowyKFJa8Q= -github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v24.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v27.5.0+incompatible h1:um++2NcQtGRTz5eEgO6aJimo6/JxrTXC941hd05JO6U= -github.com/docker/docker v27.5.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker v28.0.2+incompatible h1:9BILleFwug5FSSqWBgVevgL3ewDJfWWWyZVqlDMttE8= -github.com/docker/docker v28.0.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.6.3/go.mod h1:WRaJzqw3CTB9bk10avuGsjVBZsD05qeibJ1/TYlvc0Y= -github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= -github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= -github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= -github.com/docopt/docopt-go v0.0.0-20180111231733-ee0de3bc6815/go.mod h1:WwZ+bS3ebgob9U8Nd0kOddGdZWjyMGR8Wziv+TBNwSE= -github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epTksy9HQ1MyrbDXSdYhM= github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -<<<<<<< HEAD github.com/envoyproxy/go-control-plane v0.14.0/go.mod h1:NcS5X47pLl/hfqxU70yPwL9ZMkUlwlKxtAohpi2wBEU= github.com/envoyproxy/go-control-plane/envoy v1.36.0/go.mod h1:ty89S1YCCVruQAm9OtKeEkQLTb+Lkz0k8v9W0Oxsv98= -======= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= @@ -443,33 +270,24 @@ github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnv github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA= github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329/go.mod h1:Alz8LEClvR7xKsrq3qzoc4N0guvVNSS8KmSChGYr9hs= github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= -<<<<<<< HEAD ->>>>>>> e681bce4 (Updates to docker-extension) -======= github.com/envoyproxy/go-control-plane/envoy v1.35.0/go.mod h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= github.com/envoyproxy/protoc-gen-validate v1.3.0/go.mod h1:HvYl7zwPa5mffgyeTUHA9zHIH36nmrm7oCbo4YKoSWA= github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= -<<<<<<< HEAD github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -<<<<<<< HEAD github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= -======= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= -======= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/fxamacker/cbor/v2 v2.6.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getkin/kin-openapi v0.81.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= @@ -490,81 +308,34 @@ github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= -github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= -github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= -github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= -github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= -github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= -github.com/go-logr/zapr v1.3.0/go.mod h1:YKepepNBd1u/oyhd/yQmtjVXmm9uML4IXUgMOwR8/Gg= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= -github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= -github.com/go-openapi/jsonpointer v0.22.1 h1:sHYI1He3b9NqJ4wXLoJDKmUmHkWy/L7rtEo92JUxBNk= -github.com/go-openapi/jsonpointer v0.22.1/go.mod h1:pQT9OsLkfz1yWoMgYFy4x3U5GY5nUlsOn1qSBH5MkCM= github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/jsonreference v0.20.2 h1:3sVjiK66+uXK/6oQ8xgcRKcFgQ5KXa2KvnJRumpMGbE= -github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= -github.com/go-openapi/jsonreference v0.21.3 h1:96Dn+MRPa0nYAR8DR1E03SblB5FJvh7W6krPI0Z7qMc= -github.com/go-openapi/jsonreference v0.21.3/go.mod h1:RqkUP0MrLf37HqxZxrIAtTWW4ZJIK1VzduhXYBEeGc4= github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= -github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= -github.com/go-openapi/swag v0.25.1 h1:6uwVsx+/OuvFVPqfQmOOPsqTcm5/GkBhNwLqIR916n8= -github.com/go-openapi/swag v0.25.1/go.mod h1:bzONdGlT0fkStgGPd3bhZf1MnuPkf2YAys6h+jZipOo= -github.com/go-openapi/swag/cmdutils v0.25.1 h1:nDke3nAFDArAa631aitksFGj2omusks88GF1VwdYqPY= -github.com/go-openapi/swag/cmdutils v0.25.1/go.mod h1:pdae/AFo6WxLl5L0rq87eRzVPm/XRHM3MoYgRMvG4A0= -github.com/go-openapi/swag/conv v0.25.1 h1:+9o8YUg6QuqqBM5X6rYL/p1dpWeZRhoIt9x7CCP+he0= -github.com/go-openapi/swag/conv v0.25.1/go.mod h1:Z1mFEGPfyIKPu0806khI3zF+/EUXde+fdeksUl2NiDs= -github.com/go-openapi/swag/fileutils v0.25.1 h1:rSRXapjQequt7kqalKXdcpIegIShhTPXx7yw0kek2uU= -github.com/go-openapi/swag/fileutils v0.25.1/go.mod h1:+NXtt5xNZZqmpIpjqcujqojGFek9/w55b3ecmOdtg8M= -github.com/go-openapi/swag/jsonname v0.25.1 h1:Sgx+qbwa4ej6AomWC6pEfXrA6uP2RkaNjA9BR8a1RJU= -github.com/go-openapi/swag/jsonname v0.25.1/go.mod h1:71Tekow6UOLBD3wS7XhdT98g5J5GR13NOTQ9/6Q11Zo= -github.com/go-openapi/swag/jsonutils v0.25.1 h1:AihLHaD0brrkJoMqEZOBNzTLnk81Kg9cWr+SPtxtgl8= -github.com/go-openapi/swag/jsonutils v0.25.1/go.mod h1:JpEkAjxQXpiaHmRO04N1zE4qbUEg3b7Udll7AMGTNOo= -github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.1/go.mod h1:kjmweouyPwRUEYMSrbAidoLMGeJ5p6zdHi9BgZiqmsg= -github.com/go-openapi/swag/loading v0.25.1 h1:6OruqzjWoJyanZOim58iG2vj934TysYVptyaoXS24kw= -github.com/go-openapi/swag/loading v0.25.1/go.mod h1:xoIe2EG32NOYYbqxvXgPzne989bWvSNoWoyQVWEZicc= -github.com/go-openapi/swag/mangling v0.25.1 h1:XzILnLzhZPZNtmxKaz/2xIGPQsBsvmCjrJOWGNz/ync= -github.com/go-openapi/swag/mangling v0.25.1/go.mod h1:CdiMQ6pnfAgyQGSOIYnZkXvqhnnwOn997uXZMAd/7mQ= -github.com/go-openapi/swag/netutils v0.25.1 h1:2wFLYahe40tDUHfKT1GRC4rfa5T1B4GWZ+msEFA4Fl4= -github.com/go-openapi/swag/netutils v0.25.1/go.mod h1:CAkkvqnUJX8NV96tNhEQvKz8SQo2KF0f7LleiJwIeRE= -github.com/go-openapi/swag/stringutils v0.25.1 h1:Xasqgjvk30eUe8VKdmyzKtjkVjeiXx1Iz0zDfMNpPbw= -github.com/go-openapi/swag/stringutils v0.25.1/go.mod h1:JLdSAq5169HaiDUbTvArA2yQxmgn4D6h4A+4HqVvAYg= -github.com/go-openapi/swag/typeutils v0.25.1 h1:rD/9HsEQieewNt6/k+JBwkxuAHktFtH3I3ysiFZqukA= -github.com/go-openapi/swag/typeutils v0.25.1/go.mod h1:9McMC/oCdS4BKwk2shEB7x17P6HmMmA6dQRtAkSnNb8= -github.com/go-openapi/swag/yamlutils v0.25.1 h1:mry5ez8joJwzvMbaTGLhw8pXUnhDK91oSJLDPF1bmGk= -github.com/go-openapi/swag/yamlutils v0.25.1/go.mod h1:cm9ywbzncy3y6uPm/97ysW8+wZ09qsks+9RS8fLWKqg= -github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -<<<<<<< HEAD github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= ->>>>>>> e681bce4 (Updates to docker-extension) -======= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= -<<<<<<< HEAD -======= -github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= @@ -582,83 +353,13 @@ github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9 github.com/google/cadvisor v0.49.0/go.mod h1:s6Fqwb2KiWG6leCegVhw4KW40tf9f7m+SF1aXiE8Wsk= github.com/google/cadvisor v0.49.2/go.mod h1:s6Fqwb2KiWG6leCegVhw4KW40tf9f7m+SF1aXiE8Wsk= github.com/google/cadvisor v0.51.0/go.mod h1:czGE/c/P/i0QFpVNKTFrIEzord9Y10YfpwuaSWXELc0= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/google/cadvisor v0.52.1/go.mod h1:OAhPcx1nOm5YwMh/JhpUOMKyv1YKLRtS9KgzWPndHmA= -<<<<<<< HEAD -github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -======= -github.com/google/cel-go v0.12.7/go.mod h1:Jk7ljRzLBhkmiAwBoUxB1sZSCVBAzkqPF25olK/iRDw= -github.com/google/cel-go v0.17.7/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY= -github.com/google/cel-go v0.17.8/go.mod h1:HXZKzB0LXqer5lHHgfWAnlYwJaQBDKMjxjulNQzhwhY= -github.com/google/cel-go v0.22.0 h1:b3FJZxpiv1vTMo2/5RDUqAHPxkT8mmMfJIrq1llbf7g= -github.com/google/cel-go v0.22.0/go.mod h1:BuznPXXfQDpXKWQ9sPW3TzlAJN5zzFe+i9tIs0yC4s8= -github.com/google/cel-go v0.23.2 h1:UdEe3CvQh3Nv+E/j9r1Y//WO0K0cSyD7/y0bzyLIMI4= -github.com/google/cel-go v0.23.2/go.mod h1:52Pb6QsDbC5kvgxvZhiL9QX1oZEkcUF/ZqaPx1J5Wwo= -github.com/google/cel-go v0.24.1 h1:jsBCtxG8mM5wiUJDSGUqU0K7Mtr3w7Eyv00rw4DiZxI= -github.com/google/cel-go v0.24.1/go.mod h1:Hdf9TqOaTNSFQA1ybQaRqATVoK7m/zcf7IMhGXP5zI8= -github.com/google/certtostore v1.0.6/go.mod h1:2N0ZPLkGvQWhYvXaiBGq02r71fnSLfq78VKIWQHr1wo= -github.com/google/deck v0.0.0-20230104221208-105ad94aa8ae/go.mod h1:DoDv8G58DuLNZF0KysYn0bA/6ZWhmRW3fZE2VnGEH0w= -github.com/google/gnostic v0.5.7-v3refs h1:FhTMOKj2VhjpouxvWJAV1TL304uMlb9zcDqkl6cEI54= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= -github.com/google/gnostic-models v0.6.8 h1:yo/ABAfM5IMRsS1VnXjTBvUb61tFIHozhlYvRgGre9I= -github.com/google/gnostic-models v0.6.8/go.mod h1:5n7qKqH0f5wFt+aWF8CW6pZLLNOfYuF5OpfBSENuI8U= -github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.8/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= -github.com/google/go-containerregistry v0.16.1/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= -github.com/google/go-containerregistry v0.17.0/go.mod h1:u0qB2l7mvtWVR5kNcbFIhFY1hLbf8eeGapA+vbFDCtQ= -github.com/google/go-containerregistry v0.20.2 h1:B1wPJ1SN/S7pB+ZAimcciVD+r+yV/l/DSArMxlbwseo= -github.com/google/go-dap v0.12.0/go.mod h1:tNjCASCm5cqePi/RVXXWEVqtnNLV1KTWtYOqu6rZNzc= -github.com/google/go-pkcs11 v0.2.1-0.20230907215043-c6f79328ddf9/go.mod h1:6eQoGcuNJpa7jnd5pMGdkSaQpNDYvPlXWMcjXXThLlY= -github.com/google/gofuzz v0.0.0-20161122191042-44d81051d367/go.mod h1:HP5RmnzzSNb993RKQDq4+1A4ia9nllfqcQFTQJedwGI= -github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.3.2/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk= -github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20240727154555-813a5fbdbec8/go.mod h1:K1liHPHnj73Fdn/EKuT8nrFqBihUSKXoLYU0BuatOYo= -github.com/google/pprof v0.0.0-20240827171923-fa2c70bbbfe5/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/pprof v0.0.0-20250315033105-103756e64e1d/go.mod h1:vavhavw2zAxS5dIdcRluK6cSGGPlZynqzFM8NdvU144= -github.com/google/s2a-go v0.1.7/go.mod h1:50CgR4k1jNlWBu4UfS4AcfhVe1r6pdZPygJ3R8F0Qdw= -github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0dXayM= -github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2 h1:SJ+NtwL6QaZ21U+IrK7d0gGgpjGGvd2kz+FzTHVzdqI= -github.com/google/safetext v0.0.0-20220905092116-b49f7bc46da2/go.mod h1:Tv1PlzqC9t8wNnpPdctvtSUOPUUg4SHeE6vR1Ir2hmg= -github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= -github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= -github.com/googleapis/enterprise-certificate-proxy v0.3.2/go.mod h1:VLSiSSBs/ksPL8kq3OBOQ6WRI2QnaFynd1DCjZ62+V0= -github.com/googleapis/enterprise-certificate-proxy v0.3.5/go.mod h1:MkHOF77EYAE7qfSuSS9PU6g4Nt4e11cnsDUowfwewLA= -github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= -github.com/googleapis/gax-go/v2 v2.12.0/go.mod h1:y+aIqrI5eb1YGMVJfuV3185Ts/D7qKpsEkdD5+I6QGU= -github.com/googleapis/gax-go/v2 v2.13.0/go.mod h1:Z/fvTZXF8/uw7Xu5GuslPw+bplx6SS338j1Is2S+B7A= -github.com/googleapis/gax-go/v2 v2.14.1/go.mod h1:Hb/NubMaVM88SrNkvl8X/o8XWwDJEPqouaLeN2IUxoA= -github.com/googleapis/gnostic v0.0.0-20170729233727-0c5108395e2d/go.mod h1:sJBsCZ4ayReDTBIg8b9dl28c5xFWyhBTVRp3pOg5EKY= -github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= -github.com/gorilla/websocket v1.5.0/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= -github.com/gregjones/httpcache v0.0.0-20180305231024-9cad4c3443a7/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1/go.mod h1:lXGCsh6c22WGtjr+qGHj1otzZpV/1kwTMAqkwZsnWRU= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0/go.mod h1:hM2alZsMUni80N33RBe6J0e423LB+odMj7d3EMP9l20= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.0/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc= -<<<<<<< HEAD -======= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= @@ -672,31 +373,24 @@ github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3 github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -<<<<<<< HEAD ->>>>>>> e681bce4 (Updates to docker-extension) github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= -======= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= github.com/hiddeco/sshsig v0.2.0/go.mod h1:nJc98aGgiH6Yql2doqH4CTBVHexQA40Q+hMMLHP4EqE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +github.com/ianlancetaylor/demangle v0.0.0-20250417193237-f615e6bd150b/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= github.com/intel/goresctrl v0.10.0/go.mod h1:1S8GDqL46GuKb525bxNhIEEkhf4rhVcbSf9DuKhp7mw= github.com/ishidawataru/sctp v0.0.0-20230406120618-7ff4192f6ff2/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/ishidawataru/sctp v0.0.0-20250521072954-ae8eb7fa7995/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= github.com/jessevdk/go-flags v1.6.1/go.mod h1:Mk8T1hIAWpOiJiHa9rJASDK2UGWji0EuPGBnNLMooyc= -<<<<<<< HEAD github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= -======= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= @@ -705,29 +399,12 @@ github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1q github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= github.com/kisielk/errcheck v1.8.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= -<<<<<<< HEAD -======= -github.com/klauspost/compress v1.16.5/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/compress v1.17.2/go.mod h1:ntbaceVETuRiXiv4DpjP66DpAtAGkEQskQzEyD//IeE= -github.com/klauspost/compress v1.17.11 h1:In6xLpyWOi1+C7tXUUWv2ot1QvBjxevKAaI6IXrJmUc= -github.com/klauspost/compress v1.17.11/go.mod h1:pMDklpSncoRMuLFrf1W9Ss9KT+0rH90U12bZKk7uwG0= -github.com/knqyf263/go-plugin v0.9.0/go.mod h1:2z5lCO1/pez6qGo8CvCxSlBFSEat4MEp1DrnA+f7w8Q= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -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/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -<<<<<<< HEAD -<<<<<<< HEAD github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -======= -======= github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= @@ -737,118 +414,69 @@ github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/ github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.11.2/go.mod h1:VzB2VoMh1Y32/QqDfg9ZJYHj99oM4LiGtqPZydTiQSQ= github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnENvE+SE= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= -github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= -<<<<<<< HEAD -======= github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/moby/ipvs v1.1.0/go.mod h1:4VJMWuf098bsUMmZEiD4Tjk/O7mOn3l1PTD3s4OoYAs= -<<<<<<< HEAD -======= github.com/moby/moby v27.1.1+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= github.com/moby/policy-helpers v0.0.0-20251105011237-bcaa71c99f14/go.mod h1:HJfK0E8dR+Jpk5anJ3oADg2dRSom1gJK17sqEiiMS7w= github.com/moby/profiles/seccomp v0.1.0/go.mod h1:Kqk57vxH6/wuOc5bmqRiSXJ6iEz8Pvo3LQRkv0ytFWs= github.com/moby/sys/mount v0.3.4/go.mod h1:KcQJMbQdJHPlq5lcYT+/CjatWM4PuxKe+XLSVS4J6Os= github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= -<<<<<<< HEAD ->>>>>>> e681bce4 (Updates to docker-extension) github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4= github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= -<<<<<<< HEAD -======= -======= -github.com/moby/sys/reexec v0.1.0/go.mod h1:EqjBg8F3X7iZe5pU6nRZnYCMUTXoxsjiIfHup5wYIN8= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/mrunalp/fileutils v0.5.1/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -<<<<<<< HEAD -======= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= +github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI= +github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= +github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/onsi/gomega v1.34.2/go.mod h1:v1xfxRgk0KIsG+QOdm7p8UosrOzPYRo60fd3B/1Dukc= -<<<<<<< HEAD github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= ->>>>>>> e681bce4 (Updates to docker-extension) -======= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/opencontainers/cgroups v0.0.1/go.mod h1:s8lktyhlGUqM7OSRL5P7eAW6Wb+kWPNvt4qvVfzA5vs= github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -<<<<<<< HEAD -======= -github.com/opencontainers/runtime-tools v0.9.1-0.20251114084447-edf4cb3d2116/go.mod h1:DKDEfzxvRkoQ6n9TGhxQgg2IM1lY4aM0eaQP4e3oElw= -github.com/opencontainers/selinux v1.11.0/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/opencontainers/selinux v1.11.1/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE= -<<<<<<< HEAD -======= -github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11 h1:eTNDkNRNV5lZvUbVM9Nop0lBcljSnA8rZX6yQPZ0ZnU= -github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11/go.mod h1:EmVJt97N+pfWFsli/ipXTBZqSG5F5KGQhm3c3IsGq1o= -github.com/openshift/generic-admission-server v1.14.1-0.20231020105858-8dcc3c9b298f/go.mod h1:/CLsleDcQ6AFTGKJe9VL3Y4rB9DqX3fQwQv47q2/ZJc= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/openshift/generic-admission-server v1.14.1-0.20240926143655-a882ebf9df19/go.mod h1:eNpBvr/3zce6zLOeCtBw48xbCp8SLAmQqu/rb7vFE9Y= -<<<<<<< HEAD github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= -======= -github.com/otiai10/copy v1.2.0 h1:HvG945u96iNadPoG2/Ja2+AUJeW5YuFQMixq9yirC+k= -github.com/otiai10/copy v1.2.0/go.mod h1:rrF5dJ5F0t/EWSYODDu4j9/vEeYHMkc8jt0zJChqQWw= -github.com/otiai10/curr v0.0.0-20150429015615-9b4961190c95/go.mod h1:9qAhocn7zKJG+0mI8eUu6xqkFDYS2kb2saOteoSB3cE= -github.com/otiai10/curr v1.0.0/go.mod h1:LskTG5wDwr8Rs+nNQ+1LlxRjAtTZZjtJW4rMXl6j4vs= -github.com/otiai10/mint v1.3.0/go.mod h1:F5AjcsTsWUqX+Na9fpHb52P8pcRX2CI6A3ctIT91xUo= -github.com/otiai10/mint v1.3.1/go.mod h1:/yxELlJQ0ufhjUwhshSj+wFjZ78CnZ48/1wtmBH1OTc= -github.com/package-url/packageurl-go v0.1.1/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= -github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= -github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= -github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -github.com/pmezard/go-difflib v0.0.0-20151028094244-d8ed2627bdf0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= -<<<<<<< HEAD github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= -======= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI= github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlkOQntgjkJWKrN5txjA= github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= +github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= @@ -859,18 +487,18 @@ github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGy github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= -github.com/prometheus/common v0.67.2 h1:PcBAckGFTIHt2+L3I33uNRTlKTplNzFctXcWhPyAEN8= -github.com/prometheus/common v0.67.2/go.mod h1:63W3KZb1JOKgcjlIr64WW/LvFGAqKPj0atm+knVGEko= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= +github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= +github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= @@ -881,52 +509,39 @@ github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6Mwd github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= -<<<<<<< HEAD ->>>>>>> e681bce4 (Updates to docker-extension) -======= github.com/smallstep/pkcs7 v0.1.1/go.mod h1:dL6j5AIz9GHjVEBTXtW+QliALcgM19RtXaTeyxI+AfA= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -<<<<<<< HEAD github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= -======= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/cobra v1.2.0/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= -github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6/go.mod h1:39R/xuhNgVhi+K0/zst4TLrJrVmbm6LVgl4A0+ZFS5M= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= +github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= +github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -<<<<<<< HEAD github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= -<<<<<<< HEAD -======= -======= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= github.com/tchap/go-patricia/v2 v2.3.3/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM= -github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= github.com/tonistiigi/go-actions-cache v0.0.0-20250626083717-378c5ed1ddd9/go.mod h1:cD0SB2270BYw6HYKriFn4H6NRLhGj6ytf48YTpsm8LY= github.com/tonistiigi/go-archvariant v1.0.0/go.mod h1:TxFmO5VS6vMq2kvs3ht04iPXtu2rUT/erOnGFYfk5Ho= @@ -936,36 +551,24 @@ github.com/urfave/cli v1.22.15/go.mod h1:wSan1hmo5zeyLGBjRJbzRTNk8gwoYa2B9n4q9dm github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= github.com/urfave/cli v1.22.17/go.mod h1:b0ht0aqgH/6pBYzzxURyrM4xXNgsoT/n2ZzwQiEhNVo= github.com/urfave/cli/v2 v2.27.7/go.mod h1:CyNAG/xg+iAOg0N4MPGZqVmv2rCoP267496AOXUZjA4= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY= github.com/vbatts/tar-split v0.11.6 h1:4SjTW5+PU11n6fZenf2IPoV8/tz3AaYHMWjf23envGs= github.com/vbatts/tar-split v0.11.6/go.mod h1:dqKNtesIOr2j2Qv3W/cHjnvk9I8+G7oAkFDFN6TCBEI= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/vishvananda/netlink v1.3.1/go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4= github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= -<<<<<<< HEAD -<<<<<<< HEAD -======= github.com/vito/go-interact v1.0.2 h1:viJuANio3WH9utUG4rKbJC9V3JR5JgYNS+i0efeA+GU= github.com/vito/go-interact v1.0.2/go.mod h1:s+y0jK9Z2etBYt5ZM6+DhpOsE5C7NNGC3jrJvW0BBpc= -======= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) github.com/vmware-tanzu/carvel-imgpkg v0.36.0 h1:ha5a3WUPaqpGlP+QRkKBA9WyT85vUPh7+57x94Cmj58= github.com/vmware-tanzu/carvel-imgpkg v0.36.0/go.mod h1:8HeIt+froyx7iRjyZ/4py2wFMPXEFNyWUNUTQgAjD8M= github.com/vmware-tanzu/carvel-imgpkg v0.38.2/go.mod h1:v9BcO1qfXwwIQFw2zmksdUkx8eI1e+/a0Md3xG2BzDE= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= -<<<<<<< HEAD github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= ->>>>>>> e681bce4 (Updates to docker-extension) github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= -<<<<<<< HEAD -======= -======= github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= @@ -979,29 +582,28 @@ go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= go.etcd.io/etcd/api/v3 v3.5.8/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= +go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.8/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= +go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= go.etcd.io/etcd/client/v2 v2.305.16/go.mod h1:h9YxWCzcdvZENbfzBTFCnoNumr2ax3F19sKMqHFmXHE= go.etcd.io/etcd/client/v3 v3.5.8/go.mod h1:idZYIPVkttBJBiRigkB5EM0MmEyx8jcl18zCV3F5noc= +go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= go.etcd.io/etcd/pkg/v3 v3.5.10/go.mod h1:TKTuCKKcF1zxmfKWDkfz5qqYaE3JncKKZPFf8c1nFUs= go.etcd.io/etcd/pkg/v3 v3.5.16/go.mod h1:+lutCZHG5MBBFI/U4eYT5yL7sJfnexsoM20Y0t2uNuY= ->>>>>>> e681bce4 (Updates to docker-extension) go.etcd.io/etcd/pkg/v3 v3.6.4/go.mod h1:kKcYWP8gHuBRcteyv6MXWSN0+bVMnfgqiHueIZnKMtE= go.etcd.io/etcd/server/v3 v3.6.4/go.mod h1:aYCL/h43yiONOv0QIR82kH/2xZ7m+IWYjzRmyQfnCAg= go.etcd.io/raft/v3 v3.6.0/go.mod h1:nLvLevg6+xrVtHUmVaTcTz603gQPHfh7kUAwV6YpfGo= -<<<<<<< HEAD go.opentelemetry.io/contrib/detectors/gcp v1.39.0/go.mod h1:t/OGqzHBa5v6RHZwrDBJ2OirWc+4q/w2fTbLZwAKjTk= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= -======= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= @@ -1075,19 +677,13 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= -<<<<<<< HEAD go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= ->>>>>>> e681bce4 (Updates to docker-extension) -======= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -<<<<<<< HEAD golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= -======= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= @@ -1095,6 +691,7 @@ go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.yaml.in/yaml/v3 v3.0.3/go.mod h1:tBHosrYAkRZjRAOREWbDnBXUf08JOwYq++0QNwQiWzI= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1134,6 +731,8 @@ golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.21.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1173,8 +772,11 @@ golang.org/x/net v0.29.0/go.mod h1:gLkgy8jTGERgjzMic6DS9+SP0ajcu6Xu3Orq/SpETg0= golang.org/x/net v0.30.0 h1:AcW1SDZMkb8IpzCdQUaIq2sP4sZ4zw+55h6ynffypl4= golang.org/x/net v0.30.0/go.mod h1:2wGyMJ5iFasEhkwi13ChkO/t1ECNC4X4eBKkVFyYFlU= golang.org/x/net v0.32.0/go.mod h1:CwU0IoeOlnQQWJ6ioyFrfRuomB8GKF6KbYXZVyeXNfs= +golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= +golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1192,9 +794,6 @@ golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= -golang.org/x/oauth2 v0.33.0 h1:4Q+qn+E5z8gPRJfmRy7C2gGG3T4jIprK6aSYgTXGRpo= -golang.org/x/oauth2 v0.33.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= -golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1210,7 +809,6 @@ golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1266,16 +864,18 @@ golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= +golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= @@ -1291,12 +891,13 @@ golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= -golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -1348,7 +949,10 @@ golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxb golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= +golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= +golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= golang.org/x/tools v0.37.0/go.mod h1:MBN5QPQtLMHVdvsbtarmTNukZDdgwdwlO5qGacAzF0w= +golang.org/x/tools/go/expect v0.1.0-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= @@ -1380,12 +984,9 @@ google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KA google.golang.org/api v0.224.0/go.mod h1:3V39my2xAGkodXy0vEqcEtkqgw2GtrFL5WuBZlCTCOQ= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= ->>>>>>> e681bce4 (Updates to docker-extension) google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= -<<<<<<< HEAD -======= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= @@ -1447,17 +1048,18 @@ google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGm google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= +google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= ->>>>>>> e681bce4 (Updates to docker-extension) gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= -<<<<<<< HEAD k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= -======= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= @@ -1479,6 +1081,8 @@ k8s.io/apiserver v0.29.0/go.mod h1:31n78PsRKPmfpee7/l9NYEv67u6hOL6AfcE761HapDM= k8s.io/apiserver v0.31.2 h1:VUzOEUGRCDi6kX1OyQ801m4A7AUPglpsmGvdsekmcI4= k8s.io/apiserver v0.32.1 h1:oo0OozRos66WFq87Zc5tclUX2r0mymoVHRq8JmR7Aak= k8s.io/apiserver v0.32.1/go.mod h1:UcB9tWjBY7aryeI5zAgzVJB/6k7E97bkr1RgqDz0jPw= +k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= +k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= k8s.io/code-generator v0.17.2/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= k8s.io/code-generator v0.25.6/go.mod h1:aDxzxJynLKQkaa117y0FFcgZ5jG8+GobxZ2JUntmvKk= k8s.io/code-generator v0.27.7/go.mod h1:w1YF/xQcTg+d9Ag+04xuRqER+q8rDnJ70ynLql8/RLA= @@ -1488,36 +1092,37 @@ k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608y k8s.io/component-base v0.28.6 h1:G4T8VrcQ7xZou3by/fY5NU5mfxOBlWaivS2lPrEltAo= k8s.io/component-base v0.28.6/go.mod h1:Dg62OOG3ALu2P4nAG00UdsuHoNLQJ5VsUZKQlLDcS+E= k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= +k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= +k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= k8s.io/component-helpers v0.29.0/go.mod h1:j2coxVfmzTOXWSE6sta0MTgNSr572Dcx68F6DD+8fWc= +k8s.io/component-helpers v0.34.2 h1:RIUGDdU+QFzeVKLZ9f05sXTNAtJrRJ3bnbMLrogCrvM= +k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= k8s.io/cri-api v0.34.1/go.mod h1:4qVUjidMg7/Z9YGZpqIDygbkPWkg3mkS1PvOx/kpHTE= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= ->>>>>>> e681bce4 (Updates to docker-extension) k8s.io/gengo v0.0.0-20220902162205-c0856e24416d/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= k8s.io/gengo/v2 v2.0.0-20250604051438-85fd79dbfd9f/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM= k8s.io/kube-aggregator v0.22.17/go.mod h1:J557nueFVurHA1JiDrxT1HlgygNQ+2exsTVUXiz2T7k= -<<<<<<< HEAD -======= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/kubernetes v1.31.2 h1:VNSu4O7Xn5FFRsh9ePXyEPg6ucR21fOftarSdi053Gs= +k8s.io/kubernetes v1.31.7 h1:3uCu7kNQxNBVbbqqe0pPjbW+h8L9aT01rD0bg+NdS5I= +k8s.io/kubernetes v1.31.7/go.mod h1:9xmT2buyTYj8TRKwRae7FcuY8k5+xlxv7VivvO0KKfs= k8s.io/metrics v0.29.0/go.mod h1:UCuTT4dC/x/x6ODSk87IWIZQnuAfcwxOjb1gjWJdjMA= k8s.io/metrics v0.30.3/go.mod h1:W06L2nXRhOwPkFYDJYWdEIS3u6JcJy3ebIPYbndRs6A= k8s.io/metrics v0.32.3/go.mod h1:9R1Wk5cb+qJpCQon9h52mgkVCcFeYxcY+YkumfwHVCU= ->>>>>>> e681bce4 (Updates to docker-extension) k8s.io/metrics v0.34.2/go.mod h1:Ydulln+8uZZctUM8yrUQX4rfq/Ay6UzsuXf24QJ37Vc= k8s.io/system-validators v1.10.2/go.mod h1:awfSS706v9R12VC7u7K89FKfqVy44G+E0L1A0FX9Wmw= -<<<<<<< HEAD sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= -======= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= kernel.org/pub/linux/libs/security/libcap/cap v1.2.76/go.mod h1:7V2BQeHnVAQwhCnCPJ977giCeGDiywVewWF+8vkpPlc= kernel.org/pub/linux/libs/security/libcap/psx v1.2.76/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24= modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= @@ -1535,35 +1140,29 @@ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.28.0/go.mod h1:VHVDI/ sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.29.0/go.mod h1:z7+wmGM2dfIiLRfrC6jb5kV2Mq/sK1ZP303cxzkV5Y4= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0 h1:CPT0ExVicCzcpeN4baWEV2ko2Z/AsiZgEdwgcfwLgMo= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.0/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= +sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.31.2/go.mod h1:Ve9uj1L+deCXFrPOk1LpFXqTg7LCFzFso6PA48q/XZw= sigs.k8s.io/controller-runtime v0.13.1/go.mod h1:Zbz+el8Yg31jubvAEyglRZGdLAjplZl+PgtYNI6WNTI= sigs.k8s.io/controller-runtime v0.15.3/go.mod h1:kp4jckA4vTx281S/0Yk2LFEEQe67mjg+ev/yknv47Ds= sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= -sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= -sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= -sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/knftables v0.0.14/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= ->>>>>>> e681bce4 (Updates to docker-extension) sigs.k8s.io/knftables v0.0.17/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM= sigs.k8s.io/kustomize/kustomize/v5 v5.7.1/go.mod h1:+5/SrBcJ4agx1SJknGuR/c9thwRSKLxnKoI5BzXFaLU= sigs.k8s.io/kustomize/kyaml v0.20.1/go.mod h1:0EmkQHRUsJxY8Ug9Niig1pUMSCGHxQ5RklbpV/Ri6po= -<<<<<<< HEAD sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= -======= +sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= sigs.k8s.io/structured-merge-diff/v4 v4.2.1/go.mod h1:j/nl6xW8vLS49O8YvXW1ocPhZawJtm+Yrr7PPRQ0Vg4= sigs.k8s.io/structured-merge-diff/v4 v4.2.3/go.mod h1:qjx8mGObPmV2aSZepjQjbmb2ihdVs8cGKBraizNC69E= +sigs.k8s.io/structured-merge-diff/v4 v4.4.2/go.mod h1:N8f93tFZh9U6vpxwRArLiikrE5/2tiu1w1AGfACIGE4= sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= +sigs.k8s.io/structured-merge-diff/v6 v6.2.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -<<<<<<< HEAD sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= ->>>>>>> e681bce4 (Updates to docker-extension) -======= +sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= tags.cncf.io/container-device-interface/specs-go v1.1.0/go.mod h1:u86hoFWqnh3hWz3esofRFKbI261bUlvUfLKGrDhJkgQ= ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) From 6184e0b4cf03fec6045c57965e3ac60060c198f3 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Tue, 20 Jan 2026 18:26:01 +0100 Subject: [PATCH 12/41] Refactored local_xxx commands --- .../pkg/cmd/local_cluster_create_cmd.go | 2 +- .../pkg/cmd/local_cluster_delete_cmd.go | 9 + .../pkg/cmd/local_cluster_start_cmd.go | 6 + .../pkg/cmd/local_cluster_status_cmd.go | 6 + .../pkg/cmd/local_cluster_stop_cmd.go | 6 + .../pkg/cmd/local_config_edit_cmd.go | 120 ++--- .../pkg/cmd/local_config_reset_cmd.go | 27 +- .../pkg/cmd/local_config_view_cmd.go | 4 +- .../pkg/cmd/local_mirror_delete_cmd.go | 2 +- .../pkg/cmd/local_mirror_deploy_cmd.go | 6 +- .../pkg/cmd/local_registry_delete_cmd.go | 6 + .../pkg/cmd/local_registry_deploy_cmd.go | 13 +- .../pkg/cmd/local_registry_prune_cmd.go | 6 + .../pkg/cmd/local_resolver_delete_cmd.go | 6 + .../pkg/cmd/local_resolver_deploy_cmd.go | 12 + .../pkg/cmd/local_resolver_update_cmd.go | 12 + .../pkg/cmd/local_secrets_add_ca_cmd.go | 141 ++++++ .../pkg/cmd/local_secrets_add_cmd.go | 441 ------------------ .../pkg/cmd/local_secrets_add_cmd_group.go | 35 ++ .../pkg/cmd/local_secrets_add_generic_cmd.go | 56 +++ .../pkg/cmd/local_secrets_add_registry_cmd.go | 154 ++++++ .../pkg/cmd/local_secrets_add_tls_cmd.go | 155 ++++++ .../pkg/cmd/local_secrets_export_cmd.go | 45 +- .../pkg/cmd/local_secrets_import_cmd.go | 8 +- .../pkg/cmd/local_secrets_list_cmd.go | 60 ++- .../pkg/cmd/local_secrets_remove_cmd.go | 55 ++- .../pkg/cmd/local_secrets_sync_cmd.go | 13 +- 27 files changed, 839 insertions(+), 567 deletions(-) create mode 100644 client-programs/pkg/cmd/local_secrets_add_ca_cmd.go delete mode 100644 client-programs/pkg/cmd/local_secrets_add_cmd.go create mode 100644 client-programs/pkg/cmd/local_secrets_add_cmd_group.go create mode 100644 client-programs/pkg/cmd/local_secrets_add_generic_cmd.go create mode 100644 client-programs/pkg/cmd/local_secrets_add_registry_cmd.go create mode 100644 client-programs/pkg/cmd/local_secrets_add_tls_cmd.go diff --git a/client-programs/pkg/cmd/local_cluster_create_cmd.go b/client-programs/pkg/cmd/local_cluster_create_cmd.go index 876e4392f..ce43076a8 100644 --- a/client-programs/pkg/cmd/local_cluster_create_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_create_cmd.go @@ -22,7 +22,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) -var ( +const ( localClusterCreateExample = ` # Create local educates cluster (no configuration, uses nip.io wildcard domain and Kind as provider config defaults) educates local cluster create diff --git a/client-programs/pkg/cmd/local_cluster_delete_cmd.go b/client-programs/pkg/cmd/local_cluster_delete_cmd.go index ab9a7303b..c32779aaa 100644 --- a/client-programs/pkg/cmd/local_cluster_delete_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_delete_cmd.go @@ -8,6 +8,14 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/resolver" ) +const localClusterDeleteExample = ` + # Delete the local Kubernetes cluster + educates local cluster delete + + # Delete the local Kubernetes cluster and all components (registry, mirrors and resolver) + educates local cluster delete --all +` + type LocalClusterDeleteOptions struct { Kubeconfig string AllComponents bool @@ -34,6 +42,7 @@ func (p *ProjectInfo) NewLocalClusterDeleteCmd() *cobra.Command { Use: "delete", Short: "Deletes the local Kubernetes cluster", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: localClusterDeleteExample, } c.Flags().BoolVar( diff --git a/client-programs/pkg/cmd/local_cluster_start_cmd.go b/client-programs/pkg/cmd/local_cluster_start_cmd.go index c7f7a2ac6..a9c990df3 100644 --- a/client-programs/pkg/cmd/local_cluster_start_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_start_cmd.go @@ -6,6 +6,11 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" ) +const localClusterStartExample = ` + # Start the local Kubernetes cluster + educates local cluster start +` + func (p *ProjectInfo) NewLocalClusterStartCmd() *cobra.Command { var c = &cobra.Command{ Args: cobra.NoArgs, @@ -16,6 +21,7 @@ func (p *ProjectInfo) NewLocalClusterStartCmd() *cobra.Command { return c.StartCluster() }, + Example: localClusterStartExample, } return c diff --git a/client-programs/pkg/cmd/local_cluster_status_cmd.go b/client-programs/pkg/cmd/local_cluster_status_cmd.go index 912edec6a..c62b86feb 100644 --- a/client-programs/pkg/cmd/local_cluster_status_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_status_cmd.go @@ -6,6 +6,11 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" ) +const localClusterStatusExample = ` + # Get status of the local Kubernetes cluster + educates local cluster status +` + func (p *ProjectInfo) NewLocalClusterStatusCmd() *cobra.Command { var c = &cobra.Command{ Args: cobra.NoArgs, @@ -16,6 +21,7 @@ func (p *ProjectInfo) NewLocalClusterStatusCmd() *cobra.Command { return c.ClusterStatus() }, + Example: localClusterStatusExample, } return c diff --git a/client-programs/pkg/cmd/local_cluster_stop_cmd.go b/client-programs/pkg/cmd/local_cluster_stop_cmd.go index c7685dc0b..f7b419aaa 100644 --- a/client-programs/pkg/cmd/local_cluster_stop_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_stop_cmd.go @@ -6,6 +6,11 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" ) +const localClusterStopExample = ` + # Stop the local Kubernetes cluster + educates local cluster stop +` + func (p *ProjectInfo) NewLocalClusterStopCmd() *cobra.Command { var c = &cobra.Command{ Args: cobra.NoArgs, @@ -16,6 +21,7 @@ func (p *ProjectInfo) NewLocalClusterStopCmd() *cobra.Command { return c.StopCluster() }, + Example: localClusterStopExample, } return c diff --git a/client-programs/pkg/cmd/local_config_edit_cmd.go b/client-programs/pkg/cmd/local_config_edit_cmd.go index 2b76ce1b6..9a5222c7a 100644 --- a/client-programs/pkg/cmd/local_config_edit_cmd.go +++ b/client-programs/pkg/cmd/local_config_edit_cmd.go @@ -6,88 +6,102 @@ import ( "os/exec" "path" - "github.com/pkg/errors" - "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" + "github.com/spf13/cobra" ) -func (p *ProjectInfo) NewLocalConfigEditCmd() *cobra.Command { - var c = &cobra.Command{ - Args: cobra.NoArgs, - Use: "edit", - Short: "Edit local configuration", - RunE: func(_ *cobra.Command, _ []string) error { - err := os.MkdirAll(utils.GetEducatesHomeDir(), os.ModePerm) +const localConfigEditExample = ` + # Edit the local configuration + educates local config edit +` + +type LocalConfigEditOptions struct {} + +func (o *LocalConfigEditOptions) Run() error { + err := os.MkdirAll(utils.GetEducatesHomeDir(), os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create configuration directory %q", utils.GetEducatesHomeDir()) + } + + valuesFilePath := path.Join(utils.GetEducatesHomeDir(), "values.yaml") + tmpValuesFilePath := fmt.Sprintf("%s.%d", valuesFilePath, os.Getpid()) - if err != nil { - return errors.Wrapf(err, "unable to create configuration directory %q", utils.GetEducatesHomeDir()) - } + tmpValuesFile, err := os.OpenFile(tmpValuesFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) - valuesFilePath := path.Join(utils.GetEducatesHomeDir(), "values.yaml") - tmpValuesFilePath := fmt.Sprintf("%s.%d", valuesFilePath, os.Getpid()) + if err != nil { + return errors.Wrapf(err, "unable to create local configuration file %q", tmpValuesFilePath) + } - tmpValuesFile, err := os.OpenFile(tmpValuesFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) + valuesFileData, err := os.ReadFile(valuesFilePath) - if err != nil { - return errors.Wrapf(err, "unable to create local configuration file %q", tmpValuesFilePath) - } + if err == nil && len(valuesFileData) != 0 { + tmpValuesFile.Write(valuesFileData) + } - valuesFileData, err := os.ReadFile(valuesFilePath) + tmpValuesFile.Close() - if err == nil && len(valuesFileData) != 0 { - tmpValuesFile.Write(valuesFileData) - } + defer os.Remove(tmpValuesFilePath) - tmpValuesFile.Close() + editor := "vi" - defer os.Remove(tmpValuesFilePath) + if s := os.Getenv("EDITOR"); s != "" { + editor = s + } - editor := "vi" + editorPath, err := exec.LookPath(editor) - if s := os.Getenv("EDITOR"); s != "" { - editor = s - } + if err != nil { + return errors.Wrapf(err, "unable to determine path for editor %q", editor) - editorPath, err := exec.LookPath(editor) + } - if err != nil { - return errors.Wrapf(err, "unable to determine path for editor %q", editor) + cmd := exec.Command(editorPath, tmpValuesFilePath) - } + cmd.Stdin = os.Stdin + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr - cmd := exec.Command(editorPath, tmpValuesFilePath) + err = cmd.Start() - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr + if err != nil { + return errors.Wrapf(err, "cannot execute editor on configuration") + } - err = cmd.Start() + err = cmd.Wait() - if err != nil { - return errors.Wrapf(err, "cannot execute editor on configuration") - } + if err != nil { + return errors.Wrapf(err, "editing of values configuration failed") + } - err = cmd.Wait() + _, err = config.NewInstallationConfigFromFile(tmpValuesFilePath) - if err != nil { - return errors.Wrapf(err, "editing of values configuration failed") - } + if err != nil { + return errors.Wrapf(err, "error in values configuration file") + } - _, err = config.NewInstallationConfigFromFile(tmpValuesFilePath) + err = os.Rename(tmpValuesFilePath, valuesFilePath) - if err != nil { - return errors.Wrapf(err, "error in values configuration file") - } + if err != nil { + return errors.Wrapf(err, "unable to update default configuration") + } - err = os.Rename(tmpValuesFilePath, valuesFilePath) + return nil +} - if err != nil { - return errors.Wrapf(err, "unable to update default configuration") - } +func (p *ProjectInfo) NewLocalConfigEditCmd() *cobra.Command { + var o LocalConfigEditOptions - return nil + var c = &cobra.Command{ + Args: cobra.NoArgs, + Use: "edit", + Short: "Edit local configuration", + RunE: func(_ *cobra.Command, _ []string) error { + return o.Run() }, + Example: localConfigEditExample, } return c diff --git a/client-programs/pkg/cmd/local_config_reset_cmd.go b/client-programs/pkg/cmd/local_config_reset_cmd.go index 450b5ef8e..c7ab95b05 100644 --- a/client-programs/pkg/cmd/local_config_reset_cmd.go +++ b/client-programs/pkg/cmd/local_config_reset_cmd.go @@ -4,22 +4,37 @@ import ( "os" "path" - "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/spf13/cobra" ) +const localConfigResetExample = ` + # Reset the local configuration + educates local config reset +` + +type LocalConfigResetOptions struct {} + +func (o *LocalConfigResetOptions) Run() error { + // TODO: Move "values.yaml" to a constant + valuesFile := path.Join(utils.GetEducatesHomeDir(), "values.yaml") + + os.Remove(valuesFile) + + return nil +} + func (p *ProjectInfo) NewLocalConfigResetCmd() *cobra.Command { + var o LocalConfigResetOptions + var c = &cobra.Command{ Args: cobra.NoArgs, Use: "reset", Short: "Reset local configuration", RunE: func(_ *cobra.Command, _ []string) error { - valuesFile := path.Join(utils.GetEducatesHomeDir(), "values.yaml") - - os.Remove(valuesFile) - - return nil + return o.Run() }, + Example: localConfigResetExample, } return c diff --git a/client-programs/pkg/cmd/local_config_view_cmd.go b/client-programs/pkg/cmd/local_config_view_cmd.go index cbdb22240..1f45dd743 100644 --- a/client-programs/pkg/cmd/local_config_view_cmd.go +++ b/client-programs/pkg/cmd/local_config_view_cmd.go @@ -3,13 +3,13 @@ package cmd import ( "fmt" + "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/config" "gopkg.in/yaml.v2" ) -var ( +const ( localConfigViewExample = ` # View local educates cluster configuration by default. Uses nip.io wildcard domain and Kind as provider config defaults educates local config view --config NULL diff --git a/client-programs/pkg/cmd/local_mirror_delete_cmd.go b/client-programs/pkg/cmd/local_mirror_delete_cmd.go index 8ecb53fea..0cc7565b7 100644 --- a/client-programs/pkg/cmd/local_mirror_delete_cmd.go +++ b/client-programs/pkg/cmd/local_mirror_delete_cmd.go @@ -7,7 +7,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/registry" ) -var ( +const ( localMirrorDeleteExample = ` # Delete a local image registry mirror educates local mirror delete mymirror diff --git a/client-programs/pkg/cmd/local_mirror_deploy_cmd.go b/client-programs/pkg/cmd/local_mirror_deploy_cmd.go index baf03678c..f86b8a82c 100644 --- a/client-programs/pkg/cmd/local_mirror_deploy_cmd.go +++ b/client-programs/pkg/cmd/local_mirror_deploy_cmd.go @@ -8,17 +8,17 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/registry" ) -var ( +const ( localMirrorDeployExample = ` # Mirror DockerHub anonymously (may be subject to rate limits): educates local mirror deploy docker.io # Mirror DockerHub with credentials (recommended to avoid throttling): educates local mirror deploy docker.io --username --password - + # Mirror a private registry: educates local mirror deploy myprivateregistry.com --username --password - + # Mirror a registry with a different remote URL: educates local mirror deploy mymirror --url registry.example.com ` diff --git a/client-programs/pkg/cmd/local_registry_delete_cmd.go b/client-programs/pkg/cmd/local_registry_delete_cmd.go index 36f7e04c2..602702dfb 100644 --- a/client-programs/pkg/cmd/local_registry_delete_cmd.go +++ b/client-programs/pkg/cmd/local_registry_delete_cmd.go @@ -6,12 +6,18 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/registry" ) +const localRegistryDeleteExample = ` + # Delete the local image registry + educates local registry delete +` + func (p *ProjectInfo) NewLocalRegistryDeleteCmd() *cobra.Command { var c = &cobra.Command{ Args: cobra.NoArgs, Use: "delete", Short: "Deletes the local image registry", RunE: func(_ *cobra.Command, _ []string) error { return registry.DeleteRegistry() }, + Example: localRegistryDeleteExample, } return c diff --git a/client-programs/pkg/cmd/local_registry_deploy_cmd.go b/client-programs/pkg/cmd/local_registry_deploy_cmd.go index e6c7d7346..238d25456 100644 --- a/client-programs/pkg/cmd/local_registry_deploy_cmd.go +++ b/client-programs/pkg/cmd/local_registry_deploy_cmd.go @@ -11,6 +11,17 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) +const localRegistryDeployExample = ` + # Deploy the local image registry + educates local registry deploy + + # Deploy the local image registry with a custom bind IP + educates local registry deploy --bind-ip 192.168.1.100 + + # Deploy the local image registry with a custom kubeconfig + educates local registry deploy --kubeconfig /path/to/kubeconfig --context my-context +` + type LocalRegistryDeployOptions struct { KubeconfigOptions BindIP string @@ -26,7 +37,6 @@ func (o *LocalRegistryDeployOptions) Run() error { // This will fail if you do not have a Kubernetes cluster, but we can still // deploy just the image registry alone without Kubernetes. If a Kubernetes // cluster is created later, then the registry service will be added then. - clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) if err != nil { @@ -65,6 +75,7 @@ func (p *ProjectInfo) NewLocalRegistryDeployCmd() *cobra.Command { return o.Run() }, + Example: localRegistryDeployExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/local_registry_prune_cmd.go b/client-programs/pkg/cmd/local_registry_prune_cmd.go index 3becc460c..5f645f0f1 100644 --- a/client-programs/pkg/cmd/local_registry_prune_cmd.go +++ b/client-programs/pkg/cmd/local_registry_prune_cmd.go @@ -7,6 +7,11 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/registry" ) +const localRegistryPruneExample = ` + # Prune the local image registry + educates local registry prune +` + type LocalRegistryPruneOptions struct { } @@ -28,6 +33,7 @@ func (p *ProjectInfo) NewLocalRegistryPruneCmd() *cobra.Command { Use: "prune", Short: "Prunes the local image registry (deletes any untagged image)", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: localRegistryPruneExample, } return c diff --git a/client-programs/pkg/cmd/local_resolver_delete_cmd.go b/client-programs/pkg/cmd/local_resolver_delete_cmd.go index ac00c1d37..51a04c96d 100644 --- a/client-programs/pkg/cmd/local_resolver_delete_cmd.go +++ b/client-programs/pkg/cmd/local_resolver_delete_cmd.go @@ -6,12 +6,18 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/resolver" ) +const localResolverDeleteExample = ` + # Delete the local DNS resolver + educates local resolver delete +` + func (p *ProjectInfo) NewLocalResolverDeleteCmd() *cobra.Command { var c = &cobra.Command{ Args: cobra.NoArgs, Use: "delete", Short: "Deletes the local DNS resolver", RunE: func(_ *cobra.Command, _ []string) error { return resolver.DeleteResolver() }, + Example: localResolverDeleteExample, } return c diff --git a/client-programs/pkg/cmd/local_resolver_deploy_cmd.go b/client-programs/pkg/cmd/local_resolver_deploy_cmd.go index aaf643e7b..b18fd8053 100644 --- a/client-programs/pkg/cmd/local_resolver_deploy_cmd.go +++ b/client-programs/pkg/cmd/local_resolver_deploy_cmd.go @@ -7,6 +7,17 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/resolver" ) +const localResolverDeployExample = ` + # Deploy the local DNS resolver + educates local resolver deploy + + # Deploy the local DNS resolver with a custom config + educates local resolver deploy --config /path/to/config.yaml + + # Deploy the local DNS resolver with a custom domain + educates local resolver deploy --domain test.educates.io +` + type LocalResolverDeployOptions struct { Config string Domain string @@ -41,6 +52,7 @@ func (p *ProjectInfo) NewLocalResolverDeployCmd() *cobra.Command { Use: "deploy", Short: "Deploys a local DNS resolver", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: localResolverDeployExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/local_resolver_update_cmd.go b/client-programs/pkg/cmd/local_resolver_update_cmd.go index 93c0648bc..82a4cf7a0 100644 --- a/client-programs/pkg/cmd/local_resolver_update_cmd.go +++ b/client-programs/pkg/cmd/local_resolver_update_cmd.go @@ -7,6 +7,17 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/resolver" ) +const localResolverUpdateExample = ` + # Update the local DNS resolver + educates local resolver update + + # Update the local DNS resolver with a custom config + educates local resolver update --config /path/to/config.yaml + + # Update the local DNS resolver with a custom domain + educates local resolver update --domain test.educates.io +` + type LocalResolverUpdateOptions struct { Config string Domain string @@ -37,6 +48,7 @@ func (p *ProjectInfo) NewLocalResolverUpdateCmd() *cobra.Command { Use: "update", Short: "Updates the local DNS resolver", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: localResolverUpdateExample, } c.Flags().StringVar( diff --git a/client-programs/pkg/cmd/local_secrets_add_ca_cmd.go b/client-programs/pkg/cmd/local_secrets_add_ca_cmd.go new file mode 100644 index 000000000..0810931cb --- /dev/null +++ b/client-programs/pkg/cmd/local_secrets_add_ca_cmd.go @@ -0,0 +1,141 @@ +package cmd + +import ( + "encoding/json" + "os" + "path" + "regexp" + + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" + "github.com/spf13/cobra" + apiv1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/yaml" +) + +const localSecretsAddCaExample = ` + # Create a CA secret + educates local secrets add ca my-ca + + # Create a CA secret with a custom domain + educates local secrets add ca my-ca --domain my-domain.com + + # Create a CA secret with a custom certificate file + educates local secrets add ca my-ca --cert /path/to/ca.crt +` + +type LocalSecretsAddCaOptions struct { + CertFile string + IngressDomain string +} + +func (o *LocalSecretsAddCaOptions) Run(name string) error { + var err error + var matched bool + + if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { + return errors.Wrapf(err, "regex match on secret name failed") + } + + if !matched { + return errors.New("invalid secret name") + } + + var certificateFileData []byte + + if o.CertFile != "" { + certificateFileData, err = os.ReadFile(o.CertFile) + + if err != nil { + return errors.Wrapf(err, "failed to read certificate file %s", o.CertFile) + } + } + + secret := &apiv1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Annotations: map[string]string{}, + }, + // Type: "kubernetes.io/tls", + Data: map[string][]byte{ + "ca.crt": certificateFileData, + }, + } + + if o.IngressDomain != "" { + secret.ObjectMeta.Annotations["training.educates.dev/domain"] = o.IngressDomain + } + + secretData, err := json.MarshalIndent(&secret, "", " ") + + if err != nil { + return errors.Wrap(err, "failed to generate secret data") + } + + secretData, err = yaml.JSONToYAML(secretData) + + if err != nil { + return errors.Wrap(err, "failed to generate YAML data") + } + + secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") + + err = os.MkdirAll(secretsCacheDir, os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create secrets cache directory") + } + + secretFilePath := path.Join(secretsCacheDir, name+".yaml") + + secretFile, err := os.OpenFile(secretFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create secret file %s", secretFilePath) + } + + if _, err := secretFile.Write(secretData); err != nil { + return errors.Wrapf(err, "unable to write secret file %s", secretFilePath) + } + + if err := secretFile.Close(); err != nil { + return errors.Wrapf(err, "unable to close secret file %s", secretFilePath) + } + + return nil +} + +func (p *ProjectInfo) NewLocalSecretsAddCaCmd() *cobra.Command { + var o LocalSecretsAddCaOptions + + var c = &cobra.Command{ + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "name is required", "NAME") + } + return nil + }, + Use: "ca NAME", + Short: "Create a CA secret", + RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, + Example: localSecretsAddCaExample, + } + + c.Flags().StringVar( + &o.CertFile, + "cert", + "", + "path to PEM encoded CA certificate", + ) + c.Flags().StringVar( + &o.IngressDomain, + "domain", + "", + "wildcard ingress domain matching certificate", + ) + + c.MarkFlagsRequiredTogether("cert") + + return c +} diff --git a/client-programs/pkg/cmd/local_secrets_add_cmd.go b/client-programs/pkg/cmd/local_secrets_add_cmd.go deleted file mode 100644 index eadd56184..000000000 --- a/client-programs/pkg/cmd/local_secrets_add_cmd.go +++ /dev/null @@ -1,441 +0,0 @@ -package cmd - -import ( - "encoding/base64" - "encoding/json" - "fmt" - "os" - "path" - "regexp" - - "github.com/pkg/errors" - "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" - apiv1 "k8s.io/api/core/v1" - metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" - "k8s.io/kubectl/pkg/util/templates" - "sigs.k8s.io/yaml" -) - -func (p *ProjectInfo) NewLocalSecretsAddCmdGroup() *cobra.Command { - var c = &cobra.Command{ - Args: cobra.NoArgs, - Use: "add", - Short: "Add secret to the cache", - } - - // Use a command group as it allows us to dictate the order in which they - // are displayed in the help message, as otherwise they are displayed in - // sort order. - - commandGroups := templates.CommandGroups{ - { - Message: "Available Commands:", - Commands: []*cobra.Command{ - p.NewLocalSecretsAddCaCmd(), - p.NewLocalSecretsAddDockerRegistryCmd(), - // NewLocalSecretsAddGenericCmd(), - p.NewLocalSecretsAddTlsCmd(), - }, - }, - } - - commandGroups.Add(c) - - templates.ActsAsRootCommand(c, []string{"--help"}, commandGroups...) - - return c -} - -type LocalSecretsAddTlsOptions struct { - CertFile string - KeyFile string - IngressDomain string -} - -func (o *LocalSecretsAddTlsOptions) Run(name string) error { - var err error - var matched bool - - if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { - return errors.Wrapf(err, "regex match on secret name failed") - } - - if !matched { - return errors.New("invalid secret name") - } - - var certificateFileData []byte - var certificateKeyFileData []byte - - if o.CertFile != "" { - certificateFileData, err = os.ReadFile(o.CertFile) - - if err != nil { - return errors.Wrapf(err, "failed to read certificate file %s", o.CertFile) - } - } - - if o.KeyFile != "" { - certificateKeyFileData, err = os.ReadFile(o.KeyFile) - - if err != nil { - return errors.Wrapf(err, "failed to read certificate key file %s", o.KeyFile) - } - } - - secret := &apiv1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Annotations: map[string]string{}, - }, - Type: "kubernetes.io/tls", - Data: map[string][]byte{ - "tls.crt": certificateFileData, - "tls.key": certificateKeyFileData, - }, - } - - if o.IngressDomain != "" { - secret.ObjectMeta.Annotations["training.educates.dev/domain"] = o.IngressDomain - } - - secretData, err := json.MarshalIndent(&secret, "", " ") - - if err != nil { - return errors.Wrap(err, "failed to generate secret data") - } - - secretData, err = yaml.JSONToYAML(secretData) - - if err != nil { - return errors.Wrap(err, "failed to generate YAML data") - } - - secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") - - err = os.MkdirAll(secretsCacheDir, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create secrets cache directory") - } - - secretFilePath := path.Join(secretsCacheDir, name+".yaml") - - secretFile, err := os.OpenFile(secretFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create secret file %s", secretFilePath) - } - - if _, err := secretFile.Write(secretData); err != nil { - return errors.Wrapf(err, "unable to write secret file %s", secretFilePath) - } - - if err := secretFile.Close(); err != nil { - return errors.Wrapf(err, "unable to close secret file %s", secretFilePath) - } - - return nil -} - -func (p *ProjectInfo) NewLocalSecretsAddTlsCmd() *cobra.Command { - var o LocalSecretsAddTlsOptions - - var c = &cobra.Command{ - Args: cobra.ExactArgs(1), - Use: "tls NAME", - Short: "Create a TLS secret", - RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, - } - - c.Flags().StringVar( - &o.CertFile, - "cert", - "", - "path to PEM encoded public key certificate", - ) - c.Flags().StringVar( - &o.KeyFile, - "key", - "", - "path to private key associated with given certificate", - ) - c.Flags().StringVar( - &o.IngressDomain, - "domain", - "", - "wildcard ingress domain matching certificate", - ) - - c.MarkFlagsRequiredTogether("cert", "key") - - return c -} - -type LocalSecretsAddCaOptions struct { - CertFile string - IngressDomain string -} - -func (o *LocalSecretsAddCaOptions) Run(name string) error { - var err error - var matched bool - - if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { - return errors.Wrapf(err, "regex match on secret name failed") - } - - if !matched { - return errors.New("invalid secret name") - } - - var certificateFileData []byte - - if o.CertFile != "" { - certificateFileData, err = os.ReadFile(o.CertFile) - - if err != nil { - return errors.Wrapf(err, "failed to read certificate file %s", o.CertFile) - } - } - - secret := &apiv1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - Annotations: map[string]string{}, - }, - // Type: "kubernetes.io/tls", - Data: map[string][]byte{ - "ca.crt": certificateFileData, - }, - } - - if o.IngressDomain != "" { - secret.ObjectMeta.Annotations["training.educates.dev/domain"] = o.IngressDomain - } - - secretData, err := json.MarshalIndent(&secret, "", " ") - - if err != nil { - return errors.Wrap(err, "failed to generate secret data") - } - - secretData, err = yaml.JSONToYAML(secretData) - - if err != nil { - return errors.Wrap(err, "failed to generate YAML data") - } - - secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") - - err = os.MkdirAll(secretsCacheDir, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create secrets cache directory") - } - - secretFilePath := path.Join(secretsCacheDir, name+".yaml") - - secretFile, err := os.OpenFile(secretFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create secret file %s", secretFilePath) - } - - if _, err := secretFile.Write(secretData); err != nil { - return errors.Wrapf(err, "unable to write secret file %s", secretFilePath) - } - - if err := secretFile.Close(); err != nil { - return errors.Wrapf(err, "unable to close secret file %s", secretFilePath) - } - - return nil -} - -func (p *ProjectInfo) NewLocalSecretsAddCaCmd() *cobra.Command { - var o LocalSecretsAddCaOptions - - var c = &cobra.Command{ - Args: cobra.ExactArgs(1), - Use: "ca NAME", - Short: "Create a CA secret", - RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, - } - - c.Flags().StringVar( - &o.CertFile, - "cert", - "", - "path to PEM encoded CA certificate", - ) - c.Flags().StringVar( - &o.IngressDomain, - "domain", - "", - "wildcard ingress domain matching certificate", - ) - - c.MarkFlagsRequiredTogether("cert") - - return c -} - -type LocalSecretsAddDockerRegistryOptions struct { - Server string - Username string - Password string - Email string -} - -func (o *LocalSecretsAddDockerRegistryOptions) Run(name string) error { - var err error - var matched bool - - if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { - return errors.Wrapf(err, "regex match on secret name failed") - } - - if !matched { - return errors.New("invalid secret name") - } - - authString := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", o.Username, o.Password))) - - dockerConfig := map[string]interface{}{ - "auths": map[string]interface{}{ - o.Server: map[string]string{ - "username": o.Username, - "password": o.Password, - "email": o.Email, - "auth": authString, - }, - }, - } - - dockerConfigData, _ := json.Marshal(dockerConfig) - - secret := &apiv1.Secret{ - ObjectMeta: metav1.ObjectMeta{ - Name: name, - }, - Type: "kubernetes.io/dockerconfigjson", - Data: map[string][]byte{ - ".dockerconfigjson": dockerConfigData, - }, - } - - secretData, err := json.MarshalIndent(&secret, "", " ") - - if err != nil { - return errors.Wrap(err, "failed to generate secret data") - } - - secretData, err = yaml.JSONToYAML(secretData) - - if err != nil { - return errors.Wrap(err, "failed to generate YAML data") - } - - secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") - - err = os.MkdirAll(secretsCacheDir, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create secrets cache directory") - } - - secretFilePath := path.Join(secretsCacheDir, name+".yaml") - - secretFile, err := os.OpenFile(secretFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create secret file %s", secretFile) - } - - if _, err = secretFile.Write(secretData); err != nil { - return errors.Wrapf(err, "unable to write secret file %s", secretFile) - } - - if err := secretFile.Close(); err != nil { - return errors.Wrapf(err, "unable to close secret file %s", secretFile) - } - - return nil -} - -func (p *ProjectInfo) NewLocalSecretsAddDockerRegistryCmd() *cobra.Command { - var o LocalSecretsAddDockerRegistryOptions - - var c = &cobra.Command{ - Args: cobra.ExactArgs(1), - Use: "docker-registry NAME", - Short: "Create a secret for use with a Docker registry", - RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, - } - - c.Flags().StringVar( - &o.Server, - "docker-server", - "https://index.docker.io/v1/", - "server location for docker registry", - ) - c.Flags().StringVar( - &o.Username, - "docker-username", - "", - "username for docker registry authentication", - ) - c.Flags().StringVar( - &o.Password, - "docker-password", - "", - "password for docker registry authentication", - ) - c.Flags().StringVar( - &o.Email, - "docker-email", - "", - "email for docker registry", - ) - - c.MarkFlagsRequiredTogether("docker-username", "docker-password", "docker-email") - - return c -} - -type LocalSecretsAddGenericOptions struct { - FileSources []string - LiteralSources []string -} - -func (o *LocalSecretsAddGenericOptions) Run(name string) error { - return nil -} - -func (p *ProjectInfo) NewLocalSecretsAddGenericCmd() *cobra.Command { - var o LocalSecretsAddGenericOptions - - var c = &cobra.Command{ - Args: cobra.ExactArgs(1), - Use: "generic NAME", - Short: "Create a secret from a local file, directory, or literal value", - RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, - } - - c.Flags().StringArrayVar( - &o.FileSources, - "from-file", - []string{}, - "Key files can be specified using their file path, in which case a default name will be given to them, or optionally with a name and file path, in which case the given name will be used. Specifying a directory will iterate each named file in the directory that is avalid secret key.", - ) - c.Flags().StringArrayVar( - &o.LiteralSources, - "from-literal", - []string{}, - "Specify a key and literal value to insert in secret (i.e. mykey=somevalue)", - ) - - return c -} diff --git a/client-programs/pkg/cmd/local_secrets_add_cmd_group.go b/client-programs/pkg/cmd/local_secrets_add_cmd_group.go new file mode 100644 index 000000000..1dd845c28 --- /dev/null +++ b/client-programs/pkg/cmd/local_secrets_add_cmd_group.go @@ -0,0 +1,35 @@ +package cmd + +import ( + "github.com/spf13/cobra" + "k8s.io/kubectl/pkg/util/templates" +) + +func (p *ProjectInfo) NewLocalSecretsAddCmdGroup() *cobra.Command { + var c = &cobra.Command{ + Args: cobra.NoArgs, + Use: "add", + Short: "Add secret to the cache", + } + + // Use a command group as it allows us to dictate the order in which they + // are displayed in the help message, as otherwise they are displayed in + // sort order. + commandGroups := templates.CommandGroups{ + { + Message: "Available Commands:", + Commands: []*cobra.Command{ + p.NewLocalSecretsAddCaCmd(), + p.NewLocalSecretsAddDockerRegistryCmd(), + // NewLocalSecretsAddGenericCmd(), + p.NewLocalSecretsAddTlsCmd(), + }, + }, + } + + commandGroups.Add(c) + + templates.ActsAsRootCommand(c, []string{"--help"}, commandGroups...) + + return c +} diff --git a/client-programs/pkg/cmd/local_secrets_add_generic_cmd.go b/client-programs/pkg/cmd/local_secrets_add_generic_cmd.go new file mode 100644 index 000000000..5f6e1ee3e --- /dev/null +++ b/client-programs/pkg/cmd/local_secrets_add_generic_cmd.go @@ -0,0 +1,56 @@ +package cmd + +import ( + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/spf13/cobra" +) + +const localSecretsAddGenericExample = ` + # Create a secret from a local file + educates local secrets add generic my-secret --from-file /path/to/file + + # Create a secret from a local directory + educates local secrets add generic my-secret --from-literal key=value +` + +type LocalSecretsAddGenericOptions struct { + FileSources []string + LiteralSources []string +} + +func (o *LocalSecretsAddGenericOptions) Run(name string) error { + return nil +} + +func (p *ProjectInfo) NewLocalSecretsAddGenericCmd() *cobra.Command { + var o LocalSecretsAddGenericOptions + + var c = &cobra.Command{ + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "name is required", "NAME") + } + return nil + }, + + Use: "generic NAME", + Short: "Create a secret from a local file, directory, or literal value", + RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, + Example: localSecretsAddGenericExample, + } + + c.Flags().StringArrayVar( + &o.FileSources, + "from-file", + []string{}, + "Key files can be specified using their file path, in which case a default name will be given to them, or optionally with a name and file path, in which case the given name will be used. Specifying a directory will iterate each named file in the directory that is avalid secret key.", + ) + c.Flags().StringArrayVar( + &o.LiteralSources, + "from-literal", + []string{}, + "Specify a key and literal value to insert in secret (i.e. mykey=somevalue)", + ) + + return c +} diff --git a/client-programs/pkg/cmd/local_secrets_add_registry_cmd.go b/client-programs/pkg/cmd/local_secrets_add_registry_cmd.go new file mode 100644 index 000000000..f6589b281 --- /dev/null +++ b/client-programs/pkg/cmd/local_secrets_add_registry_cmd.go @@ -0,0 +1,154 @@ +package cmd + +import ( + "encoding/base64" + "encoding/json" + "fmt" + "os" + "path" + "regexp" + + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" + "github.com/spf13/cobra" + apiv1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/yaml" +) + +const localSecretsAddDockerRegistryExample = ` + # Create a secret for use with Docker hub + educates local secrets add docker-registry my-registry --docker-username my-username --docker-password my-password --docker-email my-email + + # Create a secret for use with GitHub Container Registry + educates local secrets add docker-registry my-registry --docker-server https://ghcr.io --docker-username my-username --docker-password my-password --docker-email my-email +` + +type LocalSecretsAddDockerRegistryOptions struct { + Server string + Username string + Password string + Email string +} + +func (o *LocalSecretsAddDockerRegistryOptions) Run(name string) error { + var err error + var matched bool + + if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { + return errors.Wrapf(err, "regex match on secret name failed") + } + + if !matched { + return errors.New("invalid secret name") + } + + authString := base64.StdEncoding.EncodeToString([]byte(fmt.Sprintf("%s:%s", o.Username, o.Password))) + + dockerConfig := map[string]interface{}{ + "auths": map[string]interface{}{ + o.Server: map[string]string{ + "username": o.Username, + "password": o.Password, + "email": o.Email, + "auth": authString, + }, + }, + } + + dockerConfigData, _ := json.Marshal(dockerConfig) + + secret := &apiv1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + }, + Type: "kubernetes.io/dockerconfigjson", + Data: map[string][]byte{ + ".dockerconfigjson": dockerConfigData, + }, + } + + secretData, err := json.MarshalIndent(&secret, "", " ") + + if err != nil { + return errors.Wrap(err, "failed to generate secret data") + } + + secretData, err = yaml.JSONToYAML(secretData) + + if err != nil { + return errors.Wrap(err, "failed to generate YAML data") + } + + secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") + + err = os.MkdirAll(secretsCacheDir, os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create secrets cache directory") + } + + secretFilePath := path.Join(secretsCacheDir, name+".yaml") + + secretFile, err := os.OpenFile(secretFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create secret file %s", secretFilePath) + } + + if _, err = secretFile.Write(secretData); err != nil { + return errors.Wrapf(err, "unable to write secret file %s", secretFilePath) + } + + if err := secretFile.Close(); err != nil { + return errors.Wrapf(err, "unable to close secret file %s", secretFilePath) + } + + return nil +} + +func (p *ProjectInfo) NewLocalSecretsAddDockerRegistryCmd() *cobra.Command { + var o LocalSecretsAddDockerRegistryOptions + + var c = &cobra.Command{ + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "name is required", "NAME") + } + return nil + }, + Use: "docker-registry NAME", + Short: "Create a secret for use with a Docker registry", + RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, + Example: localSecretsAddDockerRegistryExample, + } + + c.Flags().StringVar( + &o.Server, + "docker-server", + "https://index.docker.io/v1/", + "server location for docker registry", + ) + c.Flags().StringVar( + &o.Username, + "docker-username", + "", + "username for docker registry authentication", + ) + c.Flags().StringVar( + &o.Password, + "docker-password", + "", + "password for docker registry authentication", + ) + c.Flags().StringVar( + &o.Email, + "docker-email", + "", + "email for docker registry", + ) + + c.MarkFlagsRequiredTogether("docker-username", "docker-password", "docker-email") + + return c +} diff --git a/client-programs/pkg/cmd/local_secrets_add_tls_cmd.go b/client-programs/pkg/cmd/local_secrets_add_tls_cmd.go new file mode 100644 index 000000000..01be3588a --- /dev/null +++ b/client-programs/pkg/cmd/local_secrets_add_tls_cmd.go @@ -0,0 +1,155 @@ +package cmd + +import ( + "encoding/json" + "os" + "path" + "regexp" + + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" + "github.com/spf13/cobra" + apiv1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "sigs.k8s.io/yaml" +) + +const localSecretsAddTlsExample = ` + # Create a TLS secret + educates local secrets add tls my-tls --cert /path/to/cert.pem --key /path/to/key.pem + + # Create a TLS secret with a custom domain + educates local secrets add tls my-tls --cert /path/to/cert.pem --key /path/to/key.pem --domain my-domain.com +` + +type LocalSecretsAddTlsOptions struct { + CertFile string + KeyFile string + IngressDomain string +} + +func (o *LocalSecretsAddTlsOptions) Run(name string) error { + var err error + var matched bool + + if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { + return errors.Wrapf(err, "regex match on secret name failed") + } + + if !matched { + return errors.New("invalid secret name") + } + + var certificateFileData []byte + var certificateKeyFileData []byte + + if o.CertFile != "" { + certificateFileData, err = os.ReadFile(o.CertFile) + + if err != nil { + return errors.Wrapf(err, "failed to read certificate file %s", o.CertFile) + } + } + + if o.KeyFile != "" { + certificateKeyFileData, err = os.ReadFile(o.KeyFile) + + if err != nil { + return errors.Wrapf(err, "failed to read certificate key file %s", o.KeyFile) + } + } + + secret := &apiv1.Secret{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Annotations: map[string]string{}, + }, + Type: "kubernetes.io/tls", + Data: map[string][]byte{ + "tls.crt": certificateFileData, + "tls.key": certificateKeyFileData, + }, + } + + if o.IngressDomain != "" { + secret.ObjectMeta.Annotations["training.educates.dev/domain"] = o.IngressDomain + } + + secretData, err := json.MarshalIndent(&secret, "", " ") + + if err != nil { + return errors.Wrap(err, "failed to generate secret data") + } + + secretData, err = yaml.JSONToYAML(secretData) + + if err != nil { + return errors.Wrap(err, "failed to generate YAML data") + } + + secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") + + err = os.MkdirAll(secretsCacheDir, os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create secrets cache directory") + } + + secretFilePath := path.Join(secretsCacheDir, name+".yaml") + + secretFile, err := os.OpenFile(secretFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create secret file %s", secretFilePath) + } + + if _, err := secretFile.Write(secretData); err != nil { + return errors.Wrapf(err, "unable to write secret file %s", secretFilePath) + } + + if err := secretFile.Close(); err != nil { + return errors.Wrapf(err, "unable to close secret file %s", secretFilePath) + } + + return nil +} + +func (p *ProjectInfo) NewLocalSecretsAddTlsCmd() *cobra.Command { + var o LocalSecretsAddTlsOptions + + var c = &cobra.Command{ + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "name is required", "NAME") + } + return nil + }, + Use: "tls NAME", + Short: "Create a TLS secret", + RunE: func(_ *cobra.Command, args []string) error { return o.Run(args[0]) }, + Example: localSecretsAddTlsExample, + } + + c.Flags().StringVar( + &o.CertFile, + "cert", + "", + "path to PEM encoded public key certificate", + ) + c.Flags().StringVar( + &o.KeyFile, + "key", + "", + "path to private key associated with given certificate", + ) + c.Flags().StringVar( + &o.IngressDomain, + "domain", + "", + "wildcard ingress domain matching certificate", + ) + + c.MarkFlagsRequiredTogether("cert", "key") + + return c +} diff --git a/client-programs/pkg/cmd/local_secrets_export_cmd.go b/client-programs/pkg/cmd/local_secrets_export_cmd.go index a6f237265..147cdd409 100644 --- a/client-programs/pkg/cmd/local_secrets_export_cmd.go +++ b/client-programs/pkg/cmd/local_secrets_export_cmd.go @@ -10,27 +10,44 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) +const localSecretsExportExample = ` + # Export all secrets in the cache + educates local secrets export + + # Export multiple secrets from the cache + educates local secrets export my-secret-1 my-secret-2 +` + +type LocalSecretsExportOptions struct {} + +func (o *LocalSecretsExportOptions) Run(args []string) error { + secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") + + err := os.MkdirAll(secretsCacheDir, os.ModePerm) + + if err != nil { + return errors.Wrapf(err, "unable to create secrets cache directory") + } + + err = utils.PrintYamlFilesInDir(secretsCacheDir, args) + if err != nil { + return errors.Wrapf(err, "unable to read secrets cache directory") + } + + return nil +} + func (p *ProjectInfo) NewLocalSecretsExportCmd() *cobra.Command { + var o LocalSecretsExportOptions + var c = &cobra.Command{ Args: cobra.ArbitraryArgs, Use: "export [NAME]", Short: "Export secrets in the cache", RunE: func(_ *cobra.Command, args []string) error { - secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") - - err := os.MkdirAll(secretsCacheDir, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create secrets cache directory") - } - - err = utils.PrintYamlFilesInDir(secretsCacheDir, args) - if err != nil { - return errors.Wrapf(err, "unable to read secrets cache directory") - } - - return nil + return o.Run(args) }, + Example: localSecretsExportExample, } return c diff --git a/client-programs/pkg/cmd/local_secrets_import_cmd.go b/client-programs/pkg/cmd/local_secrets_import_cmd.go index e42a0d4b6..583e8ce0d 100644 --- a/client-programs/pkg/cmd/local_secrets_import_cmd.go +++ b/client-programs/pkg/cmd/local_secrets_import_cmd.go @@ -7,9 +7,9 @@ import ( "regexp" "syscall" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" apiv1 "k8s.io/api/core/v1" "k8s.io/apimachinery/pkg/runtime" "k8s.io/apimachinery/pkg/runtime/serializer" @@ -17,6 +17,11 @@ import ( "sigs.k8s.io/yaml" ) +const localSecretsImportExample = ` + # Import secrets from a file + educates local secrets import --file /path/to/secrets.yaml +` + type LocalSecretsImportOptions struct { File string } @@ -113,6 +118,7 @@ func (p *ProjectInfo) NewLocalSecretsImportCmd() *cobra.Command { Use: "import", Short: "Import secrets to the cache", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: localSecretsImportExample, } c.Flags().StringVarP( diff --git a/client-programs/pkg/cmd/local_secrets_list_cmd.go b/client-programs/pkg/cmd/local_secrets_list_cmd.go index f910ebe25..ef6bed897 100644 --- a/client-programs/pkg/cmd/local_secrets_list_cmd.go +++ b/client-programs/pkg/cmd/local_secrets_list_cmd.go @@ -6,40 +6,54 @@ import ( "path" "strings" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) -func (p *ProjectInfo) NewLocalSecretsListCmd() *cobra.Command { - var c = &cobra.Command{ - Args: cobra.NoArgs, - Use: "list", - Short: "List secrets in the cache", - RunE: func(_ *cobra.Command, _ []string) error { - secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") +const localSecretsListExample = ` + # List all secrets in the cache + educates local secrets list +` + +type LocalSecretsListOptions struct {} + +func (o *LocalSecretsListOptions) Run() error { + secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") + + err := os.MkdirAll(secretsCacheDir, os.ModePerm) - err := os.MkdirAll(secretsCacheDir, os.ModePerm) + if err != nil { + return errors.Wrapf(err, "unable to create secrets cache directory") + } + + files, err := os.ReadDir(secretsCacheDir) - if err != nil { - return errors.Wrapf(err, "unable to create secrets cache directory") - } + if err != nil { + return errors.Wrapf(err, "unable to read secrets cache directory") + } - files, err := os.ReadDir(secretsCacheDir) + for _, f := range files { + if strings.HasSuffix(f.Name(), ".yaml") { + name := strings.TrimSuffix(f.Name(), ".yaml") + fmt.Println(name) + } + } - if err != nil { - return errors.Wrapf(err, "unable to read secrets cache directory") - } + return nil +} - for _, f := range files { - if strings.HasSuffix(f.Name(), ".yaml") { - name := strings.TrimSuffix(f.Name(), ".yaml") - fmt.Println(name) - } - } +func (p *ProjectInfo) NewLocalSecretsListCmd() *cobra.Command { + var o LocalSecretsListOptions - return nil + var c = &cobra.Command{ + Args: cobra.NoArgs, + Use: "list", + Short: "List secrets in the cache", + RunE: func(_ *cobra.Command, _ []string) error { + return o.Run() }, + Example: localSecretsListExample, } return c diff --git a/client-programs/pkg/cmd/local_secrets_remove_cmd.go b/client-programs/pkg/cmd/local_secrets_remove_cmd.go index b0953eed8..7e928f26e 100644 --- a/client-programs/pkg/cmd/local_secrets_remove_cmd.go +++ b/client-programs/pkg/cmd/local_secrets_remove_cmd.go @@ -5,38 +5,55 @@ import ( "path" "regexp" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) -func (p *ProjectInfo) NewLocalSecretsRemoveCmd() *cobra.Command { - var c = &cobra.Command{ - Args: cobra.ExactArgs(1), - Use: "remove NAME", - Short: "Remove secret from the cache", - RunE: func(_ *cobra.Command, args []string) error { - name := args[0] +const localSecretsRemoveExample = ` + # Remove a secret from the cache + educates local secrets remove my-secret +` - var err error - var matched bool +type LocalSecretsRemoveOptions struct {} - if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { - return errors.Wrapf(err, "regex match on secret name failed") - } +func (o *LocalSecretsRemoveOptions) Run(name string) error { + var err error + var matched bool - if !matched { - return errors.Errorf("invalid secret name %q", name) - } + if matched, err = regexp.MatchString("^[a-z0-9]([.a-z0-9-]+)?[a-z0-9]$", name); err != nil { + return errors.Wrapf(err, "regex match on secret name failed") + } + + if !matched { + return errors.Errorf("invalid secret name %q", name) + } + + secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") + + secretFilePath := path.Join(secretsCacheDir, name+".yaml") - secretsCacheDir := path.Join(utils.GetEducatesHomeDir(), "secrets") + os.Remove(secretFilePath) - secretFilePath := path.Join(secretsCacheDir, name+".yaml") + return nil +} - os.Remove(secretFilePath) +func (p *ProjectInfo) NewLocalSecretsRemoveCmd() *cobra.Command { + var o LocalSecretsRemoveOptions + var c = &cobra.Command{ + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "name is required", "NAME") + } return nil }, + Use: "remove NAME", + Short: "Remove secret from the cache", + RunE: func(_ *cobra.Command, args []string) error { + return o.Run(args[0]) + }, + Example: localSecretsRemoveExample, } return c diff --git a/client-programs/pkg/cmd/local_secrets_sync_cmd.go b/client-programs/pkg/cmd/local_secrets_sync_cmd.go index 2151e0fcf..305ce3701 100644 --- a/client-programs/pkg/cmd/local_secrets_sync_cmd.go +++ b/client-programs/pkg/cmd/local_secrets_sync_cmd.go @@ -1,12 +1,20 @@ package cmd import ( - "github.com/pkg/errors" - "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/secrets" + "github.com/pkg/errors" + "github.com/spf13/cobra" ) +const localSecretsSyncExample = ` + # Sync secrets to the cluster + educates local secrets sync + + # Sync secrets to the cluster using a custom kubeconfig file and context + educates local secrets sync --kubeconfig /path/to/kubeconfig --context my-context +` + type LocalSecretsSyncOptions struct { KubeconfigOptions } @@ -35,6 +43,7 @@ func (p *ProjectInfo) NewLocalSecretsSyncCmd() *cobra.Command { Use: "sync", Short: "Copy secrets to cluster", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: localSecretsSyncExample, } c.Flags().StringVar( From 0f262b2ba15bf3bd271625a81b19052e2de191ef Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Wed, 21 Jan 2026 11:55:24 +0100 Subject: [PATCH 13/41] New local_mirror_list command --- .../pkg/cmd/local_mirror_cmd_group.go | 3 +- .../pkg/cmd/local_mirror_list_cmd.go | 47 +++++++++++++ client-programs/pkg/registry/registry.go | 67 +++++++++++++++---- client-programs/pkg/utils/docker.go | 18 +++++ 4 files changed, 122 insertions(+), 13 deletions(-) create mode 100644 client-programs/pkg/cmd/local_mirror_list_cmd.go create mode 100644 client-programs/pkg/utils/docker.go diff --git a/client-programs/pkg/cmd/local_mirror_cmd_group.go b/client-programs/pkg/cmd/local_mirror_cmd_group.go index ad3588914..031dc30e7 100644 --- a/client-programs/pkg/cmd/local_mirror_cmd_group.go +++ b/client-programs/pkg/cmd/local_mirror_cmd_group.go @@ -8,19 +8,20 @@ import ( func (p *ProjectInfo) NewLocalMirrorCmdGroup() *cobra.Command { var c = &cobra.Command{ Use: "mirror", + Aliases: []string{"mirrors"}, Short: "Manage local image registry mirrors", } // Use a command group as it allows us to dictate the order in which they // are displayed in the help message, as otherwise they are displayed in // sort order. - commandGroups := templates.CommandGroups{ { Message: "Available Commands:", Commands: []*cobra.Command{ p.NewLocalMirrorDeployCmd(), p.NewLocalMirrorDeleteCmd(), + p.NewLocalMirrorListCmd(), }, }, } diff --git a/client-programs/pkg/cmd/local_mirror_list_cmd.go b/client-programs/pkg/cmd/local_mirror_list_cmd.go new file mode 100644 index 000000000..64d442b55 --- /dev/null +++ b/client-programs/pkg/cmd/local_mirror_list_cmd.go @@ -0,0 +1,47 @@ +package cmd + +import ( + "fmt" + + "github.com/pkg/errors" + "github.com/spf13/cobra" + + "github.com/educates/educates-training-platform/client-programs/pkg/registry" +) + +const ( + localMirroListExample = ` + # List all local image registry mirrors + educates local mirror list +` +) + +type LocalMirrorListOptions struct {} + +func (o *LocalMirrorListOptions) Run() error { + list, err := registry.ListRegistryMirrors() + + if err != nil { + return errors.Wrap(err, "failed to deploy registry mirror") + } + + fmt.Println(list) + + return nil +} + +func (p *ProjectInfo) NewLocalMirrorListCmd() *cobra.Command { + var o LocalMirrorListOptions + + var c = &cobra.Command{ + Args: cobra.NoArgs, + Use: "list", + Short: "List all local image registry mirrors", + RunE: func(_ *cobra.Command, _ []string) error { + return o.Run() + }, + Example: localMirroListExample, + } + + return c +} diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index 8ed27cf7b..7e8002e2b 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -11,14 +11,16 @@ import ( "os" "path" "strings" + "text/tabwriter" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/image" "github.com/docker/docker/api/types/network" + "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" yaml "gopkg.in/yaml.v2" v1 "k8s.io/api/core/v1" @@ -96,7 +98,7 @@ func createRegistryContainer(bindIP string) error { fmt.Println("Deploying local image registry") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -211,7 +213,7 @@ func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { fmt.Printf("Deploying local image registry mirror %s\n", mirrorConfig.Mirror) - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -316,7 +318,7 @@ func addRegistryConfigToKindNodes(repositoryName string, content string) error { fmt.Printf("Adding local image registry config (%s) to Kind nodes\n", repositoryName) - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -371,7 +373,7 @@ func removeRegistryConfigFromKindNodes(repositoryName string) error { fmt.Printf("Removing local image registry config (%s) from Kind nodes\n", repositoryName) - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -452,7 +454,7 @@ func linkRegistryToClusterNetwork(containerName string) error { fmt.Println("Linking local image registry to cluster") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -478,7 +480,7 @@ func DeleteRegistry() error { fmt.Println("Deleting local image registry") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -523,7 +525,7 @@ func DeleteMirrorAndUnlinkFromCluster(mirrorConfig *config.RegistryMirrorConfig) fmt.Printf("Deleting local image registry mirror %s\n", mirrorConfig.Mirror) - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -569,7 +571,7 @@ func DeleteRegistryMirrors() error { fmt.Println("Deleting local image registry mirrors") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -615,7 +617,7 @@ func DeleteRegistryMirrors() error { func UpdateRegistryK8SService(k8sclient *kubernetes.Clientset) error { ctx := context.Background() - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -706,7 +708,7 @@ func PruneRegistry() error { fmt.Println("Pruning local image registry") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -736,6 +738,47 @@ func PruneRegistry() error { return nil } + +/** + * This function is used to list all local image registry mirrors. + */ +func ListRegistryMirrors() (string, error) { + ctx := context.Background() + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + return "", errors.Wrap(err, "unable to create docker client") + } + + mirrors, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters.NewArgs(filters.Arg("label", "role="+EducatesMirrorRoleLabel), filters.Arg("label", "app="+EducatesAppLabel))}) + if err != nil { + return "", errors.Wrap(err, "unable to list registry mirrors") + } + + var buf strings.Builder + w := new(tabwriter.Writer) + + // Initialize tabwriter to write to 'buf' instead of 'os.Stdout' + w.Init(&buf, 8, 8, 3, ' ', 0) + + fmt.Fprintf(w, "%s\n", "NAME") + + for i, item := range mirrors { + // TODO: Add the right way to get the container information + name := utils.GetContainerName(item) + + fmt.Fprintf(w, "%s", name) + if i < len(mirrors) - 1 { + fmt.Fprintf(w, "\n") + } + } + + // Important: Flush ensures all data is written from tabwriter to the builder + w.Flush() + + return buf.String(), nil +} + /** * This function is used to get the container name of a registry mirror. */ @@ -750,7 +793,7 @@ func registryMirrorContainerName(mirrorConfig *config.RegistryMirrorConfig) stri func getContainerInfo(containerName string) (containerID string, status string) { ctx := context.Background() - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { panic(err) } diff --git a/client-programs/pkg/utils/docker.go b/client-programs/pkg/utils/docker.go new file mode 100644 index 000000000..57368f645 --- /dev/null +++ b/client-programs/pkg/utils/docker.go @@ -0,0 +1,18 @@ +package utils + +import ( + "strings" + + "github.com/docker/docker/api/types/container" +) + +func GetContainerName(container container.Summary) string { + name := "unknown" + + if len(container.Names) > 0 { + // Get the first name and strip the leading slash "/" + name = strings.TrimPrefix(container.Names[0], "/") + } + + return name +} From 0b824f096fb0be272631d8fcb1ee230779b667ae Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Wed, 21 Jan 2026 12:26:23 +0100 Subject: [PATCH 14/41] Refactored constants --- client-programs/pkg/cluster/kindcluster.go | 29 +++---- .../pkg/config/installationconfig.go | 5 +- client-programs/pkg/constants/installer.go | 10 +++ client-programs/pkg/constants/names.go | 14 ++++ client-programs/pkg/constants/project.go | 7 +- .../pkg/diagnostics/diagnostics.go | 5 +- client-programs/pkg/diagnostics/fetcher.go | 3 +- .../pkg/docker/workshop_manager.go | 8 +- client-programs/pkg/installer/installer.go | 34 ++++----- client-programs/pkg/registry/registry.go | 75 ++++++++----------- client-programs/pkg/resolver/resolver.go | 28 +++---- client-programs/pkg/utils/dirs.go | 3 +- 12 files changed, 120 insertions(+), 101 deletions(-) create mode 100644 client-programs/pkg/constants/installer.go create mode 100644 client-programs/pkg/constants/names.go diff --git a/client-programs/pkg/cluster/kindcluster.go b/client-programs/pkg/cluster/kindcluster.go index c6b6ab4ac..6e09b7451 100644 --- a/client-programs/pkg/cluster/kindcluster.go +++ b/client-programs/pkg/cluster/kindcluster.go @@ -11,6 +11,7 @@ import ( "time" "github.com/docker/docker/api/types/container" + "github.com/docker/docker/client" "github.com/pkg/errors" "golang.org/x/exp/slices" "k8s.io/client-go/tools/clientcmd" @@ -18,7 +19,7 @@ import ( "sigs.k8s.io/kind/pkg/cmd" "github.com/educates/educates-training-platform/client-programs/pkg/config" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) @@ -53,7 +54,7 @@ func (o *KindClusterConfig) ClusterExists() (bool, error) { return false, errors.Wrap(err, "unable to get list of clusters") } - if slices.Contains(clusters, "educates") { + if slices.Contains(clusters, constants.EducatesClusterName) { return true, errors.New("cluster for Educates already exists") } @@ -89,7 +90,7 @@ func (o *KindClusterConfig) CreateCluster(config *config.InstallationConfig, ima return errors.Wrapf(err, "unable to create config directory") } - kindConfigPath := filepath.Join(configFileDir, "educates-cluster-config.yaml") + kindConfigPath := filepath.Join(configFileDir, fmt.Sprintf("%s-cluster-config.yaml", constants.EducatesClusterName)) err = os.WriteFile(kindConfigPath, clusterConfigData.Bytes(), 0644) if err != nil { return errors.Wrap(err, "failed to write cluster config to file") @@ -98,7 +99,7 @@ func (o *KindClusterConfig) CreateCluster(config *config.InstallationConfig, ima fmt.Println("Cluster config used is saved to: ", kindConfigPath) if err := o.provider.Create( - "educates", + constants.EducatesClusterName, cluster.CreateWithRawConfig(clusterConfigData.Bytes()), cluster.CreateWithNodeImage(image), cluster.CreateWithWaitForReady(time.Duration(time.Duration(60)*time.Second)), @@ -122,7 +123,7 @@ func (o *KindClusterConfig) DeleteCluster() error { fmt.Println("Deleting cluster educates ...") - if err := o.provider.Delete("educates", o.Config.Kubeconfig); err != nil { + if err := o.provider.Delete(constants.EducatesClusterName, o.Config.Kubeconfig); err != nil { return errors.Wrapf(err, "failed to delete cluster") } @@ -139,13 +140,13 @@ func (o *KindClusterConfig) StopCluster() error { return errors.New("cluster for Educates does not exist") } - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, "educates-control-plane") + _, err = cli.ContainerInspect(ctx, constants.EducatesControlPlaneContainer) if err != nil { return errors.Wrap(err, "no container for Educates cluster") @@ -155,13 +156,13 @@ func (o *KindClusterConfig) StopCluster() error { timeout := 30 - if err := cli.ContainerStop(ctx, "educates-control-plane", container.StopOptions{Timeout: &timeout}); err != nil { + if err := cli.ContainerStop(ctx, constants.EducatesControlPlaneContainer, container.StopOptions{Timeout: &timeout}); err != nil { return errors.Wrapf(err, "failed to stop cluster") } // timeout := time.Duration(30) * time.Second - // if err := cli.ContainerStop(ctx, "educates-control-plane", &timeout); err != nil { + // if err := cli.ContainerStop(ctx, EducatesControlPlaneContainer, &timeout); err != nil { // return errors.Wrapf(err, "failed to stop cluster") // } @@ -178,13 +179,13 @@ func (o *KindClusterConfig) StartCluster() error { return errors.New("cluster for Educates does not exist") } - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, "educates-control-plane") + _, err = cli.ContainerInspect(ctx, constants.EducatesControlPlaneContainer) if err != nil { return errors.Wrap(err, "no container for Educates cluster") @@ -192,7 +193,7 @@ func (o *KindClusterConfig) StartCluster() error { fmt.Println("Starting cluster educates ...") - if err := cli.ContainerStart(ctx, "educates-control-plane", container.StartOptions{}); err != nil { + if err := cli.ContainerStart(ctx, constants.EducatesControlPlaneContainer, container.StartOptions{}); err != nil { return errors.Wrapf(err, "failed to start cluster") } @@ -209,13 +210,13 @@ func (o *KindClusterConfig) ClusterStatus() error { return errors.New("cluster for Educates does not exist") } - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") } - containerJSON, err := cli.ContainerInspect(ctx, "educates-control-plane") + containerJSON, err := cli.ContainerInspect(ctx, constants.EducatesControlPlaneContainer) if err != nil { return errors.Wrap(err, "no container for Educates cluster") diff --git a/client-programs/pkg/config/installationconfig.go b/client-programs/pkg/config/installationconfig.go index f64d7fea6..bc7d739cd 100644 --- a/client-programs/pkg/config/installationconfig.go +++ b/client-programs/pkg/config/installationconfig.go @@ -4,6 +4,7 @@ import ( "os" "path" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/secrets" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" @@ -437,12 +438,12 @@ func ConfigForLocalClusters(configFile string, domain string, local bool) (fullC if local { // This augments the installation config with the secrets that are cached locally if secretName := secrets.LocalCachedSecretForIngressDomain(fullConfig.ClusterIngress.Domain); secretName != "" { - fullConfig.ClusterIngress.TLSCertificateRef.Namespace = "educates-secrets" + fullConfig.ClusterIngress.TLSCertificateRef.Namespace = constants.EducatesSecretsNamespace fullConfig.ClusterIngress.TLSCertificateRef.Name = secretName } if secretName := secrets.LocalCachedSecretForCertificateAuthority(fullConfig.ClusterIngress.Domain); secretName != "" { - fullConfig.ClusterIngress.CACertificateRef.Namespace = "educates-secrets" + fullConfig.ClusterIngress.CACertificateRef.Namespace = constants.EducatesSecretsNamespace fullConfig.ClusterIngress.CACertificateRef.Name = secretName } } diff --git a/client-programs/pkg/constants/installer.go b/client-programs/pkg/constants/installer.go new file mode 100644 index 000000000..62e196771 --- /dev/null +++ b/client-programs/pkg/constants/installer.go @@ -0,0 +1,10 @@ +package constants + +const ( + EducatesInstallerString = "educates-installer" + EducatesInstallerAppString = "label:installer=educates-installer.app" + EducatesConfigNamespace = "educates" + EducatesConfigConfigMapName = "educates-config" + EducatesProcessedValuesKey = "educates-processed-values.yaml" + EducatesOriginalConfigKey = "educates-original-config.yaml" +) diff --git a/client-programs/pkg/constants/names.go b/client-programs/pkg/constants/names.go new file mode 100644 index 000000000..2f41b0215 --- /dev/null +++ b/client-programs/pkg/constants/names.go @@ -0,0 +1,14 @@ +package constants + +const ( + EducatesClusterName = "educates" + RegistryImageV3 = "docker.io/library/registry:3" + RegistryConfigTargetPath = "/etc/distribution/config.yml" + EducatesNetworkName = "educates" + EducatesRegistryContainer = "educates-registry" + EducatesControlPlaneContainer = "educates-control-plane" + EducatesRegistryRoleLabel = "registry" + EducatesMirrorRoleLabel = "mirror" + EducatesAppLabel = "educates" + EducatesResolverContainerName = "educates-resolver" +) diff --git a/client-programs/pkg/constants/project.go b/client-programs/pkg/constants/project.go index c07797160..22e8faf97 100644 --- a/client-programs/pkg/constants/project.go +++ b/client-programs/pkg/constants/project.go @@ -1,9 +1,14 @@ package constants const ( - PROJECT_DOCS_URL = "https://docs.educates.dev/" + EducatesHomeDirName = "educates" + PROJECT_DOCS_URL = "https://docs.educates.dev/" DefaultPortalName = "educates-cli" DefaultPortalCapacity = 5 + + EducatesNamespace = "educates" + EducatesNamespaceLabelMetadataName = "educates" + EducatesSecretsNamespace = "educates-secrets" ) diff --git a/client-programs/pkg/diagnostics/diagnostics.go b/client-programs/pkg/diagnostics/diagnostics.go index 4bfb39d2f..888768c45 100644 --- a/client-programs/pkg/diagnostics/diagnostics.go +++ b/client-programs/pkg/diagnostics/diagnostics.go @@ -8,6 +8,7 @@ import ( "strings" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" ) @@ -75,10 +76,10 @@ func (c *ClusterDiagnostics) Run() error { } // fetch logs for the session-manager, secret-manager deploymentments - if err = clusterDiagnosticsFetcher.fetchLogsForDeployment("deployment=session-manager", "educates", "session-manager.log"); err != nil { + if err = clusterDiagnosticsFetcher.fetchLogsForDeployment("deployment=session-manager", constants.EducatesNamespace, "session-manager.log"); err != nil { fmt.Println("Error fetching logs for session-manager: ", err) } - if err = clusterDiagnosticsFetcher.fetchLogsForDeployment("deployment=secrets-manager", "educates", "secrets-manager.log"); err != nil { + if err = clusterDiagnosticsFetcher.fetchLogsForDeployment("deployment=secrets-manager", constants.EducatesNamespace, "secrets-manager.log"); err != nil { fmt.Println("Error fetching logs for secrets-manager: ", err) } // dump logs for all training-portal deployments diff --git a/client-programs/pkg/diagnostics/fetcher.go b/client-programs/pkg/diagnostics/fetcher.go index abf74483a..9662eb05e 100644 --- a/client-programs/pkg/diagnostics/fetcher.go +++ b/client-programs/pkg/diagnostics/fetcher.go @@ -10,6 +10,7 @@ import ( "strings" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" educatesrestapi "github.com/educates/educates-training-platform/client-programs/pkg/educates/restapi" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/pkg/errors" @@ -83,7 +84,7 @@ func (c *ClusterDiagnosticsFetcher) getEducatesNamespacesEvents(fileName string) y := printers.YAMLPrinter{} for _, namespace := range namespaces.Items { - if !strings.HasPrefix(namespace.Labels["kubernetes.io/metadata.name"], "educates") { + if !strings.HasPrefix(namespace.Labels["kubernetes.io/metadata.name"], constants.EducatesNamespaceLabelMetadataName) { continue } events, err := client.CoreV1().Events(namespace.Name).List(context.TODO(), metav1.ListOptions{ diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index 04b166257..1df55c416 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -311,10 +311,10 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s var registryIP string - registryInfo, err := cli.ContainerInspect(ctx, "educates-registry") + registryInfo, err := cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) if err == nil { - educatesNetwork, exists := registryInfo.NetworkSettings.Networks["educates"] + educatesNetwork, exists := registryInfo.NetworkSettings.Networks[constants.EducatesNetworkName] if !exists { return name, errors.New("registry is not attached to educates network") @@ -443,7 +443,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s } if registryNetwork { - networks["educates"] = &composetypes.ServiceNetworkConfig{} + networks[constants.EducatesNetworkName] = &composetypes.ServiceNetworkConfig{} } var extraHostsList composetypes.HostsList @@ -502,7 +502,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s Name: originalName, Services: workshopServices, Networks: composetypes.Networks{ - "educates": composetypes.NetworkConfig{Name: "educates", External: true}, + "educates": composetypes.NetworkConfig{Name: constants.EducatesNetworkName, External: true}, }, Volumes: composetypes.Volumes{ "workshop": composetypes.VolumeConfig{}, diff --git a/client-programs/pkg/installer/installer.go b/client-programs/pkg/installer/installer.go index 8fc6e6c0a..413391592 100644 --- a/client-programs/pkg/installer/installer.go +++ b/client-programs/pkg/installer/installer.go @@ -9,6 +9,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/config" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/utils" @@ -32,13 +33,6 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" ) -const EducatesInstallerString = "educates-installer" -const EducatesInstallerAppString = "label:installer=educates-installer.app" -const educatesConfigNamespace = "educates" -const educatesConfigConfigMapName = "educates-config" -const processedValuesKey = "educates-processed-values.yaml" -const originalConfigKey = "educates-original-config.yaml" - // We use a NullWriter to suppress the output of some commands, like kbld type NullWriter int @@ -57,7 +51,7 @@ func (inst *Installer) DryRun(version string, packageRepository string, fullConf } // Create a temporary directory - tempDir, err := os.MkdirTemp("", EducatesInstallerString) + tempDir, err := os.MkdirTemp("", constants.EducatesInstallerString) if err != nil { return err } @@ -111,7 +105,7 @@ func (inst *Installer) Run(version string, packageRepository string, fullConfig } // Create a temporary directory - tempDir, err := os.MkdirTemp("", EducatesInstallerString) + tempDir, err := os.MkdirTemp("", constants.EducatesInstallerString) if err != nil { return err } @@ -179,15 +173,15 @@ func (inst *Installer) GetValuesFromCluster(kubeconfig string, kubeContext strin return "", errors.Wrapf(err, "unable to create Kubernetes client") } - configMapClient := client.CoreV1().ConfigMaps(educatesConfigNamespace) + configMapClient := client.CoreV1().ConfigMaps(constants.EducatesConfigNamespace) - values, err := configMapClient.Get(context.TODO(), educatesConfigConfigMapName, metav1.GetOptions{}) + values, err := configMapClient.Get(context.TODO(), constants.EducatesConfigConfigMapName, metav1.GetOptions{}) if err != nil { return "", errors.Wrap(err, "error querying the cluster") } - valuesData, ok := values.Data[processedValuesKey] + valuesData, ok := values.Data[constants.EducatesProcessedValuesKey] if !ok { return "", errors.New("no platform configuration found") @@ -205,15 +199,15 @@ func (inst *Installer) GetConfigFromCluster(kubeconfig string, kubeContext strin return "", errors.Wrapf(err, "unable to create Kubernetes client") } - configMapClient := client.CoreV1().ConfigMaps(educatesConfigNamespace) + configMapClient := client.CoreV1().ConfigMaps(constants.EducatesConfigNamespace) - values, err := configMapClient.Get(context.TODO(), educatesConfigConfigMapName, metav1.GetOptions{}) + values, err := configMapClient.Get(context.TODO(), constants.EducatesConfigConfigMapName, metav1.GetOptions{}) if err != nil { return "", errors.Wrap(err, "error querying the cluster") } - valuesData, ok := values.Data[originalConfigKey] + valuesData, ok := values.Data[constants.EducatesOriginalConfigKey] if !ok { return "", errors.New("no platform configuration found") @@ -387,8 +381,8 @@ func (inst *Installer) deploy(tempDir string, inputDir string, clusterConfig *cl depsFactory := NewKappDepsFactoryImpl(clusterConfig) deployOptions := app.NewDeployOptions(confUI, depsFactory, logger.NewKappLogger(), nil) - deployOptions.AppFlags.Name = EducatesInstallerAppString - deployOptions.AppFlags.AppNamespace = EducatesInstallerString + deployOptions.AppFlags.Name = constants.EducatesInstallerAppString + deployOptions.AppFlags.AppNamespace = constants.EducatesInstallerString deployOptions.FileFlags.Files = []string{inputDir, filepath.Join(tempDir, "fetch/config/kapp/")} deployOptions.ApplyFlags.ClusterChangeOpts.Wait = true deployOptions.ApplyFlags.ClusterChangeOpts.ApplyIgnored = false @@ -433,8 +427,8 @@ func (inst *Installer) delete(clusterConfig *cluster.ClusterConfig) error { depsFactory := NewKappDepsFactoryImpl(clusterConfig) deleteOptions := app.NewDeleteOptions(confUI, depsFactory, logger.NewKappLogger()) - deleteOptions.AppFlags.Name = EducatesInstallerAppString - deleteOptions.AppFlags.AppNamespace = EducatesInstallerString + deleteOptions.AppFlags.Name = constants.EducatesInstallerAppString + deleteOptions.AppFlags.AppNamespace = constants.EducatesInstallerString deleteOptions.ApplyFlags.ClusterChangeOpts.Wait = true deleteOptions.ApplyFlags.ApplyingChangesOpts.Concurrency = 5 deleteOptions.ApplyFlags.WaitingChangesOpts.CheckInterval = time.Duration(1) * time.Second @@ -449,7 +443,7 @@ func (inst *Installer) delete(clusterConfig *cluster.ClusterConfig) error { } func (inst *Installer) getBundleImageRef(version string, packageRepository string, verbose bool) string { - bundleImageRef := fmt.Sprintf("%s/%s:%s", packageRepository, EducatesInstallerString, version) + bundleImageRef := fmt.Sprintf("%s/%s:%s", packageRepository, constants.EducatesInstallerString, version) if verbose { fmt.Printf("Using installer image: %s\n", bundleImageRef) } diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index 7e8002e2b..423d25cba 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -20,6 +20,7 @@ import ( "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" yaml "gopkg.in/yaml.v2" @@ -37,16 +38,6 @@ const hostMirrorTomlTemplate = `[host."http://%s:5000"] const hostRegistryTomlTemplate = `[host."http://%s:5000"]` -const ( - RegistryImageV3 = "docker.io/library/registry:3" - RegistryConfigTargetPath = "/etc/distribution/config.yml" - EducatesNetworkName = "educates" - EducatesRegistryContainer = "educates-registry" - EducatesControlPlaneContainer = "educates-control-plane" - EducatesRegistryRoleLabel = "registry" - EducatesMirrorRoleLabel = "mirror" - EducatesAppLabel = "educates" -) /** * This function is used to deploy the registry and link it to the cluster. @@ -61,10 +52,10 @@ func DeployRegistryAndLinkToCluster(bindIP string, client *kubernetes.Clientset) // This is needed to make containerd use the local registry - if err = addRegistryConfigToKindNodes("localhost:5001", fmt.Sprintf(hostRegistryTomlTemplate, EducatesRegistryContainer)); err != nil { + if err = addRegistryConfigToKindNodes("localhost:5001", fmt.Sprintf(hostRegistryTomlTemplate, constants.EducatesRegistryContainer)); err != nil { return errors.Wrap(err, "failed to add registry config to kind nodes") } - if err = addRegistryConfigToKindNodes("registry.default.svc.cluster.local", fmt.Sprintf(hostRegistryTomlTemplate, EducatesRegistryContainer)); err != nil { + if err = addRegistryConfigToKindNodes("registry.default.svc.cluster.local", fmt.Sprintf(hostRegistryTomlTemplate, constants.EducatesRegistryContainer)); err != nil { return errors.Wrap(err, "failed to add registry config to kind nodes") } @@ -104,7 +95,7 @@ func createRegistryContainer(bindIP string) error { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, EducatesRegistryContainer) + _, err = cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) if err == nil { // If we can retrieve a container of required name we assume it is @@ -115,7 +106,7 @@ func createRegistryContainer(bindIP string) error { return nil } - reader, err := cli.ImagePull(ctx, RegistryImageV3, image.PullOptions{}) + reader, err := cli.ImagePull(ctx, constants.RegistryImageV3, image.PullOptions{}) if err != nil { return errors.Wrap(err, "cannot pull registry image") } @@ -123,10 +114,10 @@ func createRegistryContainer(bindIP string) error { defer reader.Close() io.Copy(os.Stdout, reader) - _, err = cli.NetworkInspect(ctx, EducatesNetworkName, network.InspectOptions{}) + _, err = cli.NetworkInspect(ctx, constants.EducatesNetworkName, network.InspectOptions{}) if err != nil { - _, err = cli.NetworkCreate(ctx, EducatesNetworkName, network.CreateOptions{}) + _, err = cli.NetworkCreate(ctx, constants.EducatesNetworkName, network.CreateOptions{}) if err != nil { return errors.Wrap(err, "cannot create educates network") @@ -148,18 +139,18 @@ func createRegistryContainer(bindIP string) error { } labels := map[string]string{ - "app": EducatesAppLabel, - "role": EducatesRegistryRoleLabel, + "app": constants.EducatesAppLabel, + "role": constants.EducatesRegistryRoleLabel, } resp, err := cli.ContainerCreate(ctx, &container.Config{ - Image: RegistryImageV3, + Image: constants.RegistryImageV3, Tty: false, ExposedPorts: nat.PortSet{ "5000/tcp": struct{}{}, }, Labels: labels, - }, hostConfig, nil, nil, EducatesRegistryContainer) + }, hostConfig, nil, nil, constants.EducatesRegistryContainer) if err != nil { return errors.Wrap(err, "cannot create registry container") @@ -169,15 +160,15 @@ func createRegistryContainer(bindIP string) error { return errors.Wrap(err, "unable to start registry") } - cli.NetworkDisconnect(ctx, EducatesNetworkName, EducatesRegistryContainer, false) + cli.NetworkDisconnect(ctx, constants.EducatesNetworkName, constants.EducatesRegistryContainer, false) - err = cli.NetworkConnect(ctx, EducatesNetworkName, EducatesRegistryContainer, &network.EndpointSettings{}) + err = cli.NetworkConnect(ctx, constants.EducatesNetworkName, constants.EducatesRegistryContainer, &network.EndpointSettings{}) if err != nil { return errors.Wrap(err, "unable to connect registry to educates network") } - if err = linkRegistryToClusterNetwork(EducatesRegistryContainer); err != nil { + if err = linkRegistryToClusterNetwork(constants.EducatesRegistryContainer); err != nil { return errors.Wrap(err, "failed to link registry to cluster") } @@ -246,10 +237,10 @@ func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_PASSWORD=%s", mirrorConfig.Password)) } - _, err = cli.NetworkInspect(ctx, EducatesNetworkName, network.InspectOptions{}) + _, err = cli.NetworkInspect(ctx, constants.EducatesNetworkName, network.InspectOptions{}) if err != nil { - _, err = cli.NetworkCreate(ctx, EducatesNetworkName, network.CreateOptions{}) + _, err = cli.NetworkCreate(ctx, constants.EducatesNetworkName, network.CreateOptions{}) if err != nil { return errors.Wrap(err, "cannot create educates network") @@ -271,13 +262,13 @@ func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { } labels := map[string]string{ - "app": EducatesAppLabel, - "role": EducatesMirrorRoleLabel, + "app": constants.EducatesAppLabel, + "role": constants.EducatesMirrorRoleLabel, "mirror": mirrorConfig.Mirror, } resp, err := cli.ContainerCreate(ctx, &container.Config{ - Image: RegistryImageV3, + Image: constants.RegistryImageV3, Tty: false, Env: envs, ExposedPorts: nat.PortSet{ @@ -294,9 +285,9 @@ func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { return errors.Wrap(err, "unable to start local registry mirror") } - cli.NetworkDisconnect(ctx, EducatesNetworkName, mirrorContainerName, false) + cli.NetworkDisconnect(ctx, constants.EducatesNetworkName, mirrorContainerName, false) - err = cli.NetworkConnect(ctx, EducatesNetworkName, mirrorContainerName, &network.EndpointSettings{}) + err = cli.NetworkConnect(ctx, constants.EducatesNetworkName, mirrorContainerName, &network.EndpointSettings{}) if err != nil { return errors.Wrap(err, "unable to connect local registry mirror to educates network") @@ -324,7 +315,7 @@ func addRegistryConfigToKindNodes(repositoryName string, content string) error { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := getContainerInfo(EducatesControlPlaneContainer) + containerID, _ := getContainerInfo(constants.EducatesControlPlaneContainer) registryDir := "/etc/containerd/certs.d/" + repositoryName @@ -379,7 +370,7 @@ func removeRegistryConfigFromKindNodes(repositoryName string) error { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := getContainerInfo(EducatesControlPlaneContainer) + containerID, _ := getContainerInfo(constants.EducatesControlPlaneContainer) if containerID == "" { return nil @@ -486,7 +477,7 @@ func DeleteRegistry() error { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, EducatesRegistryContainer) + _, err = cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) if err != nil { // If we can't retrieve a container of required name we assume it does @@ -497,7 +488,7 @@ func DeleteRegistry() error { timeout := 30 - err = cli.ContainerStop(ctx, EducatesRegistryContainer, container.StopOptions{Timeout: &timeout}) + err = cli.ContainerStop(ctx, constants.EducatesRegistryContainer, container.StopOptions{Timeout: &timeout}) // timeout := time.Duration(30) * time.Second @@ -507,7 +498,7 @@ func DeleteRegistry() error { return errors.Wrap(err, "unable to stop registry container") } - err = cli.ContainerRemove(ctx, EducatesRegistryContainer, container.RemoveOptions{}) + err = cli.ContainerRemove(ctx, constants.EducatesRegistryContainer, container.RemoveOptions{}) if err != nil { return errors.Wrap(err, "unable to delete registry container") @@ -579,8 +570,8 @@ func DeleteRegistryMirrors() error { mirrors, err := cli.ContainerList(ctx, container.ListOptions{ Filters: filters.NewArgs( - filters.Arg("label", "role="+EducatesMirrorRoleLabel), - filters.Arg("label", "app="+EducatesAppLabel), + filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), + filters.Arg("label", "app="+constants.EducatesAppLabel), ), }) @@ -643,7 +634,7 @@ func UpdateRegistryK8SService(k8sclient *kubernetes.Clientset) error { endpointAppProtocol := "http" endpointProtocol := v1.ProtocolTCP - registryInfo, err := cli.ContainerInspect(ctx, EducatesRegistryContainer) + registryInfo, err := cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) if err != nil { return errors.Wrapf(err, "unable to inspect container for registry") @@ -714,9 +705,9 @@ func PruneRegistry() error { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := getContainerInfo(EducatesRegistryContainer) + containerID, _ := getContainerInfo(constants.EducatesRegistryContainer) - cmdStatement := []string{"registry", "garbage-collect", RegistryConfigTargetPath, "--delete-untagged=true"} + cmdStatement := []string{"registry", "garbage-collect", constants.RegistryConfigTargetPath, "--delete-untagged=true"} optionsCreateExecuteScript := container.ExecOptions{ AttachStdout: false, @@ -750,7 +741,7 @@ func ListRegistryMirrors() (string, error) { return "", errors.Wrap(err, "unable to create docker client") } - mirrors, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters.NewArgs(filters.Arg("label", "role="+EducatesMirrorRoleLabel), filters.Arg("label", "app="+EducatesAppLabel))}) + mirrors, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters.NewArgs(filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), filters.Arg("label", "app="+constants.EducatesAppLabel))}) if err != nil { return "", errors.Wrap(err, "unable to list registry mirrors") } @@ -783,7 +774,7 @@ func ListRegistryMirrors() (string, error) { * This function is used to get the container name of a registry mirror. */ func registryMirrorContainerName(mirrorConfig *config.RegistryMirrorConfig) string { - return fmt.Sprintf("%s-mirror-%s", EducatesRegistryContainer, mirrorConfig.Mirror) + return fmt.Sprintf("%s-mirror-%s", constants.EducatesRegistryContainer, mirrorConfig.Mirror) } /** diff --git a/client-programs/pkg/resolver/resolver.go b/client-programs/pkg/resolver/resolver.go index e21dadc6d..b39f093cb 100644 --- a/client-programs/pkg/resolver/resolver.go +++ b/client-programs/pkg/resolver/resolver.go @@ -12,9 +12,10 @@ import ( "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/image" "github.com/docker/docker/api/types/mount" + "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" ) @@ -33,8 +34,7 @@ address=/{{.IngressDomain}}/{{.TargetAddress}} address=/{{$Domain}}/{{$.TargetAddress}} {{- end }} ` - dnsmasqImage = "ghcr.io/dockur/dnsmasq:2.90" - resolverContainerName = "educates-resolver" + dnsmasqImage = "ghcr.io/dockur/dnsmasq:2.92" ) func DeployResolver(domain string, targetAddress string, extraDomains []string) error { @@ -42,13 +42,13 @@ func DeployResolver(domain string, targetAddress string, extraDomains []string) fmt.Println("Deploying local DNS resolver") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, resolverContainerName) + _, err = cli.ContainerInspect(ctx, constants.EducatesResolverContainerName) if err == nil { // If we can retrieve a container of required name we assume it is @@ -105,7 +105,7 @@ func DeployResolver(domain string, targetAddress string, extraDomains []string) ExposedPorts: nat.PortSet{ "53/udp": struct{}{}, }, - }, hostConfig, nil, nil, resolverContainerName) + }, hostConfig, nil, nil, constants.EducatesResolverContainerName) if err != nil { return errors.Wrap(err, "cannot create resolver container") @@ -115,7 +115,7 @@ func DeployResolver(domain string, targetAddress string, extraDomains []string) return errors.Wrap(err, "unable to start resolver") } - fmt.Println("Local DNS resolver running as a Docker container", resolverContainerName) + fmt.Println("Local DNS resolver running as a Docker container", constants.EducatesResolverContainerName) fmt.Println("Local DNS resolver configuration in", configFileName) return nil @@ -126,13 +126,13 @@ func DeleteResolver() error { fmt.Println("Deleting local DNS resolver") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, resolverContainerName) + _, err = cli.ContainerInspect(ctx, constants.EducatesResolverContainerName) if err != nil { // If we can't retrieve a container of required name we assume it does @@ -143,13 +143,13 @@ func DeleteResolver() error { timeout := 30 - err = cli.ContainerStop(ctx, resolverContainerName, container.StopOptions{Timeout: &timeout}) + err = cli.ContainerStop(ctx, constants.EducatesResolverContainerName, container.StopOptions{Timeout: &timeout}) if err != nil { return errors.Wrap(err, "unable to stop DNS resolver container") } - err = cli.ContainerRemove(ctx, resolverContainerName, container.RemoveOptions{}) + err = cli.ContainerRemove(ctx, constants.EducatesResolverContainerName, container.RemoveOptions{}) if err != nil { return errors.Wrap(err, "unable to delete DNS resolver container") @@ -163,12 +163,12 @@ func UpdateResolver(domain string, targetAddress string, extraDomains []string) fmt.Println("Updating local DNS resolver configuration") - cli, err := docker.NewDockerClient() + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, resolverContainerName) + _, err = cli.ContainerInspect(ctx, constants.EducatesResolverContainerName) if err != nil { return errors.Wrap(err, "resolver container not found") } @@ -178,7 +178,7 @@ func UpdateResolver(domain string, targetAddress string, extraDomains []string) return err } - err = cli.ContainerRestart(ctx, resolverContainerName, container.StopOptions{}) + err = cli.ContainerRestart(ctx, constants.EducatesResolverContainerName, container.StopOptions{}) if err != nil { return errors.Wrap(err, "failed to restart resolver") } diff --git a/client-programs/pkg/utils/dirs.go b/client-programs/pkg/utils/dirs.go index 2a2ea6e68..ebe6d8836 100644 --- a/client-programs/pkg/utils/dirs.go +++ b/client-programs/pkg/utils/dirs.go @@ -4,8 +4,9 @@ import ( "path" "github.com/adrg/xdg" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" ) func GetEducatesHomeDir() string { - return path.Join(xdg.DataHome, "educates") + return path.Join(xdg.DataHome, constants.EducatesHomeDirName) } From 1a36fdc8394daffd3e34906caa8d65e712b94808 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Wed, 21 Jan 2026 19:54:39 +0100 Subject: [PATCH 15/41] Improved local_mirror_list command --- client-programs/pkg/registry/registry.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index 423d25cba..9987444b7 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -265,6 +265,8 @@ func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { "app": constants.EducatesAppLabel, "role": constants.EducatesMirrorRoleLabel, "mirror": mirrorConfig.Mirror, + "url": mirrorConfig.URL, + "username": mirrorConfig.Username, } resp, err := cli.ContainerCreate(ctx, &container.Config{ @@ -752,13 +754,18 @@ func ListRegistryMirrors() (string, error) { // Initialize tabwriter to write to 'buf' instead of 'os.Stdout' w.Init(&buf, 8, 8, 3, ' ', 0) - fmt.Fprintf(w, "%s\n", "NAME") + fmt.Fprintf(w, "%s\t%s\t%s\n", "NAME", "URL", "USERNAME") for i, item := range mirrors { // TODO: Add the right way to get the container information name := utils.GetContainerName(item) + url := item.Labels["url"] + if url == "" { + url = item.Labels["mirror"] + } + username := item.Labels["username"] - fmt.Fprintf(w, "%s", name) + fmt.Fprintf(w, "%s\t%s\t%s", name, url, username) if i < len(mirrors) - 1 { fmt.Fprintf(w, "\n") } From 8d56cb51cd1070c1fbe28477d62b55316482da87 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Wed, 21 Jan 2026 20:24:30 +0100 Subject: [PATCH 16/41] Refactor and extract function to print tables --- .../pkg/cmd/docker_workshop_list_cmd.go | 15 ++----- .../pkg/educates/resources/portal/manager.go | 37 +++------------- .../educates/resources/sessions/manager.go | 40 ++++++----------- .../educates/resources/workshops/manager.go | 15 ++----- client-programs/pkg/registry/registry.go | 25 ++--------- client-programs/pkg/utils/printer.go | 44 +++++++++++++++++++ 6 files changed, 74 insertions(+), 102 deletions(-) create mode 100644 client-programs/pkg/utils/printer.go diff --git a/client-programs/pkg/cmd/docker_workshop_list_cmd.go b/client-programs/pkg/cmd/docker_workshop_list_cmd.go index 77f618b32..6e28f0e18 100644 --- a/client-programs/pkg/cmd/docker_workshop_list_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_list_cmd.go @@ -2,10 +2,9 @@ package cmd import ( "fmt" - "os" - "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/docker" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -29,17 +28,11 @@ func (p *ProjectInfo) NewDockerWorkshopListCmd() *cobra.Command { return errors.Wrap(err, "cannot display list of workshops") } - // TODO: Move this to a helper function - w := new(tabwriter.Writer) - w.Init(os.Stdout, 8, 8, 3, ' ', 0) - - defer w.Flush() - - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "URL", "SOURCE", "STATUS") - + var data [][]string for _, workshop := range workshops { - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", workshop.Name, workshop.Url, workshop.Source, workshop.Status) + data = append(data, []string{workshop.Name, workshop.Url, workshop.Source, workshop.Status}) } + fmt.Print(utils.PrintTable([]string{"NAME", "URL", "SOURCE", "STATUS"}, data)) return nil }, diff --git a/client-programs/pkg/educates/resources/portal/manager.go b/client-programs/pkg/educates/resources/portal/manager.go index a9fefb85f..5f5c4372d 100644 --- a/client-programs/pkg/educates/resources/portal/manager.go +++ b/client-programs/pkg/educates/resources/portal/manager.go @@ -5,7 +5,6 @@ import ( "fmt" "net/url" "strings" - "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/constants" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" @@ -202,15 +201,8 @@ func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (stri return "", nil } - var buf strings.Builder - w := new(tabwriter.Writer) - - // Initialize tabwriter to write to 'buf' instead of 'os.Stdout' - w.Init(&buf, 8, 8, 3, ' ', 0) - - fmt.Fprintf(w, "%s\t%s\t%s\n", "NAME", "CAPACITY", "URL") - - for i, item := range trainingPortals.Items { + var data [][]string + for _, item := range trainingPortals.Items { name := item.GetName() sessionsMaximum, propertyExists, err := unstructured.NestedInt64(item.Object, "spec", "portal", "sessions", "maximum") @@ -223,16 +215,9 @@ func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (stri url, _, _ := unstructured.NestedString(item.Object, "status", "educates", "url") - fmt.Fprintf(w, "%s\t%s\t%s", name, capacity, url) - if i < len(trainingPortals.Items) - 1 { - fmt.Fprintf(w, "\n") - } + data = append(data, []string{name, capacity, url}) } - - // Important: Flush ensures all data is written from tabwriter to the builder - w.Flush() - - return buf.String(), nil + return utils.PrintTable([]string{"NAME", "CAPACITY", "URL"}, data), nil } func (m *PortalManager) GetTrainingPortalBrowserUrl(cfg *TrainingPortalOpenConfig) (string, error) { @@ -289,19 +274,7 @@ func (m *PortalManager) GetTrainingPortalPassword(cfg *TrainingPortalPasswordCon return "", errors.New("unable to access credentials") } - var buf strings.Builder - w := new(tabwriter.Writer) - - // Initialize tabwriter to write to 'buf' instead of 'os.Stdout' - w.Init(&buf, 8, 8, 3, ' ', 0) - - fmt.Fprintf(w, "%s\t%s\n", "USERNAME", "PASSWORD") - fmt.Fprintf(w, "%s\t%s", username, password) - - // Important: Flush ensures all data is written from tabwriter to the builder - w.Flush() - - return buf.String(), nil + return utils.PrintTable([]string{"USERNAME", "PASSWORD"}, [][]string{{username, password}}), nil } else { password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") diff --git a/client-programs/pkg/educates/resources/sessions/manager.go b/client-programs/pkg/educates/resources/sessions/manager.go index 0a3d46c4b..136c87040 100644 --- a/client-programs/pkg/educates/resources/sessions/manager.go +++ b/client-programs/pkg/educates/resources/sessions/manager.go @@ -3,12 +3,11 @@ package sessions import ( "context" "fmt" - "strings" - "text/tabwriter" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" educatesrestapi "github.com/educates/educates-training-platform/client-programs/pkg/educates/restapi" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" k8serrors "k8s.io/apimachinery/pkg/api/errors" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" @@ -82,30 +81,19 @@ func (m *SessionManager) ListSessions(cfg ListSessionsConfig) (string, error) { return "No sessions found.", nil } - var buf strings.Builder - w := new(tabwriter.Writer) - w.Init(&buf, 8, 8, 3, ' ', 0) - - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "PORTAL", "ENVIRONMENT", "STATUS") - - for i, item := range sessions { + var data [][]string + for _, item := range sessions { name := item.GetName() labels := item.GetLabels() - portal := labels["training.educates.dev/portal.name"] environment := labels["training.educates.dev/environment.name"] status, _, _ := unstructured.NestedString(item.Object, "status", "educates", "phase") - fmt.Fprintf(w, "%s\t%s\t%s\t%s", name, portal, environment, status) - if i < len(sessions) - 1 { - fmt.Fprintf(w, "\n") - } + data = append(data, []string{name, portal, environment, status}) } - w.Flush() - - return buf.String(), nil + return utils.PrintTable([]string{"NAME", "PORTAL", "ENVIRONMENT", "STATUS"}, data), nil } func (m *SessionManager) ExtendSession(cfg ExtendSessionConfig) (string, error) { @@ -167,14 +155,12 @@ func (m *SessionManager) TerminateSession(cfg TerminateSessionConfig) (string, e } func printStatus(details *educatesrestapi.WorkshopSessionDetails) string { - var buf strings.Builder - - fmt.Fprintf(&buf, "Started: %s\n", details.Started) - fmt.Fprintf(&buf, "Expires: %s\n", details.Expires) - fmt.Fprintf(&buf, "Expiring: %t\n", details.Expiring) - fmt.Fprintf(&buf, "Countdown: %d\n", details.Countdown) - fmt.Fprintf(&buf, "Extendable: %t\n", details.Extendable) - fmt.Fprintf(&buf, "Status: %s", details.Status) - - return buf.String() + return utils.PrintKeyValuesTable([][]string{ + {"Started", details.Started}, + {"Expires", details.Expires}, + {"Expiring", fmt.Sprintf("%t", details.Expiring)}, + {"Countdown", fmt.Sprintf("%d", details.Countdown)}, + {"Extendable", fmt.Sprintf("%t", details.Extendable)}, + {"Status", details.Status}}, + ) } diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops/manager.go index 0c421c6c4..2761cadc4 100644 --- a/client-programs/pkg/educates/resources/workshops/manager.go +++ b/client-programs/pkg/educates/resources/workshops/manager.go @@ -13,7 +13,6 @@ import ( "os" "path/filepath" "strings" - "text/tabwriter" "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" @@ -460,17 +459,13 @@ func (m *WorkshopManager) ListWorkshopResources(o *ListWorkshopResourcesConfig) return "No workshops found.", nil } - var buf strings.Builder - w := new(tabwriter.Writer) - w.Init(&buf, 8, 8, 3, ' ', 0) - - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", "NAME", "ALIAS", "CAPACITY", "SOURCE") - workshopsClient := m.Client.Resource(educatesTypes.WorkshopResource) + var data [][]string for _, item := range workshops { object := item.(map[string]interface{}) name := object["name"].(string) + alias := object["alias"].(string) var capacityField string @@ -494,12 +489,10 @@ func (m *WorkshopManager) ListWorkshopResources(o *ListWorkshopResourcesConfig) } } - fmt.Fprintf(w, "%s\t%s\t%s\t%s\n", object["name"], object["alias"], capacityField, source) + data = append(data, []string{name, alias, capacityField, source}) } - w.Flush() - - return buf.String(), nil + return utils.PrintTable([]string{"NAME", "ALIAS", "CAPACITY", "SOURCE"}, data), nil } func (m *WorkshopManager) DeleteWorkshopResource(o *DeleteWorkshopResourceConfig) error { diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index 9987444b7..43d37239f 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -11,7 +11,6 @@ import ( "os" "path" "strings" - "text/tabwriter" "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/filters" @@ -748,33 +747,17 @@ func ListRegistryMirrors() (string, error) { return "", errors.Wrap(err, "unable to list registry mirrors") } - var buf strings.Builder - w := new(tabwriter.Writer) - - // Initialize tabwriter to write to 'buf' instead of 'os.Stdout' - w.Init(&buf, 8, 8, 3, ' ', 0) - - fmt.Fprintf(w, "%s\t%s\t%s\n", "NAME", "URL", "USERNAME") - - for i, item := range mirrors { - // TODO: Add the right way to get the container information + var data [][]string + for _, item := range mirrors { name := utils.GetContainerName(item) url := item.Labels["url"] if url == "" { url = item.Labels["mirror"] } username := item.Labels["username"] - - fmt.Fprintf(w, "%s\t%s\t%s", name, url, username) - if i < len(mirrors) - 1 { - fmt.Fprintf(w, "\n") - } + data = append(data, []string{name, url, username}) } - - // Important: Flush ensures all data is written from tabwriter to the builder - w.Flush() - - return buf.String(), nil + return utils.PrintTable([]string{"NAME", "URL", "USERNAME"}, data), nil } /** diff --git a/client-programs/pkg/utils/printer.go b/client-programs/pkg/utils/printer.go new file mode 100644 index 000000000..abe9fc3f1 --- /dev/null +++ b/client-programs/pkg/utils/printer.go @@ -0,0 +1,44 @@ +package utils + +import ( + "fmt" + "strings" + "text/tabwriter" +) + +func PrintTable(headers []string, data [][]string) string { + var buf strings.Builder + w := tabwriter.NewWriter(&buf, 8, 8, 3, ' ', 0) + + // Print headers + fmt.Fprintln(w, strings.Join(headers, "\t")) + + // Print data rows + for i, row := range data { + if i < len(data) - 1 { + fmt.Fprintln(w, strings.Join(row, "\t")) + }else { + fmt.Fprint(w, strings.Join(row, "\t")) + } + } + + w.Flush() + return buf.String() +} + +func PrintKeyValuesTable(data [][]string) string { + var buf strings.Builder + w := tabwriter.NewWriter(&buf, 8, 8, 3, ' ', 0) + + // Print data rows + for i, row := range data { + if i < len(data) - 1 { + fmt.Fprintf(w, "%s:\t%s\n", row[0], row[1]) + }else { + fmt.Fprintf(w, "%s:\t%s", row[0], row[1]) + } + } + + w.Flush() + return buf.String() +} From 40fb8ff3f987ca23d32792c5b20cafbed8cc268f Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Wed, 21 Jan 2026 20:45:38 +0100 Subject: [PATCH 17/41] Remove one dependency on ytt.ui --- .../educates/resources/workshops/manager.go | 7 +-- client-programs/pkg/logger/StdoutUI.go | 58 +++++++++++++++++++ 2 files changed, 60 insertions(+), 5 deletions(-) create mode 100644 client-programs/pkg/logger/StdoutUI.go diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops/manager.go index 2761cadc4..858d528c5 100644 --- a/client-programs/pkg/educates/resources/workshops/manager.go +++ b/client-programs/pkg/educates/resources/workshops/manager.go @@ -7,7 +7,6 @@ import ( "encoding/json" "fmt" "io" - "log" "net/http" "net/url" "os" @@ -16,11 +15,11 @@ import ( "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" - yttcmdui "carvel.dev/ytt/pkg/cmd/ui" "carvel.dev/ytt/pkg/files" "carvel.dev/ytt/pkg/yamlmeta" "github.com/educates/educates-training-platform/client-programs/pkg/constants" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" + "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/utils" // "github.com/educates/educates-training-platform/client-programs/pkg/workshops" @@ -684,9 +683,7 @@ func ProcessWorkshopDefinition(yamlData []byte, dataValueFlags yttcmd.DataValues filesToProcess = append(filesToProcess, mainInputFile) - logUI := yttcmdui.NewCustomWriterTTY(false, log.Writer(), log.Writer()) - - output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logUI) + output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logger.NewStdoutUI()) if output.Err != nil { return []byte{}, fmt.Errorf("execution of ytt failed: %s", output.Err) diff --git a/client-programs/pkg/logger/StdoutUI.go b/client-programs/pkg/logger/StdoutUI.go new file mode 100644 index 000000000..93ebd82b5 --- /dev/null +++ b/client-programs/pkg/logger/StdoutUI.go @@ -0,0 +1,58 @@ +package logger + +import ( + "fmt" + "io" + "os" +) + +// StdoutUI is a local implementation that replaces the ui.UI interface from +// carvel.dev/ytt/pkg/cmd/ui. This allows us to avoid importing that package +// while still being compatible with ytt's RunWithFiles method. +// +// Go's structural typing for interfaces means this type satisfies the ui.UI +// interface as long as it implements the same method signatures: +// - Printf(string, ...interface{}) +// - Debugf(string, ...interface{}) +// - Warnf(str string, args ...interface{}) +// - DebugWriter() io.Writer +type StdoutUI struct { + stdout io.Writer + stderr io.Writer +} + +// NewStdoutUI creates a new StdoutUI with default stdout and stderr writers. +func NewStdoutUI() StdoutUI { + return StdoutUI{os.Stdout, os.Stderr} +} + +// Printf writes formatted output to stdout. +func (y StdoutUI) Printf(str string, args ...interface{}) { + fmt.Fprintf(y.stdout, str, args...) +} + +// Warnf writes formatted warning output to stderr. +func (y StdoutUI) Warnf(str string, args ...interface{}) { + fmt.Fprintf(y.stderr, str, args...) +} + +// Debugf writes formatted debug output to stderr if debug mode is enabled. +func (y StdoutUI) Debugf(str string, args ...interface{}) { + // Do nothing +} + +// DebugWriter returns an io.Writer for debug output. +// Returns stderr if debug mode is enabled, otherwise returns a no-op writer. +func (y StdoutUI) DebugWriter() io.Writer { + // Do nothing + return noopWriter{} +} + +// noopWriter is a writer that discards all data. +type noopWriter struct{} + +var _ io.Writer = noopWriter{} + +func (w noopWriter) Write(data []byte) (int, error) { + return len(data), nil +} From a4533244299cf5237f76040cb39f76fd7fc0a560 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Thu, 22 Jan 2026 18:41:34 +0100 Subject: [PATCH 18/41] Refactored registry and mirror --- client-programs/pkg/registry/mirror.go | 279 ++++++++++++++++++++ client-programs/pkg/registry/registry.go | 309 +---------------------- client-programs/pkg/utils/docker.go | 37 +++ 3 files changed, 327 insertions(+), 298 deletions(-) create mode 100644 client-programs/pkg/registry/mirror.go diff --git a/client-programs/pkg/registry/mirror.go b/client-programs/pkg/registry/mirror.go new file mode 100644 index 000000000..1b66a7365 --- /dev/null +++ b/client-programs/pkg/registry/mirror.go @@ -0,0 +1,279 @@ +package registry + +import ( + "context" + _ "embed" + "fmt" + + "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/filters" + "github.com/docker/docker/api/types/network" + "github.com/docker/docker/client" + "github.com/docker/go-connections/nat" + "github.com/educates/educates-training-platform/client-programs/pkg/config" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" +) + +const hostMirrorTomlTemplate = `[host."http://%s:5000"] + capabilities = ["pull", "resolve"] +` + +/** + * This function is used to deploy a registry mirror and link it to the cluster. + * It is used when creating a new local registry mirror. + */ +func DeployMirrorAndLinkToCluster(mirrorConfig *config.RegistryMirrorConfig) error { + err := createMirrorContainer(mirrorConfig) + + if err != nil { + return errors.Wrap(err, "failed to deploy registry mirror "+mirrorConfig.Mirror) + } + + content := fmt.Sprintf(hostMirrorTomlTemplate, registryMirrorContainerName(mirrorConfig)) + err = addRegistryConfigToKindNodes(mirrorConfig.Mirror, content) + + if err != nil { + fmt.Println("Warning: Mirror not added to Kind nodes") + } + + return nil +} + +/** + * This private function only creates the registry mirror container. + */ +func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { + ctx := context.Background() + + fmt.Printf("Deploying local image registry mirror %s\n", mirrorConfig.Mirror) + + cli, err := client.NewClientWithOpts(client.FromEnv) + + if err != nil { + return errors.Wrap(err, "unable to create docker client") + } + + mirrorContainerName := registryMirrorContainerName(mirrorConfig) + _, err = cli.ContainerInspect(ctx, mirrorContainerName) + + if err == nil { + // If we can retrieve a container of required name we assume it is + // running okay. Technically it could be restarting, stopping or + // have exited and container was not removed, but if that is the case + // then leave it up to the user to sort out. + fmt.Printf("Registry mirror %s already exists\n", mirrorConfig.Mirror) + + return nil + } + + // Prepare environment variables for the registry mirror + envs := []string{} + mirrorURL := mirrorConfig.URL + if mirrorURL == "" { + mirrorURL = mirrorConfig.Mirror + } + envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_REMOTEURL=https://%s", mirrorURL)) + if mirrorConfig.Username != "" { + envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_USERNAME=%s", mirrorConfig.Username)) + } + if mirrorConfig.Password != "" { + envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_PASSWORD=%s", mirrorConfig.Password)) + } + + _, err = cli.NetworkInspect(ctx, constants.EducatesNetworkName, network.InspectOptions{}) + + if err != nil { + _, err = cli.NetworkCreate(ctx, constants.EducatesNetworkName, network.CreateOptions{}) + + if err != nil { + return errors.Wrap(err, "cannot create educates network") + } + } + + hostConfig := &container.HostConfig{ + PortBindings: nat.PortMap{ + "5000/tcp": []nat.PortBinding{ + { + HostIP: "127.0.0.1", + // HostPort: mirrorConfig.Port, + }, + }, + }, + RestartPolicy: container.RestartPolicy{ + Name: "always", + }, + } + + labels := map[string]string{ + "app": constants.EducatesAppLabel, + "role": constants.EducatesMirrorRoleLabel, + "mirror": mirrorConfig.Mirror, + "url": mirrorConfig.URL, + "username": mirrorConfig.Username, + } + + resp, err := cli.ContainerCreate(ctx, &container.Config{ + Image: constants.RegistryImageV3, + Tty: false, + Env: envs, + ExposedPorts: nat.PortSet{ + "5000/tcp": struct{}{}, + }, + Labels: labels, + }, hostConfig, nil, nil, mirrorContainerName) + + if err != nil { + return errors.Wrap(err, "cannot create local registry mirror container") + } + + if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil { + return errors.Wrap(err, "unable to start local registry mirror") + } + + cli.NetworkDisconnect(ctx, constants.EducatesNetworkName, mirrorContainerName, false) + + err = cli.NetworkConnect(ctx, constants.EducatesNetworkName, mirrorContainerName, &network.EndpointSettings{}) + + if err != nil { + return errors.Wrap(err, "unable to connect local registry mirror to educates network") + } + + if err = linkRegistryToClusterNetwork(mirrorContainerName); err != nil { + return errors.Wrap(err, "failed to link local registry mirror to cluster") + } + + return nil +} + +/** + * This function is used to delete a local registry mirror and unlink it from the cluster. + * It is used when deleting a local registry mirror. + */ +func DeleteMirrorAndUnlinkFromCluster(mirrorConfig *config.RegistryMirrorConfig) error { + ctx := context.Background() + + fmt.Printf("Deleting local image registry mirror %s\n", mirrorConfig.Mirror) + + cli, err := client.NewClientWithOpts(client.FromEnv) + + if err != nil { + return errors.Wrap(err, "unable to create docker client") + } + + containerName := registryMirrorContainerName(mirrorConfig) + _, err = cli.ContainerInspect(ctx, containerName) + + if err != nil { + // If we can't retrieve a container of required name we assume it does + // not actually exist. + + fmt.Printf("Registry mirror %s does not exist\n", mirrorConfig.Mirror) + return nil + } + + timeout := 30 + + err = cli.ContainerStop(ctx, containerName, container.StopOptions{Timeout: &timeout}) + + if err != nil { + return errors.Wrap(err, "unable to stop registry mirror container "+containerName) + } + + err = cli.ContainerRemove(ctx, containerName, container.RemoveOptions{}) + + if err != nil { + return errors.Wrap(err, "unable to delete registry mirror container "+containerName) + } + + // Remove the registry config from the kind nodes + err = removeRegistryConfigFromKindNodes(mirrorConfig.Mirror) + + if err != nil { + return errors.Wrap(err, "unable to remove registry config from kind nodes") + } + + return nil +} + +func DeleteRegistryMirrors() error { + ctx := context.Background() + + fmt.Println("Deleting local image registry mirrors") + + cli, err := client.NewClientWithOpts(client.FromEnv) + + if err != nil { + return errors.Wrap(err, "unable to create docker client") + } + + mirrors, err := cli.ContainerList(ctx, container.ListOptions{ + Filters: filters.NewArgs( + filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), + filters.Arg("label", "app="+constants.EducatesAppLabel), + ), + }) + + if err != nil { + return errors.Wrap(err, "unable to list registry mirrors") + } + + for _, mirror := range mirrors { + + timeout := 30 + + err = cli.ContainerStop(ctx, mirror.ID, container.StopOptions{Timeout: &timeout}) + + if err != nil { + return errors.Wrap(err, "unable to stop registry mirror container "+mirror.ID) + } + + err = cli.ContainerRemove(ctx, mirror.ID, container.RemoveOptions{}) + + if err != nil { + return errors.Wrap(err, "unable to delete registry mirror container "+mirror.ID) + } + + } + + return nil +} + +/** + * This function is used to list all local image registry mirrors. + */ +func ListRegistryMirrors() (string, error) { + ctx := context.Background() + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + return "", errors.Wrap(err, "unable to create docker client") + } + + mirrors, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters.NewArgs(filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), filters.Arg("label", "app="+constants.EducatesAppLabel))}) + if err != nil { + return "", errors.Wrap(err, "unable to list registry mirrors") + } + + var data [][]string + for _, item := range mirrors { + name := item.Labels["mirror"] + url := item.Labels["url"] + if url == "" { + url = item.Labels["mirror"] + } + username := item.Labels["username"] + status := item.Status + containerName := utils.GetContainerName(item) + data = append(data, []string{name, url, username, status, containerName}) + } + return utils.PrintTable([]string{"NAME", "URL", "USERNAME", "STATUS", "CONTAINER_NAME"}, data), nil +} + +/** + * This function is used to get the container name of a registry mirror. + */ +func registryMirrorContainerName(mirrorConfig *config.RegistryMirrorConfig) string { + return fmt.Sprintf("%s-mirror-%s", constants.EducatesRegistryContainer, mirrorConfig.Mirror) +} diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index 43d37239f..81a84314a 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -10,15 +10,12 @@ import ( "io" "os" "path" - "strings" "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/image" "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" "github.com/docker/go-connections/nat" - "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" @@ -31,10 +28,6 @@ import ( "k8s.io/client-go/kubernetes" ) -const hostMirrorTomlTemplate = `[host."http://%s:5000"] - capabilities = ["pull", "resolve"] -` - const hostRegistryTomlTemplate = `[host."http://%s:5000"]` @@ -174,133 +167,6 @@ func createRegistryContainer(bindIP string) error { return nil } -/** - * This function is used to deploy a registry mirror and link it to the cluster. - * It is used when creating a new local registry mirror. - */ -func DeployMirrorAndLinkToCluster(mirrorConfig *config.RegistryMirrorConfig) error { - err := createMirrorContainer(mirrorConfig) - - if err != nil { - return errors.Wrap(err, "failed to deploy registry mirror "+mirrorConfig.Mirror) - } - - content := fmt.Sprintf(hostMirrorTomlTemplate, registryMirrorContainerName(mirrorConfig)) - err = addRegistryConfigToKindNodes(mirrorConfig.Mirror, content) - - if err != nil { - fmt.Println("Warning: Mirror not added to Kind nodes") - } - - return nil -} - -/** - * This private function only creates the registry mirror container. - */ -func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { - ctx := context.Background() - - fmt.Printf("Deploying local image registry mirror %s\n", mirrorConfig.Mirror) - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") - } - - mirrorContainerName := registryMirrorContainerName(mirrorConfig) - _, err = cli.ContainerInspect(ctx, mirrorContainerName) - - if err == nil { - // If we can retrieve a container of required name we assume it is - // running okay. Technically it could be restarting, stopping or - // have exited and container was not removed, but if that is the case - // then leave it up to the user to sort out. - fmt.Printf("Registry mirror %s already exists\n", mirrorConfig.Mirror) - - return nil - } - - // Prepare environment variables for the registry mirror - envs := []string{} - mirrorURL := mirrorConfig.URL - if mirrorURL == "" { - mirrorURL = mirrorConfig.Mirror - } - envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_REMOTEURL=https://%s", mirrorURL)) - if mirrorConfig.Username != "" { - envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_USERNAME=%s", mirrorConfig.Username)) - } - if mirrorConfig.Password != "" { - envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_PASSWORD=%s", mirrorConfig.Password)) - } - - _, err = cli.NetworkInspect(ctx, constants.EducatesNetworkName, network.InspectOptions{}) - - if err != nil { - _, err = cli.NetworkCreate(ctx, constants.EducatesNetworkName, network.CreateOptions{}) - - if err != nil { - return errors.Wrap(err, "cannot create educates network") - } - } - - hostConfig := &container.HostConfig{ - PortBindings: nat.PortMap{ - "5000/tcp": []nat.PortBinding{ - { - HostIP: "127.0.0.1", - // HostPort: mirrorConfig.Port, - }, - }, - }, - RestartPolicy: container.RestartPolicy{ - Name: "always", - }, - } - - labels := map[string]string{ - "app": constants.EducatesAppLabel, - "role": constants.EducatesMirrorRoleLabel, - "mirror": mirrorConfig.Mirror, - "url": mirrorConfig.URL, - "username": mirrorConfig.Username, - } - - resp, err := cli.ContainerCreate(ctx, &container.Config{ - Image: constants.RegistryImageV3, - Tty: false, - Env: envs, - ExposedPorts: nat.PortSet{ - "5000/tcp": struct{}{}, - }, - Labels: labels, - }, hostConfig, nil, nil, mirrorContainerName) - - if err != nil { - return errors.Wrap(err, "cannot create local registry mirror container") - } - - if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil { - return errors.Wrap(err, "unable to start local registry mirror") - } - - cli.NetworkDisconnect(ctx, constants.EducatesNetworkName, mirrorContainerName, false) - - err = cli.NetworkConnect(ctx, constants.EducatesNetworkName, mirrorContainerName, &network.EndpointSettings{}) - - if err != nil { - return errors.Wrap(err, "unable to connect local registry mirror to educates network") - } - - if err = linkRegistryToClusterNetwork(mirrorContainerName); err != nil { - return errors.Wrap(err, "failed to link local registry mirror to cluster") - } - - return nil -} - /** * This function is used to add the registry config to the kind nodes. * It is used when creating a new local registry or registry mirror. @@ -316,7 +182,11 @@ func addRegistryConfigToKindNodes(repositoryName string, content string) error { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := getContainerInfo(constants.EducatesControlPlaneContainer) + containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) + + if containerID == "" { + return errors.New(fmt.Sprintf("%s container not found", constants.EducatesControlPlaneContainer)) + } registryDir := "/etc/containerd/certs.d/" + repositoryName @@ -371,7 +241,7 @@ func removeRegistryConfigFromKindNodes(repositoryName string) error { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := getContainerInfo(constants.EducatesControlPlaneContainer) + containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) if containerID == "" { return nil @@ -508,99 +378,6 @@ func DeleteRegistry() error { return nil } -/** - * This function is used to delete a local registry mirror and unlink it from the cluster. - * It is used when deleting a local registry mirror. - */ -func DeleteMirrorAndUnlinkFromCluster(mirrorConfig *config.RegistryMirrorConfig) error { - ctx := context.Background() - - fmt.Printf("Deleting local image registry mirror %s\n", mirrorConfig.Mirror) - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") - } - - containerName := registryMirrorContainerName(mirrorConfig) - _, err = cli.ContainerInspect(ctx, containerName) - - if err != nil { - // If we can't retrieve a container of required name we assume it does - // not actually exist. - - fmt.Printf("Registry mirror %s does not exist\n", mirrorConfig.Mirror) - return nil - } - - timeout := 30 - - err = cli.ContainerStop(ctx, containerName, container.StopOptions{Timeout: &timeout}) - - if err != nil { - return errors.Wrap(err, "unable to stop registry mirror container "+containerName) - } - - err = cli.ContainerRemove(ctx, containerName, container.RemoveOptions{}) - - if err != nil { - return errors.Wrap(err, "unable to delete registry mirror container "+containerName) - } - - // Remove the registry config from the kind nodes - err = removeRegistryConfigFromKindNodes(mirrorConfig.Mirror) - - if err != nil { - return errors.Wrap(err, "unable to remove registry config from kind nodes") - } - - return nil -} - -func DeleteRegistryMirrors() error { - ctx := context.Background() - - fmt.Println("Deleting local image registry mirrors") - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") - } - - mirrors, err := cli.ContainerList(ctx, container.ListOptions{ - Filters: filters.NewArgs( - filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), - filters.Arg("label", "app="+constants.EducatesAppLabel), - ), - }) - - if err != nil { - return errors.Wrap(err, "unable to list registry mirrors") - } - - for _, mirror := range mirrors { - - timeout := 30 - - err = cli.ContainerStop(ctx, mirror.ID, container.StopOptions{Timeout: &timeout}) - - if err != nil { - return errors.Wrap(err, "unable to stop registry mirror container "+mirror.ID) - } - - err = cli.ContainerRemove(ctx, mirror.ID, container.RemoveOptions{}) - - if err != nil { - return errors.Wrap(err, "unable to delete registry mirror container "+mirror.ID) - } - - } - - return nil -} - /** * TODO: Learn whether this is needed or not * This function is used to update the registry k8s service. @@ -706,7 +483,11 @@ func PruneRegistry() error { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := getContainerInfo(constants.EducatesRegistryContainer) + containerID, _ := utils.GetContainerInfo(constants.EducatesRegistryContainer) + + if containerID == "" { + return nil + } cmdStatement := []string{"registry", "garbage-collect", constants.RegistryConfigTargetPath, "--delete-untagged=true"} @@ -731,74 +512,6 @@ func PruneRegistry() error { } -/** - * This function is used to list all local image registry mirrors. - */ -func ListRegistryMirrors() (string, error) { - ctx := context.Background() - - cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { - return "", errors.Wrap(err, "unable to create docker client") - } - - mirrors, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters.NewArgs(filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), filters.Arg("label", "app="+constants.EducatesAppLabel))}) - if err != nil { - return "", errors.Wrap(err, "unable to list registry mirrors") - } - - var data [][]string - for _, item := range mirrors { - name := utils.GetContainerName(item) - url := item.Labels["url"] - if url == "" { - url = item.Labels["mirror"] - } - username := item.Labels["username"] - data = append(data, []string{name, url, username}) - } - return utils.PrintTable([]string{"NAME", "URL", "USERNAME"}, data), nil -} - -/** - * This function is used to get the container name of a registry mirror. - */ -func registryMirrorContainerName(mirrorConfig *config.RegistryMirrorConfig) string { - return fmt.Sprintf("%s-mirror-%s", constants.EducatesRegistryContainer, mirrorConfig.Mirror) -} - -/** - * This function is used to get the container id and status of a container. - * If the container does not exist, it will return an empty string for the container id and status. - */ -func getContainerInfo(containerName string) (containerID string, status string) { - ctx := context.Background() - - cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { - panic(err) - } - - filters := filters.NewArgs() - filters.Add( - "name", containerName, - ) - - resp, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters}) - if err != nil { - panic(err) - } - - if len(resp) > 0 { - containerID = resp[0].ID - containerStatus := strings.Split(resp[0].Status, " ") - status = containerStatus[0] //fmt.Println(status[0]) - } else { - fmt.Printf("container '%s' does not exists\n", containerName) - } - - return -} /** * This function is used to tar a file to be copied into a container. diff --git a/client-programs/pkg/utils/docker.go b/client-programs/pkg/utils/docker.go index 57368f645..edb273de4 100644 --- a/client-programs/pkg/utils/docker.go +++ b/client-programs/pkg/utils/docker.go @@ -1,9 +1,13 @@ package utils import ( + "context" + "fmt" "strings" "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/filters" + "github.com/docker/docker/client" ) func GetContainerName(container container.Summary) string { @@ -16,3 +20,36 @@ func GetContainerName(container container.Summary) string { return name } + +/** + * This function is used to get the container id and status of a container. + * If the container does not exist, it will return an empty string for the container id and status. + */ + func GetContainerInfo(containerName string) (containerID string, status string) { + ctx := context.Background() + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + panic(err) + } + + filters := filters.NewArgs() + filters.Add( + "name", containerName, + ) + + resp, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters}) + if err != nil { + panic(err) + } + + if len(resp) > 0 { + containerID = resp[0].ID + containerStatus := strings.Split(resp[0].Status, " ") + status = containerStatus[0] //fmt.Println(status[0]) + } else { + fmt.Printf("container '%s' does not exists\n", containerName) + } + + return +} From 592550f38791538609a15dd1215cda5ed59d4ebe Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Thu, 22 Jan 2026 19:19:42 +0100 Subject: [PATCH 19/41] Refactored registry logic to remove duplicate code --- .../pkg/cmd/local_cluster_create_cmd.go | 18 +- .../pkg/cmd/local_cluster_delete_cmd.go | 11 +- .../pkg/cmd/local_mirror_delete_cmd.go | 11 +- .../pkg/cmd/local_mirror_deploy_cmd.go | 3 +- .../pkg/cmd/local_registry_delete_cmd.go | 5 +- .../pkg/cmd/local_registry_deploy_cmd.go | 32 +- .../pkg/cmd/local_registry_prune_cmd.go | 3 +- client-programs/pkg/constants/names.go | 1 + client-programs/pkg/registry/base.go | 289 +++++++++++++ client-programs/pkg/registry/interface.go | 14 + client-programs/pkg/registry/mirror.go | 218 ++++------ client-programs/pkg/registry/registry.go | 382 +++--------------- 12 files changed, 503 insertions(+), 484 deletions(-) create mode 100644 client-programs/pkg/registry/base.go create mode 100644 client-programs/pkg/registry/interface.go diff --git a/client-programs/pkg/cmd/local_cluster_create_cmd.go b/client-programs/pkg/cmd/local_cluster_create_cmd.go index ce43076a8..2c37c9e98 100644 --- a/client-programs/pkg/cmd/local_cluster_create_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_create_cmd.go @@ -98,7 +98,7 @@ func (o *LocalClusterCreateOptions) Run() error { return err } - client, err := clusterConfig.Config.GetClient() + k8sClient, err := clusterConfig.Config.GetClient() if err != nil { return err @@ -107,29 +107,31 @@ func (o *LocalClusterCreateOptions) Run() error { // This creates the educates-secrets namespace if it doesn't exist and creates the // wildcard and CA secrets in there if !o.ClusterOnly { - if err = secrets.SyncLocalCachedSecretsToCluster(client); err != nil { + if err = secrets.SyncLocalCachedSecretsToCluster(k8sClient); err != nil { return err } } - if err = registry.DeployRegistryAndLinkToCluster(o.RegistryBindIP, client); err != nil { + reg := registry.NewRegistry(o.RegistryBindIP, k8sClient) + if err = reg.DeployAndLinkToCluster(); err != nil { return errors.Wrap(err, "failed to deploy registry") } // This is needed for imgpkg pull from locally published workshops - if err = registry.UpdateRegistryK8SService(client); err != nil { + if err = reg.UpdateK8SService(); err != nil { return errors.Wrap(err, "failed to create service for registry") } // This is for hugo livereload (educates serve-workshop) - if err = cluster.CreateLoopbackService(client, fullConfig.ClusterIngress.Domain); err != nil { + if err = cluster.CreateLoopbackService(k8sClient, fullConfig.ClusterIngress.Domain); err != nil { return err } // Create and add registry mirrors defined in config to Kind nodes - for _, mirror := range fullConfig.LocalKindCluster.RegistryMirrors { - if err = registry.DeployMirrorAndLinkToCluster(&mirror); err != nil { - return errors.Wrap(err, "failed to deploy registry mirror "+mirror.Mirror) + for _, mirrorCfg := range fullConfig.LocalKindCluster.RegistryMirrors { + mirror := registry.NewMirror(&mirrorCfg) + if err = mirror.DeployAndLinkToCluster(); err != nil { + return errors.Wrap(err, "failed to deploy registry mirror "+mirrorCfg.Mirror) } } diff --git a/client-programs/pkg/cmd/local_cluster_delete_cmd.go b/client-programs/pkg/cmd/local_cluster_delete_cmd.go index c32779aaa..01dbcbdc6 100644 --- a/client-programs/pkg/cmd/local_cluster_delete_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_delete_cmd.go @@ -25,7 +25,8 @@ func (o *LocalClusterDeleteOptions) Run() error { c := cluster.NewKindClusterConfig("") if o.AllComponents { - registry.DeleteRegistry() + reg := registry.NewRegistry("", nil) + reg.Delete() resolver.DeleteResolver() // Delete all mirrors registry.DeleteRegistryMirrors() @@ -38,10 +39,10 @@ func (p *ProjectInfo) NewLocalClusterDeleteCmd() *cobra.Command { var o LocalClusterDeleteOptions var c = &cobra.Command{ - Args: cobra.NoArgs, - Use: "delete", - Short: "Deletes the local Kubernetes cluster", - RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Args: cobra.NoArgs, + Use: "delete", + Short: "Deletes the local Kubernetes cluster", + RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, Example: localClusterDeleteExample, } diff --git a/client-programs/pkg/cmd/local_mirror_delete_cmd.go b/client-programs/pkg/cmd/local_mirror_delete_cmd.go index 0cc7565b7..24d39a764 100644 --- a/client-programs/pkg/cmd/local_mirror_delete_cmd.go +++ b/client-programs/pkg/cmd/local_mirror_delete_cmd.go @@ -5,6 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/registry" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) const ( @@ -23,14 +24,20 @@ func (o *LocalMirrorDeleteOptions) Run() error { Mirror: o.MirrorName, } - return registry.DeleteMirrorAndUnlinkFromCluster(mirrorConfig) + mirror := registry.NewMirror(mirrorConfig) + return mirror.DeleteAndUnlinkFromCluster() } func (p *ProjectInfo) NewLocalMirrorDeleteCmd() *cobra.Command { var o LocalMirrorDeleteOptions var c = &cobra.Command{ - Args: cobra.ExactArgs(1), + Args: func(cmd *cobra.Command, args []string) error { + if len(args) != 1 { + return utils.CmdError(cmd, "name is required", "NAME") + } + return nil + }, Use: "delete NAME", Short: "Deletes the local image registry mirror", RunE: func(_ *cobra.Command, args []string) error { o.MirrorName = args[0]; return o.Run() }, diff --git a/client-programs/pkg/cmd/local_mirror_deploy_cmd.go b/client-programs/pkg/cmd/local_mirror_deploy_cmd.go index f86b8a82c..c26c41e27 100644 --- a/client-programs/pkg/cmd/local_mirror_deploy_cmd.go +++ b/client-programs/pkg/cmd/local_mirror_deploy_cmd.go @@ -39,7 +39,8 @@ func (o *LocalMirrorDeployOptions) Run() error { Password: o.Password, } - err := registry.DeployMirrorAndLinkToCluster(mirrorConfig) + mirror := registry.NewMirror(mirrorConfig) + err := mirror.DeployAndLinkToCluster() if err != nil { return errors.Wrap(err, "failed to deploy registry mirror") diff --git a/client-programs/pkg/cmd/local_registry_delete_cmd.go b/client-programs/pkg/cmd/local_registry_delete_cmd.go index 602702dfb..983923b83 100644 --- a/client-programs/pkg/cmd/local_registry_delete_cmd.go +++ b/client-programs/pkg/cmd/local_registry_delete_cmd.go @@ -16,7 +16,10 @@ func (p *ProjectInfo) NewLocalRegistryDeleteCmd() *cobra.Command { Args: cobra.NoArgs, Use: "delete", Short: "Deletes the local image registry", - RunE: func(_ *cobra.Command, _ []string) error { return registry.DeleteRegistry() }, + RunE: func(_ *cobra.Command, _ []string) error { + reg := registry.NewRegistry("", nil) + return reg.Delete() + }, Example: localRegistryDeleteExample, } diff --git a/client-programs/pkg/cmd/local_registry_deploy_cmd.go b/client-programs/pkg/cmd/local_registry_deploy_cmd.go index 238d25456..b8de58046 100644 --- a/client-programs/pkg/cmd/local_registry_deploy_cmd.go +++ b/client-programs/pkg/cmd/local_registry_deploy_cmd.go @@ -28,32 +28,36 @@ type LocalRegistryDeployOptions struct { } func (o *LocalRegistryDeployOptions) Run() error { - err := registry.DeployRegistry(o.BindIP) - - if err != nil { - return errors.Wrap(err, "failed to deploy registry") - } - // This will fail if you do not have a Kubernetes cluster, but we can still // deploy just the image registry alone without Kubernetes. If a Kubernetes // cluster is created later, then the registry service will be added then. clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) + var client *registry.Registry + if err != nil { fmt.Println("Warning: Kubernetes cluster not available") - return nil + client = registry.NewRegistry(o.BindIP, nil) + } else { + k8sClient, err := clusterConfig.GetClient() + if err != nil { + fmt.Println("Warning: Kubernetes cluster not updated with registry service.") + client = registry.NewRegistry(o.BindIP, nil) + } else { + client = registry.NewRegistry(o.BindIP, k8sClient) + } } - client, err := clusterConfig.GetClient() - + err = client.Deploy() if err != nil { - fmt.Println("Warning: Kubernetes cluster not updated with registry service.") - - return nil + return errors.Wrap(err, "failed to deploy registry") } - if err = registry.UpdateRegistryK8SService(client); err != nil { - return errors.Wrap(err, "failed to create service for registry") + if client != nil { + if err = client.UpdateK8SService(); err != nil { + // Don't fail if we can't update the K8s service, just warn + fmt.Println("Warning: Kubernetes cluster not updated with registry service.") + } } return nil diff --git a/client-programs/pkg/cmd/local_registry_prune_cmd.go b/client-programs/pkg/cmd/local_registry_prune_cmd.go index 5f645f0f1..14af516ad 100644 --- a/client-programs/pkg/cmd/local_registry_prune_cmd.go +++ b/client-programs/pkg/cmd/local_registry_prune_cmd.go @@ -16,7 +16,8 @@ type LocalRegistryPruneOptions struct { } func (o *LocalRegistryPruneOptions) Run() error { - err := registry.PruneRegistry() + reg := registry.NewRegistry("", nil) + err := reg.Prune() if err != nil { return errors.Wrap(err, "failed to prune registry") diff --git a/client-programs/pkg/constants/names.go b/client-programs/pkg/constants/names.go index 2f41b0215..b9553a6b1 100644 --- a/client-programs/pkg/constants/names.go +++ b/client-programs/pkg/constants/names.go @@ -4,6 +4,7 @@ const ( EducatesClusterName = "educates" RegistryImageV3 = "docker.io/library/registry:3" RegistryConfigTargetPath = "/etc/distribution/config.yml" + ClusterNetworkName = "kind" EducatesNetworkName = "educates" EducatesRegistryContainer = "educates-registry" EducatesControlPlaneContainer = "educates-control-plane" diff --git a/client-programs/pkg/registry/base.go b/client-programs/pkg/registry/base.go new file mode 100644 index 000000000..f8e656fc8 --- /dev/null +++ b/client-programs/pkg/registry/base.go @@ -0,0 +1,289 @@ +package registry + +import ( + "archive/tar" + "bytes" + "compress/gzip" + "context" + "fmt" + "io" + "os" + "path" + + "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/image" + "github.com/docker/docker/api/types/network" + "github.com/docker/docker/client" + "github.com/docker/go-connections/nat" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" +) + +// baseContainer contains common configuration and methods for registry and mirror containers. +type baseContainer struct { + containerName string + bindIP string + labels map[string]string + envVars []string + hostPort string +} + +// ensureNetwork creates the specified docker network if it doesn't exist. +func (b *baseContainer) ensureNetwork(cli *client.Client, networkName string) error { + ctx := context.Background() + + _, err := cli.NetworkInspect(ctx, networkName, network.InspectOptions{}) + if err != nil { + _, err = cli.NetworkCreate(ctx, networkName, network.CreateOptions{}) + if err != nil { + return errors.Wrap(err, fmt.Sprintf("cannot create %s network", networkName)) + } + } + return nil +} + +// containerExists checks if the container already exists. +func (b *baseContainer) containerExists(cli *client.Client) (bool, error) { + ctx := context.Background() + _, err := cli.ContainerInspect(ctx, b.containerName) + if err == nil { + return true, nil + } + return false, nil +} + +// pullRegistryImage pulls the registry image. +func (b *baseContainer) pullRegistryImage(cli *client.Client) error { + ctx := context.Background() + + reader, err := cli.ImagePull(ctx, constants.RegistryImageV3, image.PullOptions{}) + if err != nil { + return errors.Wrap(err, "cannot pull registry image") + } + + defer reader.Close() + io.Copy(os.Stdout, reader) + return nil +} + +// createAndStartContainer creates and starts the container with the given configuration. +func (b *baseContainer) createAndStartContainer(cli *client.Client) (string, error) { + ctx := context.Background() + + hostConfig := &container.HostConfig{ + PortBindings: nat.PortMap{ + "5000/tcp": []nat.PortBinding{ + { + HostIP: b.bindIP, + HostPort: b.hostPort, + }, + }, + }, + RestartPolicy: container.RestartPolicy{ + Name: "always", + }, + } + + containerConfig := &container.Config{ + Image: constants.RegistryImageV3, + Tty: false, + ExposedPorts: nat.PortSet{ + "5000/tcp": struct{}{}, + }, + Labels: b.labels, + Env: b.envVars, + } + + resp, err := cli.ContainerCreate(ctx, containerConfig, hostConfig, nil, nil, b.containerName) + if err != nil { + return "", errors.Wrap(err, "cannot create container") + } + + if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil { + return "", errors.Wrap(err, "unable to start container") + } + + return resp.ID, nil +} + +// connectToNetwork connects the container to the specified network. +func (b *baseContainer) connectToNetwork(cli *client.Client, networkName string) error { + ctx := context.Background() + + cli.NetworkDisconnect(ctx, networkName, b.containerName, false) + + err := cli.NetworkConnect(ctx, networkName, b.containerName, &network.EndpointSettings{}) + if err != nil { + return errors.Wrap(err, fmt.Sprintf("unable to connect container to %s network", networkName)) + } + + return nil +} + +// linkToNetwork connects the container to the specified network. +func (b *baseContainer) linkToNetwork(cli *client.Client, networkName string) error { + ctx := context.Background() + + fmt.Println("Linking local image registry to cluster") + + cli.NetworkDisconnect(ctx, networkName, b.containerName, false) + + err := cli.NetworkConnect(ctx, networkName, b.containerName, &network.EndpointSettings{}) + if err != nil { + return errors.Wrap(err, fmt.Sprintf("unable to connect container to %s network", networkName)) + } + + return nil +} + +// stopAndRemoveContainer stops and removes the container. +func (b *baseContainer) stopAndRemoveContainer(cli *client.Client) error { + ctx := context.Background() + + exists, _ := b.containerExists(cli) + if !exists { + return nil + } + + timeout := 30 + err := cli.ContainerStop(ctx, b.containerName, container.StopOptions{Timeout: &timeout}) + if err != nil { + return errors.Wrap(err, "unable to stop container") + } + + err = cli.ContainerRemove(ctx, b.containerName, container.RemoveOptions{}) + if err != nil { + return errors.Wrap(err, "unable to delete container") + } + + return nil +} + +// addRegistryConfigToKindNodes adds the registry config to the kind nodes. +// It is used when creating a new local registry or registry mirror. +func addRegistryConfigToKindNodes(repositoryName string, content string) error { + ctx := context.Background() + + fmt.Printf("Adding local image registry config (%s) to Kind nodes\n", repositoryName) + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + return errors.Wrap(err, "unable to create docker client") + } + + containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) + if containerID == "" { + return errors.New(fmt.Sprintf("%s container not found", constants.EducatesControlPlaneContainer)) + } + + registryDir := "/etc/containerd/certs.d/" + repositoryName + + cmdStatement := []string{"mkdir", "-p", registryDir} + + optionsCreateExecuteScript := container.ExecOptions{ + AttachStdout: true, + AttachStderr: true, + Cmd: cmdStatement, + } + + response, err := cli.ContainerExecCreate(ctx, containerID, optionsCreateExecuteScript) + if err != nil { + return errors.Wrap(err, "unable to create exec command") + } + hijackedResponse, err := cli.ContainerExecAttach(ctx, response.ID, container.ExecAttachOptions{}) + if err != nil { + return errors.Wrap(err, "unable to attach exec command") + } + + hijackedResponse.Close() + + buffer, err := tarFile([]byte(content), path.Join("/etc/containerd/certs.d/"+repositoryName, "hosts.toml"), 0x644) + if err != nil { + return err + } + err = cli.CopyToContainer(context.Background(), + containerID, "/", + buffer, + container.CopyToContainerOptions{ + AllowOverwriteDirWithFile: true, + }) + if err != nil { + return errors.Wrap(err, "unable to copy file to container") + } + + return nil +} + +// removeRegistryConfigFromKindNodes removes the registry config from the kind nodes. +// It is used when deleting a local registry mirror. +func removeRegistryConfigFromKindNodes(repositoryName string) error { + ctx := context.Background() + + fmt.Printf("Removing local image registry config (%s) from Kind nodes\n", repositoryName) + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + return errors.Wrap(err, "unable to create docker client") + } + + containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) + if containerID == "" { + return nil + } + + registryDir := "/etc/containerd/certs.d/" + repositoryName + + cmdStatement := []string{"rm", "-rf", registryDir} + + optionsCreateExecuteScript := container.ExecOptions{ + AttachStdout: true, + AttachStderr: true, + Cmd: cmdStatement, + } + + response, err := cli.ContainerExecCreate(ctx, containerID, optionsCreateExecuteScript) + if err != nil { + return errors.Wrap(err, "unable to create exec command") + } + + hijackedResponse, err := cli.ContainerExecAttach(ctx, response.ID, container.ExecAttachOptions{}) + if err != nil { + return errors.Wrap(err, "unable to attach exec command") + } + + hijackedResponse.Close() + + return nil +} + +// tarFile creates a tar archive with a single file. +func tarFile(fileContent []byte, basePath string, fileMode int64) (*bytes.Buffer, error) { + buffer := &bytes.Buffer{} + + zr := gzip.NewWriter(buffer) + tw := tar.NewWriter(zr) + + hdr := &tar.Header{ + Name: basePath, + Mode: fileMode, + Size: int64(len(fileContent)), + } + if err := tw.WriteHeader(hdr); err != nil { + return buffer, err + } + if _, err := tw.Write(fileContent); err != nil { + return buffer, err + } + + // produce tar + if err := tw.Close(); err != nil { + return buffer, fmt.Errorf("error closing tar file: %w", err) + } + // produce gzip + if err := zr.Close(); err != nil { + return buffer, fmt.Errorf("error closing gzip file: %w", err) + } + + return buffer, nil +} diff --git a/client-programs/pkg/registry/interface.go b/client-programs/pkg/registry/interface.go new file mode 100644 index 000000000..695992d97 --- /dev/null +++ b/client-programs/pkg/registry/interface.go @@ -0,0 +1,14 @@ +package registry + +// ContainerManager defines the interface for managing registry and mirror containers. +// Both Registry and Mirror types implement this interface. +type ContainerManager interface { + // DeployAndLinkToCluster creates the container and configures the cluster to use it + DeployAndLinkToCluster() error + + // DeleteAndUnlinkFromCluster removes the container and cleans up cluster configuration + DeleteAndUnlinkFromCluster() error + + // Delete removes the container only without cluster configuration cleanup + Delete() error +} diff --git a/client-programs/pkg/registry/mirror.go b/client-programs/pkg/registry/mirror.go index 1b66a7365..fb6936fb6 100644 --- a/client-programs/pkg/registry/mirror.go +++ b/client-programs/pkg/registry/mirror.go @@ -7,9 +7,7 @@ import ( "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/filters" - "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" - "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" @@ -20,55 +18,34 @@ const hostMirrorTomlTemplate = `[host."http://%s:5000"] capabilities = ["pull", "resolve"] ` -/** - * This function is used to deploy a registry mirror and link it to the cluster. - * It is used when creating a new local registry mirror. - */ -func DeployMirrorAndLinkToCluster(mirrorConfig *config.RegistryMirrorConfig) error { - err := createMirrorContainer(mirrorConfig) - - if err != nil { - return errors.Wrap(err, "failed to deploy registry mirror "+mirrorConfig.Mirror) - } - - content := fmt.Sprintf(hostMirrorTomlTemplate, registryMirrorContainerName(mirrorConfig)) - err = addRegistryConfigToKindNodes(mirrorConfig.Mirror, content) - - if err != nil { - fmt.Println("Warning: Mirror not added to Kind nodes") - } - - return nil +// Mirror represents a registry mirror container. +type Mirror struct { + baseContainer + config *config.RegistryMirrorConfig } -/** - * This private function only creates the registry mirror container. - */ -func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { - ctx := context.Background() - - fmt.Printf("Deploying local image registry mirror %s\n", mirrorConfig.Mirror) - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") - } - - mirrorContainerName := registryMirrorContainerName(mirrorConfig) - _, err = cli.ContainerInspect(ctx, mirrorContainerName) - - if err == nil { - // If we can retrieve a container of required name we assume it is - // running okay. Technically it could be restarting, stopping or - // have exited and container was not removed, but if that is the case - // then leave it up to the user to sort out. - fmt.Printf("Registry mirror %s already exists\n", mirrorConfig.Mirror) - - return nil +// NewMirror creates a new Mirror instance. +func NewMirror(mirrorConfig *config.RegistryMirrorConfig) *Mirror { + return &Mirror{ + baseContainer: baseContainer{ + containerName: fmt.Sprintf("%s-mirror-%s", constants.EducatesRegistryContainer, mirrorConfig.Mirror), + bindIP: "127.0.0.1", + hostPort: "", // dynamic port + labels: map[string]string{ + "app": constants.EducatesAppLabel, + "role": constants.EducatesMirrorRoleLabel, + "mirror": mirrorConfig.Mirror, + "url": mirrorConfig.URL, + "username": mirrorConfig.Username, + }, + envVars: buildMirrorEnvVars(mirrorConfig), + }, + config: mirrorConfig, } +} - // Prepare environment variables for the registry mirror +// buildMirrorEnvVars creates the environment variables for a mirror container. +func buildMirrorEnvVars(mirrorConfig *config.RegistryMirrorConfig) []string { envs := []string{} mirrorURL := mirrorConfig.URL if mirrorURL == "" { @@ -81,129 +58,111 @@ func createMirrorContainer(mirrorConfig *config.RegistryMirrorConfig) error { if mirrorConfig.Password != "" { envs = append(envs, fmt.Sprintf("REGISTRY_PROXY_PASSWORD=%s", mirrorConfig.Password)) } + return envs +} - _, err = cli.NetworkInspect(ctx, constants.EducatesNetworkName, network.InspectOptions{}) - +// DeployAndLinkToCluster deploys a registry mirror and links it to the cluster. +func (m *Mirror) DeployAndLinkToCluster() error { + err := m.Deploy() if err != nil { - _, err = cli.NetworkCreate(ctx, constants.EducatesNetworkName, network.CreateOptions{}) - - if err != nil { - return errors.Wrap(err, "cannot create educates network") - } + return errors.Wrap(err, "failed to deploy registry mirror "+m.config.Mirror) } - hostConfig := &container.HostConfig{ - PortBindings: nat.PortMap{ - "5000/tcp": []nat.PortBinding{ - { - HostIP: "127.0.0.1", - // HostPort: mirrorConfig.Port, - }, - }, - }, - RestartPolicy: container.RestartPolicy{ - Name: "always", - }, + content := fmt.Sprintf(hostMirrorTomlTemplate, m.containerName) + err = addRegistryConfigToKindNodes(m.config.Mirror, content) + if err != nil { + fmt.Println("Warning: Mirror not added to Kind nodes") } - labels := map[string]string{ - "app": constants.EducatesAppLabel, - "role": constants.EducatesMirrorRoleLabel, - "mirror": mirrorConfig.Mirror, - "url": mirrorConfig.URL, - "username": mirrorConfig.Username, - } + return nil +} - resp, err := cli.ContainerCreate(ctx, &container.Config{ - Image: constants.RegistryImageV3, - Tty: false, - Env: envs, - ExposedPorts: nat.PortSet{ - "5000/tcp": struct{}{}, - }, - Labels: labels, - }, hostConfig, nil, nil, mirrorContainerName) +// Deploy creates the mirror container. +func (m *Mirror) Deploy() error { + fmt.Printf("Deploying local image registry mirror %s\n", m.config.Mirror) + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { - return errors.Wrap(err, "cannot create local registry mirror container") + return errors.Wrap(err, "unable to create docker client") } - if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil { - return errors.Wrap(err, "unable to start local registry mirror") + exists, _ := m.containerExists(cli) + if exists { + // If we can retrieve a container of required name we assume it is + // running okay. Technically it could be restarting, stopping or + // have exited and container was not removed, but if that is the case + // then leave it up to the user to sort out. + fmt.Printf("Registry mirror %s already exists\n", m.config.Mirror) + return nil } - cli.NetworkDisconnect(ctx, constants.EducatesNetworkName, mirrorContainerName, false) + if err = m.ensureNetwork(cli, constants.EducatesNetworkName); err != nil { + return err + } - err = cli.NetworkConnect(ctx, constants.EducatesNetworkName, mirrorContainerName, &network.EndpointSettings{}) + if _, err = m.createAndStartContainer(cli); err != nil { + return errors.Wrap(err, "cannot create local registry mirror container") + } - if err != nil { - return errors.Wrap(err, "unable to connect local registry mirror to educates network") + if err = m.connectToNetwork(cli, constants.EducatesNetworkName); err != nil { + return errors.Wrap(err, fmt.Sprintf("unable to connect local registry mirror to %s network", constants.EducatesNetworkName)) } - if err = linkRegistryToClusterNetwork(mirrorContainerName); err != nil { - return errors.Wrap(err, "failed to link local registry mirror to cluster") + if err = m.linkToNetwork(cli, constants.ClusterNetworkName); err != nil { + return errors.Wrap(err, fmt.Sprintf("failed to link local registry mirror to %s network", constants.ClusterNetworkName)) } return nil } -/** - * This function is used to delete a local registry mirror and unlink it from the cluster. - * It is used when deleting a local registry mirror. - */ -func DeleteMirrorAndUnlinkFromCluster(mirrorConfig *config.RegistryMirrorConfig) error { - ctx := context.Background() - - fmt.Printf("Deleting local image registry mirror %s\n", mirrorConfig.Mirror) +// DeleteAndUnlinkFromCluster deletes a local registry mirror and unlinks it from the cluster. +func (m *Mirror) DeleteAndUnlinkFromCluster() error { + fmt.Printf("Deleting local image registry mirror %s\n", m.config.Mirror) cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { return errors.Wrap(err, "unable to create docker client") } - containerName := registryMirrorContainerName(mirrorConfig) - _, err = cli.ContainerInspect(ctx, containerName) - - if err != nil { - // If we can't retrieve a container of required name we assume it does - // not actually exist. - - fmt.Printf("Registry mirror %s does not exist\n", mirrorConfig.Mirror) + exists, _ := m.containerExists(cli) + if !exists { + fmt.Printf("Registry mirror %s does not exist\n", m.config.Mirror) return nil } - timeout := 30 - - err = cli.ContainerStop(ctx, containerName, container.StopOptions{Timeout: &timeout}) - + err = m.stopAndRemoveContainer(cli) if err != nil { - return errors.Wrap(err, "unable to stop registry mirror container "+containerName) + return err } - err = cli.ContainerRemove(ctx, containerName, container.RemoveOptions{}) - + // Remove the registry config from the kind nodes + err = removeRegistryConfigFromKindNodes(m.config.Mirror) if err != nil { - return errors.Wrap(err, "unable to delete registry mirror container "+containerName) + return errors.Wrap(err, "unable to remove registry config from kind nodes") } - // Remove the registry config from the kind nodes - err = removeRegistryConfigFromKindNodes(mirrorConfig.Mirror) + return nil +} +// Delete removes the mirror container. +func (m *Mirror) Delete() error { + fmt.Printf("Deleting local image registry mirror %s\n", m.config.Mirror) + + cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { - return errors.Wrap(err, "unable to remove registry config from kind nodes") + return errors.Wrap(err, "unable to create docker client") } - return nil + return m.stopAndRemoveContainer(cli) } +// DeleteRegistryMirrors deletes all local image registry mirrors. func DeleteRegistryMirrors() error { ctx := context.Background() fmt.Println("Deleting local image registry mirrors") cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { return errors.Wrap(err, "unable to create docker client") } @@ -214,35 +173,28 @@ func DeleteRegistryMirrors() error { filters.Arg("label", "app="+constants.EducatesAppLabel), ), }) - if err != nil { return errors.Wrap(err, "unable to list registry mirrors") } for _, mirror := range mirrors { - timeout := 30 err = cli.ContainerStop(ctx, mirror.ID, container.StopOptions{Timeout: &timeout}) - if err != nil { return errors.Wrap(err, "unable to stop registry mirror container "+mirror.ID) } err = cli.ContainerRemove(ctx, mirror.ID, container.RemoveOptions{}) - if err != nil { return errors.Wrap(err, "unable to delete registry mirror container "+mirror.ID) } - } return nil } -/** - * This function is used to list all local image registry mirrors. - */ +// ListRegistryMirrors lists all local image registry mirrors. func ListRegistryMirrors() (string, error) { ctx := context.Background() @@ -271,9 +223,5 @@ func ListRegistryMirrors() (string, error) { return utils.PrintTable([]string{"NAME", "URL", "USERNAME", "STATUS", "CONTAINER_NAME"}, data), nil } -/** - * This function is used to get the container name of a registry mirror. - */ -func registryMirrorContainerName(mirrorConfig *config.RegistryMirrorConfig) string { - return fmt.Sprintf("%s-mirror-%s", constants.EducatesRegistryContainer, mirrorConfig.Mirror) -} +// Compile-time check that Mirror implements ContainerManager +var _ ContainerManager = (*Mirror)(nil) diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index 81a84314a..9ad71baab 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -1,21 +1,12 @@ package registry import ( - "archive/tar" - "bytes" - "compress/gzip" "context" _ "embed" "fmt" - "io" - "os" - "path" "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/image" - "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" - "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" @@ -30,20 +21,37 @@ import ( const hostRegistryTomlTemplate = `[host."http://%s:5000"]` +// Registry represents the educates image registry container. +type Registry struct { + baseContainer + k8sClient *kubernetes.Clientset +} -/** - * This function is used to deploy the registry and link it to the cluster. - * It is used when creating a new local cluster. - */ -func DeployRegistryAndLinkToCluster(bindIP string, client *kubernetes.Clientset) error { +// NewRegistry creates a new Registry instance. +func NewRegistry(bindIP string, k8sClient *kubernetes.Clientset) *Registry { + return &Registry{ + baseContainer: baseContainer{ + containerName: constants.EducatesRegistryContainer, + bindIP: bindIP, + hostPort: "5001", + labels: map[string]string{ + "app": constants.EducatesAppLabel, + "role": constants.EducatesRegistryRoleLabel, + }, + }, + k8sClient: k8sClient, + } +} - err := createRegistryContainer(bindIP) +// DeployAndLinkToCluster deploys the registry and links it to the cluster. +// It is used when creating a new local cluster. +func (r *Registry) DeployAndLinkToCluster() error { + err := r.Deploy() if err != nil { return errors.Wrap(err, "failed to deploy registry") } // This is needed to make containerd use the local registry - if err = addRegistryConfigToKindNodes("localhost:5001", fmt.Sprintf(hostRegistryTomlTemplate, constants.EducatesRegistryContainer)); err != nil { return errors.Wrap(err, "failed to add registry config to kind nodes") } @@ -52,231 +60,79 @@ func DeployRegistryAndLinkToCluster(bindIP string, client *kubernetes.Clientset) } // This is needed so that kubernetes nodes can pull images from the local registry - if err = documentLocalRegistry(client); err != nil { + if err = r.documentLocalRegistry(); err != nil { return errors.Wrap(err, "failed to document registry config in cluster") } return nil } -/** - * This function is used to deploy a registry. - * It is used when creating a new local registry. - * It will not link the registry to the cluster. - */ -func DeployRegistry(bindIP string) error { - err := createRegistryContainer(bindIP) - if err != nil { - return errors.Wrap(err, "failed to deploy registry") - } - - return nil -} - -/** - * This private function only creates the registry container. - */ -func createRegistryContainer(bindIP string) error { - ctx := context.Background() - +// Deploy creates the registry container without linking to cluster. +// It is used when creating a new local registry standalone. +func (r *Registry) Deploy() error { fmt.Println("Deploying local image registry") cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) - - if err == nil { + exists, _ := r.containerExists(cli) + if exists { // If we can retrieve a container of required name we assume it is // running okay. Technically it could be restarting, stopping or // have exited and container was not removed, but if that is the case // then leave it up to the user to sort out. - return nil } - reader, err := cli.ImagePull(ctx, constants.RegistryImageV3, image.PullOptions{}) - if err != nil { - return errors.Wrap(err, "cannot pull registry image") - } - - defer reader.Close() - io.Copy(os.Stdout, reader) - - _, err = cli.NetworkInspect(ctx, constants.EducatesNetworkName, network.InspectOptions{}) - - if err != nil { - _, err = cli.NetworkCreate(ctx, constants.EducatesNetworkName, network.CreateOptions{}) - - if err != nil { - return errors.Wrap(err, "cannot create educates network") - } - } - - hostConfig := &container.HostConfig{ - PortBindings: nat.PortMap{ - "5000/tcp": []nat.PortBinding{ - { - HostIP: bindIP, - HostPort: "5001", - }, - }, - }, - RestartPolicy: container.RestartPolicy{ - Name: "always", - }, + if err = r.pullRegistryImage(cli); err != nil { + return err } - labels := map[string]string{ - "app": constants.EducatesAppLabel, - "role": constants.EducatesRegistryRoleLabel, + if err = r.ensureNetwork(cli, constants.EducatesNetworkName); err != nil { + return err } - resp, err := cli.ContainerCreate(ctx, &container.Config{ - Image: constants.RegistryImageV3, - Tty: false, - ExposedPorts: nat.PortSet{ - "5000/tcp": struct{}{}, - }, - Labels: labels, - }, hostConfig, nil, nil, constants.EducatesRegistryContainer) - - if err != nil { + if _, err = r.createAndStartContainer(cli); err != nil { return errors.Wrap(err, "cannot create registry container") } - if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil { - return errors.Wrap(err, "unable to start registry") + if err = r.connectToNetwork(cli, constants.EducatesNetworkName); err != nil { + return errors.Wrap(err, fmt.Sprintf("unable to connect registry to %s network", constants.EducatesNetworkName)) } - cli.NetworkDisconnect(ctx, constants.EducatesNetworkName, constants.EducatesRegistryContainer, false) - - err = cli.NetworkConnect(ctx, constants.EducatesNetworkName, constants.EducatesRegistryContainer, &network.EndpointSettings{}) - - if err != nil { - return errors.Wrap(err, "unable to connect registry to educates network") - } - - if err = linkRegistryToClusterNetwork(constants.EducatesRegistryContainer); err != nil { - return errors.Wrap(err, "failed to link registry to cluster") + if err = r.linkToNetwork(cli, constants.ClusterNetworkName); err != nil { + return errors.Wrap(err, fmt.Sprintf("failed to link registry to %s network", constants.ClusterNetworkName)) } return nil } -/** - * This function is used to add the registry config to the kind nodes. - * It is used when creating a new local registry or registry mirror. - */ -func addRegistryConfigToKindNodes(repositoryName string, content string) error { - ctx := context.Background() - - fmt.Printf("Adding local image registry config (%s) to Kind nodes\n", repositoryName) - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") - } - - containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) - - if containerID == "" { - return errors.New(fmt.Sprintf("%s container not found", constants.EducatesControlPlaneContainer)) - } - - registryDir := "/etc/containerd/certs.d/" + repositoryName - - cmdStatement := []string{"mkdir", "-p", registryDir} - - optionsCreateExecuteScript := container.ExecOptions{ - AttachStdout: true, - AttachStderr: true, - Cmd: cmdStatement, - } - - response, err := cli.ContainerExecCreate(ctx, containerID, optionsCreateExecuteScript) - if err != nil { - return errors.Wrap(err, "unable to create exec command") - } - hijackedResponse, err := cli.ContainerExecAttach(ctx, response.ID, container.ExecAttachOptions{}) - if err != nil { - return errors.Wrap(err, "unable to attach exec command") - } - - hijackedResponse.Close() - - buffer, err := tarFile([]byte(content), path.Join("/etc/containerd/certs.d/"+repositoryName, "hosts.toml"), 0x644) - if err != nil { - return err - } - err = cli.CopyToContainer(context.Background(), - containerID, "/", - buffer, - container.CopyToContainerOptions{ - AllowOverwriteDirWithFile: true, - }) - if err != nil { - return errors.Wrap(err, "unable to copy file to container") - } - - return nil +// DeleteAndUnlinkFromCluster removes the registry and cleans up cluster configuration. +// For the registry, this is the same as Delete since the cluster config is tied to the cluster lifecycle. +func (r *Registry) DeleteAndUnlinkFromCluster() error { + return r.Delete() } -/** - * This function is used to remove the registry config from the kind nodes. - * It is used when deleting a local registry mirror. - */ -func removeRegistryConfigFromKindNodes(repositoryName string) error { - ctx := context.Background() - - fmt.Printf("Removing local image registry config (%s) from Kind nodes\n", repositoryName) +// Delete removes the registry container. +func (r *Registry) Delete() error { + fmt.Println("Deleting local image registry") cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) + return r.stopAndRemoveContainer(cli) +} - if containerID == "" { +// documentLocalRegistry creates the ConfigMap that documents the local registry in the cluster. +func (r *Registry) documentLocalRegistry() error { + if r.k8sClient == nil { return nil } - registryDir := "/etc/containerd/certs.d/" + repositoryName - - cmdStatement := []string{"rm", "-rf", registryDir} - - optionsCreateExecuteScript := container.ExecOptions{ - AttachStdout: true, - AttachStderr: true, - Cmd: cmdStatement, - } - - response, err := cli.ContainerExecCreate(ctx, containerID, optionsCreateExecuteScript) - if err != nil { - return errors.Wrap(err, "unable to create exec command") - } - - hijackedResponse, err := cli.ContainerExecAttach(ctx, response.ID, container.ExecAttachOptions{}) - if err != nil { - return errors.Wrap(err, "unable to attach exec command") - } - - hijackedResponse.Close() - - return nil -} - -/** - * This function is used to document the local registry in the cluster. - * It is used when creating a new local registry. - */ -func documentLocalRegistry(client *kubernetes.Clientset) error { yamlBytes, err := yaml.Marshal(`host: "localhost:5001"`) if err != nil { return err @@ -292,13 +148,13 @@ func documentLocalRegistry(client *kubernetes.Clientset) error { }, } - if _, err := client.CoreV1().ConfigMaps("kube-public").Get(context.TODO(), "local-registry-hosting", metav1.GetOptions{}); k8serrors.IsNotFound(err) { - _, err = client.CoreV1().ConfigMaps("kube-public").Create(context.TODO(), configMap, metav1.CreateOptions{}) + if _, err := r.k8sClient.CoreV1().ConfigMaps("kube-public").Get(context.TODO(), "local-registry-hosting", metav1.GetOptions{}); k8serrors.IsNotFound(err) { + _, err = r.k8sClient.CoreV1().ConfigMaps("kube-public").Create(context.TODO(), configMap, metav1.CreateOptions{}) if err != nil { return errors.Wrap(err, "unable to create local registry hosting config map") } } else { - _, err = client.CoreV1().ConfigMaps("kube-public").Update(context.TODO(), configMap, metav1.UpdateOptions{}) + _, err = r.k8sClient.CoreV1().ConfigMaps("kube-public").Update(context.TODO(), configMap, metav1.UpdateOptions{}) if err != nil { return errors.Wrap(err, "unable to update local registry hosting config map") } @@ -307,87 +163,16 @@ func documentLocalRegistry(client *kubernetes.Clientset) error { return nil } -/** - * This function is used to link the registry to the cluster network, which is the kind network. - * It is used when creating a new local registry or registry mirror containers. - */ -func linkRegistryToClusterNetwork(containerName string) error { - ctx := context.Background() - - fmt.Println("Linking local image registry to cluster") - - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") +// UpdateK8SService updates the registry k8s service. +// It is used when creating a cluster or a registry in order to update the k8s service to point to the new registry. +func (r *Registry) UpdateK8SService() error { + if r.k8sClient == nil { + return errors.New("kubernetes client is required for UpdateK8SService") } - cli.NetworkDisconnect(ctx, "kind", containerName, false) - - err = cli.NetworkConnect(ctx, "kind", containerName, &network.EndpointSettings{}) - - if err != nil { - return errors.Wrap(err, "unable to connect registry to cluster network") - } - - return nil -} - -/** - * This function is used to delete the local registry. - * It is used when deleting a local registry or deleting all components of the local cluster. - */ -func DeleteRegistry() error { ctx := context.Background() - fmt.Println("Deleting local image registry") - cli, err := client.NewClientWithOpts(client.FromEnv) - - if err != nil { - return errors.Wrap(err, "unable to create docker client") - } - - _, err = cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) - - if err != nil { - // If we can't retrieve a container of required name we assume it does - // not actually exist. - - return nil - } - - timeout := 30 - - err = cli.ContainerStop(ctx, constants.EducatesRegistryContainer, container.StopOptions{Timeout: &timeout}) - - // timeout := time.Duration(30) * time.Second - - // err = cli.ContainerStop(ctx, EducatesRegistryContainer, &timeout) - - if err != nil { - return errors.Wrap(err, "unable to stop registry container") - } - - err = cli.ContainerRemove(ctx, constants.EducatesRegistryContainer, container.RemoveOptions{}) - - if err != nil { - return errors.Wrap(err, "unable to delete registry container") - } - - return nil -} - -/** - * TODO: Learn whether this is needed or not - * This function is used to update the registry k8s service. - * It is used when creating a cluster or a registry in order to update the k8s service to point to the new registry. - */ -func UpdateRegistryK8SService(k8sclient *kubernetes.Clientset) error { - ctx := context.Background() - - cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { return errors.Wrap(err, "unable to create docker client") } @@ -413,13 +198,11 @@ func UpdateRegistryK8SService(k8sclient *kubernetes.Clientset) error { endpointProtocol := v1.ProtocolTCP registryInfo, err := cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) - if err != nil { return errors.Wrapf(err, "unable to inspect container for registry") } kindNetwork, exists := registryInfo.NetworkSettings.Networks["kind"] - if !exists { return errors.New("registry is not attached to kind network") } @@ -449,22 +232,20 @@ func UpdateRegistryK8SService(k8sclient *kubernetes.Clientset) error { }, } - endpointSliceClient := k8sclient.DiscoveryV1().EndpointSlices("default") + endpointSliceClient := r.k8sClient.DiscoveryV1().EndpointSlices("default") endpointSliceClient.Delete(context.TODO(), "registry-1", *metav1.NewDeleteOptions(0)) - servicesClient := k8sclient.CoreV1().Services("default") + servicesClient := r.k8sClient.CoreV1().Services("default") servicesClient.Delete(context.TODO(), "registry", *metav1.NewDeleteOptions(0)) _, err = endpointSliceClient.Create(context.TODO(), &endpointSlice, metav1.CreateOptions{}) - if err != nil { return errors.Wrap(err, "unable to create registry headless service endpoint") } _, err = servicesClient.Create(context.TODO(), &service, metav1.CreateOptions{}) - if err != nil { return errors.Wrap(err, "unable to create registry headless service") } @@ -472,19 +253,18 @@ func UpdateRegistryK8SService(k8sclient *kubernetes.Clientset) error { return nil } -func PruneRegistry() error { +// Prune runs garbage collection on the registry. +func (r *Registry) Prune() error { ctx := context.Background() fmt.Println("Pruning local image registry") cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { return errors.Wrap(err, "unable to create docker client") } containerID, _ := utils.GetContainerInfo(constants.EducatesRegistryContainer) - if containerID == "" { return nil } @@ -511,37 +291,5 @@ func PruneRegistry() error { return nil } - - -/** - * This function is used to tar a file to be copied into a container. - */ -func tarFile(fileContent []byte, basePath string, fileMode int64) (*bytes.Buffer, error) { - buffer := &bytes.Buffer{} - - zr := gzip.NewWriter(buffer) - tw := tar.NewWriter(zr) - - hdr := &tar.Header{ - Name: basePath, - Mode: fileMode, - Size: int64(len(fileContent)), - } - if err := tw.WriteHeader(hdr); err != nil { - return buffer, err - } - if _, err := tw.Write(fileContent); err != nil { - return buffer, err - } - - // produce tar - if err := tw.Close(); err != nil { - return buffer, fmt.Errorf("error closing tar file: %w", err) - } - // produce gzip - if err := zr.Close(); err != nil { - return buffer, fmt.Errorf("error closing gzip file: %w", err) - } - - return buffer, nil -} +// Compile-time check that Registry implements ContainerManager +var _ ContainerManager = (*Registry)(nil) From 06bc4e0660b134e414dec937be34e6f059cfa3e0 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Fri, 23 Jan 2026 19:29:21 +0100 Subject: [PATCH 20/41] Merge origin/develop and new config edit functionality --- client-programs/pkg/cluster/kindcluster.go | 8 +- .../pkg/cmd/admin_platform_deploy_cmd.go | 2 +- .../pkg/cmd/docker_workshop_open_cmd.go | 4 +- .../pkg/cmd/local_cluster_create_cmd.go | 2 +- .../pkg/cmd/local_config_edit_cmd.go | 80 +- .../pkg/cmd/local_config_view_cmd.go | 2 +- .../pkg/cmd/workshop_export_cmd.go | 8 +- client-programs/pkg/cmd/workshop_new_cmd.go | 210 +- .../pkg/cmd/workshop_publish_cmd.go | 1 - client-programs/pkg/config/edit.go | 212 ++ .../pkg/config/installationconfig.go | 18 + .../pkg/educates/local/workshops/manager.go | 117 +- client-programs/pkg/installer/installer.go | 56 +- client-programs/pkg/logger/CarvelUI.go | 101 + client-programs/pkg/resolver/resolver.go | 8 +- .../content/01-workshop-instructions.md | 2 +- .../pkg/templates/files/hugo/.gitignore | 2 +- .../.github/workflows/publish-workshop.yaml | 2 +- client-programs/pkg/utils/prompt.go | 16 +- go.work.sum | 40 + .../opt/gateway/package-lock.json | 530 +++-- .../base-environment/opt/gateway/package.json | 2 +- .../opt/helper/package-lock.json | 2102 ++++++++--------- .../opt/renderer/package-lock.json | 24 + 24 files changed, 2026 insertions(+), 1523 deletions(-) create mode 100644 client-programs/pkg/config/edit.go create mode 100644 client-programs/pkg/logger/CarvelUI.go diff --git a/client-programs/pkg/cluster/kindcluster.go b/client-programs/pkg/cluster/kindcluster.go index 6e09b7451..311b9ee9b 100644 --- a/client-programs/pkg/cluster/kindcluster.go +++ b/client-programs/pkg/cluster/kindcluster.go @@ -11,7 +11,6 @@ import ( "time" "github.com/docker/docker/api/types/container" - "github.com/docker/docker/client" "github.com/pkg/errors" "golang.org/x/exp/slices" "k8s.io/client-go/tools/clientcmd" @@ -20,6 +19,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) @@ -140,7 +140,7 @@ func (o *KindClusterConfig) StopCluster() error { return errors.New("cluster for Educates does not exist") } - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -179,7 +179,7 @@ func (o *KindClusterConfig) StartCluster() error { return errors.New("cluster for Educates does not exist") } - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -210,7 +210,7 @@ func (o *KindClusterConfig) ClusterStatus() error { return errors.New("cluster for Educates does not exist") } - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") diff --git a/client-programs/pkg/cmd/admin_platform_deploy_cmd.go b/client-programs/pkg/cmd/admin_platform_deploy_cmd.go index 11cf47503..f3dcf925c 100644 --- a/client-programs/pkg/cmd/admin_platform_deploy_cmd.go +++ b/client-programs/pkg/cmd/admin_platform_deploy_cmd.go @@ -109,7 +109,7 @@ func (o *PlatformDeployOptions) Run() error { } } - fmt.Println("\nEducates has been installed succesfully") + fmt.Println("\n🎓 Educates has been installed succesfully") return nil } diff --git a/client-programs/pkg/cmd/docker_workshop_open_cmd.go b/client-programs/pkg/cmd/docker_workshop_open_cmd.go index 0f7361f97..0412cb8ea 100644 --- a/client-programs/pkg/cmd/docker_workshop_open_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_open_cmd.go @@ -7,8 +7,8 @@ import ( "time" yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" @@ -70,7 +70,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { ctx := context.Background() - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") diff --git a/client-programs/pkg/cmd/local_cluster_create_cmd.go b/client-programs/pkg/cmd/local_cluster_create_cmd.go index 2c37c9e98..6846f347f 100644 --- a/client-programs/pkg/cmd/local_cluster_create_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_create_cmd.go @@ -143,7 +143,7 @@ func (o *LocalClusterCreateOptions) Run() error { } } - fmt.Println("Educates cluster has been created succesfully") + fmt.Println("🎓 Educates cluster has been created succesfully") return nil } diff --git a/client-programs/pkg/cmd/local_config_edit_cmd.go b/client-programs/pkg/cmd/local_config_edit_cmd.go index 9a5222c7a..0758f7d9f 100644 --- a/client-programs/pkg/cmd/local_config_edit_cmd.go +++ b/client-programs/pkg/cmd/local_config_edit_cmd.go @@ -1,14 +1,7 @@ package cmd import ( - "fmt" - "os" - "os/exec" - "path" - "github.com/educates/educates-training-platform/client-programs/pkg/config" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -17,78 +10,11 @@ const localConfigEditExample = ` educates local config edit ` -type LocalConfigEditOptions struct {} +type LocalConfigEditOptions struct{} func (o *LocalConfigEditOptions) Run() error { - err := os.MkdirAll(utils.GetEducatesHomeDir(), os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create configuration directory %q", utils.GetEducatesHomeDir()) - } - - valuesFilePath := path.Join(utils.GetEducatesHomeDir(), "values.yaml") - tmpValuesFilePath := fmt.Sprintf("%s.%d", valuesFilePath, os.Getpid()) - - tmpValuesFile, err := os.OpenFile(tmpValuesFilePath, os.O_RDWR|os.O_CREATE|os.O_TRUNC, os.ModePerm) - - if err != nil { - return errors.Wrapf(err, "unable to create local configuration file %q", tmpValuesFilePath) - } - - valuesFileData, err := os.ReadFile(valuesFilePath) - - if err == nil && len(valuesFileData) != 0 { - tmpValuesFile.Write(valuesFileData) - } - - tmpValuesFile.Close() - - defer os.Remove(tmpValuesFilePath) - - editor := "vi" - - if s := os.Getenv("EDITOR"); s != "" { - editor = s - } - - editorPath, err := exec.LookPath(editor) - - if err != nil { - return errors.Wrapf(err, "unable to determine path for editor %q", editor) - - } - - cmd := exec.Command(editorPath, tmpValuesFilePath) - - cmd.Stdin = os.Stdin - cmd.Stdout = os.Stdout - cmd.Stderr = os.Stderr - - err = cmd.Start() - - if err != nil { - return errors.Wrapf(err, "cannot execute editor on configuration") - } - - err = cmd.Wait() - - if err != nil { - return errors.Wrapf(err, "editing of values configuration failed") - } - - _, err = config.NewInstallationConfigFromFile(tmpValuesFilePath) - - if err != nil { - return errors.Wrapf(err, "error in values configuration file") - } - - err = os.Rename(tmpValuesFilePath, valuesFilePath) - - if err != nil { - return errors.Wrapf(err, "unable to update default configuration") - } - - return nil + c := config.LocalConfigEditConfig{} + return c.Edit() } func (p *ProjectInfo) NewLocalConfigEditCmd() *cobra.Command { diff --git a/client-programs/pkg/cmd/local_config_view_cmd.go b/client-programs/pkg/cmd/local_config_view_cmd.go index 1f45dd743..c78dbeca8 100644 --- a/client-programs/pkg/cmd/local_config_view_cmd.go +++ b/client-programs/pkg/cmd/local_config_view_cmd.go @@ -54,7 +54,7 @@ func (p *ProjectInfo) NewLocalConfigViewCmd() *cobra.Command { Args: cobra.NoArgs, Use: "view", Short: "View local configuration", - Long: "View local configuration. Uses nip.io wildcard domain and Kind as provider config defaults", + Long: "View local configuration. Uses nip.io wildcard domain and Kind as provider config defaults if not specified", RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, Example: localConfigViewExample, } diff --git a/client-programs/pkg/cmd/workshop_export_cmd.go b/client-programs/pkg/cmd/workshop_export_cmd.go index d6ca0e5f9..709431b8a 100644 --- a/client-programs/pkg/cmd/workshop_export_cmd.go +++ b/client-programs/pkg/cmd/workshop_export_cmd.go @@ -1,6 +1,7 @@ package cmd import ( + "fmt" "os" "path/filepath" @@ -61,7 +62,12 @@ func (o *FilesExportOptions) Run(args []string) error { manager := workshops.NewWorkshopManager() - return manager.Export(directory, &config) + workshop, err := manager.Export(directory, &config) + if err != nil { + return err + } + fmt.Println(workshop) + return nil } func (p *ProjectInfo) NewWorkshopExportCmd() *cobra.Command { diff --git a/client-programs/pkg/cmd/workshop_new_cmd.go b/client-programs/pkg/cmd/workshop_new_cmd.go index 99f7d6f4a..050143ba2 100644 --- a/client-programs/pkg/cmd/workshop_new_cmd.go +++ b/client-programs/pkg/cmd/workshop_new_cmd.go @@ -1,30 +1,83 @@ package cmd import ( + "fmt" + "os" + "path/filepath" + "regexp" + + "github.com/pkg/errors" "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/educates/local/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) -type WorkshopNewOptions struct { - Template string - Name string - Title string - Description string - Image string -} - -const workshopNewExample = ` - # Create workshop files from template in my-workshop directory +const ( + workshopNewExample = ` + # Create a new workshop using default hugo template (a directory will be created with my-workshop as name) educates workshop new my-workshop - # Create workshop files from template in my-workshop directory - educates workshop new my-workshop --template hugo (default template is hugo) + # Create a new workshop using default hugo template in /tmp/workshop + educates workshop new my-workshop -d /tmp/workshop + + # Create a new workshop using default hugo template in current directory and overwrite existing files + educates workshop new my-workshop -d . -y + + # Create a new workshop with custom name + educates workshop new my-workshop --name "my-custom-workshop" + + # Create a new workshop with title and description + educates workshop new my-workshop --title "Introduction to Kubernetes" --description "Learn the basics of Kubernetes" + + # Create a new workshop with language-specific educates base image. See docs for available images. + educates workshop new my-workshop --image 'jdk21-environment:*' + educates workshop new my-workshop --image 'conda-environment:*' + + # Create a new workshop with custom base image + educates workshop new my-workshop --image ghcr.io/myorg/workshop-base:latest + + # Create a new workshop using the classic template + educates workshop new my-workshop --template classic + + # Create a new workshop with kubernetes access enabled in the workshop + educates workshop new my-workshop --with-kubernetes-access + + # Create a new workshop with github action enabled in the workshop + educates workshop new my-workshop --with-github-action + + # Create a new workshop with virtual cluster enabled in the workshop + educates workshop new my-workshop --with-virtual-cluster - # Create workshop files from template in my-workshop directory with a different name - educates workshop new my-workshop --name "my-workshop" --title "My Workshop" --description "This is a workshop about my workshop" + # Create a new workshop with docker, registry and console enabled in the workshop + educates workshop new my-workshop --with-docker --with-registry --with-console + + # Create a new workshop with editor and terminal disabled in the workshop + educates workshop new my-workshop --with-editor=false --with-terminal=false + + # Create a new workshop with workshop instructions disabled in the workshop + educates workshop new my-workshop --with-workshop-instructions=false ` +) + +type WorkshopNewOptions struct { + Template string + Name string + Title string + Description string + Image string + TargetDirectory string + Overwrite bool + WithKubernetesAccess bool + WithGitHubAction bool + WithVirtualCluster bool + WithDockerDaemon bool + WithImageRegistry bool + WithKubernetesConsole bool + WithEditor bool + WithTerminal bool +} + func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { var o WorkshopNewOptions @@ -41,14 +94,65 @@ func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { Use: "new PATH", Short: "Create workshop files from template", RunE: func(_ *cobra.Command, args []string) error { + var err error + + // Validate workshop name + name := o.Name + if name == "" { + name = args[0] + } + if match, _ := regexp.MatchString("^[a-z0-9-]+$", name); !match { + return errors.Errorf("invalid workshop name %q", name) + } + + // Get workshop dir + workshopDir := filepath.Clean(args[0]) + if o.TargetDirectory != "" { + workshopDir = filepath.Join(o.TargetDirectory, args[0]) + } + + if workshopDir, err = filepath.Abs(workshopDir); err != nil { + return errors.Wrapf(err, "could not convert path name %q to absolute path", workshopDir) + } + + // Check if target directory already exist and prompt the user to confirm that they want to overwrite the files in it + if _, err = os.Stat(workshopDir); err == nil { + ok := o.Overwrite + if !o.Overwrite { + ok = utils.YesNoPrompt([]string{ + fmt.Sprintf("WARNING: The directory %q already exists.", workshopDir), + "All files will be created in it, overwriting existing files.", + "Do you still want to use this directory?", + }, true) + } + if !ok { + return nil // Operation cancelled + } + } + manager := workshops.NewWorkshopManager() - return manager.NewWorkshop(args[0], &workshops.WorkshopNewConfig{ + err = manager.NewWorkshop(workshopDir, &workshops.WorkshopNewConfig{ Template: o.Template, - Name: o.Name, + Name: name, Title: o.Title, Description: o.Description, Image: o.Image, + TargetDirectory: o.TargetDirectory, + Overwrite: o.Overwrite, + WithKubernetesAccess: o.WithKubernetesAccess, + WithGitHubAction: o.WithGitHubAction, + WithVirtualCluster: o.WithVirtualCluster, + WithDockerDaemon: o.WithDockerDaemon, + WithImageRegistry: o.WithImageRegistry, + WithKubernetesConsole: o.WithKubernetesConsole, + WithEditor: o.WithEditor, + WithTerminal: o.WithTerminal, }) + if err != nil { + return err + } + fmt.Printf("Workshop %q created successfully.\n", name) + return nil }, Example: workshopNewExample, } @@ -58,14 +162,14 @@ func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { "template", "t", "hugo", - "name of the workshop template to use", + "name of the workshop template to use (hugo, classic)", ) c.Flags().StringVarP( &o.Name, "name", "n", "", - "override name of the workshop", + "override name of the workshop (default: directory name)", ) c.Flags().StringVar( &o.Title, @@ -85,6 +189,76 @@ func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { "", "name of the workshop base image to use", ) + c.Flags().StringVarP( + &o.TargetDirectory, + "directory", + "d", + "", + "directory where the workshop will be created. By default a new directory with the workshop name will be created", + ) + c.Flags().BoolVarP( + &o.Overwrite, + "overwrite", + "y", + false, + "overwrite existing files in the target directory. If not provided, the user will be prompted to confirm the operation.", + ) + c.Flags().BoolVarP( + &o.WithKubernetesAccess, + "with-kubernetes-access", + "", + false, + "enable kubernetes access in the workshop", + ) + c.Flags().BoolVarP( + &o.WithGitHubAction, + "with-github-action", + "", + false, + "add GitHub action to the generated workshop to publish the workshop", + ) + c.Flags().BoolVarP( + &o.WithVirtualCluster, + "with-virtual-cluster", + "", + false, + "enable virtual cluster in the workshop", + ) + c.Flags().BoolVarP( + &o.WithDockerDaemon, + "with-docker-daemon", + "", + false, + "enable docker daemon in the workshop", + ) + c.Flags().BoolVarP( + &o.WithImageRegistry, + "with-image-registry", + "", + false, + "enable image registry in the workshop", + ) + c.Flags().BoolVarP( + &o.WithKubernetesConsole, + "with-kubernetes-console", + "", + false, + "enable Kubernetes console in the workshop", + ) + c.Flags().BoolVarP( + &o.WithEditor, + "with-editor", + "", + true, + "enable editor in the workshop", + ) + c.Flags().BoolVarP( + &o.WithTerminal, + "with-terminal", + "", + true, + "enable terminal in the workshop", + ) return c } diff --git a/client-programs/pkg/cmd/workshop_publish_cmd.go b/client-programs/pkg/cmd/workshop_publish_cmd.go index 85cdd78d9..77bfc717f 100644 --- a/client-programs/pkg/cmd/workshop_publish_cmd.go +++ b/client-programs/pkg/cmd/workshop_publish_cmd.go @@ -72,7 +72,6 @@ func (o *FilesPublishOptions) Run(args []string) error { return m.Publish(directory, &config) } - func (p *ProjectInfo) NewWorkshopPublishCmd() *cobra.Command { var o FilesPublishOptions diff --git a/client-programs/pkg/config/edit.go b/client-programs/pkg/config/edit.go new file mode 100644 index 000000000..aca00aea7 --- /dev/null +++ b/client-programs/pkg/config/edit.go @@ -0,0 +1,212 @@ +package config + +import ( + "bufio" + "fmt" + "os" + "os/exec" + "path" + "strings" + + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" +) + +// Header comment shown at the top of the editor (similar to kubectl edit) +const editHeader = `## Please edit the configuration below. Lines beginning with a '##' will be ignored, +## and an empty file will abort the edit. If an error occurs while saving, this file +## will be reopened with the relevant failures. +## +` + +type LocalConfigEditConfig struct{} + +func (o *LocalConfigEditConfig) Edit() error { + // Create the configuration directory if it doesn't exist + err := os.MkdirAll(utils.GetEducatesHomeDir(), os.ModePerm) + if err != nil { + return errors.Wrapf(err, "unable to create configuration directory %q", utils.GetEducatesHomeDir()) + } + + valuesFilePath := path.Join(utils.GetEducatesHomeDir(), "values.yaml") + + // Read existing configuration file if it exists + var valuesFileData []byte + valuesFileData, err = os.ReadFile(valuesFilePath) + if err != nil && !os.IsNotExist(err) { + return errors.Wrapf(err, "unable to read existing configuration file %q", valuesFilePath) + } + + // Create a temporary file in the OS temp directory (e.g., /tmp on Unix) + tmpFile, err := os.CreateTemp("", "educates-config-*.yaml") + if err != nil { + return errors.Wrapf(err, "unable to create temporary configuration file") + } + tmpValuesFilePath := tmpFile.Name() + tmpFile.Close() // Close immediately since we'll use os.WriteFile + + // Track whether to preserve temp file on exit (set to true when user cancels after making changes) + preserveTempFile := false + + // Clean up temp file when done (unless we need to preserve it for user recovery) + defer func() { + if preserveTempFile { + return // Don't delete - user's changes are stored there + } + if removeErr := os.Remove(tmpValuesFilePath); removeErr != nil && !os.IsNotExist(removeErr) { + // Log but don't fail on cleanup errors + fmt.Fprintf(os.Stderr, "Warning: unable to remove temporary file %q: %v\n", tmpValuesFilePath, removeErr) + } + }() + + // Determine which editor to use + // Check VISUAL first (common convention), then EDITOR, then default to vi + editor := os.Getenv("VISUAL") + if strings.TrimSpace(editor) == "" { + editor = os.Getenv("EDITOR") + } + if strings.TrimSpace(editor) == "" { + editor = "vi" + } + editor = strings.TrimSpace(editor) + + // Look up the editor executable path + editorPath, err := exec.LookPath(editor) + if err != nil { + return errors.Wrapf(err, "unable to find editor %q in PATH", editor) + } + + // Write the initial configuration with header comment + err = writeEditFile(tmpValuesFilePath, editHeader, valuesFileData) + if err != nil { + return errors.Wrapf(err, "unable to write to temporary configuration file %q", tmpValuesFilePath) + } + + // Track edit iterations to distinguish first edit from subsequent edits + isFirstEdit := true + // Keep track of the last valid user content (stripped of comments) for detecting no-save exits + var lastStrippedContent []byte + + // Edit loop: keep reopening editor on validation errors (like kubectl edit) + for { + // Read file content before editing to detect if user saved or quit without saving + contentBeforeEdit, err := os.ReadFile(tmpValuesFilePath) + if err != nil { + return errors.Wrapf(err, "unable to read temporary configuration file %q", tmpValuesFilePath) + } + + // Launch the editor + cmd := exec.Command(editorPath, tmpValuesFilePath) + cmd.Stdin = os.Stdin + cmd.Stdout = os.Stdout + cmd.Stderr = os.Stderr + + err = cmd.Start() + if err != nil { + return errors.Wrapf(err, "unable to start editor %q", editor) + } + + err = cmd.Wait() + if err != nil { + return errors.Wrapf(err, "editor %q exited with an error", editor) + } + + // Read the edited file + editedData, err := os.ReadFile(tmpValuesFilePath) + if err != nil { + return errors.Wrapf(err, "unable to read edited configuration file %q", tmpValuesFilePath) + } + + // Check if the file content changed (detect quit without saving like :q!) + if string(editedData) == string(contentBeforeEdit) { + if isFirstEdit { + // First edit, user quit without making any changes + fmt.Println("Edit cancelled, no changes made.") + return nil + } else { + // Subsequent edit after validation error, user quit without saving + // Preserve the temp file with the user's last changes + err = os.WriteFile(tmpValuesFilePath, lastStrippedContent, 0644) + if err == nil { + preserveTempFile = true + fmt.Printf("A copy of your changes has been stored to %q\n", tmpValuesFilePath) + } + return errors.New("Edit cancelled, no valid changes were saved.") + } + } + + strippedData := stripComments(editedData) + + // Check if the file is empty (abort edit) + if len(strings.TrimSpace(string(strippedData))) == 0 { + if isFirstEdit { + fmt.Println("Edit cancelled, no changes made.") + return nil + } else { + // User cleared all content after a validation error + err = os.WriteFile(tmpValuesFilePath, lastStrippedContent, 0644) + if err == nil { + preserveTempFile = true + fmt.Printf("A copy of your changes has been stored to %q\n", tmpValuesFilePath) + } + return errors.New("Edit cancelled, no valid changes were saved.") + } + } + + // Save the stripped content for potential recovery + lastStrippedContent = strippedData + + // Write stripped data to temp file for validation + err = os.WriteFile(tmpValuesFilePath, strippedData, 0644) + if err != nil { + return errors.Wrapf(err, "unable to write configuration for validation") + } + + // Validate the edited configuration file + _, validationErr := NewInstallationConfigFromFileForConfigEdit(tmpValuesFilePath) + if validationErr != nil { + // Validation failed: rewrite file with error comment and reopen editor + errorHeader := fmt.Sprintf("%s## %s\n##\n", editHeader, validationErr.Error()) + err = writeEditFile(tmpValuesFilePath, errorHeader, strippedData) + if err != nil { + return errors.Wrapf(err, "unable to write error feedback to configuration file") + } + isFirstEdit = false // Mark that we've had at least one validation attempt + continue // Reopen editor + } + + // Validation succeeded: save the configuration + err = os.WriteFile(valuesFilePath, strippedData, 0644) + if err != nil { + return errors.Wrapf(err, "unable to update configuration file %q", valuesFilePath) + } + + fmt.Println("Configuration updated successfully.") + return nil + } +} + +// writeEditFile writes the header comment followed by the configuration data to the file +func writeEditFile(filePath string, header string, data []byte) error { + content := header + string(data) + return os.WriteFile(filePath, []byte(content), 0644) +} + +// stripComments removes lines starting with '##' from the data +func stripComments(data []byte) []byte { + var result strings.Builder + scanner := bufio.NewScanner(strings.NewReader(string(data))) + + for scanner.Scan() { + line := scanner.Text() + // Skip lines that start with '##' (with optional leading whitespace) + trimmedLine := strings.TrimSpace(line) + if strings.HasPrefix(trimmedLine, "##") { + continue + } + result.WriteString(line) + result.WriteString("\n") + } + + return []byte(result.String()) +} diff --git a/client-programs/pkg/config/installationconfig.go b/client-programs/pkg/config/installationconfig.go index bc7d739cd..9b52f77a2 100644 --- a/client-programs/pkg/config/installationconfig.go +++ b/client-programs/pkg/config/installationconfig.go @@ -403,6 +403,24 @@ func NewInstallationConfigFromFile(configFile string) (*InstallationConfig, erro return config, nil } +// This function is used to parse the installation config file for config edit. +// It will not print the configFile location to the console. +func NewInstallationConfigFromFileForConfigEdit(configFile string) (*InstallationConfig, error) { + config := &InstallationConfig{} + + data, err := os.ReadFile(configFile) + + if err != nil { + return nil, err + } + + if err := yaml.UnmarshalStrict(data, &config); err != nil { + return nil, err + } + + return config, nil +} + func ConfigForLocalClusters(configFile string, domain string, local bool) (fullConfig *InstallationConfig, err error) { if configFile == NULL_CONFIG_FILE { fullConfig = NewDefaultInstallationConfig() diff --git a/client-programs/pkg/educates/local/workshops/manager.go b/client-programs/pkg/educates/local/workshops/manager.go index fcdc00e36..fb75f55a2 100644 --- a/client-programs/pkg/educates/local/workshops/manager.go +++ b/client-programs/pkg/educates/local/workshops/manager.go @@ -4,16 +4,15 @@ import ( "fmt" "os" "path/filepath" - "regexp" + "strconv" "strings" - "carvel.dev/imgpkg/pkg/imgpkg/cmd" imgpkgcmd "carvel.dev/imgpkg/pkg/imgpkg/cmd" vendirsync "carvel.dev/vendir/pkg/vendir/cmd" yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/cppforlife/go-cli-ui/ui" eduk8sWorkshops "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/templates" "github.com/pkg/errors" "go.yaml.in/yaml/v2" @@ -28,11 +27,21 @@ type WorkshopManager struct { } type WorkshopNewConfig struct { - Template string - Name string - Title string - Description string - Image string + Template string + Name string + Title string + Description string + Image string + TargetDirectory string + Overwrite bool + WithKubernetesAccess bool + WithGitHubAction bool + WithVirtualCluster bool + WithDockerDaemon bool + WithImageRegistry bool + WithKubernetesConsole bool + WithEditor bool + WithTerminal bool } type WorkshopExportConfig struct { @@ -59,39 +68,37 @@ func NewWorkshopManager() *WorkshopManager { func (m *WorkshopManager) NewWorkshop(directory string,o *WorkshopNewConfig) error { var err error - directory = filepath.Clean(directory) - - if directory, err = filepath.Abs(directory); err != nil { - return errors.Wrapf(err, "could not convert path name %q to absolute path", directory) - } - - if _, err = os.Stat(directory); err == nil { - return errors.Errorf("target path name %q already exists", directory) + parameters := map[string]string{ + "WorkshopName": o.Name, + "WorkshopTitle": o.Title, + "WorkshopDescription": o.Description, + "WorkshopImage": o.Image, + "WithKubernetesAccess": strconv.FormatBool(o.WithKubernetesAccess), + "WithVirtualCluster": strconv.FormatBool(o.WithVirtualCluster), + "WithDockerDaemon": strconv.FormatBool(o.WithDockerDaemon), + "WithImageRegistry": strconv.FormatBool(o.WithImageRegistry), + "WithKubernetesConsole": strconv.FormatBool(o.WithKubernetesConsole), + "WithEditor": strconv.FormatBool(o.WithEditor), + "WithTerminal": strconv.FormatBool(o.WithTerminal), } - name := o.Name + template := templates.InternalTemplate(o.Template) - if name == "" { - name = filepath.Base(directory) - } + err = template.ApplyFiles(directory, parameters) - if match, _ := regexp.MatchString("^[a-z0-9-]+$", name); !match { - return errors.Errorf("invalid workshop name %q", name) + if err != nil { + return errors.Wrap(err, "unable to apply template") } - parameters := map[string]string{ - "WorkshopName": name, - "WorkshopTitle": o.Title, - "WorkshopDescription": o.Description, - "WorkshopImage": o.Image, + if o.WithGitHubAction { + template := templates.InternalTemplate("single") + err = template.ApplyGitHubAction(directory, parameters) } - template := templates.InternalTemplate(o.Template) - - return template.Apply(directory, parameters) + return err } -func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) error { +func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) (string, error) { // If image name hasn't been supplied read workshop definition file and // try to work out image name to Export workshop as. @@ -105,13 +112,13 @@ func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) error workshopFileData, err := os.ReadFile(workshopFilePath) if err != nil { - return errors.Wrapf(err, "cannot open workshop definition %q", workshopFilePath) + return "", errors.Wrapf(err, "cannot open workshop definition %q", workshopFilePath) } // Process the workshop YAML data for ytt templating and data variables. if workshopFileData, err = eduk8sWorkshops.ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { - return errors.Wrap(err, "unable to process workshop definition as template") + return "", errors.Wrap(err, "unable to process workshop definition as template") } workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(image_repository)", o.Repository)) @@ -124,11 +131,11 @@ func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) error err = runtime.DecodeInto(decoder, workshopFileData, workshop) if err != nil { - return errors.Wrap(err, "couldn't parse workshop definition") + return "", errors.Wrap(err, "couldn't parse workshop definition") } if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { - return errors.New("invalid type for workshop definition") + return "", errors.New("invalid type for workshop definition") } // Insert workshop version property if not specified. @@ -148,12 +155,10 @@ func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) error workshopFileData, err = yaml.Marshal(&workshop.Object) if err != nil { - return errors.Wrap(err, "couldn't convert workshop definition back to YAML") + return "", errors.Wrap(err, "couldn't convert workshop definition back to YAML") } - fmt.Print(string(workshopFileData)) - - return nil + return string(workshopFileData), nil } func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) error { @@ -201,7 +206,12 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err return errors.Wrap(err, "couldn't parse workshop definition") } - fmt.Printf("Processing workshop with name %q.\n", workshop.GetName()) + // Extract vendir snippet describing subset of files to package up as the + // workshop image. + + carvelUI := logger.NewCarvelUI() + + carvelUI.PrintLinef("Processing workshop with name %q", workshop.GetName()) if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { return errors.New("invalid type for workshop definition") @@ -217,21 +227,6 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err return errors.Errorf("cannot find image name for publishing workshop %q", workshopFilePath) } - // Extract vendir snippet describing subset of files to package up as the - // workshop image. - - confUI := ui.NewConfUI(ui.NewNoopLogger()) - - uiFlags := cmd.UIFlags{ - Color: true, - JSON: false, - NonInteractive: true, - } - - uiFlags.ConfigureUI(confUI) - - defer confUI.Flush() - if fileArtifacts, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "publish", "files"); found && len(fileArtifacts) != 0 { tempDir, err := os.MkdirTemp("", "educates-imgpkg") @@ -291,7 +286,7 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err return errors.Wrap(err, "unable to write vendir config file") } - syncOptions := vendirsync.NewSyncOptions(confUI) + syncOptions := vendirsync.NewSyncOptions(carvelUI) syncOptions.Directories = nil syncOptions.Files = []string{filepath.Join(tempDir, "vendir.yml")} @@ -319,10 +314,9 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err } // Now publish workshop directory contents as OCI image artifact. + carvelUI.PrintLinef("Publishing workshop files to %q", image) - fmt.Printf("Publishing workshop files to %q.\n", image) - - pushOptions := imgpkgcmd.NewPushOptions(confUI) + pushOptions := imgpkgcmd.NewPushOptions(carvelUI) pushOptions.ImageFlags.Image = image pushOptions.FileFlags.Files = append(pushOptions.FileFlags.Files, includePaths...) @@ -336,11 +330,10 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err return errors.Wrap(err, "unable to push image artifact for workshop") } - // We add a newline to output for better readability. - fmt.Println() + // // We add a newline to output for better readability. + // confUI.PrintLinef("\n") // Export modified workshop definition file. - exportWorkshop := o.ExportWorkshop if exportWorkshop != "" { diff --git a/client-programs/pkg/installer/installer.go b/client-programs/pkg/installer/installer.go index 413391592..7ab54535a 100644 --- a/client-programs/pkg/installer/installer.go +++ b/client-programs/pkg/installer/installer.go @@ -13,10 +13,8 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/cppforlife/go-cli-ui/ui" "github.com/pkg/errors" - "carvel.dev/imgpkg/pkg/imgpkg/cmd" "carvel.dev/imgpkg/pkg/imgpkg/registry" imgpkgv1 "carvel.dev/imgpkg/pkg/imgpkg/v1" @@ -46,9 +44,7 @@ func NewInstaller() *Installer { } func (inst *Installer) DryRun(version string, packageRepository string, fullConfig *config.InstallationConfig, verbose bool, showPackagesValues bool, skipImageResolution bool) error { - if verbose { - fmt.Println("Installing educates (DryRun) ...") - } + fmt.Println("⚙️ Running dry run installation...") // Create a temporary directory tempDir, err := os.MkdirTemp("", constants.EducatesInstallerString) @@ -100,9 +96,7 @@ func (inst *Installer) DryRun(version string, packageRepository string, fullConf } func (inst *Installer) Run(version string, packageRepository string, fullConfig *config.InstallationConfig, clusterConfig *cluster.ClusterConfig, verbose bool, showPackagesValues bool, skipImageResolution bool, showDiff bool) error { - if verbose { - fmt.Println("Installing educates ...") - } + fmt.Println("⚙️ Running full installation...") // Create a temporary directory tempDir, err := os.MkdirTemp("", constants.EducatesInstallerString) @@ -228,7 +222,9 @@ func (inst *Installer) fetch(tempDir string, version string, packageRepository s } // TODO: Remove some logging from here fetchOutputDir := filepath.Join(tempDir, "fetch") - _, err := imgpkgv1.Pull(inst.getBundleImageRef(version, packageRepository, verbose), fetchOutputDir, pullOpts, registry.Opts{}) + installerImageRef := inst.getBundleImageRef(version, packageRepository) + fmt.Println("Using installer image: ", installerImageRef) + _, err := imgpkgv1.Pull(installerImageRef, fetchOutputDir, pullOpts, registry.Opts{}) if err != nil { // TODO: There might be more potential issues here return "", errors.Wrapf(err, "Installer image not found") @@ -325,17 +321,9 @@ func (inst *Installer) resolve(tempDir string, inputDir string, verbose bool) (s return "", err } - // ui - confUI := ui.NewConfUI(ui.NewNoopLogger()) - uiFlags := cmd.UIFlags{ - Color: true, - JSON: false, - NonInteractive: true, - } - uiFlags.ConfigureUI(confUI) - defer confUI.Flush() + carvelUI := logger.NewCarvelUI() - resolveOptions := kbldcmd.NewResolveOptions(confUI) + resolveOptions := kbldcmd.NewResolveOptions(carvelUI) resolveOptions.FileFlags.Files = []string{inputDir} // Apply defaults from CLI resolveOptions.ImagesAnnotation = false @@ -370,17 +358,10 @@ func (inst *Installer) deploy(tempDir string, inputDir string, clusterConfig *cl fmt.Println("Running deploy ...") } - confUI := ui.NewConfUI(ui.NewNoopLogger()) - uiFlags := cmd.UIFlags{ - Color: true, - JSON: false, - NonInteractive: true, - } - uiFlags.ConfigureUI(confUI) - defer confUI.Flush() + carvelUI := logger.NewCarvelUI() depsFactory := NewKappDepsFactoryImpl(clusterConfig) - deployOptions := app.NewDeployOptions(confUI, depsFactory, logger.NewKappLogger(), nil) + deployOptions := app.NewDeployOptions(carvelUI, depsFactory, logger.NewKappLogger(), nil) deployOptions.AppFlags.Name = constants.EducatesInstallerAppString deployOptions.AppFlags.AppNamespace = constants.EducatesInstallerString deployOptions.FileFlags.Files = []string{inputDir, filepath.Join(tempDir, "fetch/config/kapp/")} @@ -413,20 +394,10 @@ func (inst *Installer) deploy(tempDir string, inputDir string, clusterConfig *cl func (inst *Installer) delete(clusterConfig *cluster.ClusterConfig) error { fmt.Println("Running delete ...") - confUI := ui.NewConfUI(ui.NewNoopLogger()) - - uiFlags := cmd.UIFlags{ - Color: true, - JSON: false, - NonInteractive: true, - } - - uiFlags.ConfigureUI(confUI) - - defer confUI.Flush() + carvelUI := logger.NewCarvelUI() depsFactory := NewKappDepsFactoryImpl(clusterConfig) - deleteOptions := app.NewDeleteOptions(confUI, depsFactory, logger.NewKappLogger()) + deleteOptions := app.NewDeleteOptions(carvelUI, depsFactory, logger.NewKappLogger()) deleteOptions.AppFlags.Name = constants.EducatesInstallerAppString deleteOptions.AppFlags.AppNamespace = constants.EducatesInstallerString deleteOptions.ApplyFlags.ClusterChangeOpts.Wait = true @@ -442,10 +413,7 @@ func (inst *Installer) delete(clusterConfig *cluster.ClusterConfig) error { return nil } -func (inst *Installer) getBundleImageRef(version string, packageRepository string, verbose bool) string { +func (inst *Installer) getBundleImageRef(version string, packageRepository string) string { bundleImageRef := fmt.Sprintf("%s/%s:%s", packageRepository, constants.EducatesInstallerString, version) - if verbose { - fmt.Printf("Using installer image: %s\n", bundleImageRef) - } return bundleImageRef } diff --git a/client-programs/pkg/logger/CarvelUI.go b/client-programs/pkg/logger/CarvelUI.go new file mode 100644 index 000000000..45cfa6e69 --- /dev/null +++ b/client-programs/pkg/logger/CarvelUI.go @@ -0,0 +1,101 @@ +package logger + +import ( + "fmt" + "io" + "os" + + "github.com/cppforlife/go-cli-ui/ui" + "github.com/cppforlife/go-cli-ui/ui/table" +) + +// CarvelUI is a minimal implementation of ui.UI for use with Carvel tools +// (imgpkg, vendir, kapp, kbld). It provides simple stdout/stderr output +// without the complexity of ConfUI. It can not be used as replacement for +// ytt UI. +type CarvelUI struct { + stdout io.Writer + stderr io.Writer +} + +// Ensure CarvelUI implements ui.UI interface at compile time +var _ ui.UI = &CarvelUI{} + +// NewCarvelUI creates a new CarvelUI with stdout/stderr writers. +func NewCarvelUI() *CarvelUI { + return &CarvelUI{ + stdout: os.Stdout, + stderr: os.Stderr, + } +} + +// NewCarvelUIWithWriters creates a CarvelUI with custom writers. +func NewCarvelUIWithWriters(stdout, stderr io.Writer) *CarvelUI { + return &CarvelUI{ + stdout: stdout, + stderr: stderr, + } +} + +// ErrorLinef prints formatted error line to stderr. +func (u *CarvelUI) ErrorLinef(pattern string, args ...interface{}) { + fmt.Fprintf(u.stderr, pattern+"\n", args...) +} + +// PrintLinef prints formatted line to stdout. +func (u *CarvelUI) PrintLinef(pattern string, args ...interface{}) { + fmt.Fprintf(u.stdout, pattern+"\n", args...) +} + +// BeginLinef starts a line (no newline). +func (u *CarvelUI) BeginLinef(pattern string, args ...interface{}) { + fmt.Fprintf(u.stdout, pattern, args...) +} + +// EndLinef ends a line with newline. +func (u *CarvelUI) EndLinef(pattern string, args ...interface{}) { + fmt.Fprintf(u.stdout, pattern+"\n", args...) +} + +// PrintBlock prints a block of bytes to stdout. +func (u *CarvelUI) PrintBlock(block []byte) { + fmt.Fprint(u.stdout, string(block)) +} + +// PrintErrorBlock prints error block to stderr. +func (u *CarvelUI) PrintErrorBlock(block string) { + fmt.Fprint(u.stderr, block) +} + +// PrintTable prints a table using the table's own Print method. +func (u *CarvelUI) PrintTable(t table.Table) { + t.Print(u.stdout) +} + +// AskForText - non-interactive mode, returns default value. +func (u *CarvelUI) AskForText(opts ui.TextOpts) (string, error) { + return opts.Default, nil +} + +// AskForChoice - non-interactive mode, returns default choice. +func (u *CarvelUI) AskForChoice(opts ui.ChoiceOpts) (int, error) { + return opts.Default, nil +} + +// AskForPassword - non-interactive mode, returns empty string. +func (u *CarvelUI) AskForPassword(label string) (string, error) { + return "", nil +} + +// AskForConfirmation - non-interactive mode, returns nil (auto-confirmed). +func (u *CarvelUI) AskForConfirmation() error { + return nil +} + +// IsInteractive returns false as this is a non-interactive implementation. +func (u *CarvelUI) IsInteractive() bool { + return false +} + +// Flush is a no-op for this simple implementation. +func (u *CarvelUI) Flush() {} diff --git a/client-programs/pkg/resolver/resolver.go b/client-programs/pkg/resolver/resolver.go index b39f093cb..953a09fc3 100644 --- a/client-programs/pkg/resolver/resolver.go +++ b/client-programs/pkg/resolver/resolver.go @@ -12,10 +12,10 @@ import ( "github.com/docker/docker/api/types/container" "github.com/docker/docker/api/types/image" "github.com/docker/docker/api/types/mount" - "github.com/docker/docker/client" "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" ) @@ -42,7 +42,7 @@ func DeployResolver(domain string, targetAddress string, extraDomains []string) fmt.Println("Deploying local DNS resolver") - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -126,7 +126,7 @@ func DeleteResolver() error { fmt.Println("Deleting local DNS resolver") - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -163,7 +163,7 @@ func UpdateResolver(domain string, targetAddress string, extraDomains []string) fmt.Println("Updating local DNS resolver configuration") - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := docker.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } diff --git a/client-programs/pkg/templates/files/classic/workshop/content/01-workshop-instructions.md b/client-programs/pkg/templates/files/classic/workshop/content/01-workshop-instructions.md index 2b9a4d3e7..a0df6a0be 100644 --- a/client-programs/pkg/templates/files/classic/workshop/content/01-workshop-instructions.md +++ b/client-programs/pkg/templates/files/classic/workshop/content/01-workshop-instructions.md @@ -1 +1 @@ -This is the first page of the workshop instructions, create as many separate pages as you need to. If necessary pages can be located in sub directories to provided grouping. \ No newline at end of file +This is the first page of the workshop instructions, create as many separate pages as you need to. If necessary pages can be located in sub directories to provided grouping. diff --git a/client-programs/pkg/templates/files/hugo/.gitignore b/client-programs/pkg/templates/files/hugo/.gitignore index 62c7b6daa..47bb55a6e 100644 --- a/client-programs/pkg/templates/files/hugo/.gitignore +++ b/client-programs/pkg/templates/files/hugo/.gitignore @@ -1,2 +1,2 @@ workshop/.hugo_build.lock -workshop/public \ No newline at end of file +workshop/public diff --git a/client-programs/pkg/templates/github/single/.github/workflows/publish-workshop.yaml b/client-programs/pkg/templates/github/single/.github/workflows/publish-workshop.yaml index 045c4ec0a..d322f4e0b 100644 --- a/client-programs/pkg/templates/github/single/.github/workflows/publish-workshop.yaml +++ b/client-programs/pkg/templates/github/single/.github/workflows/publish-workshop.yaml @@ -19,4 +19,4 @@ jobs: - name: Create release uses: educates/educates-github-actions/publish-workshop@v7 with: - token: {{ "${{secrets.GITHUB_TOKEN}}" }} \ No newline at end of file + token: {{ "${{secrets.GITHUB_TOKEN}}" }} diff --git a/client-programs/pkg/utils/prompt.go b/client-programs/pkg/utils/prompt.go index 4dc526bee..b5ea73496 100644 --- a/client-programs/pkg/utils/prompt.go +++ b/client-programs/pkg/utils/prompt.go @@ -9,18 +9,24 @@ import ( // YesNoPrompt prompts the user for a yes/no answer to a question. // It returns true if the user answers yes, false if the user answers no, and the default value if the user does not answer. -func YesNoPrompt(label string, def bool) bool { +func YesNoPrompt(labels []string, def bool) bool { choices := "Y/n" if !def { choices = "y/N" } - r := bufio.NewReader(os.Stdin) - var s string + // 1. Construct the prompt string + // Join all strings with a newline + labelText := strings.Join(labels, "\n") + + // Append the choices to the very end + // Result example: "Line1\nLine2 (Y/n) " + fullPrompt := fmt.Sprintf("%s (%s) ", labelText, choices) + r := bufio.NewReader(os.Stdin) for { - fmt.Fprintf(os.Stderr, "%s (%s) ", label, choices) - s, _ = r.ReadString('\n') + fmt.Fprintf(os.Stderr, "%s",fullPrompt) + s, _ := r.ReadString('\n') s = strings.TrimSpace(s) if s == "" { return def diff --git a/go.work.sum b/go.work.sum index aff19eaf5..067f1b7be 100644 --- a/go.work.sum +++ b/go.work.sum @@ -25,6 +25,7 @@ cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.99.0 h1:y/cM2iqGgGi5D5DQZl6D9STN/3dR/Vx5Mp8s752oJTY= cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go v0.110.8 h1:tyNdfIxjzaWctIiLYOTalaLKZ17SI44SKFW26QbOhME= cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= @@ -32,6 +33,8 @@ cloud.google.com/go v0.115.0 h1:CnFSK6Xo3lDYRoBKEcAtia6VSC837/ZkJuRduSFnr14= cloud.google.com/go v0.115.0/go.mod h1:8jIM5vVgoAEoiVxQ/O4BFTfHqulPZgs/ufEzMcFMdWU= cloud.google.com/go v0.118.3 h1:jsypSnrE/w4mJysioGdMBg4MiW/hHx/sArFpaBWHdME= cloud.google.com/go v0.118.3/go.mod h1:Lhs3YLnBlwJ4KA6nuObNMZ/fCbOQBPuWKPoE0Wa/9Vc= +cloud.google.com/go v0.121.6 h1:waZiuajrI28iAf40cWgycWNgaXPO06dupuS+sgibK6c= +cloud.google.com/go v0.121.6/go.mod h1:coChdst4Ea5vUpiALcYKXEpR1S9ZgXbhEzzMcMR66vI= cloud.google.com/go/accessapproval v1.7.2/go.mod h1:/gShiq9/kK/h8T/eEn1BTzalDvk0mZxJlhfw0p+Xuc0= cloud.google.com/go/accesscontextmanager v1.8.2/go.mod h1:E6/SCRM30elQJ2PKtFMs2YhfJpZSNcJyejhuzoId4Zk= cloud.google.com/go/aiplatform v1.51.1/go.mod h1:kY3nIMAVQOK2XDqDPHaOuD9e+FdMA6OOpfBjsvaFSOo= @@ -46,8 +49,10 @@ cloud.google.com/go/asset v1.15.1/go.mod h1:yX/amTvFWRpp5rcFq6XbCxzKT8RJUam1Uobo cloud.google.com/go/assuredworkloads v1.11.2/go.mod h1:O1dfr+oZJMlE6mw0Bp0P1KZSlj5SghMBvTpZqIcUAW4= cloud.google.com/go/auth v0.7.2/go.mod h1:VEc4p5NNxycWQTMQEDQF0bd6aTMb6VgYDXEwiJJQAbs= cloud.google.com/go/auth v0.15.0/go.mod h1:WJDGqZ1o9E9wKIL+IwStfyn/+s59zl4Bi+1KQNVXLZ8= +cloud.google.com/go/auth v0.16.4/go.mod h1:j10ncYwjX/g3cdX7GpEzsdM+d+ZNsXAbb6qXA7p1Y5M= cloud.google.com/go/auth/oauth2adapt v0.2.3/go.mod h1:tMQXOfZzFuNuUxOypHlQEXgdfX5cuhwU+ffUuXRJE8I= cloud.google.com/go/auth/oauth2adapt v0.2.7/go.mod h1:NTbTTzfvPl1Y3V1nPpOgl2w6d/FjO7NNUQaWSox6ZMc= +cloud.google.com/go/auth/oauth2adapt v0.2.8/go.mod h1:XQ9y31RkqZCcwJWNSx2Xvric3RrU88hAYYbjDWYDL+c= cloud.google.com/go/automl v1.13.2/go.mod h1:gNY/fUmDEN40sP8amAX3MaXkxcqPIn7F1UIIPZpy4Mg= cloud.google.com/go/baremetalsolution v1.2.1/go.mod h1:3qKpKIw12RPXStwQXcbhfxVj1dqQGEvcmA+SX/mUR88= cloud.google.com/go/batch v1.5.1/go.mod h1:RpBuIYLkQu8+CWDk3dFD/t/jOCGuUpkpX+Y0n1Xccs8= @@ -65,6 +70,7 @@ cloud.google.com/go/channel v1.17.1/go.mod h1:xqfzcOZAcP4b/hUDH0GkGg1Sd5to6di1HO cloud.google.com/go/cloudbuild v1.14.1/go.mod h1:K7wGc/3zfvmYWOWwYTgF/d/UVJhS4pu+HAy7PL7mCsU= cloud.google.com/go/clouddms v1.7.1/go.mod h1:o4SR8U95+P7gZ/TX+YbJxehOCsM+fe6/brlrFquiszk= cloud.google.com/go/cloudtasks v1.12.2/go.mod h1:A7nYkjNlW2gUoROg1kvJrQGhJP/38UaWwsnuBDOBVUk= +cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= @@ -183,6 +189,7 @@ github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.11.0/go.mod h1:okZ+ZURbArNdl github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2/go.mod h1:XtLgD3ZD34DAaVIIAyG3objl5DynM3CQ/vMcbBNJZGI= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.5.0/go.mod h1:PXe2h+LKcWTX9afWdZoHyODqR4fBa5boUM/8uJfZ0Jo= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= +github.com/Azure/go-ansiterm v0.0.0-20230124172434-306776ec8161/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= github.com/Azure/go-autorest/autorest v0.11.6/go.mod h1:V6p3pKZx1KKkJubbxnDWrzNhEIfOy/pTGasLqzHIPHs= github.com/Azure/go-autorest/autorest v0.11.18 h1:90Y4srNYrwOtAgVo3ndrQkTYn6kf1Eg/AjTFJ8Is2aM= github.com/Azure/go-autorest/autorest v0.11.18/go.mod h1:dSiJPy22c3u0OtOKDNttNgqpNFY/GeWa7GH/Pz56QRA= @@ -215,6 +222,7 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -311,11 +319,13 @@ github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ4 github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= @@ -327,6 +337,7 @@ github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dp github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= @@ -410,6 +421,7 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= @@ -434,6 +446,7 @@ github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBL github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= +github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= @@ -446,7 +459,10 @@ github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9k github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= +github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI= +github.com/onsi/ginkgo/v2 v2.21.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo= +github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= @@ -487,6 +503,8 @@ github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGy github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= +github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= +github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= @@ -494,6 +512,7 @@ github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPH github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= +github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= @@ -616,6 +635,7 @@ go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPx go.opentelemetry.io/contrib/detectors/gcp v1.38.0/go.mod h1:SU+iU7nu5ud4oCb3LQOhIZ3nRLj6FNVrKgtflbaf2ts= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.42.0/go.mod h1:XiglO+8SPMqM3Mqh5/rtxR1VHc63o8tb38QrU6tm4mU= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= +go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0/go.mod h1:h8TWwRAhQpOd0aM5nYsRD8+flnkj+526GEIVlarH7eY= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ= @@ -625,6 +645,7 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1/go.mod h1:9NiG9I2aHTKkcxqCILhjtyNA1QEiCjdBACv4IvrFQ+c= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.10.0/go.mod h1:NbvWjCthWHKBEUMpf0/v8ZRZlni86PpGFEMA9pnQSnQ= go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= @@ -639,6 +660,7 @@ go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8 go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0/go.mod h1:Krqnjl22jUJ0HgMzw5eveuCvFDXY4nSYb4F8t5gdrag= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0/go.mod h1:OfUCyyIiDvNXHWpcWgbF+MWvqPZiNa3YDEnivcnYsV0= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA= @@ -733,6 +755,9 @@ golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= +golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= +golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -875,6 +900,7 @@ golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= +golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= @@ -898,6 +924,7 @@ golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -948,6 +975,8 @@ golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0 golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= +golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= +golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= @@ -982,17 +1011,22 @@ google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvy google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9I7qI= google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KAUgy8= google.golang.org/api v0.224.0/go.mod h1:3V39my2xAGkodXy0vEqcEtkqgw2GtrFL5WuBZlCTCOQ= +google.golang.org/api v0.247.0/go.mod h1:r1qZOPmxXffXg6xS5uhx16Fa/UFY8QU/K4bfKrnvovM= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= +google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= +google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240722135656-d784300faade/go.mod h1:FfBgJBJg9GcpPvKIuHSZ/aE1g2ecGL74upMzGZjiGEY= google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2ZraNSzMDk3I95nmQln2fuPstKwFDE= google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE= +google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4= +google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s= google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw= google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= @@ -1057,6 +1091,7 @@ google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/ google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= +gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= @@ -1089,6 +1124,7 @@ k8s.io/code-generator v0.27.7/go.mod h1:w1YF/xQcTg+d9Ag+04xuRqER+q8rDnJ70ynLql8/ k8s.io/code-generator v0.30.3/go.mod h1:PFgBiv+miFV7TZYp+RXgROkhA+sWYZ+mtpbMLofMke8= k8s.io/code-generator v0.32.3/go.mod h1:+mbiYID5NLsBuqxjQTygKM/DAdKpAjvBzrJd64NU1G8= k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= +k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= k8s.io/component-base v0.28.6 h1:G4T8VrcQ7xZou3by/fY5NU5mfxOBlWaivS2lPrEltAo= k8s.io/component-base v0.28.6/go.mod h1:Dg62OOG3ALu2P4nAG00UdsuHoNLQJ5VsUZKQlLDcS+E= k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= @@ -1106,6 +1142,7 @@ k8s.io/gengo/v2 v2.0.0-20250604051438-85fd79dbfd9f/go.mod h1:EJykeLsmFC60UQbYJez k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM= +k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM= k8s.io/kube-aggregator v0.22.17/go.mod h1:J557nueFVurHA1JiDrxT1HlgygNQ+2exsTVUXiz2T7k= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= @@ -1146,6 +1183,9 @@ sigs.k8s.io/controller-runtime v0.15.3/go.mod h1:kp4jckA4vTx281S/0Yk2LFEEQe67mjg sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/kind v0.29.0 h1:3TpCsyh908IkXXpcSnsMjWdwdWjIl7o9IMZImZCWFnI= +sigs.k8s.io/kind v0.29.0/go.mod h1:ldWQisw2NYyM6k64o/tkZng/1qQW7OlzcN5a8geJX3o= sigs.k8s.io/knftables v0.0.14/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/knftables v0.0.17/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM= diff --git a/workshop-images/base-environment/opt/gateway/package-lock.json b/workshop-images/base-environment/opt/gateway/package-lock.json index 2a1e795d6..20228525b 100644 --- a/workshop-images/base-environment/opt/gateway/package-lock.json +++ b/workshop-images/base-environment/opt/gateway/package-lock.json @@ -30,7 +30,7 @@ "http-proxy-middleware": "^2.0.9", "jquery": "^3.7.1", "js-yaml": "^4.1.1", - "lodash": "^4.18.1", + "lodash": "^4.17.21", "matcher": "^5.0.0", "minimist": ">=1.2.7", "morgan": "^1.10.0", @@ -840,64 +840,34 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/bn.js": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", - "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", - "license": "MIT", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { - "bytes": "~3.1.2", + "bytes": "3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "unpipe": "1.0.0" }, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/body-parser/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/body-parser/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/bootstrap": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz", @@ -1067,39 +1037,47 @@ } }, "node_modules/browserify-rsa": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", - "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, - "license": "MIT", "dependencies": { - "bn.js": "^5.2.1", - "randombytes": "^2.1.0", - "safe-buffer": "^5.2.1" - }, - "engines": { - "node": ">= 0.10" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, "node_modules/browserify-sign": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", - "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", "dev": true, - "license": "ISC", "dependencies": { - "bn.js": "^5.2.2", - "browserify-rsa": "^4.1.1", + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.6.1", + "elliptic": "^6.5.5", + "hash-base": "~3.0", "inherits": "^2.0.4", - "parse-asn1": "^5.1.9", + "parse-asn1": "^5.1.7", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1" }, "engines": { - "node": ">= 0.10" + "node": ">= 0.12" + } + }, + "node_modules/browserify-sign/node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" } }, "node_modules/browserify-zlib": { @@ -1208,7 +1186,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1960,6 +1937,20 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" }, + "node_modules/express/node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", @@ -2248,19 +2239,31 @@ } }, "node_modules/hash-base": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", - "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, - "license": "MIT", "dependencies": { "inherits": "^2.0.4", - "readable-stream": "^2.3.8", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.1" + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" }, "engines": { - "node": ">= 0.8" + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, "node_modules/hash.js": { @@ -2366,7 +2369,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -2750,9 +2752,9 @@ } }, "node_modules/lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "node_modules/lodash.memoize": { "version": "3.0.4", @@ -3214,22 +3216,35 @@ } }, "node_modules/parse-asn1": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", - "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", "dev": true, - "license": "ISC", "dependencies": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", "evp_bytestokey": "^1.0.3", - "pbkdf2": "^3.1.5", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", "safe-buffer": "^5.2.1" }, "engines": { "node": ">= 0.10" } }, + "node_modules/parse-asn1/node_modules/hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -3332,21 +3347,55 @@ } }, "node_modules/pbkdf2": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", - "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", + "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", "dev": true, "license": "MIT", "dependencies": { - "create-hash": "^1.2.0", + "create-hash": "~1.1.3", "create-hmac": "^1.1.7", - "ripemd160": "^2.0.3", + "ripemd160": "=2.0.1", "safe-buffer": "^5.2.1", - "sha.js": "^2.4.12", - "to-buffer": "^1.2.1" + "sha.js": "^2.4.11", + "to-buffer": "^1.2.0" }, "engines": { - "node": ">= 0.10" + "node": ">=0.12" + } + }, + "node_modules/pbkdf2/node_modules/create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" + } + }, + "node_modules/pbkdf2/node_modules/hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "inherits": "^2.0.1" + } + }, + "node_modules/pbkdf2/node_modules/ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hash-base": "^2.0.0", + "inherits": "^2.0.1" } }, "node_modules/picomatch": { @@ -3590,7 +3639,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dependencies": { - "side-channel": "^1.1.0" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -3654,45 +3703,15 @@ } }, "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "license": "MIT", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/raw-body/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3789,17 +3808,13 @@ } }, "node_modules/ripemd160": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", - "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, - "license": "MIT", "dependencies": { - "hash-base": "^3.1.2", - "inherits": "^2.0.4" - }, - "engines": { - "node": ">= 0.8" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "node_modules/safe-buffer": { @@ -3832,8 +3847,7 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/semver": { "version": "7.5.4", @@ -5507,47 +5521,28 @@ } }, "bn.js": { - "version": "5.2.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.3.tgz", - "integrity": "sha512-EAcmnPkxpntVL+DS7bO1zhcZNvCkxqtkd0ZY53h06GNQ3DEkkGZ/gKgmDv6DdZQGj9BgfSPKtJJ7Dp1GPP8f7w==", + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", "dev": true }, "body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "requires": { - "bytes": "~3.1.2", + "bytes": "3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", "type-is": "~1.6.18", - "unpipe": "~1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" - } + "unpipe": "1.0.0" } }, "bootstrap": { @@ -5730,31 +5725,43 @@ } }, "browserify-rsa": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", - "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", "dev": true, "requires": { - "bn.js": "^5.2.1", - "randombytes": "^2.1.0", - "safe-buffer": "^5.2.1" + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" } }, "browserify-sign": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", - "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", + "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", "dev": true, "requires": { - "bn.js": "^5.2.2", - "browserify-rsa": "^4.1.1", + "bn.js": "^5.2.1", + "browserify-rsa": "^4.1.0", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.6.1", + "elliptic": "^6.5.5", + "hash-base": "~3.0", "inherits": "^2.0.4", - "parse-asn1": "^5.1.9", + "parse-asn1": "^5.1.7", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + } } }, "browserify-zlib": { @@ -6402,6 +6409,16 @@ "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" + }, + "dependencies": { + "qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "requires": { + "side-channel": "^1.1.0" + } + } } }, "express-basic-auth": { @@ -6632,15 +6649,27 @@ } }, "hash-base": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", - "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", "dev": true, "requires": { "inherits": "^2.0.4", - "readable-stream": "^2.3.8", - "safe-buffer": "^5.2.1", - "to-buffer": "^1.2.1" + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } } }, "hash.js": { @@ -6999,9 +7028,9 @@ } }, "lodash": { - "version": "4.18.1", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", - "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==" + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, "lodash.memoize": { "version": "3.0.4", @@ -7353,16 +7382,29 @@ } }, "parse-asn1": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", - "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", + "version": "5.1.7", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", + "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", "dev": true, "requires": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", "evp_bytestokey": "^1.0.3", - "pbkdf2": "^3.1.5", + "hash-base": "~3.0", + "pbkdf2": "^3.1.2", "safe-buffer": "^5.2.1" + }, + "dependencies": { + "hash-base": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", + "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + } } }, "parseurl": { @@ -7449,17 +7491,50 @@ "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==" }, "pbkdf2": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", - "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", + "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", "dev": true, "requires": { - "create-hash": "^1.2.0", + "create-hash": "~1.1.3", "create-hmac": "^1.1.7", - "ripemd160": "^2.0.3", + "ripemd160": "=2.0.1", "safe-buffer": "^5.2.1", - "sha.js": "^2.4.12", - "to-buffer": "^1.2.1" + "sha.js": "^2.4.11", + "to-buffer": "^1.2.0" + }, + "dependencies": { + "create-hash": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", + "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "sha.js": "^2.4.0" + } + }, + "hash-base": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", + "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", + "dev": true, + "requires": { + "inherits": "^2.0.1" + } + }, + "ripemd160": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", + "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", + "dev": true, + "requires": { + "hash-base": "^2.0.0", + "inherits": "^2.0.1" + } + } } }, "picomatch": { @@ -7672,7 +7747,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "requires": { - "side-channel": "^1.1.0" + "side-channel": "^1.0.6" } }, "querystring": { @@ -7717,33 +7792,14 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" - } + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" } }, "read-only-stream": { @@ -7823,13 +7879,13 @@ } }, "ripemd160": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", - "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", "dev": true, "requires": { - "hash-base": "^3.1.2", - "inherits": "^2.0.4" + "hash-base": "^3.0.0", + "inherits": "^2.0.1" } }, "safe-buffer": { diff --git a/workshop-images/base-environment/opt/gateway/package.json b/workshop-images/base-environment/opt/gateway/package.json index 883354c2e..f0451541c 100644 --- a/workshop-images/base-environment/opt/gateway/package.json +++ b/workshop-images/base-environment/opt/gateway/package.json @@ -32,7 +32,7 @@ "http-proxy-middleware": "^2.0.9", "jquery": "^3.7.1", "js-yaml": "^4.1.1", - "lodash": "^4.18.1", + "lodash": "^4.17.21", "matcher": "^5.0.0", "minimist": ">=1.2.7", "morgan": "^1.10.0", diff --git a/workshop-images/base-environment/opt/helper/package-lock.json b/workshop-images/base-environment/opt/helper/package-lock.json index 8d5a04bc0..f1f47a6d4 100644 --- a/workshop-images/base-environment/opt/helper/package-lock.json +++ b/workshop-images/base-environment/opt/helper/package-lock.json @@ -23,9 +23,12 @@ "@typescript-eslint/eslint-plugin": "^8.54.0", "@typescript-eslint/parser": "^8.54.0", "@vscode/test-electron": "^2.5.2", + "@typescript-eslint/eslint-plugin": "^6.1.0", + "@typescript-eslint/parser": "^6.1.0", + "@vscode/test-electron": "^2.2.0", "@vscode/vsce": "^2.19.0", "ansi-regex": ">=6.0.1", - "eslint": "^9.39.2", + "eslint": "^8.44.0", "glob": "^8.0.3", "minimist": ">=1.2.7", "mocha": "^10.8.2", @@ -35,183 +38,146 @@ "vscode": "^1.45.0" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.4.3" + "eslint-visitor-keys": "^3.3.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, - "funding": { - "url": "https://opencollective.com/eslint" - }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", + "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/@eslint/eslintrc/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "node_modules/@eslint/js": { + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", "dev": true, "engines": { - "node": ">= 4" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" }, - "funding": { - "url": "https://eslint.org/donate" + "engines": { + "node": ">=10.10.0" } }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": ">= 8" } }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, "engines": { - "node": ">=18.18.0" + "node": ">= 8" } }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" }, "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">= 8" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "node_modules/@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true, "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">= 6" } }, "node_modules/@types/body-parser": { @@ -233,12 +199,6 @@ "@types/node": "*" } }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true - }, "node_modules/@types/express": { "version": "4.17.17", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", @@ -274,9 +234,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "node_modules/@types/mime": { @@ -315,6 +275,12 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, "node_modules/@types/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", @@ -342,142 +308,120 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", - "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/type-utils": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "ignore": "^7.0.5", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.1.0.tgz", + "integrity": "sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.1.0", + "@typescript-eslint/type-utils": "6.1.0", + "@typescript-eslint/utils": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "natural-compare-lite": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^8.54.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/parser": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", - "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.1.0.tgz", + "integrity": "sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3" + "@typescript-eslint/scope-manager": "6.1.0", + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/typescript-estree": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0", + "debug": "^4.3.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", - "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", - "dev": true, - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.54.0", - "@typescript-eslint/types": "^8.54.0", - "debug": "^4.4.3" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "eslint": "^7.0.0 || ^8.0.0" }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", - "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.1.0.tgz", + "integrity": "sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0" + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", - "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/type-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", - "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.1.0.tgz", + "integrity": "sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "@typescript-eslint/typescript-estree": "6.1.0", + "@typescript-eslint/utils": "6.1.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/types": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", - "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.1.0.tgz", + "integrity": "sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==", "dev": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", @@ -485,110 +429,74 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", - "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.1.0.tgz", + "integrity": "sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==", "dev": true, "dependencies": { - "@typescript-eslint/project-service": "8.54.0", - "@typescript-eslint/tsconfig-utils": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3", - "minimatch": "^9.0.5", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", - "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", - "dev": true, - "license": "MIT", - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "license": "ISC", - "dependencies": { - "brace-expansion": "^2.0.2" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/@typescript-eslint/utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", - "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.1.0.tgz", + "integrity": "sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.1.0", + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/typescript-estree": "6.1.0", + "semver": "^7.5.4" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" + "eslint": "^7.0.0 || ^8.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", - "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.1.0.tgz", + "integrity": "sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "8.54.0", - "eslint-visitor-keys": "^4.2.1" + "@typescript-eslint/types": "6.1.0", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^16.0.0 || >=18.0.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, "node_modules/@vscode/test-electron": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.5.2.tgz", @@ -684,9 +592,9 @@ } }, "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -786,6 +694,15 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/azure-devops-node-api": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", @@ -860,23 +777,22 @@ } }, "node_modules/body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", - "license": "MIT", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dependencies": { - "bytes": "~3.1.2", + "bytes": "3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "unpipe": "1.0.0" }, "engines": { "node": ">= 0.8", @@ -891,40 +807,11 @@ "ms": "2.0.0" } }, - "node_modules/body-parser/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", - "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/body-parser/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", - "engines": { - "node": ">= 0.8" - } - }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -998,7 +885,6 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1298,9 +1184,9 @@ } }, "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "dependencies": { "ms": "^2.1.3" @@ -1394,6 +1280,30 @@ "node": ">=0.3.1" } }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "dependencies": { + "esutils": "^2.0.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -1554,84 +1464,65 @@ } }, "node_modules/eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", + "cross-spawn": "^7.0.2", "debug": "^4.3.2", + "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1701,18 +1592,31 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1722,15 +1626,6 @@ "node": ">=8" } }, - "node_modules/eslint/node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -1744,38 +1639,26 @@ } }, "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", "dev": true, "dependencies": { - "acorn": "^8.15.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "eslint-visitor-keys": "^3.4.1" }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -1784,6 +1667,15 @@ "node": ">=0.10" } }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -1796,7 +1688,7 @@ "node": ">=4.0" } }, - "node_modules/estraverse": { + "node_modules/esrecurse/node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -1890,12 +1782,54 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/express/node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-glob": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-glob/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -1908,6 +1842,15 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -1918,15 +1861,15 @@ } }, "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "dependencies": { - "flat-cache": "^4.0.0" + "flat-cache": "^3.0.4" }, "engines": { - "node": ">=16.0.0" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/fill-range": { @@ -1997,22 +1940,22 @@ } }, "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" }, "engines": { - "node": ">=16" + "node": "^10.12.0 || >=12.0.0" } }, "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "node_modules/forwarded": { @@ -2184,12 +2127,35 @@ } }, "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, "engines": { - "node": ">=18" + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2206,6 +2172,12 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2322,7 +2294,6 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", - "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -2352,9 +2323,9 @@ "optional": true }, "node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" @@ -2367,9 +2338,9 @@ "dev": true }, "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "dependencies": { "parent-module": "^1.0.0", @@ -2484,6 +2455,15 @@ "node": ">=0.12.0" } }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -2529,12 +2509,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2577,15 +2551,6 @@ "prebuild-install": "^7.0.1" } }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -2800,6 +2765,15 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -2808,6 +2782,19 @@ "node": ">= 0.6" } }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -3010,6 +2997,12 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -3106,17 +3099,17 @@ } }, "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -3367,6 +3360,15 @@ "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "license": "MIT" }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -3451,9 +3453,9 @@ } }, "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true, "engines": { "node": ">=6" @@ -3464,7 +3466,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dependencies": { - "side-channel": "^1.1.0" + "side-channel": "^1.0.6" }, "engines": { "node": ">=0.6" @@ -3473,6 +3475,26 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -3491,45 +3513,15 @@ } }, "node_modules/raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", - "license": "MIT", - "dependencies": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/raw-body/node_modules/http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "license": "MIT", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "dependencies": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - }, - "engines": { - "node": ">= 0.8" + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/raw-body/node_modules/statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", - "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3639,20 +3631,72 @@ "node": ">=4" } }, - "node_modules/restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, "dependencies": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" }, "engines": { - "node": ">=18" + "node": "*" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, "node_modules/safe-buffer": { @@ -3677,8 +3721,7 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "license": "MIT" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/sax": { "version": "1.2.4", @@ -3687,10 +3730,13 @@ "dev": true }, "node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { "semver": "bin/semver.js" }, @@ -3924,6 +3970,15 @@ "simple-concat": "^1.0.0" } }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -4063,50 +4118,11 @@ "node": ">= 6" } }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "node_modules/tmp": { "version": "0.2.4", @@ -4138,15 +4154,15 @@ } }, "node_modules/ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", "dev": true, "engines": { - "node": ">=18.12" + "node": ">=16.13.0" }, "peerDependencies": { - "typescript": ">=4.8.4" + "typescript": ">=4.2.0" } }, "node_modules/tunnel": { @@ -4183,6 +4199,18 @@ "node": ">= 0.8.0" } }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -4291,15 +4319,6 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/workerpool": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", @@ -4482,123 +4501,103 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, "@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", "dev": true, "requires": { - "eslint-visitor-keys": "^3.4.3" + "eslint-visitor-keys": "^3.3.0" } }, "@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", "dev": true }, - "@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, - "requires": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - } - }, - "@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "requires": { - "@eslint/core": "^0.17.0" - } - }, - "@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.15" - } - }, "@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", + "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", + "espree": "^9.6.0", + "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", + "js-yaml": "^4.1.0", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" - }, - "dependencies": { - "ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true - } } }, "@eslint/js": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", - "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", - "dev": true - }, - "@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", + "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", "dev": true }, - "@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", + "@humanwhocodes/config-array": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", + "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", "dev": true, "requires": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" } }, - "@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true + }, + "@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", "dev": true }, - "@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, "requires": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true }, - "@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@tootallnate/once": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-1.1.2.tgz", + "integrity": "sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==", "dev": true }, "@types/body-parser": { @@ -4620,12 +4619,6 @@ "@types/node": "*" } }, - "@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true - }, "@types/express": { "version": "4.17.17", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", @@ -4661,9 +4654,9 @@ } }, "@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "version": "7.0.12", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", + "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", "dev": true }, "@types/mime": { @@ -4702,6 +4695,12 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, + "@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, "@types/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", @@ -4729,146 +4728,104 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", - "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.12.2", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/type-utils": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "ignore": "^7.0.5", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.1.0.tgz", + "integrity": "sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.5.1", + "@typescript-eslint/scope-manager": "6.1.0", + "@typescript-eslint/type-utils": "6.1.0", + "@typescript-eslint/utils": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0", + "debug": "^4.3.4", + "graphemer": "^1.4.0", + "ignore": "^5.2.4", "natural-compare": "^1.4.0", - "ts-api-utils": "^2.4.0" + "natural-compare-lite": "^1.4.0", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/parser": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", - "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", - "dev": true, - "requires": { - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3" - } - }, - "@typescript-eslint/project-service": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", - "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.1.0.tgz", + "integrity": "sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==", "dev": true, "requires": { - "@typescript-eslint/tsconfig-utils": "^8.54.0", - "@typescript-eslint/types": "^8.54.0", - "debug": "^4.4.3" + "@typescript-eslint/scope-manager": "6.1.0", + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/typescript-estree": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0", + "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", - "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.1.0.tgz", + "integrity": "sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==", "dev": true, "requires": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0" + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0" } }, - "@typescript-eslint/tsconfig-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", - "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", - "dev": true, - "requires": {} - }, "@typescript-eslint/type-utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", - "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.1.0.tgz", + "integrity": "sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==", "dev": true, "requires": { - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0", - "@typescript-eslint/utils": "8.54.0", - "debug": "^4.4.3", - "ts-api-utils": "^2.4.0" + "@typescript-eslint/typescript-estree": "6.1.0", + "@typescript-eslint/utils": "6.1.0", + "debug": "^4.3.4", + "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/types": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", - "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.1.0.tgz", + "integrity": "sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", - "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.1.0.tgz", + "integrity": "sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==", "dev": true, "requires": { - "@typescript-eslint/project-service": "8.54.0", - "@typescript-eslint/tsconfig-utils": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/visitor-keys": "8.54.0", - "debug": "^4.4.3", - "minimatch": "^9.0.5", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.4.0" - }, - "dependencies": { - "brace-expansion": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", - "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", - "dev": true, - "requires": { - "balanced-match": "^1.0.0" - } - }, - "minimatch": { - "version": "9.0.9", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", - "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.2" - } - } + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/visitor-keys": "6.1.0", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.5.4", + "ts-api-utils": "^1.0.1" } }, "@typescript-eslint/utils": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", - "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.1.0.tgz", + "integrity": "sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==", "dev": true, "requires": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.54.0", - "@typescript-eslint/types": "8.54.0", - "@typescript-eslint/typescript-estree": "8.54.0" + "@eslint-community/eslint-utils": "^4.4.0", + "@types/json-schema": "^7.0.12", + "@types/semver": "^7.5.0", + "@typescript-eslint/scope-manager": "6.1.0", + "@typescript-eslint/types": "6.1.0", + "@typescript-eslint/typescript-estree": "6.1.0", + "semver": "^7.5.4" } }, "@typescript-eslint/visitor-keys": { - "version": "8.54.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", - "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.1.0.tgz", + "integrity": "sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==", "dev": true, "requires": { - "@typescript-eslint/types": "8.54.0", - "eslint-visitor-keys": "^4.2.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true - } + "@typescript-eslint/types": "6.1.0", + "eslint-visitor-keys": "^3.4.1" } }, "@vscode/test-electron": { @@ -4945,9 +4902,9 @@ } }, "acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", "dev": true }, "acorn-jsx": { @@ -5017,6 +4974,12 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, "azure-devops-node-api": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", @@ -5073,22 +5036,22 @@ } }, "body-parser": { - "version": "1.20.4", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", - "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "requires": { - "bytes": "~3.1.2", + "bytes": "3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "~1.2.0", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "on-finished": "~2.4.1", - "qs": "~6.14.0", - "raw-body": "~2.5.3", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", "type-is": "~1.6.18", - "unpipe": "~1.0.0" + "unpipe": "1.0.0" }, "dependencies": { "debug": { @@ -5099,27 +5062,10 @@ "ms": "2.0.0" } }, - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" } } }, @@ -5393,9 +5339,9 @@ "dev": true }, "debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", + "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", "dev": true, "requires": { "ms": "^2.1.3" @@ -5453,6 +5399,24 @@ "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", "dev": true }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", + "dev": true, + "requires": { + "esutils": "^2.0.2" + } + }, "dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -5568,45 +5532,50 @@ "dev": true }, "eslint": { - "version": "9.39.2", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", - "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.2", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", + "version": "8.44.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", + "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.1.0", + "@eslint/js": "8.44.0", + "@humanwhocodes/config-array": "^0.11.10", "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", + "cross-spawn": "^7.0.2", "debug": "^4.3.2", + "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.6.0", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", + "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", "ignore": "^5.2.0", + "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3" + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" }, "dependencies": { "ansi-styles": { @@ -5649,10 +5618,20 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true }, "has-flag": { @@ -5661,12 +5640,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -5678,48 +5651,38 @@ } } }, - "eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, "eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true }, "espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", + "version": "9.6.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", + "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", "dev": true, "requires": { - "acorn": "^8.15.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true - } + "eslint-visitor-keys": "^3.4.1" } }, "esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, "esrecurse": { @@ -5729,14 +5692,16 @@ "dev": true, "requires": { "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } } }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -5805,6 +5770,14 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "requires": { + "side-channel": "^1.1.0" + } } } }, @@ -5814,6 +5787,30 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "fast-glob": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", + "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "dependencies": { + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + } + } + }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -5826,6 +5823,15 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, + "fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -5836,12 +5842,12 @@ } }, "file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, "requires": { - "flat-cache": "^4.0.0" + "flat-cache": "^3.0.4" } }, "fill-range": { @@ -5899,19 +5905,19 @@ "dev": true }, "flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", "dev": true, "requires": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" + "flatted": "^3.1.0", + "rimraf": "^3.0.2" } }, "flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, "forwarded": { @@ -6037,16 +6043,39 @@ } }, "globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, + "globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "dev": true, + "requires": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + } }, "gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" }, + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6141,9 +6170,9 @@ "optional": true }, "ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "immediate": { @@ -6153,9 +6182,9 @@ "dev": true }, "import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -6237,6 +6266,12 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, + "is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true + }, "is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -6270,12 +6305,6 @@ "argparse": "^2.0.1" } }, - "json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -6317,15 +6346,6 @@ "prebuild-install": "^7.0.1" } }, - "keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "requires": { - "json-buffer": "3.0.1" - } - }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -6487,11 +6507,27 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, + "micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "requires": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + } + }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -6638,6 +6674,12 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, + "natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -6707,92 +6749,17 @@ } }, "optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - } - }, - "ora": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", - "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", - "dev": true, - "requires": { - "chalk": "^5.3.0", - "cli-cursor": "^5.0.0", - "cli-spinners": "^2.9.2", - "is-interactive": "^2.0.0", - "is-unicode-supported": "^2.0.0", - "log-symbols": "^6.0.0", - "stdin-discarder": "^0.2.2", - "string-width": "^7.2.0", - "strip-ansi": "^7.1.0" - }, - "dependencies": { - "chalk": { - "version": "5.6.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.2.tgz", - "integrity": "sha512-7NzBL0rN6fMUW+f7A6Io4h40qQlG+xGmtMxfbnH/K7TAtt8JQWVQK+6g0UXKMeVJoyV5EkkNsErQ8pVD3bLHbA==", - "dev": true - }, - "emoji-regex": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.6.0.tgz", - "integrity": "sha512-toUI84YS5YmxW219erniWD0CIVOo46xGKColeNQRgOzDorgBi1v4D71/OFzgD9GO2UGKIv1C3Sp8DAn0+j5w7A==", - "dev": true - }, - "is-unicode-supported": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", - "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", - "dev": true - }, - "log-symbols": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", - "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", - "dev": true, - "requires": { - "chalk": "^5.3.0", - "is-unicode-supported": "^1.3.0" - }, - "dependencies": { - "is-unicode-supported": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", - "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", - "dev": true - } - } - }, - "string-width": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", - "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", - "dev": true, - "requires": { - "emoji-regex": "^10.3.0", - "get-east-asian-width": "^1.0.0", - "strip-ansi": "^7.1.0" - } - }, - "strip-ansi": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.2.0.tgz", - "integrity": "sha512-yDPMNjp4WyfYBkHnjIRLfca1i6KMyGCtsVgoKe/z1+6vukgaENdgGBZt+ZmKPc4gavvEZ5OgHfHdrazhgNyG7w==", - "dev": true, - "requires": { - "ansi-regex": "^6.2.2" - } - } + "type-check": "^0.4.0" } }, "p-limit": { @@ -6892,6 +6859,12 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==" }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -6958,9 +6931,9 @@ } }, "punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", "dev": true }, "qs": { @@ -6968,9 +6941,15 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "requires": { - "side-channel": "^1.1.0" + "side-channel": "^1.0.6" } }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -6986,33 +6965,14 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.5.3", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", - "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", "requires": { - "bytes": "~3.1.2", - "http-errors": "~2.0.1", - "iconv-lite": "~0.4.24", - "unpipe": "~1.0.0" - }, - "dependencies": { - "http-errors": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", - "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", - "requires": { - "depd": "~2.0.0", - "inherits": "~2.0.4", - "setprototypeof": "~1.2.0", - "statuses": "~2.0.2", - "toidentifier": "~1.0.1" - } - }, - "statuses": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", - "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" - } + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" } }, "rc": { @@ -7103,14 +7063,44 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "restore-cursor": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", - "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, "requires": { - "onetime": "^7.0.0", - "signal-exit": "^4.1.0" + "queue-microtask": "^1.2.2" } }, "safe-buffer": { @@ -7130,10 +7120,13 @@ "dev": true }, "semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } }, "send": { "version": "0.19.0", @@ -7292,6 +7285,12 @@ "simple-concat": "^1.0.0" } }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -7404,30 +7403,11 @@ } } }, - "tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "requires": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "dependencies": { - "fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "requires": {} - }, - "picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true - } - } + "text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true }, "tmp": { "version": "0.2.4", @@ -7450,9 +7430,9 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "ts-api-utils": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", - "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", + "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", "dev": true, "requires": {} }, @@ -7481,6 +7461,12 @@ "prelude-ls": "^1.2.1" } }, + "type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true + }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -7564,12 +7550,6 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true - }, "workerpool": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", diff --git a/workshop-images/base-environment/opt/renderer/package-lock.json b/workshop-images/base-environment/opt/renderer/package-lock.json index d6fbffce8..99301e0ce 100644 --- a/workshop-images/base-environment/opt/renderer/package-lock.json +++ b/workshop-images/base-environment/opt/renderer/package-lock.json @@ -1539,6 +1539,20 @@ "url": "https://opencollective.com/express" } }, + "node_modules/express/node_modules/qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", @@ -5003,6 +5017,16 @@ "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" + }, + "dependencies": { + "qs": { + "version": "6.14.1", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", + "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", + "requires": { + "side-channel": "^1.1.0" + } + } } }, "fast-safe-stringify": { From f4718c5f82a74a772ba3f35c4158a4bc23577085 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Fri, 23 Jan 2026 19:50:31 +0100 Subject: [PATCH 21/41] Adding selection of kubernetes-version to create cluster. Defaults to 1.34 --- client-programs/go.mod | 3 +- client-programs/go.sum | 4 +-- .../pkg/cmd/local_cluster_create_cmd.go | 36 +++++++++++++++++++ client-programs/pkg/constants/kubernetes.go | 16 +++++++++ go.work.sum | 14 ++------ 5 files changed, 58 insertions(+), 15 deletions(-) create mode 100644 client-programs/pkg/constants/kubernetes.go diff --git a/client-programs/go.mod b/client-programs/go.mod index 4ca5ba457..6e0f7f7e6 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -27,9 +27,10 @@ require ( k8s.io/cli-runtime v0.34.2 k8s.io/client-go v0.34.2 k8s.io/klog/v2 v2.130.1 + // Keep kubectl aligned with DefaultKubernetesVersion in constants/kubernetes.go and k8s.io/api, k8s.io/apimachinery, k8s.io/cli-runtime, k8s.io/client-go, sigs.k8s.io/kind, sigs.k8s.io/controller-runtime k8s.io/kubectl v0.34.2 sigs.k8s.io/controller-runtime v0.22.4 - sigs.k8s.io/kind v0.30.0 + sigs.k8s.io/kind v0.31.0 sigs.k8s.io/yaml v1.6.0 ) diff --git a/client-programs/go.sum b/client-programs/go.sum index 95330ccd6..49bebb0d8 100644 --- a/client-programs/go.sum +++ b/client-programs/go.sum @@ -833,8 +833,8 @@ sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327U sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= -sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= -sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= +sigs.k8s.io/kind v0.31.0 h1:UcT4nzm+YM7YEbqiAKECk+b6dsvc/HRZZu9U0FolL1g= +sigs.k8s.io/kind v0.31.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/randfill v1.0.0 h1:JfjMILfT8A6RbawdsK2JXGBR5AQVfd+9TbzrlneTyrU= sigs.k8s.io/randfill v1.0.0/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/structured-merge-diff/v6 v6.3.0 h1:jTijUJbW353oVOd9oTlifJqOGEkUw2jB/fXCbTiQEco= diff --git a/client-programs/pkg/cmd/local_cluster_create_cmd.go b/client-programs/pkg/cmd/local_cluster_create_cmd.go index 6846f347f..0d89d626c 100644 --- a/client-programs/pkg/cmd/local_cluster_create_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_create_cmd.go @@ -15,6 +15,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/config" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/installer" "github.com/educates/educates-training-platform/client-programs/pkg/registry" @@ -22,6 +23,23 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) +// SupportedKubernetesVersions returns a sorted list of supported Kubernetes versions +func SupportedKubernetesVersions() []string { + versions := make([]string, 0, len(constants.KubernetesVersionToKindImage)) + for v := range constants.KubernetesVersionToKindImage { + versions = append(versions, v) + } + // Sort in descending order (newest first) + for i := 0; i < len(versions)-1; i++ { + for j := i + 1; j < len(versions); j++ { + if versions[i] < versions[j] { + versions[i], versions[j] = versions[j], versions[i] + } + } + } + return versions +} + const ( localClusterCreateExample = ` # Create local educates cluster (no configuration, uses nip.io wildcard domain and Kind as provider config defaults) @@ -55,6 +73,7 @@ type LocalClusterCreateOptions struct { Config string Kubeconfig string ClusterImage string + KubernetesVersion string Domain string PackageRepository string Version string @@ -162,6 +181,17 @@ func (p *ProjectInfo) NewLocalClusterCreateCmd() *cobra.Command { } o.RegistryBindIP = ip + // Validate kubernetes-version if provided + if o.KubernetesVersion != "" { + if _, ok := constants.KubernetesVersionToKindImage[o.KubernetesVersion]; !ok { + return fmt.Errorf("unsupported kubernetes version %q, supported versions are: %v", o.KubernetesVersion, SupportedKubernetesVersions()) + } + // If kind-cluster-image is not explicitly set, use the mapped image + if o.ClusterImage == "" { + o.ClusterImage = constants.KubernetesVersionToKindImage[o.KubernetesVersion] + } + } + return o.Run() }, Example: localClusterCreateExample, @@ -185,6 +215,12 @@ func (p *ProjectInfo) NewLocalClusterCreateCmd() *cobra.Command { "", "docker image to use when booting the kind cluster", ) + c.Flags().StringVar( + &o.KubernetesVersion, + "kubernetes-version", + constants.DefaultKubernetesVersion, + fmt.Sprintf("kubernetes version for the kind cluster (supported: %v)", SupportedKubernetesVersions()), + ) c.Flags().StringVar( &o.Domain, "domain", diff --git a/client-programs/pkg/constants/kubernetes.go b/client-programs/pkg/constants/kubernetes.go new file mode 100644 index 000000000..7f3cf9dec --- /dev/null +++ b/client-programs/pkg/constants/kubernetes.go @@ -0,0 +1,16 @@ +package constants + +// KubernetesVersionToKindImage maps Kubernetes versions to their corresponding kind node images +var ( + KubernetesVersionToKindImage = map[string]string{ + "1.35": "kindest/node:v1.35.0@sha256:452d707d4862f52530247495d180205e029056831160e22870e37e3f6c1ac31f", + "1.34": "kindest/node:v1.34.3@sha256:08497ee19eace7b4b5348db5c6a1591d7752b164530a36f855cb0f2bdcbadd48", + "1.33": "kindest/node:v1.33.7@sha256:d26ef333bdb2cbe9862a0f7c3803ecc7b4303d8cea8e814b481b09949d353040", + "1.32": "kindest/node:v1.32.11@sha256:5fc52d52a7b9574015299724bd68f183702956aa4a2116ae75a63cb574b35af8", + "1.31": "kindest/node:v1.31.14@sha256:6f86cf509dbb42767b6e79debc3f2c32e4ee01386f0489b3b2be24b0a55aac2b", + } +) + +const ( + DefaultKubernetesVersion = "1.34" +) diff --git a/go.work.sum b/go.work.sum index 067f1b7be..fcb906b8e 100644 --- a/go.work.sum +++ b/go.work.sum @@ -25,7 +25,6 @@ cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.99.0 h1:y/cM2iqGgGi5D5DQZl6D9STN/3dR/Vx5Mp8s752oJTY= cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= -cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go v0.110.8 h1:tyNdfIxjzaWctIiLYOTalaLKZ17SI44SKFW26QbOhME= cloud.google.com/go v0.110.8/go.mod h1:Iz8AkXJf1qmxC3Oxoep8R1T36w8B92yU29PcBhHO5fk= @@ -222,7 +221,6 @@ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbt github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= -github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -453,7 +451,6 @@ github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwd github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= github.com/mrunalp/fileutils v0.5.1/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= @@ -512,7 +509,6 @@ github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPH github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= @@ -635,7 +631,6 @@ go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPx go.opentelemetry.io/contrib/detectors/gcp v1.38.0/go.mod h1:SU+iU7nu5ud4oCb3LQOhIZ3nRLj6FNVrKgtflbaf2ts= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.42.0/go.mod h1:XiglO+8SPMqM3Mqh5/rtxR1VHc63o8tb38QrU6tm4mU= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= -go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.35.0/go.mod h1:h8TWwRAhQpOd0aM5nYsRD8+flnkj+526GEIVlarH7eY= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.42.0/go.mod h1:5z+/ZWJQKXa9YT34fQNx5K8Hd1EoIhvtUygUQPqEOgQ= @@ -755,7 +750,6 @@ golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -900,7 +894,6 @@ golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= -golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= @@ -1017,8 +1010,6 @@ google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= -google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= -google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= @@ -1091,7 +1082,6 @@ google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/ google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= -gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= @@ -1124,7 +1114,6 @@ k8s.io/code-generator v0.27.7/go.mod h1:w1YF/xQcTg+d9Ag+04xuRqER+q8rDnJ70ynLql8/ k8s.io/code-generator v0.30.3/go.mod h1:PFgBiv+miFV7TZYp+RXgROkhA+sWYZ+mtpbMLofMke8= k8s.io/code-generator v0.32.3/go.mod h1:+mbiYID5NLsBuqxjQTygKM/DAdKpAjvBzrJd64NU1G8= k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= -k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= k8s.io/component-base v0.28.6 h1:G4T8VrcQ7xZou3by/fY5NU5mfxOBlWaivS2lPrEltAo= k8s.io/component-base v0.28.6/go.mod h1:Dg62OOG3ALu2P4nAG00UdsuHoNLQJ5VsUZKQlLDcS+E= k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= @@ -1142,7 +1131,6 @@ k8s.io/gengo/v2 v2.0.0-20250604051438-85fd79dbfd9f/go.mod h1:EJykeLsmFC60UQbYJez k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM= -k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM= k8s.io/kube-aggregator v0.22.17/go.mod h1:J557nueFVurHA1JiDrxT1HlgygNQ+2exsTVUXiz2T7k= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= @@ -1186,6 +1174,8 @@ sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h6 sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/kind v0.29.0 h1:3TpCsyh908IkXXpcSnsMjWdwdWjIl7o9IMZImZCWFnI= sigs.k8s.io/kind v0.29.0/go.mod h1:ldWQisw2NYyM6k64o/tkZng/1qQW7OlzcN5a8geJX3o= +sigs.k8s.io/kind v0.31.0 h1:UcT4nzm+YM7YEbqiAKECk+b6dsvc/HRZZu9U0FolL1g= +sigs.k8s.io/kind v0.31.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/knftables v0.0.14/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/knftables v0.0.17/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM= From 888d2dfbbd9bf6eb04bfef4b5506bef096476351 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Wed, 28 Jan 2026 13:12:08 +0100 Subject: [PATCH 22/41] Enhancements to docker workshops, extension and bump go version --- Makefile | 6 +- assets-server/Dockerfile | 15 +- assets-server/go.mod | 2 +- client-programs/Dockerfile | 9 +- client-programs/go.mod | 28 +- .../pkg/cmd/docker_workshop_list_cmd.go | 2 +- .../pkg/docker/workshop_manager.go | 458 +- docker-extension/Dockerfile | 6 +- docker-extension/Makefile | 35 +- docker-extension/ui/package-lock.json | 3823 ++++++----------- docker-extension/ui/package.json | 15 +- docker-extension/ui/src/main.tsx | 6 +- docker-extension/ui/src/views/App.tsx | 6 +- go.work | 2 +- go.work.sum | 11 +- tunnel-manager/go.mod | 2 +- workshop-images/base-environment/Dockerfile | 6 +- 17 files changed, 1607 insertions(+), 2825 deletions(-) diff --git a/Makefile b/Makefile index 4e4a7a4e4..4d1361f88 100644 --- a/Makefile +++ b/Makefile @@ -157,7 +157,7 @@ endif # Push/Load configuration - can be overridden by PUSH_IMAGES env var or make parameter ifeq ($(PUSH_IMAGES),false) # Load images locally when PUSH_IMAGES is not true (default) -DOCKER_BUILDER = +DOCKER_BUILDER = --builder ${BUILDX_BUILDER} --load MULTIARCH_PLATFORMS = $(DOCKER_PLATFORM) else # Push images to registry when PUSH_IMAGES is true @@ -173,7 +173,7 @@ build-all-images: setup-buildx build-session-manager build-training-portal \ build-conda-environment build-docker-registry \ build-pause-container build-secrets-manager build-tunnel-manager \ build-image-cache build-assets-server build-lookup-service \ - build-node-ca-injector build-cli-image + build-node-ca-injector build-cli-image build-docker-extension build-core-images: setup-buildx build-session-manager build-training-portal \ build-base-environment build-docker-registry build-pause-container \ @@ -349,7 +349,7 @@ push-client-programs: build-client-programs (cd client-programs; GOOS=darwin GOARCH=arm64 go build -o bin/educates-darwin-arm64 cmd/educates/main.go) imgpkg push -i $(IMAGE_REPOSITORY)/educates-client-programs:$(PACKAGE_VERSION) -f client-programs/bin -build-cli-image: +build-cli-image: build-base-environment docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-cli:$(PACKAGE_VERSION) \ diff --git a/assets-server/Dockerfile b/assets-server/Dockerfile index d67b1e023..cfbcd2300 100644 --- a/assets-server/Dockerfile +++ b/assets-server/Dockerfile @@ -1,11 +1,16 @@ -FROM golang:1.19-buster AS builder-image +FROM golang:1.25.6 AS builder-image WORKDIR /app +COPY go.mod go.sum ./ +RUN go mod tidy +RUN go mod download +COPY . . +ARG TARGETOS +ARG TARGETARCH +RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build \ + -o assets-server \ + main.go -COPY . /app/ - -RUN go mod download && \ - go build -o assets-server main.go FROM fedora:42 diff --git a/assets-server/go.mod b/assets-server/go.mod index ba1b0c6ca..db5a10560 100644 --- a/assets-server/go.mod +++ b/assets-server/go.mod @@ -1,6 +1,6 @@ module github.com/educates/educates-training-platform/assets-server -go 1.20 +go 1.25.6 require ( github.com/inconshreveable/mousetrap v1.1.0 // indirect diff --git a/client-programs/Dockerfile b/client-programs/Dockerfile index 018081bef..21654245d 100644 --- a/client-programs/Dockerfile +++ b/client-programs/Dockerfile @@ -5,10 +5,7 @@ ARG TAG=latest FROM ${REPOSITORY}/educates-base-environment:${TAG} AS themes-source # Multi-stage build for client-programs -FROM golang:1.25.0-alpine AS builder - -# Install build dependencies -RUN apk add --no-cache git ca-certificates tzdata +FROM golang:1.25.6 AS builder # Set working directory WORKDIR /src @@ -16,6 +13,9 @@ WORKDIR /src # Copy go mod files COPY go.mod go.sum ./ +# Tidy up dependencies +RUN go mod tidy + # Download dependencies RUN go mod download @@ -40,7 +40,6 @@ RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build \ # Runtime stage - minimal image with binaries FROM scratch -# Build for multiple architectures ARG TARGETOS ARG TARGETARCH # Copy binaries from builder diff --git a/client-programs/go.mod b/client-programs/go.mod index 6e0f7f7e6..2e13daadc 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -1,6 +1,6 @@ module github.com/educates/educates-training-platform/client-programs -go 1.25.0 +go 1.25.6 require ( carvel.dev/imgpkg v0.46.1 @@ -224,14 +224,6 @@ require ( go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect -<<<<<<< HEAD - go.opentelemetry.io/otel v1.43.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 // indirect - go.opentelemetry.io/otel/metric v1.43.0 // indirect - go.opentelemetry.io/otel/sdk v1.43.0 // indirect - go.opentelemetry.io/otel/trace v1.43.0 // indirect -======= go.opentelemetry.io/otel v1.40.0 // indirect go.opentelemetry.io/otel v1.39.0 // indirect go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 // indirect @@ -243,22 +235,8 @@ require ( go.opentelemetry.io/otel/sdk v1.39.0 // indirect go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect go.opentelemetry.io/otel/trace v1.39.0 // indirect ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect -<<<<<<< HEAD - golang.org/x/crypto v0.46.0 // indirect - golang.org/x/net v0.48.0 // indirect - golang.org/x/oauth2 v0.34.0 // indirect - golang.org/x/sync v0.19.0 // indirect - golang.org/x/sys v0.42.0 // indirect - golang.org/x/term v0.38.0 // indirect - golang.org/x/text v0.32.0 // indirect - golang.org/x/time v0.14.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect - google.golang.org/grpc v1.79.3 // indirect -======= go.yaml.in/yaml/v4 v4.0.0-rc.3 // indirect golang.org/x/crypto v0.45.0 // indirect golang.org/x/net v0.47.0 // indirect @@ -271,7 +249,6 @@ require ( google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect google.golang.org/grpc v1.77.0 // indirect ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) google.golang.org/protobuf v1.36.10 // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect @@ -282,8 +259,5 @@ require ( sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect sigs.k8s.io/structured-merge-diff/v6 v6.3.0 // indirect -<<<<<<< HEAD -======= tags.cncf.io/container-device-interface v1.1.0 // indirect ->>>>>>> a5fff51c (Refactored workshop_xxx and tunnel_xxx commands) ) diff --git a/client-programs/pkg/cmd/docker_workshop_list_cmd.go b/client-programs/pkg/cmd/docker_workshop_list_cmd.go index 6e28f0e18..7850977ba 100644 --- a/client-programs/pkg/cmd/docker_workshop_list_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_list_cmd.go @@ -32,7 +32,7 @@ func (p *ProjectInfo) NewDockerWorkshopListCmd() *cobra.Command { for _, workshop := range workshops { data = append(data, []string{workshop.Name, workshop.Url, workshop.Source, workshop.Status}) } - fmt.Print(utils.PrintTable([]string{"NAME", "URL", "SOURCE", "STATUS"}, data)) + fmt.Println(utils.PrintTable([]string{"NAME", "URL", "SOURCE", "STATUS"}, data)) return nil }, diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index 1df55c416..dbb1adfa8 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -22,6 +22,8 @@ import ( "github.com/docker/compose/v5/pkg/api" "github.com/docker/compose/v5/pkg/compose" "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/filters" + "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" eduk8sWorkshops "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" @@ -33,6 +35,18 @@ import ( "sigs.k8s.io/kind/pkg/cmd" ) +const ( + // Workshop status constants + WorkshopStatusStarting = "Starting" + WorkshopStatusRunning = "Running" + WorkshopStatusStopping = "Stopping" + + // Workshop label constants + LabelURL = "training.educates.dev/url" + LabelSource = "training.educates.dev/source" + LabelSession = "training.educates.dev/session" +) + const containerScript = `exec bash -s << "EOF" mkdir -p /opt/eduk8s/config cat > /opt/eduk8s/config/workshop.yaml << "EOS" @@ -72,11 +86,19 @@ exec start-container EOF ` +var ( + containerScriptTemplateOnce sync.Once + containerScriptTemplateCached *template.Template + containerScriptTemplateErr error +) + type DockerWorkshopsManager struct { Statuses map[string]DockerWorkshopDetails StatusesMutex sync.Mutex composeService api.Compose composeServiceMu sync.Mutex + dockerClient *client.Client + dockerClientMu sync.RWMutex } func NewDockerWorkshopsManager() DockerWorkshopsManager { @@ -149,47 +171,43 @@ func (m *DockerWorkshopsManager) ClearWorkshopStatus(name string) { } func (m *DockerWorkshopsManager) ListWorkshops() ([]DockerWorkshopDetails, error) { - setOfWorkshops := map[string]DockerWorkshopDetails{} - workshopsList := []DockerWorkshopDetails{} - ctx := context.Background() - cli, err := client.NewClientWithOpts(client.FromEnv) - + cli, err := m.GetDockerClient() if err != nil { - return nil, errors.Wrap(err, "unable to create docker client") + return nil, err } containers, err := cli.ContainerList(ctx, container.ListOptions{}) - if err != nil { return nil, errors.Wrap(err, "unable to list containers") } + // Copy statuses while holding lock briefly m.StatusesMutex.Lock() - + setOfWorkshops := make(map[string]DockerWorkshopDetails, len(m.Statuses)) for _, details := range m.Statuses { - if details.Status == "Starting" { + if details.Status == WorkshopStatusStarting { setOfWorkshops[details.Name] = details } } + statusesCopy := make(map[string]DockerWorkshopDetails, len(m.Statuses)) + for k, v := range m.Statuses { + statusesCopy[k] = v + } + m.StatusesMutex.Unlock() - defer m.StatusesMutex.Unlock() - - for _, container := range containers { - url, found := container.Labels["training.educates.dev/url"] - source := container.Labels["training.educates.dev/source"] - instance := container.Labels["training.educates.dev/session"] - - details, statusFound := m.Statuses[instance] - - status := "Running" + for _, ctr := range containers { + url, found := ctr.Labels[LabelURL] + source := ctr.Labels[LabelSource] + instance := ctr.Labels[LabelSession] - if statusFound { + status := WorkshopStatusRunning + if details, statusFound := statusesCopy[instance]; statusFound { status = details.Status } - if found && url != "" && len(container.Names) != 0 { + if found && url != "" && len(ctr.Names) != 0 { setOfWorkshops[instance] = DockerWorkshopDetails{ Name: instance, Url: url, @@ -199,6 +217,7 @@ func (m *DockerWorkshopsManager) ListWorkshops() ([]DockerWorkshopDetails, error } } + workshopsList := make([]DockerWorkshopDetails, 0, len(setOfWorkshops)) for _, details := range setOfWorkshops { workshopsList = append(workshopsList, details) } @@ -242,6 +261,79 @@ func (m *DockerWorkshopsManager) GetComposeService(stdout io.Writer, stderr io.W return service, nil } +// GetDockerClient returns a Docker client instance, initializing it if necessary. +// It uses a singleton pattern to reuse the same client instance across operations. +func (m *DockerWorkshopsManager) GetDockerClient() (*client.Client, error) { + // Try read lock first for fast path + m.dockerClientMu.RLock() + if m.dockerClient != nil { + defer m.dockerClientMu.RUnlock() + return m.dockerClient, nil + } + m.dockerClientMu.RUnlock() + + // Acquire write lock to initialize + m.dockerClientMu.Lock() + defer m.dockerClientMu.Unlock() + + // Double-check after acquiring write lock + if m.dockerClient != nil { + return m.dockerClient, nil + } + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + return nil, errors.Wrap(err, "unable to create docker client") + } + + m.dockerClient = cli + return cli, nil +} + +// getContainerScriptTemplate returns the cached container script template. +func getContainerScriptTemplate() (*template.Template, error) { + containerScriptTemplateOnce.Do(func() { + funcMap := template.FuncMap{ + "inc": func(i int) int { return i + 1 }, + } + containerScriptTemplateCached, containerScriptTemplateErr = + template.New("entrypoint").Funcs(funcMap).Parse(containerScript) + }) + return containerScriptTemplateCached, containerScriptTemplateErr +} + + +// isDockerSocketEnabled checks if Docker socket is enabled in the workshop spec. +func isDockerSocketEnabled(workshop *unstructured.Unstructured) bool { + dockerEnabled, found, _ := unstructured.NestedBool( + workshop.Object, "spec", "session", "applications", "docker", "enabled") + if !found || !dockerEnabled { + return false + } + + extraServices, _, _ := unstructured.NestedMap( + workshop.Object, "spec", "session", "applications", "docker", "compose") + + socketEnabledDefault := len(extraServices) == 0 + socketEnabled, found, _ := unstructured.NestedBool( + workshop.Object, "spec", "session", "applications", "docker", "socket", "enabled") + + if !found { + return socketEnabledDefault + } + return socketEnabled +} + +// applyWorkshopVariables replaces workshop-related variables in a string efficiently. +func applyWorkshopVariables(content, name, localRepository, version string) string { + replacer := strings.NewReplacer( + "$(image_repository)", localRepository, + "$(workshop_name)", name, + "$(workshop_version)", version, + "$(platform_arch)", runtime.GOARCH, + ) + return replacer.Replace(content) +} func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, stdout io.Writer, stderr io.Writer) (string, error) { var err error @@ -274,7 +366,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s name := workshop.GetName() - m.SetWorkshopStatus(name, "", o.Path, "Starting") + m.SetWorkshopStatus(name, "", o.Path, WorkshopStatusStarting) defer m.ClearWorkshopStatus(name) @@ -291,10 +383,9 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s ctx := context.Background() - cli, err := client.NewClientWithOpts(client.FromEnv) - + cli, err := m.GetDockerClient() if err != nil { - return name, errors.Wrap(err, "unable to create docker client") + return name, err } _, err = cli.ContainerInspect(ctx, name) @@ -418,14 +509,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s Assets: o.Assets, } - funcMap := template.FuncMap{ - "inc": func(i int) int { - return i + 1 - }, - } - - containerScriptTemplate, err := template.New("entrypoint").Funcs(funcMap).Parse(containerScript) - + containerScriptTemplate, err := getContainerScriptTemplate() if err != nil { return name, errors.Wrap(err, "not able to parse container script template") } @@ -472,26 +556,8 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s workshopServiceConfig.Networks["kind"] = &composetypes.ServiceNetworkConfig{} } - dockerEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "enabled") - - if found && dockerEnabled { - extraServices, _, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") - - socketEnabledDefault := true - - if len(extraServices) != 0 { - socketEnabledDefault = false - } - - socketEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "socket", "enabled") - - if !found { - socketEnabled = socketEnabledDefault - } - - if socketEnabled { - workshopServiceConfig.GroupAdd = []string{"docker"} - } + if isDockerSocketEnabled(workshop) { + workshopServiceConfig.GroupAdd = []string{"docker"} } workshopServices := composetypes.Services{ @@ -585,7 +651,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s } func (m *DockerWorkshopsManager) DeleteWorkshop(name string, stdout io.Writer, stderr io.Writer) error { - m.SetWorkshopStatus(name, "", "", "Stopping") + m.SetWorkshopStatus(name, "", "", WorkshopStatusStopping) defer m.ClearWorkshopStatus(name) @@ -626,22 +692,32 @@ func (m *DockerWorkshopsManager) DeleteWorkshop(name string, stdout io.Writer, s return errors.Wrap(err, "unable to stop workshop") } - cli, err2 := client.NewClientWithOpts(client.FromEnv) - - if err2 != nil { - return errors.Wrap(err2, "unable to create docker client") + cli, err := m.GetDockerClient() + if err != nil { + return err } - err2 = cli.VolumeRemove(ctx, fmt.Sprintf("%s_workshop", name), false) - - if err2 != nil { - return errors.Wrap(err2, "unable to delete workshop volume") + // List volumes that match the workshop name pattern and remove them + filters := filters.NewArgs() + filters.Add("name", fmt.Sprintf("%s_workshop", name)) + volumesListResponse, err := cli.VolumeList(ctx, volume.ListOptions{Filters: filters}) + if err != nil { + return errors.Wrap(err, "unable to list workshop volumes") } + for _, volume := range volumesListResponse.Volumes { + if err := cli.VolumeRemove(ctx, volume.Name, false); err != nil { + return errors.Wrap(err, "unable to delete workshop volume") + } + } workshopConfigDir := path.Join(configFileDir, "workshops", name) - os.RemoveAll(workshopConfigDir) - os.RemoveAll(composeConfigDir) + if err := os.RemoveAll(workshopConfigDir); err != nil { + fmt.Fprintf(stderr, "Warning: failed to remove workshop config dir: %v\n", err) + } + if err := os.RemoveAll(composeConfigDir); err != nil { + fmt.Fprintf(stderr, "Warning: failed to remove compose config dir: %v\n", err) + } return nil } @@ -679,139 +755,135 @@ func generateVendirFilesConfig(workshop *unstructured.Unstructured, name string, var vendirConfigs []string workshopVersion, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - if !found { workshopVersion = version } filesItems, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "workshop", "files") + if !found || len(filesItems) == 0 { + return vendirConfigs, nil + } - if found && len(filesItems) != 0 { - for _, filesItem := range filesItems { - directoriesConfig := []map[string]interface{}{} - - tmpPath, found := filesItem.(map[string]interface{})["path"] + for _, filesItem := range filesItems { + filesMap, ok := filesItem.(map[string]interface{}) + if !ok { + continue + } - var filesItemPath string + directoriesConfig := []map[string]interface{}{} - if found { - filesItemPath = tmpPath.(string) + var filesItemPath string + if tmpPath, found := filesMap["path"]; found { + if pathStr, ok := tmpPath.(string); ok { + filesItemPath = pathStr } else { filesItemPath = "." } + } else { + filesItemPath = "." + } - filesItemPath = filepath.Clean(path.Join("/opt/assets/files", filesItemPath)) - - filesItem.(map[string]interface{})["path"] = "." - - directoriesConfig = append(directoriesConfig, map[string]interface{}{ - "path": filesItemPath, - "contents": []interface{}{filesItem}, - }) - - vendirConfig := map[string]interface{}{ - "apiVersion": "vendir.k14s.io/v1alpha1", - "kind": "Config", - "directories": directoriesConfig, - } - - vendirConfigBytes, err := yaml.Marshal(&vendirConfig) - - if err != nil { - return []string{}, errors.Wrap(err, "failed to generate vendir config") - } + filesItemPath = filepath.Clean(path.Join("/opt/assets/files", filesItemPath)) + filesMap["path"] = "." - vendirConfigString := string(vendirConfigBytes) + directoriesConfig = append(directoriesConfig, map[string]interface{}{ + "path": filesItemPath, + "contents": []interface{}{filesItem}, + }) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(image_repository)", localRepository) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_name)", name) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_version)", workshopVersion) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(platform_arch)", runtime.GOARCH) + vendirConfig := map[string]interface{}{ + "apiVersion": "vendir.k14s.io/v1alpha1", + "kind": "Config", + "directories": directoriesConfig, + } - vendirConfigs = append(vendirConfigs, vendirConfigString) + vendirConfigBytes, err := yaml.Marshal(&vendirConfig) + if err != nil { + return []string{}, errors.Wrap(err, "failed to generate vendir config") } + + vendirConfigString := applyWorkshopVariables(string(vendirConfigBytes), name, localRepository, workshopVersion) + vendirConfigs = append(vendirConfigs, vendirConfigString) } return vendirConfigs, nil } func generateVendirPackagesConfig(workshop *unstructured.Unstructured, name string, localRepository string, version string) (string, error) { - var vendirConfigString string - workshopVersion, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - if !found { workshopVersion = version } packagesItems, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "workshop", "packages") + if !found || len(packagesItems) == 0 { + return "", nil + } - if found && len(packagesItems) != 0 { - directoriesConfig := []map[string]interface{}{} - - for _, packagesItem := range packagesItems { - tmpPackagesItem := packagesItem.(map[string]interface{}) - - tmpName, found := tmpPackagesItem["name"] + directoriesConfig := []map[string]interface{}{} - if !found { - continue - } + for _, packagesItem := range packagesItems { + tmpPackagesItem, ok := packagesItem.(map[string]interface{}) + if !ok { + continue + } - packagesItemPath := filepath.Clean(path.Join("/opt/packages", tmpName.(string))) + tmpName, found := tmpPackagesItem["name"] + if !found { + continue + } - tmpPackagesFilesItem := tmpPackagesItem["files"] + nameStr, ok := tmpName.(string) + if !ok { + continue + } - packagesFilesItem := tmpPackagesFilesItem.([]interface{}) + packagesItemPath := filepath.Clean(path.Join("/opt/packages", nameStr)) - for _, tmpEntry := range packagesFilesItem { - entry := tmpEntry.(map[string]interface{}) + tmpPackagesFilesItem, found := tmpPackagesItem["files"] + if !found { + continue + } - _, found = entry["path"] + packagesFilesItem, ok := tmpPackagesFilesItem.([]interface{}) + if !ok { + continue + } - if !found { + for _, tmpEntry := range packagesFilesItem { + if entry, ok := tmpEntry.(map[string]interface{}); ok { + if _, found := entry["path"]; !found { entry["path"] = "." } } - - directoriesConfig = append(directoriesConfig, map[string]interface{}{ - "path": packagesItemPath, - "contents": packagesFilesItem, - }) - - } - - vendirConfig := map[string]interface{}{ - "apiVersion": "vendir.k14s.io/v1alpha1", - "kind": "Config", - "directories": directoriesConfig, } - vendirConfigBytes, err := yaml.Marshal(&vendirConfig) - - if err != nil { - return "", errors.Wrap(err, "failed to generate vendir config") - } + directoriesConfig = append(directoriesConfig, map[string]interface{}{ + "path": packagesItemPath, + "contents": packagesFilesItem, + }) + } - vendirConfigString = string(vendirConfigBytes) + vendirConfig := map[string]interface{}{ + "apiVersion": "vendir.k14s.io/v1alpha1", + "kind": "Config", + "directories": directoriesConfig, + } - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(image_repository)", localRepository) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_name)", name) - vendirConfigString = strings.ReplaceAll(vendirConfigString, "$(workshop_version)", workshopVersion) + vendirConfigBytes, err := yaml.Marshal(&vendirConfig) + if err != nil { + return "", errors.Wrap(err, "failed to generate vendir config") } - return vendirConfigString, nil + return applyWorkshopVariables(string(vendirConfigBytes), name, localRepository, workshopVersion), nil } func generateWorkshopImageName(workshop *unstructured.Unstructured, localRepository string, imageRepository string, baseImageVersion string, workshopImage string, workshopVersion string) (string, error) { - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if found { - workshopVersion, _, _ = unstructured.NestedString(workshop.Object, "spec", "version") + if version, found, _ := unstructured.NestedString(workshop.Object, "spec", "version"); found { + workshopVersion = version } image, found, err := unstructured.NestedString(workshop.Object, "spec", "workshop", "image") - if err != nil { return "", errors.Wrapf(err, "unable to parse workshop definition") } @@ -820,32 +892,33 @@ func generateWorkshopImageName(workshop *unstructured.Unstructured, localReposit image = "base-environment:*" } + if workshopImage != "" { + return workshopImage, nil + } + defaultImageVersion := strings.TrimSpace(baseImageVersion) - if workshopImage != "" { - image = workshopImage - } else { - if defaultImageVersion == "latest" { - image = strings.ReplaceAll(image, "base-environment:*", fmt.Sprintf("localhost:5001/educates-base-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk8-environment:*", fmt.Sprintf("localhost:5001/educates-jdk8-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk11-environment:*", fmt.Sprintf("localhost:5001/educates-jdk11-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk17-environment:*", fmt.Sprintf("localhost:5001/educates-jdk17-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk21-environment:*", fmt.Sprintf("localhost:5001/educates-jdk21-environment:%s", defaultImageVersion)) - image = strings.ReplaceAll(image, "conda-environment:*", fmt.Sprintf("localhost:5001/educates-conda-environment:%s", defaultImageVersion)) - } else { - image = strings.ReplaceAll(image, "base-environment:*", fmt.Sprintf("%s/educates-base-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk8-environment:*", fmt.Sprintf("%s/educates-jdk8-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk11-environment:*", fmt.Sprintf("%s/educates-jdk11-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk17-environment:*", fmt.Sprintf("%s/educates-jdk17-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "jdk21-environment:*", fmt.Sprintf("%s/educates-jdk21-environment:%s", imageRepository, defaultImageVersion)) - image = strings.ReplaceAll(image, "conda-environment:*", fmt.Sprintf("%s/educates-conda-environment:%s", imageRepository, defaultImageVersion)) - } + // Map of environment placeholders to their image names + imageMap := map[string]string{ + "base-environment:*": "educates-base-environment", + "jdk8-environment:*": "educates-jdk8-environment", + "jdk11-environment:*": "educates-jdk11-environment", + "jdk17-environment:*": "educates-jdk17-environment", + "jdk21-environment:*": "educates-jdk21-environment", + "conda-environment:*": "educates-conda-environment", } - image = strings.ReplaceAll(image, "$(image_repository)", localRepository) - image = strings.ReplaceAll(image, "$(workshop_version)", workshopVersion) + repo := imageRepository + if defaultImageVersion == "latest" { + repo = "localhost:5001" + } + + for placeholder, imageName := range imageMap { + replacement := fmt.Sprintf("%s/%s:%s", repo, imageName, defaultImageVersion) + image = strings.ReplaceAll(image, placeholder, replacement) + } - return image, nil + return applyWorkshopVariables(image, "", localRepository, workshopVersion), nil } func generateWorkshopVolumeMounts(workshop *unstructured.Unstructured, assets string) ([]composetypes.ServiceVolumeConfig, error) { @@ -859,54 +932,31 @@ func generateWorkshopVolumeMounts(workshop *unstructured.Unstructured, assets st if assets != "" { assets = filepath.Clean(assets) - assets, err := filepath.Abs(assets) - + absAssets, err := filepath.Abs(assets) if err != nil { return []composetypes.ServiceVolumeConfig{}, errors.Wrap(err, "can't resolve local workshop assets path") } filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ Type: "bind", - Source: assets, + Source: absAssets, Target: "/opt/eduk8s/mnt/assets", ReadOnly: true, }) } - dockerEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "enabled") - - if found && dockerEnabled { - extraServices, _, _ := unstructured.NestedMap(workshop.Object, "spec", "session", "applications", "docker", "compose") - - socketEnabledDefault := true - - if len(extraServices) != 0 { - socketEnabledDefault = false - } - - socketEnabled, found, _ := unstructured.NestedBool(workshop.Object, "spec", "session", "applications", "docker", "socket", "enabled") - - if !found { - socketEnabled = socketEnabledDefault + if isDockerSocketEnabled(workshop) { + dockerSocketSource := "/var/run/docker.sock" + if runtime.GOOS != "linux" { + dockerSocketSource = "/var/run/docker.sock.raw" } - if socketEnabled { - if runtime.GOOS == "linux" { - filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ - Type: "bind", - Source: "/var/run/docker.sock", - Target: "/var/run/docker/docker.sock", - ReadOnly: true, - }) - } else { - filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ - Type: "bind", - Source: "/var/run/docker.sock.raw", - Target: "/var/run/docker/docker.sock", - ReadOnly: true, - }) - } - } + filesMounts = append(filesMounts, composetypes.ServiceVolumeConfig{ + Type: "bind", + Source: dockerSocketSource, + Target: "/var/run/docker/docker.sock", + ReadOnly: true, + }) } return filesMounts, nil @@ -931,8 +981,8 @@ func generateWorkshopLabels(workshop *unstructured.Unstructured, host string, po domain := fmt.Sprintf("%s.nip.io", strings.ReplaceAll(host, ".", "-")) - labels["training.educates.dev/url"] = fmt.Sprintf("http://workshop.%s:%d", domain, port) - labels["training.educates.dev/session"] = workshop.GetName() + labels[LabelURL] = fmt.Sprintf("http://workshop.%s:%d", domain, port) + labels[LabelSession] = workshop.GetName() return labels, nil } diff --git a/docker-extension/Dockerfile b/docker-extension/Dockerfile index 3fba46a6a..ace68179d 100644 --- a/docker-extension/Dockerfile +++ b/docker-extension/Dockerfile @@ -4,7 +4,7 @@ ARG TAG=latest FROM ${REPOSITORY}/${CLI_IMAGE_NAME}:${TAG} AS client-programs -FROM node:24-alpine AS client-builder +FROM node:24 AS client-builder WORKDIR /ui # cache packages in layer COPY ui/package.json /ui/package.json @@ -20,9 +20,9 @@ FROM debian:trixie-slim LABEL org.opencontainers.image.title="Educates Docker Desktop Extension" \ org.opencontainers.image.description="Spin up a local Educates Training Platform workshop" \ - org.opencontainers.image.vendor="Educates" \ + org.opencontainers.image.vendor="Educates Team" \ org.opencontainers.image.licenses="Apache-2.0" \ - com.docker.desktop.extension.api.version="0.3.4" \ + com.docker.desktop.extension.api.version="0.4.2" \ com.docker.extension.screenshots="" \ com.docker.desktop.extension.icon="https://raw.githubusercontent.com/educates/educates-training-platform/main/project-assets/educates-logo.svg" \ com.docker.extension.detailed-description="Spin up a local Educates Training Platform workshop" \ diff --git a/docker-extension/Makefile b/docker-extension/Makefile index fdcc64e6e..13a0b878a 100644 --- a/docker-extension/Makefile +++ b/docker-extension/Makefile @@ -1,6 +1,13 @@ IMAGE_REPOSITORY = localhost:5001 PACKAGE_VERSION = latest +# Create an alias for the image repository that sanitizes invalid characters +# Docker Compose project names must consist only of lowercase alphanumeric characters, +# hyphens, and underscores, and start with a letter or number +IMAGE_ALIAS := $(shell echo $(IMAGE_REPOSITORY) | tr '[:upper:]' '[:lower:]' | sed 's/:/_/g' | sed 's/[^a-z0-9_-]//g' | sed 's/^[^a-z0-9]/a&/') +IMAGE = $(IMAGE_REPOSITORY)/educates-docker-extension:$(PACKAGE_VERSION) +IMAGE_ALIAS_FULL = $(IMAGE_ALIAS)/educates-docker-extension:$(PACKAGE_VERSION) + UNAME_SYSTEM := $(shell uname -s | tr '[:upper:]' '[:lower:]') UNAME_MACHINE := $(shell uname -m) @@ -42,26 +49,36 @@ DEV_UI_SOURCE?=http://localhost:3000 build-extension: setup-buildx ## Build service image to be deployed as a desktop extension docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(if $(DOCKER_BUILDER),$(DOCKER_BUILDER)) \ - -t $(IMAGE_REPOSITORY)/educates-docker-extension:$(PACKAGE_VERSION) \ + -t $(IMAGE) \ . -install-extension: build-extension ## Install the extension - docker extension install --force $(IMAGE_REPOSITORY)/educates-docker-extension:$(PACKAGE_VERSION) +# Internal target to ensure alias tag exists when repository has invalid characters +.PHONY: _ensure-alias-tag +_ensure-alias-tag: build-extension + @if [ "$(IMAGE)" != "$(IMAGE_ALIAS_FULL)" ]; then \ + if ! docker image inspect $(IMAGE_ALIAS_FULL) >/dev/null 2>&1; then \ + echo "Tagging image with alias: $(IMAGE_ALIAS_FULL)"; \ + docker tag $(IMAGE) $(IMAGE_ALIAS_FULL) || true; \ + fi; \ + fi + +install-extension: _ensure-alias-tag ## Install the extension + docker extension install --force $(IMAGE_ALIAS_FULL) -update-extension: build-extension ## Update the extension - docker extension update --force $(IMAGE_REPOSITORY)/educates-docker-extension:$(PACKAGE_VERSION) +update-extension: _ensure-alias-tag ## Update the extension + docker extension update --force $(IMAGE_ALIAS_FULL) setup-buildx: ## Create buildx builder for multi-arch build, if not exists docker buildx create --name $(BUILDX_BUILDER) --driver docker-container --driver-opt default-load=true --driver-opt network=host --use || true docker buildx inspect $(BUILDX_BUILDER) --bootstrap .PHONY: debug -debug: ## Enable debug in the extension - docker extension dev debug $(IMAGE_REPOSITORY)/educates-docker-extension:$(PACKAGE_VERSION) +debug: _ensure-alias-tag ## Enable debug in the extension + docker extension dev debug $(IMAGE_ALIAS_FULL) .PHONY: source -source: ## Replace the UI source of the extension - docker extension dev ui-source $(IMAGE_REPOSITORY)/educates-docker-extension:$(PACKAGE_VERSION) $(DEV_UI_SOURCE) +source: _ensure-alias-tag ## Replace the UI source of the extension + docker extension dev ui-source $(IMAGE_ALIAS_FULL) $(DEV_UI_SOURCE) .PHONY: dev-enable dev-enable: source debug diff --git a/docker-extension/ui/package-lock.json b/docker-extension/ui/package-lock.json index 4e0e60c73..1aad39425 100644 --- a/docker-extension/ui/package-lock.json +++ b/docker-extension/ui/package-lock.json @@ -9,17 +9,16 @@ "version": "0.1.0", "dependencies": { "@docker/docker-mui-theme": "<0.1.0", - "@docker/extension-api-client": "0.3.4", - "@emotion/react": "^11.10.4", - "@emotion/styled": "^11.10.4", - "@mui/icons-material": "^5.14.12", - "@mui/lab": "^5.0.0-alpha.147", - "@mui/material": "^5.14.12", + "@docker/extension-api-client": "0.4.2", + "@emotion/react": "11.14.0", + "@emotion/styled": "11.14.1", + "@mui/icons-material": "6.5.0", + "@mui/material": "6.5.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, "devDependencies": { - "@docker/extension-api-client-types": "0.3.4", + "@docker/extension-api-client-types": "0.4.2", "@types/jest": "^29.5.5", "@types/node": "^20.8.4", "@types/react": "^18.2.27", @@ -30,37 +29,24 @@ "vite": "^6.4.2" } }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/@babel/code-frame": { - "version": "7.26.2", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.26.2.tgz", - "integrity": "sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.28.6.tgz", + "integrity": "sha512-JYgintcMjRiCvS8mMECzaEn+m3PfoQiyqukOMCCVQtoJGYJw8j/8LBJEiqkHLkfwCcs74E3pbAUFNg7d9VNJ+Q==", "license": "MIT", "dependencies": { - "@babel/helper-validator-identifier": "^7.25.9", + "@babel/helper-validator-identifier": "^7.28.5", "js-tokens": "^4.0.0", - "picocolors": "^1.0.0" + "picocolors": "^1.1.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/compat-data": { - "version": "7.26.8", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.26.8.tgz", - "integrity": "sha512-oH5UPLMWR3L2wEFLnFJ1TZXqHufiTKAiLfqw5zkhS4dKXLJ10yVztfil/twG8EDTA4F/tvVNw9nOl4ZMslB8rQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.6.tgz", + "integrity": "sha512-2lfu57JtzctfIrcGMz992hyLlByuzgIk58+hhGCxjKZ3rWI82NnVLjXcaTqkI2NvlcvOskZaiZ5kjUALo3Lpxg==", "dev": true, "license": "MIT", "engines": { @@ -68,22 +54,22 @@ } }, "node_modules/@babel/core": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.26.9.tgz", - "integrity": "sha512-lWBYIrF7qK5+GjY5Uy+/hEgp8OJWOD/rpy74GplYRhEauvbHDeFB8t5hPOZxCZ0Oxf4Cc36tK51/l3ymJysrKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/helper-compilation-targets": "^7.26.5", - "@babel/helper-module-transforms": "^7.26.0", - "@babel/helpers": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/traverse": "^7.26.9", - "@babel/types": "^7.26.9", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", + "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/remapping": "^2.3.5", "convert-source-map": "^2.0.0", "debug": "^4.1.0", "gensync": "^1.0.0-beta.2", @@ -102,18 +88,19 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@babel/generator": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.26.9.tgz", - "integrity": "sha512-kEWdzjOAUMW4hAyrzJ0ZaTOu9OmpyDIQicIh0zg0EEcEkYXZb2TjtBhnHi2ViX7PKwZqF4xwqfAm299/QMP3lg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.6.tgz", + "integrity": "sha512-lOoVRwADj8hjf7al89tvQ2a1lf53Z+7tiXMgpZJL3maQPDxh0DgLMN62B2MKUOFcoodBHLMbDM6WAbKgNy5Suw==", "license": "MIT", "dependencies": { - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", "jsesc": "^3.0.2" }, "engines": { @@ -121,14 +108,14 @@ } }, "node_modules/@babel/helper-compilation-targets": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.26.5.tgz", - "integrity": "sha512-IXuyn5EkouFJscIDuFF5EsiSolseme1s0CZB+QxVugqJLYmKdxI1VfIBOst0SUu4rnk2Z7kqTwmoO1lp3HIfnA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/compat-data": "^7.26.5", - "@babel/helper-validator-option": "^7.25.9", + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", "browserslist": "^4.24.0", "lru-cache": "^5.1.1", "semver": "^6.3.1" @@ -137,29 +124,38 @@ "node": ">=6.9.0" } }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-module-imports": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz", - "integrity": "sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", "license": "MIT", "dependencies": { - "@babel/traverse": "^7.25.9", - "@babel/types": "^7.25.9" + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-module-transforms": { - "version": "7.26.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz", - "integrity": "sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-module-imports": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9", - "@babel/traverse": "^7.25.9" + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -169,9 +165,9 @@ } }, "node_modules/@babel/helper-plugin-utils": { - "version": "7.26.5", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.26.5.tgz", - "integrity": "sha512-RS+jZcRdZdRFzMyr+wcsaqOmld1/EqTghfaBGQQd/WnRdzdlvSZ//kF7U8VQTxf1ynZ4cjUcYgjVGx13ewNPMg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", "dev": true, "license": "MIT", "engines": { @@ -179,27 +175,27 @@ } }, "node_modules/@babel/helper-string-parser": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz", - "integrity": "sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz", - "integrity": "sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ==", + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", "license": "MIT", "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-validator-option": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz", - "integrity": "sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, "license": "MIT", "engines": { @@ -207,26 +203,26 @@ } }, "node_modules/@babel/helpers": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.26.10.tgz", - "integrity": "sha512-UPYc3SauzZ3JGgj87GgZ89JVdC5dj0AoetR5Bw6wj4niittNyFh6+eOGonYvJ1ao6B8lEa3Q3klS7ADZ53bc5g==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.6.tgz", + "integrity": "sha512-xOBvwq86HHdB7WUDTfKfT/Vuxh7gElQ+Sfti2Cy6yIWNW05P8iUslOVcZ4/sKbE+/jQaukQAdz/gf3724kYdqw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.10" + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/parser": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.26.9.tgz", - "integrity": "sha512-81NWa1njQblgZbQHxWHpxxCzNsa3ZwvFqpUg7P+NNUU6f3UU2jBEg4OlF/J6rl8+PQGh1q6/zWScd001YwcA5A==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.6.tgz", + "integrity": "sha512-TeR9zWR18BvbfPmGbLampPMW+uW1NZnJlRuuHso8i87QZNq2JRF9i6RgxRqtEq+wQGsS19NNTWr2duhnE49mfQ==", "license": "MIT", "dependencies": { - "@babel/types": "^7.26.9" + "@babel/types": "^7.28.6" }, "bin": { "parser": "bin/babel-parser.js" @@ -240,6 +236,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -252,6 +249,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz", "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -264,6 +262,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.12.13" }, @@ -271,11 +270,44 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-attributes": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.28.6.tgz", + "integrity": "sha512-jiLC0ma9XkQT3TKJ9uYvlakm66Pamywo+qwL+oL8HJOvc6TWdZXVfhqJr8CCzbSGUAbDOzlGHJC1U+vRfLQDvw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-import-meta": { "version": "7.10.4", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -288,6 +320,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -296,12 +329,13 @@ } }, "node_modules/@babel/plugin-syntax-jsx": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.22.5.tgz", - "integrity": "sha512-gvyP4hZrgrs/wWMaocvxZ44Hw0b3W8Pe+cMxc8V1ULQ07oh8VNbIRaoD1LRZVTvD+0nieDKjfgKg89sD7rrKrg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.28.6.tgz", + "integrity": "sha512-wgEmr06G6sIpqr8YDwA2dSRTE3bJ+V0IfpzfSY3Lfgd7YWOaAdlykvJi13ZKBt8cZHfgH1IXN+CL656W3uUa4w==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -315,6 +349,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -327,6 +362,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -339,6 +375,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.10.4" }, @@ -351,6 +388,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -363,6 +401,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -375,6 +414,7 @@ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.8.0" }, @@ -382,11 +422,28 @@ "@babel/core": "^7.0.0-0" } }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, "node_modules/@babel/plugin-syntax-top-level-await": { "version": "7.14.5", "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/helper-plugin-utils": "^7.14.5" }, @@ -398,12 +455,13 @@ } }, "node_modules/@babel/plugin-syntax-typescript": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.22.5.tgz", - "integrity": "sha512-1mS2o03i7t1c6VzH6fdQ3OA8tcEIxwG18zIPRp+UY1Ihv6W+XZzBCVxExF9upussPXJ0xE9XRHwMoNs1ep/nRQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.28.6.tgz", + "integrity": "sha512-+nDNmQye7nlnuuHDboPbGm00Vqg3oO8niRRL27/4LYHUsHYh0zJ1xWOz0uRwNFmM1Avzk8wZbc6rdiYhomzv/A==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" + "@babel/helper-plugin-utils": "^7.28.6" }, "engines": { "node": ">=6.9.0" @@ -413,13 +471,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.25.9.tgz", - "integrity": "sha512-y8quW6p0WHkEhmErnfe58r7x0A70uKphQm8Sp8cV7tjNQwK56sNVK0M73LK3WuYmsuyrftut4xAkjjgU0twaMg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -429,13 +487,13 @@ } }, "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.25.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.25.9.tgz", - "integrity": "sha512-+iqjT8xmXhhYv4/uiYd8FNQsraMFZIfxVSqxxVSZP0WbbSAWvBXAul0m/zu+7Vv4O/3WtApy9pmaTMiumEZgfg==", + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", "dev": true, "license": "MIT", "dependencies": { - "@babel/helper-plugin-utils": "^7.25.9" + "@babel/helper-plugin-utils": "^7.27.1" }, "engines": { "node": ">=6.9.0" @@ -445,57 +503,54 @@ } }, "node_modules/@babel/runtime": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.26.10.tgz", - "integrity": "sha512-2WJMeRQPHKSPemqk/awGrAiuFfzBmOIPXKizAsVhWH9YJqLZ0H+HS4c8loHGgW6utJ3E/ejXQUsiGaQy2NZ9Fw==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.6.tgz", + "integrity": "sha512-05WQkdpL9COIMz4LjTxGpPNCdlpyimKppYNoJ5Di5EUObifl8t4tuLuUBBZEpoLYOmfvIWrsp9fCl0HoPRVTdA==", "license": "MIT", - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/template": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.26.9.tgz", - "integrity": "sha512-qyRplbeIpNZhmzOysF/wFMuP9sctmh2cFzRAZOn1YapxBsE1i9bJIY586R/WBLfLcmcBlM8ROBiQURnnNy+zfA==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/parser": "^7.26.9", - "@babel/types": "^7.26.9" + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.26.9", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.26.9.tgz", - "integrity": "sha512-ZYW7L+pL8ahU5fXmNbPF+iZFHCv5scFak7MZ9bwaRPLUhHh7QQEMjZUg0HevihoqCM5iSYHN61EyCoZvqC+bxg==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.6.tgz", + "integrity": "sha512-fgWX62k02qtjqdSNTAGxmKYY/7FSL9WAS1o2Hu5+I5m9T0yxZzr4cnrfXQ/MX0rIifthCSs6FKTlzYbJcPtMNg==", "license": "MIT", "dependencies": { - "@babel/code-frame": "^7.26.2", - "@babel/generator": "^7.26.9", - "@babel/parser": "^7.26.9", - "@babel/template": "^7.26.9", - "@babel/types": "^7.26.9", - "debug": "^4.3.1", - "globals": "^11.1.0" + "@babel/code-frame": "^7.28.6", + "@babel/generator": "^7.28.6", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.6", + "@babel/template": "^7.28.6", + "@babel/types": "^7.28.6", + "debug": "^4.3.1" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/types": { - "version": "7.26.10", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.26.10.tgz", - "integrity": "sha512-emqcG3vHrpxUKTrxcblR36dcrcoRDvKmnL/dCL6ZsHaShW80qxCAcNhzQZrpeM765VzEos+xOi4s+r4IXzTwdQ==", + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.6.tgz", + "integrity": "sha512-0ZrskXVEHSWIqZM/sQZ4EV3jZJXRkio/WCxaqKZP1g//CEWEPSfeZFcms4XeKBCHU0ZKnIkdJeU/kF+eRp5lBg==", "license": "MIT", "dependencies": { - "@babel/helper-string-parser": "^7.25.9", - "@babel/helper-validator-identifier": "^7.25.9" + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" }, "engines": { "node": ">=6.9.0" @@ -505,41 +560,46 @@ "version": "0.2.3", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz", "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@docker/docker-mui-theme": { - "version": "0.0.11", - "resolved": "https://registry.npmjs.org/@docker/docker-mui-theme/-/docker-mui-theme-0.0.11.tgz", - "integrity": "sha512-3A1axAPkmj9VPHqJYibojfron4cGl+jRMrHlzBqqRvvnH9jMGhv5lH4BPkXWQ2QPEWeqZ/yt7M9mN2ZZksBUwQ==", + "version": "0.0.13", + "resolved": "https://registry.npmjs.org/@docker/docker-mui-theme/-/docker-mui-theme-0.0.13.tgz", + "integrity": "sha512-ydWCcaSWwfpq/tfqiWT3DewGGt3xyR7mgTuhEc0QIlE+g7l1iDgpXU+Kso6nZDN7YhVsD4HS28P3NXpLygwzWg==", + "license": "Apache-2.0", "peerDependencies": { - "@mui/material": "^5.0.0", + "@mui/material": ">=5.x.x <=6.x.x", "react": "^17.0.0 || ^18.0.0", "react-dom": "^17.0.0 || ^18.0.0" } }, "node_modules/@docker/extension-api-client": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@docker/extension-api-client/-/extension-api-client-0.3.4.tgz", - "integrity": "sha512-bPfMyIy/mf1ir8lhc7qeVWEV0VF/JZShr5UjFcDxG79JW3umCOGU4c17EtYqwk8EY1kF3exWM6G1ITHOETUmGw==", + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@docker/extension-api-client/-/extension-api-client-0.4.2.tgz", + "integrity": "sha512-8iT3Wy1qqqTYgrI2YC/ShFC3D3oFbKVptgeh2VQ0hy+Ywb5pwD3Qi5Qr+L5lYakw5LUqMQSjQa3p7J9OxLF+0Q==", + "license": "Apache-2.0", "dependencies": { - "@docker/extension-api-client-types": "^0.3.4" + "@docker/extension-api-client-types": "^0.4.2" } }, "node_modules/@docker/extension-api-client-types": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/@docker/extension-api-client-types/-/extension-api-client-types-0.3.4.tgz", - "integrity": "sha512-cDdD+dNSE0XCvQiw0R4j9aHpK+p6E7vi+z7RbKXfxwuQpfEMoeNCKFlp4W7K3XT78iWmoPz3DxQtZEAe4VJ1oQ==" + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@docker/extension-api-client-types/-/extension-api-client-types-0.4.2.tgz", + "integrity": "sha512-nsIFZ67B09q9rY0vOnWSTIM8+wcrxjVtKvDxu66WrEOiBQhrObPRUmyXDQuTyR+vSLlU0nunKexLLp2ge+d5vA==", + "license": "Apache-2.0" }, "node_modules/@emotion/babel-plugin": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.11.0.tgz", - "integrity": "sha512-m4HEDZleaaCH+XgDDsPF15Ht6wTLsgDTeR3WYj9Q/k76JtWhrJjcP4+/XlG8LGT/Rol9qUfOIztXeA84ATpqPQ==", + "version": "11.13.5", + "resolved": "https://registry.npmjs.org/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz", + "integrity": "sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ==", + "license": "MIT", "dependencies": { "@babel/helper-module-imports": "^7.16.7", "@babel/runtime": "^7.18.3", - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/serialize": "^1.1.2", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/serialize": "^1.3.3", "babel-plugin-macros": "^3.1.0", "convert-source-map": "^1.5.0", "escape-string-regexp": "^4.0.0", @@ -549,47 +609,52 @@ } }, "node_modules/@emotion/cache": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.11.0.tgz", - "integrity": "sha512-P34z9ssTCBi3e9EI1ZsWpNHcfY1r09ZO0rZbRO2ob3ZQMnFI35jB536qoXbkdesr5EUhYi22anuEJuyxifaqAQ==", - "dependencies": { - "@emotion/memoize": "^0.8.1", - "@emotion/sheet": "^1.2.2", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/cache/-/cache-11.14.0.tgz", + "integrity": "sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA==", + "license": "MIT", + "dependencies": { + "@emotion/memoize": "^0.9.0", + "@emotion/sheet": "^1.4.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", "stylis": "4.2.0" } }, "node_modules/@emotion/hash": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.1.tgz", - "integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ==" + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@emotion/hash/-/hash-0.9.2.tgz", + "integrity": "sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g==", + "license": "MIT" }, "node_modules/@emotion/is-prop-valid": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz", - "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.4.0.tgz", + "integrity": "sha512-QgD4fyscGcbbKwJmqNvUMSE02OsHUa+lAWKdEUIJKgqe5IwRSKd7+KhibEWdaKwgjLj0DRSHA9biAIqGBk05lw==", + "license": "MIT", "dependencies": { - "@emotion/memoize": "^0.8.1" + "@emotion/memoize": "^0.9.0" } }, "node_modules/@emotion/memoize": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.8.1.tgz", - "integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==" + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/@emotion/memoize/-/memoize-0.9.0.tgz", + "integrity": "sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ==", + "license": "MIT" }, "node_modules/@emotion/react": { - "version": "11.11.1", - "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.1.tgz", - "integrity": "sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==", + "version": "11.14.0", + "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", + "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/cache": "^11.11.0", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1", - "@emotion/weak-memoize": "^0.3.1", + "@emotion/babel-plugin": "^11.13.5", + "@emotion/cache": "^11.14.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2", + "@emotion/weak-memoize": "^0.4.0", "hoist-non-react-statics": "^3.3.1" }, "peerDependencies": { @@ -602,33 +667,36 @@ } }, "node_modules/@emotion/serialize": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.1.2.tgz", - "integrity": "sha512-zR6a/fkFP4EAcCMQtLOhIgpprZOwNmCldtpaISpvz348+DP4Mz8ZoKaGGCQpbzepNIUWbq4w6hNZkwDyKoS+HA==", + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/@emotion/serialize/-/serialize-1.3.3.tgz", + "integrity": "sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA==", + "license": "MIT", "dependencies": { - "@emotion/hash": "^0.9.1", - "@emotion/memoize": "^0.8.1", - "@emotion/unitless": "^0.8.1", - "@emotion/utils": "^1.2.1", + "@emotion/hash": "^0.9.2", + "@emotion/memoize": "^0.9.0", + "@emotion/unitless": "^0.10.0", + "@emotion/utils": "^1.4.2", "csstype": "^3.0.2" } }, "node_modules/@emotion/sheet": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.2.2.tgz", - "integrity": "sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==" + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@emotion/sheet/-/sheet-1.4.0.tgz", + "integrity": "sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg==", + "license": "MIT" }, "node_modules/@emotion/styled": { - "version": "11.11.0", - "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.11.0.tgz", - "integrity": "sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==", + "version": "11.14.1", + "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz", + "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.18.3", - "@emotion/babel-plugin": "^11.11.0", - "@emotion/is-prop-valid": "^1.2.1", - "@emotion/serialize": "^1.1.2", - "@emotion/use-insertion-effect-with-fallbacks": "^1.0.1", - "@emotion/utils": "^1.2.1" + "@emotion/babel-plugin": "^11.13.5", + "@emotion/is-prop-valid": "^1.3.0", + "@emotion/serialize": "^1.3.3", + "@emotion/use-insertion-effect-with-fallbacks": "^1.2.0", + "@emotion/utils": "^1.4.2" }, "peerDependencies": { "@emotion/react": "^11.0.0-rc.0", @@ -641,32 +709,36 @@ } }, "node_modules/@emotion/unitless": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.8.1.tgz", - "integrity": "sha512-KOEGMu6dmJZtpadb476IsZBclKvILjopjUii3V+7MnXIQCYh8W3NgNcgwo21n9LXZX6EDIKvqfjYxXebDwxKmQ==" + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@emotion/unitless/-/unitless-0.10.0.tgz", + "integrity": "sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg==", + "license": "MIT" }, "node_modules/@emotion/use-insertion-effect-with-fallbacks": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz", - "integrity": "sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz", + "integrity": "sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg==", + "license": "MIT", "peerDependencies": { "react": ">=16.8.0" } }, "node_modules/@emotion/utils": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.2.1.tgz", - "integrity": "sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg==" + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@emotion/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA==", + "license": "MIT" }, "node_modules/@emotion/weak-memoize": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz", - "integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww==" + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz", + "integrity": "sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg==", + "license": "MIT" }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.1.tgz", - "integrity": "sha512-kfYGy8IdzTGy+z0vFGvExZtxkFlA4zAxgKEahG9KE1ScBjpQnFsNOX8KTU5ojNru5ed5CVoJYXFtoxaq5nFbjQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", "cpu": [ "ppc64" ], @@ -681,9 +753,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.1.tgz", - "integrity": "sha512-dp+MshLYux6j/JjdqVLnMglQlFu+MuVeNrmT5nk6q07wNhCdSnB7QZj+7G8VMUGh1q+vj2Bq8kRsuyA00I/k+Q==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", "cpu": [ "arm" ], @@ -698,9 +770,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.1.tgz", - "integrity": "sha512-50tM0zCJW5kGqgG7fQ7IHvQOcAn9TKiVRuQ/lN0xR+T2lzEFvAi1ZcS8DiksFcEpf1t/GYOeOfCAgDHFpkiSmA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", "cpu": [ "arm64" ], @@ -715,9 +787,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.1.tgz", - "integrity": "sha512-GCj6WfUtNldqUzYkN/ITtlhwQqGWu9S45vUXs7EIYf+7rCiiqH9bCloatO9VhxsL0Pji+PF4Lz2XXCES+Q8hDw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", "cpu": [ "x64" ], @@ -732,9 +804,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.1.tgz", - "integrity": "sha512-5hEZKPf+nQjYoSr/elb62U19/l1mZDdqidGfmFutVUjjUZrOazAtwK+Kr+3y0C/oeJfLlxo9fXb1w7L+P7E4FQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", "cpu": [ "arm64" ], @@ -749,9 +821,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.1.tgz", - "integrity": "sha512-hxVnwL2Dqs3fM1IWq8Iezh0cX7ZGdVhbTfnOy5uURtao5OIVCEyj9xIzemDi7sRvKsuSdtCAhMKarxqtlyVyfA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", "cpu": [ "x64" ], @@ -766,9 +838,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.1.tgz", - "integrity": "sha512-1MrCZs0fZa2g8E+FUo2ipw6jw5qqQiH+tERoS5fAfKnRx6NXH31tXBKI3VpmLijLH6yriMZsxJtaXUyFt/8Y4A==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", "cpu": [ "arm64" ], @@ -783,9 +855,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.1.tgz", - "integrity": "sha512-0IZWLiTyz7nm0xuIs0q1Y3QWJC52R8aSXxe40VUxm6BB1RNmkODtW6LHvWRrGiICulcX7ZvyH6h5fqdLu4gkww==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", "cpu": [ "x64" ], @@ -800,9 +872,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.1.tgz", - "integrity": "sha512-NdKOhS4u7JhDKw9G3cY6sWqFcnLITn6SqivVArbzIaf3cemShqfLGHYMx8Xlm/lBit3/5d7kXvriTUGa5YViuQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", "cpu": [ "arm" ], @@ -817,9 +889,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.1.tgz", - "integrity": "sha512-jaN3dHi0/DDPelk0nLcXRm1q7DNJpjXy7yWaWvbfkPvI+7XNSc/lDOnCLN7gzsyzgu6qSAmgSvP9oXAhP973uQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", "cpu": [ "arm64" ], @@ -834,9 +906,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.1.tgz", - "integrity": "sha512-OJykPaF4v8JidKNGz8c/q1lBO44sQNUQtq1KktJXdBLn1hPod5rE/Hko5ugKKZd+D2+o1a9MFGUEIUwO2YfgkQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", "cpu": [ "ia32" ], @@ -851,9 +923,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.1.tgz", - "integrity": "sha512-nGfornQj4dzcq5Vp835oM/o21UMlXzn79KobKlcs3Wz9smwiifknLy4xDCLUU0BWp7b/houtdrgUz7nOGnfIYg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", "cpu": [ "loong64" ], @@ -868,9 +940,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.1.tgz", - "integrity": "sha512-1osBbPEFYwIE5IVB/0g2X6i1qInZa1aIoj1TdL4AaAb55xIIgbg8Doq6a5BzYWgr+tEcDzYH67XVnTmUzL+nXg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", "cpu": [ "mips64el" ], @@ -885,9 +957,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.1.tgz", - "integrity": "sha512-/6VBJOwUf3TdTvJZ82qF3tbLuWsscd7/1w+D9LH0W/SqUgM5/JJD0lrJ1fVIfZsqB6RFmLCe0Xz3fmZc3WtyVg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", "cpu": [ "ppc64" ], @@ -902,9 +974,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.1.tgz", - "integrity": "sha512-nSut/Mx5gnilhcq2yIMLMe3Wl4FK5wx/o0QuuCLMtmJn+WeWYoEGDN1ipcN72g1WHsnIbxGXd4i/MF0gTcuAjQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", "cpu": [ "riscv64" ], @@ -919,9 +991,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.1.tgz", - "integrity": "sha512-cEECeLlJNfT8kZHqLarDBQso9a27o2Zd2AQ8USAEoGtejOrCYHNtKP8XQhMDJMtthdF4GBmjR2au3x1udADQQQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", "cpu": [ "s390x" ], @@ -936,9 +1008,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.1.tgz", - "integrity": "sha512-xbfUhu/gnvSEg+EGovRc+kjBAkrvtk38RlerAzQxvMzlB4fXpCFCeUAYzJvrnhFtdeyVCDANSjJvOvGYoeKzFA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", "cpu": [ "x64" ], @@ -953,9 +1025,9 @@ } }, "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.1.tgz", - "integrity": "sha512-O96poM2XGhLtpTh+s4+nP7YCCAfb4tJNRVZHfIE7dgmax+yMP2WgMd2OecBuaATHKTHsLWHQeuaxMRnCsH8+5g==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", "cpu": [ "arm64" ], @@ -970,9 +1042,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.1.tgz", - "integrity": "sha512-X53z6uXip6KFXBQ+Krbx25XHV/NCbzryM6ehOAeAil7X7oa4XIq+394PWGnwaSQ2WRA0KI6PUO6hTO5zeF5ijA==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", "cpu": [ "x64" ], @@ -987,9 +1059,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.1.tgz", - "integrity": "sha512-Na9T3szbXezdzM/Kfs3GcRQNjHzM6GzFBeU1/6IV/npKP5ORtp9zbQjvkDJ47s6BCgaAZnnnu/cY1x342+MvZg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", "cpu": [ "arm64" ], @@ -1004,9 +1076,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.1.tgz", - "integrity": "sha512-T3H78X2h1tszfRSf+txbt5aOp/e7TAz3ptVKu9Oyir3IAOFPGV6O9c2naym5TOriy1l0nNf6a4X5UXRZSGX/dw==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", "cpu": [ "x64" ], @@ -1020,10 +1092,27 @@ "node": ">=18" } }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/sunos-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.1.tgz", - "integrity": "sha512-2H3RUvcmULO7dIE5EWJH8eubZAI4xw54H1ilJnRNZdeo8dTADEZ21w6J22XBkXqGJbe0+wnNJtw3UXRoLJnFEg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", "cpu": [ "x64" ], @@ -1038,9 +1127,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.1.tgz", - "integrity": "sha512-GE7XvrdOzrb+yVKB9KsRMq+7a2U/K5Cf/8grVFRAGJmfADr/e/ODQ134RK2/eeHqYV5eQRFxb1hY7Nr15fv1NQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", "cpu": [ "arm64" ], @@ -1055,9 +1144,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.1.tgz", - "integrity": "sha512-uOxSJCIcavSiT6UnBhBzE8wy3n0hOkJsBOzy7HDAuTDE++1DJMRRVCPGisULScHL+a/ZwdXPpXD3IyFKjA7K8A==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", "cpu": [ "ia32" ], @@ -1072,9 +1161,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.1.tgz", - "integrity": "sha512-Y1EQdcfwMSeQN/ujR5VayLOJ1BHaK+ssyk0AEzPjC+t1lITgsnccPqFjb6V+LsTp/9Iov4ysfjxLaGJ9RPtkVg==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", "cpu": [ "x64" ], @@ -1088,45 +1177,12 @@ "node": ">=18" } }, - "node_modules/@floating-ui/core": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.0.tgz", - "integrity": "sha512-kK1h4m36DQ0UHGj5Ah4db7R0rHemTqqO0QLvUqi1/mUUp3LuAWbWxdxSIf/XsnH9VS6rRVPLJCncjRzUvyCLXg==", - "dependencies": { - "@floating-ui/utils": "^0.1.3" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.3.tgz", - "integrity": "sha512-ClAbQnEqJAKCJOEbbLo5IUlZHkNszqhuxS4fHAVxRPXPya6Ysf2G8KypnYcOTpx6I8xcgF9bbHb6g/2KpbV8qA==", - "dependencies": { - "@floating-ui/core": "^1.4.2", - "@floating-ui/utils": "^0.1.3" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-2.0.2.tgz", - "integrity": "sha512-5qhlDvjaLmAst/rKb3VdlCinwTF4EYMiVxuuc/HVUjs46W0zgtbMmAZ1UTsDrRTxRmUEzl92mOtWbeeXL26lSQ==", - "dependencies": { - "@floating-ui/dom": "^1.5.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.1.6.tgz", - "integrity": "sha512-OfX7E2oUDYxtBvsuS4e/jSn4Q9Qb6DzgeYtsAdkPZ47znpoNsMgZw0+tVijiv3uGNR6dgNlty6r9rzIzHjtd/A==" - }, "node_modules/@istanbuljs/load-nyc-config": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, + "license": "ISC", "dependencies": { "camelcase": "^5.3.1", "find-up": "^4.1.0", @@ -1143,6 +1199,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1152,6 +1209,7 @@ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -1161,6 +1219,7 @@ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz", "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -1173,81 +1232,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/console/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/console/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/console/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/console/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/console/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/core": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz", "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/reporters": "^29.7.0", @@ -1290,81 +1280,12 @@ } } }, - "node_modules/@jest/core/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/core/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/core/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/core/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/core/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/environment": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz", "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/fake-timers": "^29.7.0", "@jest/types": "^29.6.3", @@ -1380,6 +1301,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz", "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.7.0", "jest-snapshot": "^29.7.0" @@ -1393,6 +1315,7 @@ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz", "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3" }, @@ -1405,6 +1328,7 @@ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz", "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@sinonjs/fake-timers": "^10.0.2", @@ -1422,6 +1346,7 @@ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz", "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -1437,6 +1362,7 @@ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz", "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==", "dev": true, + "license": "MIT", "dependencies": { "@bcoe/v8-coverage": "^0.2.3", "@jest/console": "^29.7.0", @@ -1475,81 +1401,12 @@ } } }, - "node_modules/@jest/reporters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/reporters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/reporters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/reporters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/reporters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@jest/schemas": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz", "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==", "dev": true, + "license": "MIT", "dependencies": { "@sinclair/typebox": "^0.27.8" }, @@ -1562,6 +1419,7 @@ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz", "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==", "dev": true, + "license": "MIT", "dependencies": { "@jridgewell/trace-mapping": "^0.3.18", "callsites": "^3.0.0", @@ -1576,6 +1434,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz", "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/console": "^29.7.0", "@jest/types": "^29.6.3", @@ -1591,6 +1450,7 @@ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz", "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/test-result": "^29.7.0", "graceful-fs": "^4.2.9", @@ -1606,6 +1466,7 @@ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz", "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/types": "^29.6.3", @@ -1627,87 +1488,19 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/transform/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/transform/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/transform/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/@jest/transform/node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@jest/transform/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jest/transform/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } + "license": "MIT" }, "node_modules/@jest/types": { "version": "29.6.3", "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz", "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "@types/istanbul-lib-coverage": "^2.0.0", @@ -1720,180 +1513,81 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/@jest/types/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/@jest/types/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "license": "MIT", "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/@jest/types/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/@jest/types/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "node_modules/@jest/types/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", "license": "MIT", "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/gen-mapping": "^0.3.5", "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", - "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", "license": "MIT", "engines": { "node": ">=6.0.0" } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==" + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", "license": "MIT", "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@mui/base": { - "version": "5.0.0-beta.18", - "resolved": "https://registry.npmjs.org/@mui/base/-/base-5.0.0-beta.18.tgz", - "integrity": "sha512-e9ZCy/ndhyt5MTshAS3qAUy/40UiO0jX+kAo6a+XirrPJE+rrQW+mKPSI0uyp+5z4Vh+z0pvNoJ2S2gSrNz3BQ==", - "dependencies": { - "@babel/runtime": "^7.23.1", - "@floating-ui/react-dom": "^2.0.2", - "@mui/types": "^7.2.5", - "@mui/utils": "^5.14.12", - "@popperjs/core": "^2.11.8", - "clsx": "^2.0.0", - "prop-types": "^15.8.1" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@mui/core-downloads-tracker": { - "version": "5.14.12", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.14.12.tgz", - "integrity": "sha512-WZhCkKqhrXaSVBzoC6LNcVkIawS000OOt7gmnp4g9HhyvN0PSclRXc/JrkC7EwfzUAZJh+hiK2LaVsbtOpNuOg==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-6.5.0.tgz", + "integrity": "sha512-LGb8t8i6M2ZtS3Drn3GbTI1DVhDY6FJ9crEey2lZ0aN2EMZo8IZBZj9wRf4vqbZHaWjsYgtbOnJw5V8UWbmK2Q==", + "license": "MIT", "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" } }, "node_modules/@mui/icons-material": { - "version": "5.14.12", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.14.12.tgz", - "integrity": "sha512-aFm6g/AIB3RQN9h/4MKoBoBybLZXeR3aDHWNx6KzemEpIlElUxv5uXRX5Qk1VC6v/YPkhbaPsiLLjsRSTiZF3w==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-6.5.0.tgz", + "integrity": "sha512-VPuPqXqbBPlcVSA0BmnoE4knW4/xG6Thazo8vCLWkOKusko6DtwFV6B665MMWJ9j0KFohTIf3yx2zYtYacvG1g==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.1" + "@babel/runtime": "^7.26.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@mui/material": "^6.5.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -1901,34 +1595,39 @@ } } }, - "node_modules/@mui/lab": { - "version": "5.0.0-alpha.147", - "resolved": "https://registry.npmjs.org/@mui/lab/-/lab-5.0.0-alpha.147.tgz", - "integrity": "sha512-AZjDEl31/co9baYrOBHMlXI8BCrV9JTCGDE2+IswVm32HNPYL5V2gHL3wKqn+MIFeCEg+z2es+8CU/Bau0JNSQ==", + "node_modules/@mui/material": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.5.0.tgz", + "integrity": "sha512-yjvtXoFcrPLGtgKRxFaH6OQPtcLPhkloC0BML6rBG5UeldR0nPULR/2E2BfXdo5JNV7j7lOzrrLX2Qf/iSidow==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.1", - "@mui/base": "5.0.0-beta.18", - "@mui/system": "^5.14.12", - "@mui/types": "^7.2.5", - "@mui/utils": "^5.14.12", - "@mui/x-tree-view": "6.0.0-alpha.1", - "clsx": "^2.0.0", - "prop-types": "^15.8.1" + "@babel/runtime": "^7.26.0", + "@mui/core-downloads-tracker": "^6.5.0", + "@mui/system": "^6.5.0", + "@mui/types": "~7.2.24", + "@mui/utils": "^6.4.9", + "@popperjs/core": "^2.11.8", + "@types/react-transition-group": "^4.4.12", + "clsx": "^2.1.1", + "csstype": "^3.1.3", + "prop-types": "^15.8.1", + "react-is": "^19.0.0", + "react-transition-group": "^4.4.5" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@mui/material-pigment-css": "^6.5.0", + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -1937,74 +1636,48 @@ "@emotion/styled": { "optional": true }, + "@mui/material-pigment-css": { + "optional": true + }, "@types/react": { "optional": true } } }, - "node_modules/@mui/material": { - "version": "5.14.12", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.14.12.tgz", - "integrity": "sha512-EelF2L46VcVqhg3KjzIGBBpOtcBgRh0MMy9Efuk6Do81QdcZsFC9RebCVAflo5jIdbHiBmxBs5/l5Q9NjONozg==", - "dependencies": { - "@babel/runtime": "^7.23.1", - "@mui/base": "5.0.0-beta.18", - "@mui/core-downloads-tracker": "^5.14.12", - "@mui/system": "^5.14.12", - "@mui/types": "^7.2.5", - "@mui/utils": "^5.14.12", - "@types/react-transition-group": "^4.4.6", - "clsx": "^2.0.0", - "csstype": "^3.1.2", - "prop-types": "^15.8.1", - "react-is": "^18.2.0", - "react-transition-group": "^4.4.5" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, + "node_modules/@mui/material/node_modules/@mui/types": { + "version": "7.2.24", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz", + "integrity": "sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==", + "license": "MIT", "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, "@types/react": { "optional": true } } }, "node_modules/@mui/private-theming": { - "version": "5.14.12", - "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-5.14.12.tgz", - "integrity": "sha512-TWwm+9+BgHFpoR3w04FG+IqID4ALa74A27RuKq2CEaWgxliBZB24EVeI6djfjFt5t4FYmIb8BMw2ZJEir7YjLQ==", + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/@mui/private-theming/-/private-theming-6.4.9.tgz", + "integrity": "sha512-LktcVmI5X17/Q5SkwjCcdOLBzt1hXuc14jYa7NPShog0GBDCDvKtcnP0V7a2s6EiVRlv7BzbWEJzH6+l/zaCxw==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.1", - "@mui/utils": "^5.14.12", + "@babel/runtime": "^7.26.0", + "@mui/utils": "^6.4.9", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2013,26 +1686,29 @@ } }, "node_modules/@mui/styled-engine": { - "version": "5.14.12", - "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-5.14.12.tgz", - "integrity": "sha512-bocxt1nDmXfB3gpLfCCmFCyJ7sVmscFs+PuheO210QagZwHVp47UIRT1AiswLDYSQo1ZqmVGn7KLEJEYK0d4Xw==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@mui/styled-engine/-/styled-engine-6.5.0.tgz", + "integrity": "sha512-8woC2zAqF4qUDSPIBZ8v3sakj+WgweolpyM/FXf8jAx6FMls+IE4Y8VDZc+zS805J7PRz31vz73n2SovKGaYgw==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.1", - "@emotion/cache": "^11.11.0", - "csstype": "^3.1.2", + "@babel/runtime": "^7.26.0", + "@emotion/cache": "^11.13.5", + "@emotion/serialize": "^1.3.3", + "@emotion/sheet": "^1.4.0", + "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { "@emotion/react": "^11.4.1", "@emotion/styled": "^11.3.0", - "react": "^17.0.0 || ^18.0.0" + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -2044,31 +1720,32 @@ } }, "node_modules/@mui/system": { - "version": "5.14.12", - "resolved": "https://registry.npmjs.org/@mui/system/-/system-5.14.12.tgz", - "integrity": "sha512-6DXfjjLhW0/ia5qU3Crke7j+MnfDbMBOHlLIrqbrEqNs0AuSBv8pXniEGb+kqO0H804NJreRTEJRjCngwOX5CA==", - "dependencies": { - "@babel/runtime": "^7.23.1", - "@mui/private-theming": "^5.14.12", - "@mui/styled-engine": "^5.14.12", - "@mui/types": "^7.2.5", - "@mui/utils": "^5.14.12", - "clsx": "^2.0.0", - "csstype": "^3.1.2", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.5.0.tgz", + "integrity": "sha512-XcbBYxDS+h/lgsoGe78ExXFZXtuIlSBpn/KsZq8PtZcIkUNJInkuDqcLd2rVBQrDC1u+rvVovdaWPf2FHKJf3w==", + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.26.0", + "@mui/private-theming": "^6.4.9", + "@mui/styled-engine": "^6.5.0", + "@mui/types": "~7.2.24", + "@mui/utils": "^6.4.9", + "clsx": "^2.1.1", + "csstype": "^3.1.3", "prop-types": "^15.8.1" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { "@emotion/react": "^11.5.0", "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@emotion/react": { @@ -2082,12 +1759,13 @@ } } }, - "node_modules/@mui/types": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.5.tgz", - "integrity": "sha512-S2BwfNczr7VwS6ki8GoAXJyARoeSJDLuxOEPs3vEMyTALlf9PrdHv+sluX7kk3iKrCg/ML2mIWwapZvWbkMCQA==", + "node_modules/@mui/system/node_modules/@mui/types": { + "version": "7.2.24", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz", + "integrity": "sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==", + "license": "MIT", "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2096,25 +1774,28 @@ } }, "node_modules/@mui/utils": { - "version": "5.14.12", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.14.12.tgz", - "integrity": "sha512-RFNXnhKQlzIkIUig6mmv0r5VbtjPdWoaBPYicq25LETdZux59HAqoRdWw15T7lp3c7gXOoE8y67+hTB8C64m2g==", + "version": "6.4.9", + "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-6.4.9.tgz", + "integrity": "sha512-Y12Q9hbK9g+ZY0T3Rxrx9m2m10gaphDuUMgWxyV5kNJevVxXYCLclYUCC9vXaIk1/NdNDTcW2Yfr2OGvNFNmHg==", + "license": "MIT", "dependencies": { - "@babel/runtime": "^7.23.1", - "@types/prop-types": "^15.7.7", + "@babel/runtime": "^7.26.0", + "@mui/types": "~7.2.24", + "@types/prop-types": "^15.7.14", + "clsx": "^2.1.1", "prop-types": "^15.8.1", - "react-is": "^18.2.0" + "react-is": "^19.0.0" }, "engines": { - "node": ">=12.0.0" + "node": ">=14.0.0" }, "funding": { "type": "opencollective", - "url": "https://opencollective.com/mui" + "url": "https://opencollective.com/mui-org" }, "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0", - "react": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", + "react": "^17.0.0 || ^18.0.0 || ^19.0.0" }, "peerDependenciesMeta": { "@types/react": { @@ -2122,44 +1803,37 @@ } } }, - "node_modules/@mui/x-tree-view": { - "version": "6.0.0-alpha.1", - "resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-6.0.0-alpha.1.tgz", - "integrity": "sha512-JUG3HmBrmGEALbCFg1b+i7h726e1dWYZs4db3syO1j+Q++E3nbvE4Lehp5yGTFm+8esH0Tny50tuJaa4WX6VSA==", - "dependencies": { - "@babel/runtime": "^7.22.6", - "@mui/utils": "^5.14.3", - "@types/react-transition-group": "^4.4.6", - "clsx": "^2.0.0", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.5" - }, - "engines": { - "node": ">=14.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui" - }, + "node_modules/@mui/utils/node_modules/@mui/types": { + "version": "7.2.24", + "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz", + "integrity": "sha512-3c8tRt/CbWZ+pEg7QpSwbdxOk36EfmhbKf6AGZsD1EcLDLTSZoxxJ86FVtcjxvjuhdyBiWKSTGZFaXCnidO2kw==", + "license": "MIT", "peerDependencies": { - "@emotion/react": "^11.9.0", - "@emotion/styled": "^11.8.1", - "@mui/base": "^5.0.0-alpha.87", - "@mui/material": "^5.8.6", - "@mui/system": "^5.8.0", - "react": "^17.0.0 || ^18.0.0", - "react-dom": "^17.0.0 || ^18.0.0" + "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } } }, "node_modules/@popperjs/core": { "version": "2.11.8", "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.8.tgz", "integrity": "sha512-P1st0aksCrn9sGZhp8GMYwBnQsbvAWsZAX44oXNNvLHGqAOcoVxmjZiohstwQ7SqKnbR47akdNi+uleWD8+g6A==", + "license": "MIT", "funding": { "type": "opencollective", "url": "https://opencollective.com/popperjs" } }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, "node_modules/@rollup/rollup-android-arm-eabi": { "version": "4.59.0", "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.59.0.tgz", @@ -2514,13 +2188,15 @@ "version": "0.27.8", "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz", "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/@sinonjs/commons": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.0.tgz", - "integrity": "sha512-jXBtWAF4vmdNmZgD5FoKsVLv3rPgDnLgPbU84LIJ3otV44vJlDRokVng5v8NFJdCf/da9legHcKaRuZs4L7faA==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz", + "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "type-detect": "4.0.8" } @@ -2530,6 +2206,7 @@ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@sinonjs/commons": "^3.0.0" } @@ -2549,31 +2226,34 @@ } }, "node_modules/@types/babel__generator": { - "version": "7.6.5", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.5.tgz", - "integrity": "sha512-h9yIuWbJKdOPLJTbmSpPzkF67e659PbQDba7ifWm5BJ8xTv+sDmS7rFmywkWOvXedGTivCdeGSIIX8WLcRTz8w==", + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__template": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.2.tgz", - "integrity": "sha512-/AVzPICMhMOMYoSx9MoKpGDKdBRsIXMNByh1PXSZoa+v6ZoLa8xxtsT/uLQ/NJm0XVAWl/BvId4MlDeXJaeIZQ==", + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", "dev": true, + "license": "MIT", "dependencies": { "@babel/parser": "^7.1.0", "@babel/types": "^7.0.0" } }, "node_modules/@types/babel__traverse": { - "version": "7.20.2", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.2.tgz", - "integrity": "sha512-ojlGK1Hsfce93J0+kn3H5R73elidKUaZonirN33GSmgTUMpzI/MIFfSpF3haANe3G1bEBS9/9/QEqwTzwqFsKw==", + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", "dev": true, + "license": "MIT", "dependencies": { - "@babel/types": "^7.20.7" + "@babel/types": "^7.28.2" } }, "node_modules/@types/estree": { @@ -2584,138 +2264,147 @@ "license": "MIT" }, "node_modules/@types/graceful-fs": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.7.tgz", - "integrity": "sha512-MhzcwU8aUygZroVwL2jeYk6JisJrPl/oov/gsgGCue9mkgl9wjGbzReYQClxiUgFDnib9FuHqTndccKeZKxTRw==", + "version": "4.1.9", + "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz", + "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*" } }, "node_modules/@types/istanbul-lib-coverage": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz", - "integrity": "sha512-z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==", - "dev": true + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz", + "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==", + "dev": true, + "license": "MIT" }, "node_modules/@types/istanbul-lib-report": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", - "integrity": "sha512-plGgXAPfVKFoYfa9NpYDAkseG+g6Jr294RqeqcqDixSbU34MZVJRi/P+7Y8GDpzkEwLaGZZOpKIEmeVZNtKsrg==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz", + "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-coverage": "*" } }, "node_modules/@types/istanbul-reports": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.1.tgz", - "integrity": "sha512-c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==", + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz", + "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==", "dev": true, + "license": "MIT", "dependencies": { "@types/istanbul-lib-report": "*" } }, "node_modules/@types/jest": { - "version": "29.5.5", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.5.tgz", - "integrity": "sha512-ebylz2hnsWR9mYvmBFbXJXr+33UPc4+ZdxyDXh5w0FlPBTfCVN3wPL+kuOiQt3xvrK419v7XWeAs+AeOksafXg==", + "version": "29.5.14", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.14.tgz", + "integrity": "sha512-ZN+4sdnLUbo8EVvVc2ao0GFW6oVrQRPn4K2lglySj7APvSrgzxHiNNK99us4WDMi57xxA2yggblIAMNhXOotLQ==", "dev": true, + "license": "MIT", "dependencies": { "expect": "^29.0.0", "pretty-format": "^29.0.0" } }, "node_modules/@types/node": { - "version": "20.8.4", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.8.4.tgz", - "integrity": "sha512-ZVPnqU58giiCjSxjVUESDtdPk4QR5WQhhINbc9UBrKLU68MX5BF6kbQzTrkwbolyr0X8ChBpXfavr5mZFKZQ5A==", + "version": "20.19.30", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.30.tgz", + "integrity": "sha512-WJtwWJu7UdlvzEAUm484QNg5eAoq5QR08KDNx7g45Usrs2NtOPiX8ugDqmKdXkyL03rBqU5dYNYVQetEpBHq2g==", "dev": true, + "license": "MIT", "dependencies": { - "undici-types": "~5.25.1" + "undici-types": "~6.21.0" } }, "node_modules/@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==" + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz", + "integrity": "sha512-dISoDXWWQwUquiKsyZ4Ng+HX2KsPL7LyHKHQwgGFEA3IaKac4Obd+h2a/a6waisAoepJlBcx9paWqjA8/HVjCw==", + "license": "MIT" }, "node_modules/@types/prop-types": { - "version": "15.7.8", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.8.tgz", - "integrity": "sha512-kMpQpfZKSCBqltAJwskgePRaYRFukDkm1oItcAbC3gNELR20XIBcN9VRgg4+m8DKsTfkWeA4m4Imp4DDuWy7FQ==" + "version": "15.7.15", + "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.15.tgz", + "integrity": "sha512-F6bEyamV9jKGAFBEmlQnesRPGOQqS2+Uwi0Em15xenOxHaf2hv6L8YCVn3rPdPJOiJfPiCnLIRyvwVaqMY3MIw==", + "license": "MIT" }, "node_modules/@types/react": { - "version": "18.2.27", - "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.27.tgz", - "integrity": "sha512-Wfv7B7FZiR2r3MIqbAlXoY1+tXm4bOqfz4oRr+nyXdBqapDBZ0l/IGcSlAfvxIHEEJjkPU0MYAc/BlFPOcrgLw==", + "version": "18.3.27", + "resolved": "https://registry.npmjs.org/@types/react/-/react-18.3.27.tgz", + "integrity": "sha512-cisd7gxkzjBKU2GgdYrTdtQx1SORymWyaAFhaxQPK9bYO9ot3Y5OikQRvY0VYQtvwjeQnizCINJAenh/V7MK2w==", + "license": "MIT", "dependencies": { "@types/prop-types": "*", - "@types/scheduler": "*", - "csstype": "^3.0.2" + "csstype": "^3.2.2" } }, "node_modules/@types/react-dom": { - "version": "18.2.12", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.2.12.tgz", - "integrity": "sha512-QWZuiA/7J/hPIGocXreCRbx7wyoeet9ooxfbSA+zbIWqyQEE7GMtRn4A37BdYyksnN+/NDnWgfxZH9UVGDw1hg==", + "version": "18.3.7", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-18.3.7.tgz", + "integrity": "sha512-MEe3UeoENYVFXzoXEWsvcpg6ZvlrFNlOQ7EOsvhI3CfAXwzPfO8Qwuxd40nepsYKqyyVQnTdEfv68q91yLcKrQ==", "dev": true, - "dependencies": { - "@types/react": "*" + "license": "MIT", + "peerDependencies": { + "@types/react": "^18.0.0" } }, "node_modules/@types/react-transition-group": { - "version": "4.4.6", - "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.6.tgz", - "integrity": "sha512-VnCdSxfcm08KjsJVQcfBmhEQAPnLB8G08hAxn39azX1qYBQ/5RVQuoHuKIcfKOdncuaUvEpFKFzEvbtIMsfVew==", - "dependencies": { + "version": "4.4.12", + "resolved": "https://registry.npmjs.org/@types/react-transition-group/-/react-transition-group-4.4.12.tgz", + "integrity": "sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w==", + "license": "MIT", + "peerDependencies": { "@types/react": "*" } }, - "node_modules/@types/scheduler": { - "version": "0.16.3", - "resolved": "https://registry.npmjs.org/@types/scheduler/-/scheduler-0.16.3.tgz", - "integrity": "sha512-5cJ8CB4yAx7BH1oMvdU0Jh9lrEXyPkar6F9G/ERswkCuvP4KQZfZkSjcMbAICCpQTN4OuZn8tz0HiKv9TGZgrQ==" - }, "node_modules/@types/stack-utils": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz", - "integrity": "sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz", + "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==", + "dev": true, + "license": "MIT" }, "node_modules/@types/yargs": { - "version": "17.0.24", - "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", - "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", + "version": "17.0.35", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.35.tgz", + "integrity": "sha512-qUHkeCyQFxMXg79wQfTtfndEC+N9ZZg76HJftDJp+qH2tV7Gj4OJi7l+PiWwJ+pWtW8GwSmqsDj/oymhrTWXjg==", "dev": true, + "license": "MIT", "dependencies": { "@types/yargs-parser": "*" } }, "node_modules/@types/yargs-parser": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", - "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", - "dev": true + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" }, "node_modules/@vitejs/plugin-react": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.3.4.tgz", - "integrity": "sha512-SCCPBJtYLdE8PX/7ZQAs1QAZ8Jqwih+0VBLum1EGqmCCQal+MIUqLCzj3ZUy8ufbC0cAM4LRlSTm7IQJwWT4ug==", + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", "dev": true, "license": "MIT", "dependencies": { - "@babel/core": "^7.26.0", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", "@types/babel__core": "^7.20.5", - "react-refresh": "^0.14.2" + "react-refresh": "^0.17.0" }, "engines": { "node": "^14.18.0 || >=16.0.0" }, "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" } }, "node_modules/ansi-escapes": { @@ -2723,6 +2412,7 @@ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.21.3" }, @@ -2738,8 +2428,25 @@ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, "engines": { "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, "node_modules/anymatch": { @@ -2747,6 +2454,7 @@ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, + "license": "ISC", "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" @@ -2755,11 +2463,25 @@ "node": ">= 8" } }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, + "license": "MIT", "dependencies": { "sprintf-js": "~1.0.2" } @@ -2769,6 +2491,7 @@ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz", "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==", "dev": true, + "license": "MIT", "dependencies": { "@jest/transform": "^29.7.0", "@types/babel__core": "^7.1.14", @@ -2785,81 +2508,12 @@ "@babel/core": "^7.8.0" } }, - "node_modules/babel-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/babel-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/babel-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/babel-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/babel-plugin-istanbul": { "version": "6.1.1", "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/helper-plugin-utils": "^7.0.0", "@istanbuljs/load-nyc-config": "^1.0.0", @@ -2876,6 +2530,7 @@ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "@babel/core": "^7.12.3", "@babel/parser": "^7.14.7", @@ -2892,6 +2547,7 @@ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz", "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/template": "^7.3.3", "@babel/types": "^7.3.3", @@ -2906,6 +2562,7 @@ "version": "3.1.0", "resolved": "https://registry.npmjs.org/babel-plugin-macros/-/babel-plugin-macros-3.1.0.tgz", "integrity": "sha512-Cg7TFGpIr01vOQNODXOOaGz2NpCU5gl8x1qJFbb6hbZxR7XrcE2vtbAsTAbJ7/xwJtUuJEw8K8Zr/AE0LHlesg==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.12.5", "cosmiconfig": "^7.0.0", @@ -2917,26 +2574,30 @@ } }, "node_modules/babel-preset-current-node-syntax": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz", - "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==", + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.2.0.tgz", + "integrity": "sha512-E/VlAEzRrsLEb2+dv8yp3bo4scof3l9nR4lrld+Iy5NyVqgVYUJnDAmunkhPMisRI32Qc4iRiz425d8vM++2fg==", "dev": true, + "license": "MIT", "dependencies": { "@babel/plugin-syntax-async-generators": "^7.8.4", "@babel/plugin-syntax-bigint": "^7.8.3", - "@babel/plugin-syntax-class-properties": "^7.8.3", - "@babel/plugin-syntax-import-meta": "^7.8.3", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-import-attributes": "^7.24.7", + "@babel/plugin-syntax-import-meta": "^7.10.4", "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", "@babel/plugin-syntax-object-rest-spread": "^7.8.3", "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-top-level-await": "^7.8.3" + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5" }, "peerDependencies": { - "@babel/core": "^7.0.0" + "@babel/core": "^7.0.0 || ^8.0.0-0" } }, "node_modules/babel-preset-jest": { @@ -2944,6 +2605,7 @@ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz", "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==", "dev": true, + "license": "MIT", "dependencies": { "babel-plugin-jest-hoist": "^29.6.3", "babel-preset-current-node-syntax": "^1.0.0" @@ -2959,7 +2621,18 @@ "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true + "dev": true, + "license": "MIT" + }, + "node_modules/baseline-browser-mapping": { + "version": "2.9.18", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.18.tgz", + "integrity": "sha512-e23vBV1ZLfjb9apvfPk4rHVu2ry6RIr2Wfs+O324okSidrX7pTAnEJPCh/O5BtRlr7QtZI7ktOP3vsqr7Z5XoA==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.js" + } }, "node_modules/brace-expansion": { "version": "1.1.13", @@ -2977,6 +2650,7 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, + "license": "MIT", "dependencies": { "fill-range": "^7.1.1" }, @@ -2985,9 +2659,9 @@ } }, "node_modules/browserslist": { - "version": "4.24.4", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.4.tgz", - "integrity": "sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A==", + "version": "4.28.1", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", + "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", "dev": true, "funding": [ { @@ -3005,10 +2679,11 @@ ], "license": "MIT", "dependencies": { - "caniuse-lite": "^1.0.30001688", - "electron-to-chromium": "^1.5.73", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.1" + "baseline-browser-mapping": "^2.9.0", + "caniuse-lite": "^1.0.30001759", + "electron-to-chromium": "^1.5.263", + "node-releases": "^2.0.27", + "update-browserslist-db": "^1.2.0" }, "bin": { "browserslist": "cli.js" @@ -3022,6 +2697,7 @@ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz", "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "node-int64": "^0.4.0" } @@ -3030,12 +2706,14 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/callsites": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "license": "MIT", "engines": { "node": ">=6" } @@ -3045,14 +2723,15 @@ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001703", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001703.tgz", - "integrity": "sha512-kRlAGTRWgPsOj7oARC9m1okJEXdL/8fekFVcxA8Hl7GH4r/sN4OJn/i6Flde373T50KS7Y37oFbMwlE8+F42kQ==", + "version": "1.0.30001766", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001766.tgz", + "integrity": "sha512-4C0lfJ0/YPjJQHagaE9x2Elb69CIqEPZeG0anQt9SIvIoOH4a4uaRl73IavyO+0qZh6MDLH//DrXThEYKHkmYA==", "dev": true, "funding": [ { @@ -3070,19 +2749,37 @@ ], "license": "CC-BY-4.0" }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } }, "node_modules/ci-info": { - "version": "3.8.0", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.8.0.tgz", - "integrity": "sha512-eXTggHWSooYhq49F2opQhuHWgzucfF2YgODK4e1566GQs5BIfP30B0oenwBJHfWxAs2fyPB1s7Mg949zLf61Yw==", + "version": "3.9.0", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz", + "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==", "dev": true, "funding": [ { @@ -3090,21 +2787,24 @@ "url": "https://github.com/sponsors/sibiraj-s" } ], + "license": "MIT", "engines": { "node": ">=8" } }, "node_modules/cjs-module-lexer": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz", - "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==", - "dev": true + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.3.tgz", + "integrity": "sha512-9z8TZaGM1pfswYeXrUpzPrkx8UnWYdhJclsiYMm6x/w5+nN+8Tf/LnAgfLGQCm59qAOxU8WwHEq2vNwF6i4j+Q==", + "dev": true, + "license": "MIT" }, "node_modules/cliui": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, + "license": "ISC", "dependencies": { "string-width": "^4.2.0", "strip-ansi": "^6.0.1", @@ -3115,9 +2815,10 @@ } }, "node_modules/clsx": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.0.0.tgz", - "integrity": "sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q==", + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", "engines": { "node": ">=6" } @@ -3127,32 +2828,57 @@ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz", "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==", "dev": true, + "license": "MIT", "engines": { "iojs": ">= 1.0.0", "node": ">= 0.12.0" } }, "node_modules/collect-v8-coverage": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz", - "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==", - "dev": true + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.3.tgz", + "integrity": "sha512-1L5aqIkwPfiodaMgQunkF1zRhNqifHBmtbbbxcr6yVxxBnliw4TDOW6NxpO8DJLgJ16OT+Y4ztZqP6p/FtXnAw==", + "dev": true, + "license": "MIT" + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" }, "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/convert-source-map": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==" + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "license": "MIT" }, "node_modules/cosmiconfig": { "version": "7.1.0", "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.1.0.tgz", "integrity": "sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==", + "license": "MIT", "dependencies": { "@types/parse-json": "^4.0.0", "import-fresh": "^3.2.1", @@ -3178,6 +2904,7 @@ "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz", "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -3194,76 +2921,6 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/create-jest/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/create-jest/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/create-jest/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/create-jest/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/create-jest/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/create-jest/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/cross-spawn": { "version": "7.0.6", "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", @@ -3280,16 +2937,18 @@ } }, "node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" }, "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", "dependencies": { - "ms": "2.1.2" + "ms": "^2.1.3" }, "engines": { "node": ">=6.0" @@ -3301,10 +2960,11 @@ } }, "node_modules/dedent": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz", - "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==", + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.7.1.tgz", + "integrity": "sha512-9JmrhGZpOlEgOLdQgSm0zxFaYoQon408V1v49aqTWuXENVlnCuY9JBZcXZiCsZQWDjTm5Qf/nIvAy77mXDAjEg==", "dev": true, + "license": "MIT", "peerDependencies": { "babel-plugin-macros": "^3.1.0" }, @@ -3319,6 +2979,7 @@ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -3328,6 +2989,7 @@ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz", "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3337,6 +2999,7 @@ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -3345,15 +3008,16 @@ "version": "5.2.1", "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "license": "MIT", "dependencies": { "@babel/runtime": "^7.8.7", "csstype": "^3.0.2" } }, "node_modules/electron-to-chromium": { - "version": "1.5.114", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.114.tgz", - "integrity": "sha512-DFptFef3iktoKlFQK/afbo274/XNWD00Am0xa7M8FZUepHlHT8PEuiNBoRfFHbH1okqN58AlhbJ4QTkcnXorjA==", + "version": "1.5.279", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.279.tgz", + "integrity": "sha512-0bblUU5UNdOt5G7XqGiJtpZMONma6WAfq9vsFmtn9x1+joAObr6x1chfqyxFSDCAFwFhCQDrqeAr6MYdpwJ9Hg==", "dev": true, "license": "ISC" }, @@ -3362,6 +3026,7 @@ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz", "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=12" }, @@ -3373,20 +3038,22 @@ "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "license": "MIT", "dependencies": { "is-arrayish": "^0.2.1" } }, "node_modules/esbuild": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.1.tgz", - "integrity": "sha512-BGO5LtrGC7vxnqucAe/rmvKdJllfGaYWdyABvyMoXQlfYMb2bbRuReWR5tEGE//4LcNJj9XrkovTqNYRFZHAMQ==", + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -3397,31 +3064,32 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.1", - "@esbuild/android-arm": "0.25.1", - "@esbuild/android-arm64": "0.25.1", - "@esbuild/android-x64": "0.25.1", - "@esbuild/darwin-arm64": "0.25.1", - "@esbuild/darwin-x64": "0.25.1", - "@esbuild/freebsd-arm64": "0.25.1", - "@esbuild/freebsd-x64": "0.25.1", - "@esbuild/linux-arm": "0.25.1", - "@esbuild/linux-arm64": "0.25.1", - "@esbuild/linux-ia32": "0.25.1", - "@esbuild/linux-loong64": "0.25.1", - "@esbuild/linux-mips64el": "0.25.1", - "@esbuild/linux-ppc64": "0.25.1", - "@esbuild/linux-riscv64": "0.25.1", - "@esbuild/linux-s390x": "0.25.1", - "@esbuild/linux-x64": "0.25.1", - "@esbuild/netbsd-arm64": "0.25.1", - "@esbuild/netbsd-x64": "0.25.1", - "@esbuild/openbsd-arm64": "0.25.1", - "@esbuild/openbsd-x64": "0.25.1", - "@esbuild/sunos-x64": "0.25.1", - "@esbuild/win32-arm64": "0.25.1", - "@esbuild/win32-ia32": "0.25.1", - "@esbuild/win32-x64": "0.25.1" + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" } }, "node_modules/escalade": { @@ -3438,6 +3106,7 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "license": "MIT", "engines": { "node": ">=10" }, @@ -3450,6 +3119,7 @@ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", "dev": true, + "license": "BSD-2-Clause", "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -3463,6 +3133,7 @@ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, + "license": "MIT", "dependencies": { "cross-spawn": "^7.0.3", "get-stream": "^6.0.0", @@ -3495,6 +3166,7 @@ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz", "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/expect-utils": "^29.7.0", "jest-get-type": "^29.6.3", @@ -3510,22 +3182,43 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fb-watchman": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, + "license": "Apache-2.0", "dependencies": { "bser": "2.1.1" } }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, "node_modules/fill-range": { "version": "7.1.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, + "license": "MIT", "dependencies": { "to-regex-range": "^5.0.1" }, @@ -3536,13 +3229,15 @@ "node_modules/find-root": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/find-root/-/find-root-1.1.0.tgz", - "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==" + "integrity": "sha512-NKfW6bec6GfKc0SGx1e07QZY9PE99u0Bft/0rzSD5k3sO/vwkVUpDUKVm5Gpp5Ue3YfShPFTX2070tDs5kB9Ng==", + "license": "MIT" }, "node_modules/find-up": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", "dev": true, + "license": "MIT", "dependencies": { "locate-path": "^5.0.0", "path-exists": "^4.0.0" @@ -3555,7 +3250,8 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/fsevents": { "version": "2.3.3", @@ -3563,6 +3259,7 @@ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "optional": true, "os": [ "darwin" @@ -3572,15 +3269,20 @@ } }, "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6.9.0" } @@ -3590,6 +3292,7 @@ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, + "license": "ISC", "engines": { "node": "6.* || 8.* || >= 10.*" } @@ -3599,6 +3302,7 @@ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8.0.0" } @@ -3608,6 +3312,7 @@ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -3619,7 +3324,9 @@ "version": "7.2.3", "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, + "license": "ISC", "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", @@ -3635,36 +3342,40 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "license": "MIT", - "engines": { - "node": ">=4" - } - }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true + "dev": true, + "license": "ISC" }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "license": "MIT", "dependencies": { - "function-bind": "^1.1.1" + "function-bind": "^1.1.2" }, "engines": { - "node": ">= 0.4.0" + "node": ">= 0.4" } }, "node_modules/hoist-non-react-statics": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz", "integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==", + "license": "BSD-3-Clause", "dependencies": { "react-is": "^16.7.0" } @@ -3672,27 +3383,31 @@ "node_modules/hoist-non-react-statics/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/human-signals": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", "dev": true, + "license": "Apache-2.0", "engines": { "node": ">=10.17.0" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -3705,10 +3420,11 @@ } }, "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.2.0.tgz", + "integrity": "sha512-2SPlun1JUPWoM6t3F0dw0FkCF/jWY8kttcY4f599GLTSjh2OCuuhdTkJQsEcZzBqbXZGKMK2OqW1oZsjtf/gQA==", "dev": true, + "license": "MIT", "dependencies": { "pkg-dir": "^4.2.0", "resolve-cwd": "^3.0.0" @@ -3728,6 +3444,7 @@ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.8.19" } @@ -3736,7 +3453,9 @@ "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, + "license": "ISC", "dependencies": { "once": "^1.3.0", "wrappy": "1" @@ -3746,19 +3465,25 @@ "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==" + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "license": "MIT" }, "node_modules/is-core-module": { - "version": "2.13.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", - "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "license": "MIT", "dependencies": { - "has": "^1.0.3" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -3769,6 +3494,7 @@ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -3778,6 +3504,7 @@ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz", "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -3787,6 +3514,7 @@ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.12.0" } @@ -3796,6 +3524,7 @@ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -3807,26 +3536,29 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/istanbul-lib-coverage": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", - "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=8" } }, "node_modules/istanbul-lib-instrument": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz", - "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", "istanbul-lib-coverage": "^3.2.0", "semver": "^7.5.4" }, @@ -3834,26 +3566,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -3861,17 +3579,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-instrument/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/istanbul-lib-report": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^4.0.0", @@ -3881,32 +3594,12 @@ "node": ">=10" } }, - "node_modules/istanbul-lib-report/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-report/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/istanbul-lib-source-maps": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^3.0.0", @@ -3921,15 +3614,17 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } }, "node_modules/istanbul-reports": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz", - "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==", + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" @@ -3943,6 +3638,7 @@ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz", "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/core": "^29.7.0", "@jest/types": "^29.6.3", @@ -3969,6 +3665,7 @@ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz", "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==", "dev": true, + "license": "MIT", "dependencies": { "execa": "^5.0.0", "jest-util": "^29.7.0", @@ -3983,6 +3680,7 @@ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz", "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/expect": "^29.7.0", @@ -4009,184 +3707,46 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-circus/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/jest-cli": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", + "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" + "@jest/core": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "chalk": "^4.0.0", + "create-jest": "^29.7.0", + "exit": "^0.1.2", + "import-local": "^3.0.2", + "jest-config": "^29.7.0", + "jest-util": "^29.7.0", + "jest-validate": "^29.7.0", + "yargs": "^17.3.1" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-circus/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" + "bin": { + "jest": "bin/jest.js" }, "engines": { - "node": ">=10" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "peerDependencies": { + "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" + }, + "peerDependenciesMeta": { + "node-notifier": { + "optional": true + } } }, - "node_modules/jest-circus/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-circus/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-circus/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-circus/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz", - "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==", - "dev": true, - "dependencies": { - "@jest/core": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "chalk": "^4.0.0", - "create-jest": "^29.7.0", - "exit": "^0.1.2", - "import-local": "^3.0.2", - "jest-config": "^29.7.0", - "jest-util": "^29.7.0", - "jest-validate": "^29.7.0", - "yargs": "^17.3.1" - }, - "bin": { - "jest": "bin/jest.js" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - }, - "peerDependencies": { - "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0" - }, - "peerDependenciesMeta": { - "node-notifier": { - "optional": true - } - } - }, - "node_modules/jest-cli/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-cli/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-cli/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-cli/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-cli/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", - "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", + "node_modules/jest-config": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz", + "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@jest/test-sequencer": "^29.7.0", @@ -4227,81 +3787,12 @@ } } }, - "node_modules/jest-config/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-config/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-config/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-config/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-config/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-diff": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz", "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.6.3", @@ -4312,81 +3803,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-diff/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-diff/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-diff/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-diff/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-diff/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-docblock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz", "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==", "dev": true, + "license": "MIT", "dependencies": { "detect-newline": "^3.0.0" }, @@ -4399,6 +3821,7 @@ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz", "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "chalk": "^4.0.0", @@ -4410,81 +3833,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-each/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-each/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-each/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-each/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-each/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-environment-node": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz", "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -4502,6 +3856,7 @@ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz", "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -4511,6 +3866,7 @@ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz", "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/graceful-fs": "^4.1.3", @@ -4536,6 +3892,7 @@ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz", "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==", "dev": true, + "license": "MIT", "dependencies": { "jest-get-type": "^29.6.3", "pretty-format": "^29.7.0" @@ -4549,6 +3906,7 @@ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz", "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "jest-diff": "^29.7.0", @@ -4559,81 +3917,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-matcher-utils/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-matcher-utils/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-matcher-utils/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-matcher-utils/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-message-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz", "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==", "dev": true, + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.12.13", "@jest/types": "^29.6.3", @@ -4649,81 +3938,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-message-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-message-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-message-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-message-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-message-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-mock": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz", "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -4738,6 +3958,7 @@ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz", "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" }, @@ -4755,6 +3976,7 @@ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz", "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==", "dev": true, + "license": "MIT", "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } @@ -4764,6 +3986,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz", "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==", "dev": true, + "license": "MIT", "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", @@ -4784,6 +4007,7 @@ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz", "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==", "dev": true, + "license": "MIT", "dependencies": { "jest-regex-util": "^29.6.3", "jest-snapshot": "^29.7.0" @@ -4792,183 +4016,45 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/jest-runner": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", + "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", "dev": true, + "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "@jest/console": "^29.7.0", + "@jest/environment": "^29.7.0", + "@jest/test-result": "^29.7.0", + "@jest/transform": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "graceful-fs": "^4.2.9", + "jest-docblock": "^29.7.0", + "jest-environment-node": "^29.7.0", + "jest-haste-map": "^29.7.0", + "jest-leak-detector": "^29.7.0", + "jest-message-util": "^29.7.0", + "jest-resolve": "^29.7.0", + "jest-runtime": "^29.7.0", + "jest-util": "^29.7.0", + "jest-watcher": "^29.7.0", + "jest-worker": "^29.7.0", + "p-limit": "^3.1.0", + "source-map-support": "0.5.13" }, "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-resolve/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-resolve/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-resolve/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-resolve/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-resolve/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz", - "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==", - "dev": true, - "dependencies": { - "@jest/console": "^29.7.0", - "@jest/environment": "^29.7.0", - "@jest/test-result": "^29.7.0", - "@jest/transform": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "graceful-fs": "^4.2.9", - "jest-docblock": "^29.7.0", - "jest-environment-node": "^29.7.0", - "jest-haste-map": "^29.7.0", - "jest-leak-detector": "^29.7.0", - "jest-message-util": "^29.7.0", - "jest-resolve": "^29.7.0", - "jest-runtime": "^29.7.0", - "jest-util": "^29.7.0", - "jest-watcher": "^29.7.0", - "jest-worker": "^29.7.0", - "p-limit": "^3.1.0", - "source-map-support": "0.5.13" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-runner/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runner/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runner/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runner/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runner/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", - "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", + "node_modules/jest-runtime": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz", + "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/environment": "^29.7.0", "@jest/fake-timers": "^29.7.0", @@ -4997,81 +4083,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-runtime/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-runtime/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-runtime/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-runtime/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-runtime/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-snapshot": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz", "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==", "dev": true, + "license": "MIT", "dependencies": { "@babel/core": "^7.11.6", "@babel/generator": "^7.7.2", @@ -5098,84 +4115,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-snapshot/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-snapshot/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-snapshot/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-snapshot/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/jest-snapshot/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -5183,29 +4128,12 @@ "node": ">=10" } }, - "node_modules/jest-snapshot/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-snapshot/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/jest-util": { "version": "29.7.0", "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz", "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "@types/node": "*", @@ -5218,74 +4146,17 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-util/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/jest-util/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, + "license": "MIT", "engines": { - "node": ">=10" + "node": ">=8.6" }, "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-util/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-util/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-util/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-util/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" + "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/jest-validate": { @@ -5293,6 +4164,7 @@ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz", "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==", "dev": true, + "license": "MIT", "dependencies": { "@jest/types": "^29.6.3", "camelcase": "^6.2.0", @@ -5301,179 +4173,41 @@ "leven": "^3.1.0", "pretty-format": "^29.7.0" }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-validate/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/camelcase": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", - "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/jest-validate/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-validate/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-validate/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/jest-validate/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-validate/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jest-watcher": { - "version": "29.7.0", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", - "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", - "dev": true, - "dependencies": { - "@jest/test-result": "^29.7.0", - "@jest/types": "^29.6.3", - "@types/node": "*", - "ansi-escapes": "^4.2.1", - "chalk": "^4.0.0", - "emittery": "^0.13.1", - "jest-util": "^29.7.0", - "string-length": "^4.0.1" - }, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, - "node_modules/jest-watcher/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/jest-watcher/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/jest-watcher/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } }, - "node_modules/jest-watcher/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "node_modules/jest-validate/node_modules/camelcase": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz", + "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==", "dev": true, + "license": "MIT", "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/jest-watcher/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/jest-watcher": { + "version": "29.7.0", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz", + "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==", "dev": true, + "license": "MIT", "dependencies": { - "has-flag": "^4.0.0" + "@jest/test-result": "^29.7.0", + "@jest/types": "^29.6.3", + "@types/node": "*", + "ansi-escapes": "^4.2.1", + "chalk": "^4.0.0", + "emittery": "^0.13.1", + "jest-util": "^29.7.0", + "string-length": "^4.0.1" }, "engines": { - "node": ">=8" + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-worker": { @@ -5481,6 +4215,7 @@ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz", "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==", "dev": true, + "license": "MIT", "dependencies": { "@types/node": "*", "jest-util": "^29.7.0", @@ -5491,20 +4226,12 @@ "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, - "node_modules/jest-worker/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/jest-worker/node_modules/supports-color": { "version": "8.1.1", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", "dev": true, + "license": "MIT", "dependencies": { "has-flag": "^4.0.0" }, @@ -5518,7 +4245,8 @@ "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "license": "MIT" }, "node_modules/js-yaml": { "version": "3.14.2", @@ -5549,13 +4277,15 @@ "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==" + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "license": "MIT" }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, + "license": "MIT", "bin": { "json5": "lib/cli.js" }, @@ -5568,6 +4298,7 @@ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5577,6 +4308,7 @@ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5584,13 +4316,15 @@ "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "license": "MIT" }, "node_modules/locate-path": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", "dev": true, + "license": "MIT", "dependencies": { "p-locate": "^4.1.0" }, @@ -5602,6 +4336,7 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "license": "MIT", "dependencies": { "js-tokens": "^3.0.0 || ^4.0.0" }, @@ -5624,6 +4359,7 @@ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, + "license": "MIT", "dependencies": { "semver": "^7.5.3" }, @@ -5634,26 +4370,12 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/make-dir/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/make-dir/node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, + "license": "ISC", "bin": { "semver": "bin/semver.js" }, @@ -5661,17 +4383,12 @@ "node": ">=10" } }, - "node_modules/make-dir/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, "node_modules/makeerror": { "version": "1.0.12", "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz", "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==", "dev": true, + "license": "BSD-3-Clause", "dependencies": { "tmpl": "1.0.5" } @@ -5680,7 +4397,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/micromatch": { "version": "4.0.8", @@ -5696,11 +4414,25 @@ "node": ">=8.6" } }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5719,14 +4451,15 @@ } }, "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" }, "node_modules/nanoid": { - "version": "3.3.9", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.9.tgz", - "integrity": "sha512-SppoicMGpZvbF1l3z4x7No3OlIjP7QJvC9XR7AhZr1kL133KHnKPztkKDc+Ir4aJ/1VhTySrtKhrsycmrMQfvg==", + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, "funding": [ { @@ -5746,18 +4479,20 @@ "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-int64": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz", "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "version": "2.0.27", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", + "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", "dev": true, "license": "MIT" }, @@ -5766,6 +4501,7 @@ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5775,6 +4511,7 @@ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.0.0" }, @@ -5786,6 +4523,7 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5795,6 +4533,7 @@ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, + "license": "ISC", "dependencies": { "wrappy": "1" } @@ -5804,6 +4543,7 @@ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, + "license": "MIT", "dependencies": { "mimic-fn": "^2.1.0" }, @@ -5819,6 +4559,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, + "license": "MIT", "dependencies": { "yocto-queue": "^0.1.0" }, @@ -5834,6 +4575,7 @@ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, + "license": "MIT", "dependencies": { "p-limit": "^2.2.0" }, @@ -5846,6 +4588,7 @@ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, + "license": "MIT", "dependencies": { "p-try": "^2.0.0" }, @@ -5861,6 +4604,7 @@ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -5869,6 +4613,7 @@ "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -5880,6 +4625,7 @@ "version": "5.2.0", "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "license": "MIT", "dependencies": { "@babel/code-frame": "^7.0.0", "error-ex": "^1.3.1", @@ -5898,6 +4644,7 @@ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5907,6 +4654,7 @@ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } @@ -5916,6 +4664,7 @@ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -5923,12 +4672,14 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "license": "MIT" }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "license": "MIT", "engines": { "node": ">=8" } @@ -5940,23 +4691,24 @@ "license": "ISC" }, "node_modules/picomatch": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", - "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, "license": "MIT", "engines": { - "node": ">=8.6" + "node": ">=12" }, "funding": { "url": "https://github.com/sponsors/jonschlinkert" } }, "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.7.tgz", + "integrity": "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==", "dev": true, + "license": "MIT", "engines": { "node": ">= 6" } @@ -5966,6 +4718,7 @@ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, + "license": "MIT", "dependencies": { "find-up": "^4.0.0" }, @@ -5974,9 +4727,9 @@ } }, "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", "dev": true, "funding": [ { @@ -5994,7 +4747,7 @@ ], "license": "MIT", "dependencies": { - "nanoid": "^3.3.8", + "nanoid": "^3.3.11", "picocolors": "^1.1.1", "source-map-js": "^1.2.1" }, @@ -6007,6 +4760,7 @@ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz", "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==", "dev": true, + "license": "MIT", "dependencies": { "@jest/schemas": "^29.6.3", "ansi-styles": "^5.0.0", @@ -6021,6 +4775,7 @@ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz", "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, @@ -6028,11 +4783,19 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/pretty-format/node_modules/react-is": { + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.3.1.tgz", + "integrity": "sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==", + "dev": true, + "license": "MIT" + }, "node_modules/prompts": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", "dev": true, + "license": "MIT", "dependencies": { "kleur": "^3.0.3", "sisteransi": "^1.0.5" @@ -6045,6 +4808,7 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "license": "MIT", "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -6054,12 +4818,13 @@ "node_modules/prop-types/node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" + "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", + "license": "MIT" }, "node_modules/pure-rand": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz", - "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==", + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz", + "integrity": "sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA==", "dev": true, "funding": [ { @@ -6070,12 +4835,14 @@ "type": "opencollective", "url": "https://opencollective.com/fast-check" } - ] + ], + "license": "MIT" }, "node_modules/react": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react/-/react-18.2.0.tgz", - "integrity": "sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz", + "integrity": "sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" }, @@ -6084,26 +4851,28 @@ } }, "node_modules/react-dom": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.2.0.tgz", - "integrity": "sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==", + "version": "18.3.1", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz", + "integrity": "sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0", - "scheduler": "^0.23.0" + "scheduler": "^0.23.2" }, "peerDependencies": { - "react": "^18.2.0" + "react": "^18.3.1" } }, "node_modules/react-is": { - "version": "18.2.0", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", - "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" + "version": "19.2.4", + "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.2.4.tgz", + "integrity": "sha512-W+EWGn2v0ApPKgKKCy/7s7WHXkboGcsrXE+2joLyVxkbyVQfO3MUEaUQDHoSmb8TFFrSKYa9mw64WZHNHSDzYA==", + "license": "MIT" }, "node_modules/react-refresh": { - "version": "0.14.2", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz", - "integrity": "sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA==", + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", "dev": true, "license": "MIT", "engines": { @@ -6114,6 +4883,7 @@ "version": "4.4.5", "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "license": "BSD-3-Clause", "dependencies": { "@babel/runtime": "^7.5.5", "dom-helpers": "^5.0.1", @@ -6125,32 +4895,32 @@ "react-dom": ">=16.6.0" } }, - "node_modules/regenerator-runtime": { - "version": "0.14.0", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.0.tgz", - "integrity": "sha512-srw17NI0TUWHuGa5CFGGmhfNIeja30WMBfbslPNhf6JrqQlLN5gcrvig1oqPxiVaXb0oW0XRKtH6Nngs5lKCIA==" - }, "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=0.10.0" } }, "node_modules/resolve": { - "version": "1.22.4", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.4.tgz", - "integrity": "sha512-PXNdCiPqDqeUou+w1C2eTQbNfxKSuMxqTCuvlmmMsk1NWHL5fRrhY6Pl0qEYYc6+QqGClco1Qj8XnjPego4wfg==", + "version": "1.22.11", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", + "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", + "license": "MIT", "dependencies": { - "is-core-module": "^2.13.0", + "is-core-module": "^2.16.1", "path-parse": "^1.0.7", "supports-preserve-symlinks-flag": "^1.0.0" }, "bin": { "resolve": "bin/resolve" }, + "engines": { + "node": ">= 0.4" + }, "funding": { "url": "https://github.com/sponsors/ljharb" } @@ -6160,6 +4930,7 @@ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", "dev": true, + "license": "MIT", "dependencies": { "resolve-from": "^5.0.0" }, @@ -6172,6 +4943,7 @@ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6180,15 +4952,17 @@ "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "license": "MIT", "engines": { "node": ">=4" } }, "node_modules/resolve.exports": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz", - "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.3.tgz", + "integrity": "sha512-OcXjMsGdhL4XnbShKpAcSqPMzQoYkYyhbEaeSko47MjRP9NfEQMhZkXL1DoFlt9LWQn4YttrdnV6X2OiyzBi+A==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" } @@ -6239,9 +5013,10 @@ } }, "node_modules/scheduler": { - "version": "0.23.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.0.tgz", - "integrity": "sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==", + "version": "0.23.2", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.23.2.tgz", + "integrity": "sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==", + "license": "MIT", "dependencies": { "loose-envify": "^1.1.0" } @@ -6251,6 +5026,7 @@ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, + "license": "ISC", "bin": { "semver": "bin/semver.js" } @@ -6260,6 +5036,7 @@ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, + "license": "MIT", "dependencies": { "shebang-regex": "^3.0.0" }, @@ -6272,6 +5049,7 @@ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6280,19 +5058,22 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/sisteransi": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6301,6 +5082,7 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6320,6 +5102,7 @@ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz", "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==", "dev": true, + "license": "MIT", "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" @@ -6330,6 +5113,7 @@ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.10.0" } @@ -6338,13 +5122,15 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/stack-utils": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz", "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==", "dev": true, + "license": "MIT", "dependencies": { "escape-string-regexp": "^2.0.0" }, @@ -6357,6 +5143,7 @@ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz", "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6366,6 +5153,7 @@ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz", "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==", "dev": true, + "license": "MIT", "dependencies": { "char-regex": "^1.0.2", "strip-ansi": "^6.0.0" @@ -6379,6 +5167,7 @@ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, + "license": "MIT", "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", @@ -6393,6 +5182,7 @@ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, + "license": "MIT", "dependencies": { "ansi-regex": "^5.0.1" }, @@ -6405,6 +5195,7 @@ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz", "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" } @@ -6414,6 +5205,7 @@ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -6423,6 +5215,7 @@ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -6433,12 +5226,27 @@ "node_modules/stylis": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.2.0.tgz", - "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==" + "integrity": "sha512-Orov6g6BB1sDfYgzWfTHDOxamtX1bE/zo104Dh9e6fqJ3PooipYyfJ0pUmrZO2wAvO8YbEyeFrkV91XTsGMSrw==", + "license": "MIT" + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "license": "MIT", "engines": { "node": ">= 0.4" }, @@ -6451,6 +5259,7 @@ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", "dev": true, + "license": "ISC", "dependencies": { "@istanbuljs/schema": "^0.1.2", "glob": "^7.1.4", @@ -6461,14 +5270,14 @@ } }, "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", "dev": true, "license": "MIT", "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" + "fdir": "^6.5.0", + "picomatch": "^4.0.3" }, "engines": { "node": ">=12.0.0" @@ -6477,45 +5286,19 @@ "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/tmpl": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz", "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==", - "dev": true + "dev": true, + "license": "BSD-3-Clause" }, "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, + "license": "MIT", "dependencies": { "is-number": "^7.0.0" }, @@ -6528,6 +5311,7 @@ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -6537,6 +5321,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -6545,10 +5330,11 @@ } }, "node_modules/typescript": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", - "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -6558,15 +5344,16 @@ } }, "node_modules/undici-types": { - "version": "5.25.3", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.25.3.tgz", - "integrity": "sha512-Ga1jfYwRn7+cP9v8auvEXN1rX3sWqlayd4HP7OKk4mZWylEmu3KzXDUGrQUN6Ol7qo1gPvB2e5gX6udnyEPgdA==", - "dev": true + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "dev": true, + "license": "MIT" }, "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", "dev": true, "funding": [ { @@ -6595,10 +5382,11 @@ } }, "node_modules/v8-to-istanbul": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.1.3.tgz", - "integrity": "sha512-9lDD+EVI2fjFsMWXc6dy5JJzBsVTcQ2fVkfBvncZ6xJWG9wtBhOldG+mHkSL0+V1K/xgZz0JDO5UT5hFwHUghg==", + "version": "9.3.0", + "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", + "integrity": "sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==", "dev": true, + "license": "ISC", "dependencies": { "@jridgewell/trace-mapping": "^0.3.12", "@types/istanbul-lib-coverage": "^2.0.1", @@ -6612,7 +5400,8 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/vite": { "version": "6.4.2", @@ -6689,39 +5478,12 @@ } } }, - "node_modules/vite/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, "node_modules/walker": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz", "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==", "dev": true, + "license": "Apache-2.0", "dependencies": { "makeerror": "1.0.12" } @@ -6731,6 +5493,7 @@ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "license": "ISC", "dependencies": { "isexe": "^2.0.0" }, @@ -6746,6 +5509,7 @@ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, + "license": "MIT", "dependencies": { "ansi-styles": "^4.0.0", "string-width": "^4.1.0", @@ -6758,50 +5522,19 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "dependencies": { - "color-convert": "^2.0.1" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true + "dev": true, + "license": "ISC" }, "node_modules/write-file-atomic": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz", "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==", "dev": true, + "license": "ISC", "dependencies": { "imurmurhash": "^0.1.4", "signal-exit": "^3.0.7" @@ -6815,6 +5548,7 @@ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, + "license": "ISC", "engines": { "node": ">=10" } @@ -6831,6 +5565,7 @@ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, + "license": "MIT", "dependencies": { "cliui": "^8.0.1", "escalade": "^3.1.1", @@ -6849,6 +5584,7 @@ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, + "license": "ISC", "engines": { "node": ">=12" } @@ -6858,6 +5594,7 @@ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, + "license": "MIT", "engines": { "node": ">=10" }, diff --git a/docker-extension/ui/package.json b/docker-extension/ui/package.json index cf78c5cdb..272b6f0c3 100644 --- a/docker-extension/ui/package.json +++ b/docker-extension/ui/package.json @@ -5,14 +5,13 @@ "type": "module", "dependencies": { "@docker/docker-mui-theme": "<0.1.0", - "@docker/extension-api-client": "0.3.4", - "@emotion/react": "^11.10.4", - "@emotion/styled": "^11.10.4", - "@mui/icons-material": "^5.14.12", - "@mui/lab": "^5.0.0-alpha.147", - "@mui/material": "^5.14.12", + "@docker/extension-api-client": "0.4.2", + "@emotion/react": "11.14.0", + "@emotion/styled": "11.14.1", + "@mui/material": "6.5.0", "react": "^18.2.0", - "react-dom": "^18.2.0" + "react-dom": "^18.2.0", + "@mui/icons-material": "6.5.0" }, "scripts": { "dev": "vite", @@ -20,7 +19,7 @@ "test": "jest src" }, "devDependencies": { - "@docker/extension-api-client-types": "0.3.4", + "@docker/extension-api-client-types": "0.4.2", "@types/jest": "^29.5.5", "@types/node": "^20.8.4", "@types/react": "^18.2.27", diff --git a/docker-extension/ui/src/main.tsx b/docker-extension/ui/src/main.tsx index c730e6d27..d39b4cce3 100644 --- a/docker-extension/ui/src/main.tsx +++ b/docker-extension/ui/src/main.tsx @@ -1,15 +1,15 @@ import React from "react"; import ReactDOM from "react-dom/client"; import CssBaseline from "@mui/material/CssBaseline"; -import { DockerMuiThemeProvider } from "@docker/docker-mui-theme"; +import { DockerMuiV6ThemeProvider } from "@docker/docker-mui-theme"; import { App } from "./views/App"; ReactDOM.createRoot(document.getElementById("root") as HTMLElement).render( - + - + ); diff --git a/docker-extension/ui/src/views/App.tsx b/docker-extension/ui/src/views/App.tsx index 1182e3db0..df35278e0 100644 --- a/docker-extension/ui/src/views/App.tsx +++ b/docker-extension/ui/src/views/App.tsx @@ -7,7 +7,7 @@ import { handleGoTo } from "../common/goto"; import { Workshop, ListResponse, DeployResponse, DeleteResponse } from "../common/types"; import { isValidURL } from "../common/validations"; import OptionsPane from "../components/OptionsPane/OptionsPane"; -import { LoadingButton } from "@mui/lab"; +import Button from "@mui/material/Button"; const sampleWorkshopURL = "https://github.com/educates/lab-container-basics/releases/latest/download/workshop.yaml"; @@ -171,9 +171,9 @@ export function App() { - + diff --git a/go.work b/go.work index 6c7d3437c..ede191bb3 100644 --- a/go.work +++ b/go.work @@ -1,4 +1,4 @@ -go 1.25.0 +go 1.25.6 use ( ./client-programs/ diff --git a/go.work.sum b/go.work.sum index fcb906b8e..983c223a1 100644 --- a/go.work.sum +++ b/go.work.sum @@ -419,7 +419,6 @@ github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= @@ -913,6 +912,9 @@ golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= +golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -968,8 +970,6 @@ golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0 golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= -golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= -golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= golang.org/x/tools v0.36.0/go.mod h1:WBDiHKJK8YgLHlcQPYQzNCkUxUypCaa5ZegCVutKm+s= @@ -1171,11 +1171,10 @@ sigs.k8s.io/controller-runtime v0.15.3/go.mod h1:kp4jckA4vTx281S/0Yk2LFEEQe67mjg sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= -sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= sigs.k8s.io/kind v0.29.0 h1:3TpCsyh908IkXXpcSnsMjWdwdWjIl7o9IMZImZCWFnI= sigs.k8s.io/kind v0.29.0/go.mod h1:ldWQisw2NYyM6k64o/tkZng/1qQW7OlzcN5a8geJX3o= -sigs.k8s.io/kind v0.31.0 h1:UcT4nzm+YM7YEbqiAKECk+b6dsvc/HRZZu9U0FolL1g= -sigs.k8s.io/kind v0.31.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= +sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= +sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/knftables v0.0.14/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/knftables v0.0.17/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM= diff --git a/tunnel-manager/go.mod b/tunnel-manager/go.mod index 04fbb8780..7f738701e 100644 --- a/tunnel-manager/go.mod +++ b/tunnel-manager/go.mod @@ -1,6 +1,6 @@ module main -go 1.20 +go 1.25.6 require ( github.com/gorilla/websocket v1.5.0 // indirect diff --git a/workshop-images/base-environment/Dockerfile b/workshop-images/base-environment/Dockerfile index 75143fed2..1ff6d80ae 100644 --- a/workshop-images/base-environment/Dockerfile +++ b/workshop-images/base-environment/Dockerfile @@ -78,7 +78,9 @@ WORKDIR /opt/helper RUN npm install && \ npm run vsce-package -FROM golang:1.19-buster as builder-image +FROM golang:1.25.6 as builder-image +ARG TARGETOS +ARG TARGETARCH WORKDIR /app @@ -87,7 +89,7 @@ echo "09cd14a34f17d88cd4f0d2b73e0bbd0bf56984be21bc947f416a7824a709011e /tmp/git- tar xvf /tmp/git-serve.tar.gz && \ cd git-serve-0.0.5 && \ go mod download && \ - go build -o git-serve cmd/git-serve/main.go + GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o git-serve cmd/git-serve/main.go FROM system-base AS scratch-image From ce46f544268987b8c93bf6c55ed0768c896336f4 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Wed, 28 Jan 2026 18:58:07 +0100 Subject: [PATCH 23/41] Adding labels to containers --- .../pkg/cmd/docker_workshop_open_cmd.go | 2 +- .../pkg/cmd/local_secrets_add_ca_cmd.go | 3 +- .../pkg/cmd/local_secrets_add_tls_cmd.go | 3 +- client-programs/pkg/constants/names.go | 33 +++++++++++++++++-- .../pkg/diagnostics/diagnostics.go | 2 +- client-programs/pkg/diagnostics/fetcher.go | 4 +-- .../pkg/docker/workshop_manager.go | 29 ++++++++-------- .../pkg/educates/local/workshops/manager.go | 5 +-- .../pkg/educates/resources/portal/manager.go | 2 +- .../educates/resources/sessions/manager.go | 9 ++--- .../educates/resources/workshops/manager.go | 12 +++---- client-programs/pkg/registry/base.go | 30 ++++++++++++++++- client-programs/pkg/registry/mirror.go | 18 +++------- client-programs/pkg/registry/registry.go | 5 +-- client-programs/pkg/resolver/resolver.go | 8 +++++ client-programs/pkg/secrets/secrets.go | 4 +-- 16 files changed, 114 insertions(+), 55 deletions(-) diff --git a/client-programs/pkg/cmd/docker_workshop_open_cmd.go b/client-programs/pkg/cmd/docker_workshop_open_cmd.go index 0412cb8ea..683de9277 100644 --- a/client-programs/pkg/cmd/docker_workshop_open_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_open_cmd.go @@ -82,7 +82,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { return errors.New("unable to find workshop") } - url, found := container.Config.Labels["training.educates.dev/url"] + url, found := container.Config.Labels[constants.EducatesWorkshopLabelAnnotationURL] if !found || url == "" { return errors.New("can't determine URL for workshop") diff --git a/client-programs/pkg/cmd/local_secrets_add_ca_cmd.go b/client-programs/pkg/cmd/local_secrets_add_ca_cmd.go index 0810931cb..b6220e0be 100644 --- a/client-programs/pkg/cmd/local_secrets_add_ca_cmd.go +++ b/client-programs/pkg/cmd/local_secrets_add_ca_cmd.go @@ -6,6 +6,7 @@ import ( "path" "regexp" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -64,7 +65,7 @@ func (o *LocalSecretsAddCaOptions) Run(name string) error { } if o.IngressDomain != "" { - secret.ObjectMeta.Annotations["training.educates.dev/domain"] = o.IngressDomain + secret.ObjectMeta.Annotations[constants.EducatesTrainingLabelAnnotationDomain] = o.IngressDomain } secretData, err := json.MarshalIndent(&secret, "", " ") diff --git a/client-programs/pkg/cmd/local_secrets_add_tls_cmd.go b/client-programs/pkg/cmd/local_secrets_add_tls_cmd.go index 01be3588a..c8a95891f 100644 --- a/client-programs/pkg/cmd/local_secrets_add_tls_cmd.go +++ b/client-programs/pkg/cmd/local_secrets_add_tls_cmd.go @@ -6,6 +6,7 @@ import ( "path" "regexp" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -72,7 +73,7 @@ func (o *LocalSecretsAddTlsOptions) Run(name string) error { } if o.IngressDomain != "" { - secret.ObjectMeta.Annotations["training.educates.dev/domain"] = o.IngressDomain + secret.ObjectMeta.Annotations[constants.EducatesTrainingLabelAnnotationDomain] = o.IngressDomain } secretData, err := json.MarshalIndent(&secret, "", " ") diff --git a/client-programs/pkg/constants/names.go b/client-programs/pkg/constants/names.go index b9553a6b1..2f6aa9f52 100644 --- a/client-programs/pkg/constants/names.go +++ b/client-programs/pkg/constants/names.go @@ -8,8 +8,35 @@ const ( EducatesNetworkName = "educates" EducatesRegistryContainer = "educates-registry" EducatesControlPlaneContainer = "educates-control-plane" - EducatesRegistryRoleLabel = "registry" - EducatesMirrorRoleLabel = "mirror" - EducatesAppLabel = "educates" EducatesResolverContainerName = "educates-resolver" + + // Workshop API Group and Version + EducatesTrainingAPIGroup = "training.educates.dev" + EducatesTrainingAPIVersion = "v1beta1" + EducatesTrainingAPIGroupVersion = "training.educates.dev/v1beta1" + + // Workshop Pod Label/Annotations Keys + EducatesWorkshopLabelAnnotationURL = "training.educates.dev/url" + EducatesWorkshopLabelAnnotationSource = "training.educates.dev/source" + EducatesWorkshopLabelAnnotationSession = "training.educates.dev/session" + EducatesWorkshopLabelAnnotationWorkshop = "training.educates.dev/workshop" + EducatesWorkshopLabelAnnotationComponent = "training.educates.dev/component" + EducatesWorkshopLabelAnnotationComponentPortal = "training.educates.dev/component=portal" + + EducatesTrainingLabelAnnotationDomain = "training.educates.dev/domain" + EducatesTrainingLabelAnnotationEnvironmentName = "training.educates.dev/environment.name" + EducatesTrainingLabelAnnotationPortalName = "training.educates.dev/portal.name" + + // Container Label Keys + EducatesContainersAppLabelKey = "educates.dev/app" + EducatesContainersRoleLabelKey = "educates.dev/role" + EducatesContainersMirrorLabelKey = "educates.dev/mirror" + EducatesContainersURLLabelKey = "educates.dev/url" + EducatesContainersUsernameLabelKey = "educates.dev/username" + // Container Label Values + EducatesContainersRegistryRoleLabel = "registry" + EducatesContainersMirrorRoleLabel = "mirror" + EducatesContainersResolverRoleLabel = "resolver" + EducatesContainersWorkshopRoleLabel = "workshop" + EducatesContainersAppLabel = "educates" ) diff --git a/client-programs/pkg/diagnostics/diagnostics.go b/client-programs/pkg/diagnostics/diagnostics.go index 888768c45..d129414ad 100644 --- a/client-programs/pkg/diagnostics/diagnostics.go +++ b/client-programs/pkg/diagnostics/diagnostics.go @@ -83,7 +83,7 @@ func (c *ClusterDiagnostics) Run() error { fmt.Println("Error fetching logs for secrets-manager: ", err) } // dump logs for all training-portal deployments - if err = clusterDiagnosticsFetcher.fetchLogsForDeployment("deployment=training-portal", "training.educates.dev/component=portal", "training-portal-%v.log"); err != nil { + if err = clusterDiagnosticsFetcher.fetchLogsForDeployment("deployment=training-portal", constants.EducatesWorkshopLabelAnnotationComponentPortal, "training-portal-%v.log"); err != nil { fmt.Println("Error fetching logs for secrets-manager: ", err) } // Fetch workshop_list from Rest API for each training-portal diff --git a/client-programs/pkg/diagnostics/fetcher.go b/client-programs/pkg/diagnostics/fetcher.go index 9662eb05e..e195926d6 100644 --- a/client-programs/pkg/diagnostics/fetcher.go +++ b/client-programs/pkg/diagnostics/fetcher.go @@ -35,7 +35,7 @@ func (c *ClusterDiagnosticsFetcher) getEducatesNamespaces(fileName string) error } namespaces, err := client.CoreV1().Namespaces().List(context.TODO(), metav1.ListOptions{ - // LabelSelector: "training.educates.dev/component", + // LabelSelector: constants.EducatesWorkshopLabelAnnotationComponent, }) if err != nil { return err @@ -88,7 +88,7 @@ func (c *ClusterDiagnosticsFetcher) getEducatesNamespacesEvents(fileName string) continue } events, err := client.CoreV1().Events(namespace.Name).List(context.TODO(), metav1.ListOptions{ - // LabelSelector: "training.educates.dev/component", + // LabelSelector: constants.EducatesWorkshopLabelAnnotationComponent, }) for _, object := range events.Items { object.SetManagedFields(nil) // Remove managedFields from the object diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index dbb1adfa8..e03e8ed52 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -40,11 +40,6 @@ const ( WorkshopStatusStarting = "Starting" WorkshopStatusRunning = "Running" WorkshopStatusStopping = "Stopping" - - // Workshop label constants - LabelURL = "training.educates.dev/url" - LabelSource = "training.educates.dev/source" - LabelSession = "training.educates.dev/session" ) const containerScript = `exec bash -s << "EOF" @@ -178,9 +173,9 @@ func (m *DockerWorkshopsManager) ListWorkshops() ([]DockerWorkshopDetails, error return nil, err } - containers, err := cli.ContainerList(ctx, container.ListOptions{}) + containers, err := cli.ContainerList(ctx, container.ListOptions{Filters: getWorkshopContainerLabelFilters()}) if err != nil { - return nil, errors.Wrap(err, "unable to list containers") + return nil, errors.Wrap(err, "unable to list Educates workshop containers") } // Copy statuses while holding lock briefly @@ -198,9 +193,9 @@ func (m *DockerWorkshopsManager) ListWorkshops() ([]DockerWorkshopDetails, error m.StatusesMutex.Unlock() for _, ctr := range containers { - url, found := ctr.Labels[LabelURL] - source := ctr.Labels[LabelSource] - instance := ctr.Labels[LabelSession] + url, found := ctr.Labels[constants.EducatesWorkshopLabelAnnotationURL] + source := ctr.Labels[constants.EducatesWorkshopLabelAnnotationSource] + instance := ctr.Labels[constants.EducatesWorkshopLabelAnnotationSession] status := WorkshopStatusRunning if details, statusFound := statusesCopy[instance]; statusFound { @@ -370,7 +365,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s defer m.ClearWorkshopStatus(name) - originalName := workshop.GetAnnotations()["training.educates.dev/workshop"] + originalName := workshop.GetAnnotations()[constants.EducatesWorkshopLabelAnnotationWorkshop] configFileDir := utils.GetEducatesHomeDir() composeConfigDir := path.Join(configFileDir, "compose", name) @@ -981,8 +976,10 @@ func generateWorkshopLabels(workshop *unstructured.Unstructured, host string, po domain := fmt.Sprintf("%s.nip.io", strings.ReplaceAll(host, ".", "-")) - labels[LabelURL] = fmt.Sprintf("http://workshop.%s:%d", domain, port) - labels[LabelSession] = workshop.GetName() + labels[constants.EducatesContainersAppLabelKey] = constants.EducatesContainersAppLabel + labels[constants.EducatesContainersRoleLabelKey] = constants.EducatesContainersWorkshopRoleLabel + labels[constants.EducatesWorkshopLabelAnnotationURL] = fmt.Sprintf("http://workshop.%s:%d", domain, port) + labels[constants.EducatesWorkshopLabelAnnotationSession] = workshop.GetName() return labels, nil } @@ -1064,3 +1061,9 @@ func generateClusterKubeconfig(name string) (string, error) { return string(kubeConfigData), nil } +func getWorkshopContainerLabelFilters() filters.Args { + return filters.NewArgs( + filters.Arg("label", constants.EducatesContainersAppLabelKey+"="+constants.EducatesContainersAppLabel), + filters.Arg("label", constants.EducatesContainersRoleLabelKey+"="+constants.EducatesContainersWorkshopRoleLabel), + ) +} diff --git a/client-programs/pkg/educates/local/workshops/manager.go b/client-programs/pkg/educates/local/workshops/manager.go index fb75f55a2..b75d4dc64 100644 --- a/client-programs/pkg/educates/local/workshops/manager.go +++ b/client-programs/pkg/educates/local/workshops/manager.go @@ -11,6 +11,7 @@ import ( vendirsync "carvel.dev/vendir/pkg/vendir/cmd" yttcmd "carvel.dev/ytt/pkg/cmd/template" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" eduk8sWorkshops "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/templates" @@ -134,7 +135,7 @@ func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) (stri return "", errors.Wrap(err, "couldn't parse workshop definition") } - if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { + if workshop.GetAPIVersion() != constants.EducatesTrainingAPIGroupVersion || workshop.GetKind() != "Workshop" { return "", errors.New("invalid type for workshop definition") } @@ -213,7 +214,7 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err carvelUI.PrintLinef("Processing workshop with name %q", workshop.GetName()) - if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { + if workshop.GetAPIVersion() != constants.EducatesTrainingAPIGroupVersion || workshop.GetKind() != "Workshop" { return errors.New("invalid type for workshop definition") } diff --git a/client-programs/pkg/educates/resources/portal/manager.go b/client-programs/pkg/educates/resources/portal/manager.go index 5f5c4372d..df2b45385 100644 --- a/client-programs/pkg/educates/resources/portal/manager.go +++ b/client-programs/pkg/educates/resources/portal/manager.go @@ -107,7 +107,7 @@ func (m *PortalManager) CreateTrainingPortal(cfg *TrainingPortalCreateConfig) er } trainingPortal.SetUnstructuredContent(map[string]interface{}{ - "apiVersion": "training.educates.dev/v1beta1", + "apiVersion": constants.EducatesTrainingAPIGroupVersion, "kind": "TrainingPortal", "metadata": map[string]interface{}{ "name": cfg.Portal, diff --git a/client-programs/pkg/educates/resources/sessions/manager.go b/client-programs/pkg/educates/resources/sessions/manager.go index 136c87040..e8bf970fb 100644 --- a/client-programs/pkg/educates/resources/sessions/manager.go +++ b/client-programs/pkg/educates/resources/sessions/manager.go @@ -5,6 +5,7 @@ import ( "fmt" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" educatesrestapi "github.com/educates/educates-training-platform/client-programs/pkg/educates/restapi" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/educates/educates-training-platform/client-programs/pkg/utils" @@ -61,11 +62,11 @@ func (m *SessionManager) ListSessions(cfg ListSessionsConfig) (string, error) { for _, item := range workshopSessions.Items { labels := item.GetLabels() - portal, ok := labels["training.educates.dev/portal.name"] + portal, ok := labels[constants.EducatesTrainingLabelAnnotationPortalName] if ok && portal == cfg.Portal { if cfg.Environment != "" { - environment, ok := labels["training.educates.dev/environment.name"] + environment, ok := labels[constants.EducatesTrainingLabelAnnotationEnvironmentName] if ok && environment == cfg.Environment { sessions = append(sessions, item) @@ -85,8 +86,8 @@ func (m *SessionManager) ListSessions(cfg ListSessionsConfig) (string, error) { for _, item := range sessions { name := item.GetName() labels := item.GetLabels() - portal := labels["training.educates.dev/portal.name"] - environment := labels["training.educates.dev/environment.name"] + portal := labels[constants.EducatesTrainingLabelAnnotationPortalName] + environment := labels[constants.EducatesTrainingLabelAnnotationEnvironmentName] status, _, _ := unstructured.NestedString(item.Object, "status", "educates", "phase") diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops/manager.go index 858d528c5..4d08d3e4b 100644 --- a/client-programs/pkg/educates/resources/workshops/manager.go +++ b/client-programs/pkg/educates/resources/workshops/manager.go @@ -97,7 +97,7 @@ func (m *WorkshopManager) DeployWorkshopResource(o *DeployWorkshopConfig) error trainingPortal = &unstructured.Unstructured{} trainingPortal.SetUnstructuredContent(map[string]interface{}{ - "apiVersion": "training.educates.dev/v1beta1", + "apiVersion": constants.EducatesTrainingAPIGroupVersion, "kind": "TrainingPortal", "metadata": map[string]interface{}{ "name": o.Portal, @@ -483,7 +483,7 @@ func (m *WorkshopManager) ListWorkshopResources(o *ListWorkshopResourcesConfig) if err == nil { annotations := workshop.GetAnnotations() - if val, ok := annotations["training.educates.dev/source"]; ok { + if val, ok := annotations[constants.EducatesWorkshopLabelAnnotationSource]; ok { source = val } } @@ -624,7 +624,7 @@ func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstruct // Verify the type of resource definition. - if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { + if workshop.GetAPIVersion() != constants.EducatesTrainingAPIGroupVersion || workshop.GetKind() != "Workshop" { return nil, errors.New("invalid type for workshop definition") } @@ -636,12 +636,12 @@ func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstruct annotations = map[string]string{} } - annotations["training.educates.dev/workshop"] = workshop.GetName() + annotations[constants.EducatesWorkshopLabelAnnotationWorkshop] = workshop.GetName() if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - annotations["training.educates.dev/source"] = fmt.Sprintf("file://%s", o.Path) + annotations[constants.EducatesWorkshopLabelAnnotationSource] = fmt.Sprintf("file://%s", o.Path) } else { - annotations["training.educates.dev/source"] = o.Path + annotations[constants.EducatesWorkshopLabelAnnotationSource] = o.Path } workshop.SetAnnotations(annotations) diff --git a/client-programs/pkg/registry/base.go b/client-programs/pkg/registry/base.go index f8e656fc8..fd2498fde 100644 --- a/client-programs/pkg/registry/base.go +++ b/client-programs/pkg/registry/base.go @@ -11,10 +11,12 @@ import ( "path" "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/filters" "github.com/docker/docker/api/types/image" "github.com/docker/docker/api/types/network" "github.com/docker/docker/client" "github.com/docker/go-connections/nat" + "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" @@ -147,7 +149,9 @@ func (b *baseContainer) stopAndRemoveContainer(cli *client.Client) error { } timeout := 30 - err := cli.ContainerStop(ctx, b.containerName, container.StopOptions{Timeout: &timeout}) + err := cli.ContainerStop(ctx, b.containerName, container.StopOptions{ + Timeout: &timeout, + }) if err != nil { return errors.Wrap(err, "unable to stop container") } @@ -287,3 +291,27 @@ func tarFile(fileContent []byte, basePath string, fileMode int64) (*bytes.Buffer return buffer, nil } + +func getRegistryMirrorLabelFilters() filters.Args { + return filters.NewArgs( + filters.Arg("label", constants.EducatesContainersRoleLabelKey+"="+constants.EducatesContainersMirrorRoleLabel), + filters.Arg("label", constants.EducatesContainersAppLabelKey+"="+constants.EducatesContainersAppLabel), + ) +} + +func newRegistryContainerLabels() map[string]string { + return map[string]string{ + constants.EducatesContainersRoleLabelKey: constants.EducatesContainersRegistryRoleLabel, + constants.EducatesContainersAppLabelKey: constants.EducatesContainersAppLabel, + } +} + +func newMirrorContainerLabels(mirrorConfig *config.RegistryMirrorConfig) map[string]string { + return map[string]string{ + constants.EducatesContainersRoleLabelKey: constants.EducatesContainersMirrorRoleLabel, + constants.EducatesContainersAppLabelKey: constants.EducatesContainersAppLabel, + constants.EducatesContainersMirrorLabelKey: mirrorConfig.Mirror, + constants.EducatesContainersURLLabelKey: mirrorConfig.URL, + constants.EducatesContainersUsernameLabelKey: mirrorConfig.Username, + } +} diff --git a/client-programs/pkg/registry/mirror.go b/client-programs/pkg/registry/mirror.go index fb6936fb6..59cc035c2 100644 --- a/client-programs/pkg/registry/mirror.go +++ b/client-programs/pkg/registry/mirror.go @@ -6,7 +6,6 @@ import ( "fmt" "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/filters" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" @@ -31,13 +30,7 @@ func NewMirror(mirrorConfig *config.RegistryMirrorConfig) *Mirror { containerName: fmt.Sprintf("%s-mirror-%s", constants.EducatesRegistryContainer, mirrorConfig.Mirror), bindIP: "127.0.0.1", hostPort: "", // dynamic port - labels: map[string]string{ - "app": constants.EducatesAppLabel, - "role": constants.EducatesMirrorRoleLabel, - "mirror": mirrorConfig.Mirror, - "url": mirrorConfig.URL, - "username": mirrorConfig.Username, - }, + labels: newMirrorContainerLabels(mirrorConfig), envVars: buildMirrorEnvVars(mirrorConfig), }, config: mirrorConfig, @@ -168,10 +161,7 @@ func DeleteRegistryMirrors() error { } mirrors, err := cli.ContainerList(ctx, container.ListOptions{ - Filters: filters.NewArgs( - filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), - filters.Arg("label", "app="+constants.EducatesAppLabel), - ), + Filters: getRegistryMirrorLabelFilters(), }) if err != nil { return errors.Wrap(err, "unable to list registry mirrors") @@ -203,7 +193,9 @@ func ListRegistryMirrors() (string, error) { return "", errors.Wrap(err, "unable to create docker client") } - mirrors, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters.NewArgs(filters.Arg("label", "role="+constants.EducatesMirrorRoleLabel), filters.Arg("label", "app="+constants.EducatesAppLabel))}) + mirrors, err := cli.ContainerList(ctx, container.ListOptions{ + Filters: getRegistryMirrorLabelFilters(), + }) if err != nil { return "", errors.Wrap(err, "unable to list registry mirrors") } diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index 9ad71baab..bafdbc602 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -34,10 +34,7 @@ func NewRegistry(bindIP string, k8sClient *kubernetes.Clientset) *Registry { containerName: constants.EducatesRegistryContainer, bindIP: bindIP, hostPort: "5001", - labels: map[string]string{ - "app": constants.EducatesAppLabel, - "role": constants.EducatesRegistryRoleLabel, - }, + labels: newRegistryContainerLabels(), }, k8sClient: k8sClient, } diff --git a/client-programs/pkg/resolver/resolver.go b/client-programs/pkg/resolver/resolver.go index 953a09fc3..bfbbe6ec8 100644 --- a/client-programs/pkg/resolver/resolver.go +++ b/client-programs/pkg/resolver/resolver.go @@ -105,6 +105,7 @@ func DeployResolver(domain string, targetAddress string, extraDomains []string) ExposedPorts: nat.PortSet{ "53/udp": struct{}{}, }, + Labels: newResolverContainerLabels(), }, hostConfig, nil, nil, constants.EducatesResolverContainerName) if err != nil { @@ -252,3 +253,10 @@ func generateDnsmasqConfig(domain string, targetAddress string, extraDomains []s return configFileName, nil } + +func newResolverContainerLabels() map[string]string { + return map[string]string{ + constants.EducatesContainersRoleLabelKey: constants.EducatesContainersResolverRoleLabel, + constants.EducatesContainersAppLabelKey: constants.EducatesContainersAppLabel, + } +} diff --git a/client-programs/pkg/secrets/secrets.go b/client-programs/pkg/secrets/secrets.go index f0b8bad81..2591332dd 100644 --- a/client-programs/pkg/secrets/secrets.go +++ b/client-programs/pkg/secrets/secrets.go @@ -41,7 +41,7 @@ func LocalCachedSecretForIngressDomain(domain string) string { annotations := secretObj.ObjectMeta.Annotations // Domain name must match. - if val, found := annotations["training.educates.dev/domain"]; !found || val != domain { + if val, found := annotations[constants.EducatesTrainingLabelAnnotationDomain]; !found || val != domain { continue } @@ -84,7 +84,7 @@ func LocalCachedSecretForCertificateAuthority(domain string) string { annotations := secretObj.ObjectMeta.Annotations // Domain name must match. - if val, found := annotations["training.educates.dev/domain"]; !found || val != domain { + if val, found := annotations[constants.EducatesTrainingLabelAnnotationDomain]; !found || val != domain { continue } From 8add0e26f605812f92e1007dab66114e02c807f1 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Sat, 31 Jan 2026 19:37:16 +0100 Subject: [PATCH 24/41] Missing flags to docker_workshop_deploy and allow port mapping for services in compose --- client-programs/go.mod | 2 +- client-programs/go.sum | 4 ++-- client-programs/pkg/cmd/docker_workshop_deploy_cmd.go | 3 +++ client-programs/pkg/docker/workshop_manager.go | 5 ++--- 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/client-programs/go.mod b/client-programs/go.mod index 2e13daadc..459f4f1ad 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -9,7 +9,7 @@ require ( carvel.dev/vendir v0.44.0 carvel.dev/ytt v0.52.1 github.com/adrg/xdg v0.5.3 - github.com/compose-spec/compose-go/v2 v2.10.0 + github.com/compose-spec/compose-go/v2 v2.10.1 github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad // Docker packages must be kept aligned with docker/compose v5.0.1 requirements. This still relies on docker/docker v28.5.2 github.com/docker/docker v28.5.2+incompatible diff --git a/client-programs/go.sum b/client-programs/go.sum index 49bebb0d8..4e2f2f9fa 100644 --- a/client-programs/go.sum +++ b/client-programs/go.sum @@ -140,8 +140,8 @@ github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004 h1:lkAMpLVBDaj17e github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= -github.com/compose-spec/compose-go/v2 v2.10.0 h1:K2C5LQ3KXvkYpy5N/SG6kIYB90iiAirA9btoTh/gB0Y= -github.com/compose-spec/compose-go/v2 v2.10.0/go.mod h1:Ohac1SzhO/4fXXrzWIztIVB6ckmKBv1Nt5Z5mGVESUg= +github.com/compose-spec/compose-go/v2 v2.10.1 h1:mFbXobojGRFIVi1UknrvaDAZ+PkJfyjqkA1yseh+vAU= +github.com/compose-spec/compose-go/v2 v2.10.1/go.mod h1:Ohac1SzhO/4fXXrzWIztIVB6ckmKBv1Nt5Z5mGVESUg= github.com/containerd/cgroups/v3 v3.1.0 h1:azxYVj+91ZgSnIBp2eI3k9y2iYQSR/ZQIgh9vKO+HSY= github.com/containerd/cgroups/v3 v3.1.0/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins= github.com/containerd/console v1.0.5 h1:R0ymNeydRqH2DmakFNdmjR2k0t7UPuiOV/N/27/qqsc= diff --git a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go index aaff367fb..41ee0e235 100644 --- a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go @@ -64,6 +64,9 @@ func (o *DockerWorkshopDeployOptions) Run(cmd *cobra.Command) error { DisableOpenBrowser: o.DisableOpenBrowser, ImageRepository: o.ImageRepository, ImageVersion: o.ImageVersion, + WorkshopFile: o.WorkshopFile, + WorkshopVersion: o.WorkshopVersion, + DataValuesFlags: o.DataValuesFlags, } _, err := dockerWorkshopsManager.DeployWorkshop(&config, cmd.OutOrStdout(), cmd.OutOrStderr()) diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index e03e8ed52..e0c7db4e9 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -572,12 +572,11 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s if workshopComposeProject != nil { for serviceName, extraService := range workshopComposeProject.Services { - extraService.Ports = []composetypes.ServicePortConfig{} - + // TODO: Maybe modify extraService.Ports to add the host IP composeConfig.Services[serviceName] = extraService workshopServiceConfig.DependsOn[serviceName] = composetypes.ServiceDependency{ - Condition: composetypes.ServiceConditionStarted, + Condition: composetypes.ServiceConditionHealthy, } } From ef182b008f1b2f6eaebf4416c6a938e03c059032 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Sun, 1 Feb 2026 13:18:43 +0100 Subject: [PATCH 25/41] Adding multinode support, and labels/taints support for local clusters --- client-programs/pkg/cluster/kindcluster.go | 182 ++++++++++++++++-- .../pkg/cluster/kindclusterconfig.yaml.tpl | 69 ++++++- .../pkg/config/installationconfig.go | 86 +++++++++ client-programs/pkg/registry/base.go | 90 +++++++-- .../getting-started/local-environment.md | 168 +++++++++++++++- 5 files changed, 544 insertions(+), 51 deletions(-) diff --git a/client-programs/pkg/cluster/kindcluster.go b/client-programs/pkg/cluster/kindcluster.go index 311b9ee9b..9f23907cb 100644 --- a/client-programs/pkg/cluster/kindcluster.go +++ b/client-programs/pkg/cluster/kindcluster.go @@ -8,11 +8,15 @@ import ( "html/template" "os" "path/filepath" + "strings" "time" "github.com/docker/docker/api/types/container" + "github.com/docker/docker/api/types/filters" "github.com/pkg/errors" "golang.org/x/exp/slices" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/tools/clientcmd" "sigs.k8s.io/kind/pkg/cluster" "sigs.k8s.io/kind/pkg/cmd" @@ -146,25 +150,40 @@ func (o *KindClusterConfig) StopCluster() error { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, constants.EducatesControlPlaneContainer) + // Get all kind node containers for the educates cluster + nodeFilters := filters.NewArgs() + nodeFilters.Add("label", fmt.Sprintf("io.x-k8s.kind.cluster=%s", constants.EducatesClusterName)) + containers, err := cli.ContainerList(ctx, container.ListOptions{ + Filters: nodeFilters, + }) if err != nil { - return errors.Wrap(err, "no container for Educates cluster") + return errors.Wrap(err, "failed to list kind node containers") + } + + if len(containers) == 0 { + return errors.New("no containers found for Educates cluster") } fmt.Println("Stopping cluster educates ...") timeout := 30 - if err := cli.ContainerStop(ctx, constants.EducatesControlPlaneContainer, container.StopOptions{Timeout: &timeout}); err != nil { - return errors.Wrapf(err, "failed to stop cluster") - } - - // timeout := time.Duration(30) * time.Second + // Stop all containers (control-plane and workers) + for _, c := range containers { + containerName := c.Names[0] + if len(c.Names) > 0 { + // Remove leading slash from container name + if len(containerName) > 0 && containerName[0] == '/' { + containerName = containerName[1:] + } + } - // if err := cli.ContainerStop(ctx, EducatesControlPlaneContainer, &timeout); err != nil { - // return errors.Wrapf(err, "failed to stop cluster") - // } + if err := cli.ContainerStop(ctx, c.ID, container.StopOptions{Timeout: &timeout}); err != nil { + return errors.Wrapf(err, "failed to stop container %s", containerName) + } + fmt.Printf(" Stopped %s\n", containerName) + } return nil } @@ -185,16 +204,42 @@ func (o *KindClusterConfig) StartCluster() error { return errors.Wrap(err, "unable to create docker client") } - _, err = cli.ContainerInspect(ctx, constants.EducatesControlPlaneContainer) + // Get all kind node containers for the educates cluster + nodeFilters := filters.NewArgs() + nodeFilters.Add("label", fmt.Sprintf("io.x-k8s.kind.cluster=%s", constants.EducatesClusterName)) + containers, err := cli.ContainerList(ctx, container.ListOptions{ + All: true, // Include stopped containers + Filters: nodeFilters, + }) if err != nil { - return errors.Wrap(err, "no container for Educates cluster") + return errors.Wrap(err, "failed to list kind node containers") + } + + if len(containers) == 0 { + return errors.New("no containers found for Educates cluster") } fmt.Println("Starting cluster educates ...") - if err := cli.ContainerStart(ctx, constants.EducatesControlPlaneContainer, container.StartOptions{}); err != nil { - return errors.Wrapf(err, "failed to start cluster") + // Start all containers (control-plane and workers) + for _, c := range containers { + containerName := c.Names[0] + if len(c.Names) > 0 { + // Remove leading slash from container name + if len(containerName) > 0 && containerName[0] == '/' { + containerName = containerName[1:] + } + } + + if c.State != "running" { + if err := cli.ContainerStart(ctx, c.ID, container.StartOptions{}); err != nil { + return errors.Wrapf(err, "failed to start container %s", containerName) + } + fmt.Printf(" Started %s\n", containerName) + } else { + fmt.Printf(" %s already running\n", containerName) + } } return nil @@ -216,20 +261,115 @@ func (o *KindClusterConfig) ClusterStatus() error { return errors.Wrap(err, "unable to create docker client") } - containerJSON, err := cli.ContainerInspect(ctx, constants.EducatesControlPlaneContainer) + // Get all kind node containers for the educates cluster + nodeFilters := filters.NewArgs() + nodeFilters.Add("label", fmt.Sprintf("io.x-k8s.kind.cluster=%s", constants.EducatesClusterName)) + containers, err := cli.ContainerList(ctx, container.ListOptions{ + All: true, + Filters: nodeFilters, + }) if err != nil { - return errors.Wrap(err, "no container for Educates cluster") + return errors.Wrap(err, "failed to list kind node containers") + } + + if len(containers) == 0 { + return errors.New("no containers found for Educates cluster") } - if containerJSON.State.Running { + // Check if all containers are running + allRunning := true + for _, c := range containers { + if c.State != "running" { + allRunning = false + break + } + } + + if allRunning { fmt.Println("Educates cluster is Running") - // if ip, err := config.HostIP(); err == nil { - // fmt.Println(" Cluster IP: ", ip) - // } } else { - fmt.Println("Educates cluster is NOT Running") + fmt.Println("Educates cluster is NOT Running (some containers stopped)") + return nil } + // Get Kubernetes client to query nodes + k8sClient, err := o.Config.GetClient() + if err != nil { + fmt.Println(" Warning: Unable to connect to Kubernetes API") + return nil + } + + // List nodes from Kubernetes API + nodes, err := k8sClient.CoreV1().Nodes().List(ctx, metav1.ListOptions{}) + if err != nil { + fmt.Println(" Warning: Unable to list nodes from Kubernetes") + return nil + } + + var formattedData [][]string + + for _, node := range nodes.Items { + var customLabelsData []string + var taintsData []string + // Determine role + role := "worker" + if _, ok := node.Labels["node-role.kubernetes.io/control-plane"]; ok { + role = "control-plane" + } else if _, ok := node.Labels["node-role.kubernetes.io/master"]; ok { + role = "control-plane" + } + + // Get status + status := "Unknown" + for _, condition := range node.Status.Conditions { + if condition.Type == corev1.NodeReady { + if condition.Status == corev1.ConditionTrue { + status = "Ready" + } else { + status = "NotReady" + } + break + } + } + + // Get version + version := node.Status.NodeInfo.KubeletVersion + + // Show custom labels (exclude system labels) + customLabels := make(map[string]string) + for k, v := range node.Labels { + if !strings.HasPrefix(k, "node-role.kubernetes.io/") && + !strings.HasPrefix(k, "kubernetes.io/") && + !strings.HasPrefix(k, "beta.kubernetes.io/"){ + // && k != "ingress-ready" { + customLabels[k] = v + } + } + + if len(customLabels) > 0 { + for k, v := range customLabels { + customLabelsData = append(customLabelsData, fmt.Sprintf("%s=%s", k, v)) + } + } + + // Show taints + if len(node.Spec.Taints) > 0 { + for _, taint := range node.Spec.Taints { + if taint.Value != "" { + taintsData = append(taintsData, fmt.Sprintf("%s=%s:%s", taint.Key, taint.Value, taint.Effect)) + } else { + taintsData = append(taintsData, fmt.Sprintf("%s:%s", taint.Key, taint.Effect)) + } + } + } + formattedData = append(formattedData, []string{node.Name, role, status, version, strings.Join(customLabelsData, ", "), strings.Join(taintsData, ", ")}) + } + + fmt.Println(utils.PrintTable( + []string{"NODE", "ROLE", "STATUS", "VERSION", "LABELS", "TAINTS"}, + formattedData, + )) + return nil } diff --git a/client-programs/pkg/cluster/kindclusterconfig.yaml.tpl b/client-programs/pkg/cluster/kindclusterconfig.yaml.tpl index 5499f7640..a495d0acc 100644 --- a/client-programs/pkg/cluster/kindclusterconfig.yaml.tpl +++ b/client-programs/pkg/cluster/kindclusterconfig.yaml.tpl @@ -21,6 +21,58 @@ networking: {{- end }} {{- end }} nodes: +{{- if .LocalKindCluster.Nodes }} +{{- range .LocalKindCluster.Nodes }} +- role: {{ .Role }} +{{- if or .Labels .Taints (eq .Role "control-plane") }} + kubeadmConfigPatches: +{{- if eq .Role "control-plane" }} + - | + kind: InitConfiguration + nodeRegistration: + kubeletExtraArgs: +{{- if .Labels }} + node-labels: "{{- range $key, $value := .Labels }}{{ $key }}={{ $value }},{{- end }}ingress-ready=true" +{{- else }} + node-labels: "ingress-ready=true" +{{- end }} +{{- else }} + - | + kind: JoinConfiguration + nodeRegistration: + kubeletExtraArgs: +{{- if .Labels }} + node-labels: "{{- $first := true }}{{- range $key, $value := .Labels }}{{- if not $first }},{{- end }}{{ $key }}={{ $value }}{{- $first = false }}{{- end }}" +{{- end }} +{{- if .Taints }} + register-with-taints: "{{- range $i, $taint := .Taints }}{{- if $i }},{{- end }}{{ $taint.Key }}={{- if $taint.Value }}{{ $taint.Value }}{{- end }}:{{ $taint.Effect }}{{- end }}" +{{- end }} +{{- end }} +{{- end }} +{{- if eq .Role "control-plane" }} + extraPortMappings: + - containerPort: 80 +{{- if $.LocalKindCluster.ListenAddress }} + listenAddress: {{ $.LocalKindCluster.ListenAddress }} +{{- end }} + hostPort: 80 + protocol: TCP + - containerPort: 443 +{{- if $.LocalKindCluster.ListenAddress }} + listenAddress: {{ $.LocalKindCluster.ListenAddress }} +{{- end }} + hostPort: 443 + protocol: TCP +{{- if $.LocalKindCluster.VolumeMounts }} + extraMounts: +{{- range $.LocalKindCluster.VolumeMounts }} + - hostPath: {{ .HostPath }} + containerPath: {{ .ContainerPath }} +{{- end }} +{{- end }} +{{- end }} +{{- end }} +{{- else }} - role: control-plane kubeadmConfigPatches: - | @@ -39,24 +91,25 @@ nodes: {{- end }} extraPortMappings: - containerPort: 80 - {{- if .LocalKindCluster.ListenAddress }} +{{- if .LocalKindCluster.ListenAddress }} listenAddress: {{ .LocalKindCluster.ListenAddress }} - {{- end }} +{{- end }} hostPort: 80 protocol: TCP - containerPort: 443 - {{- if .LocalKindCluster.ListenAddress }} +{{- if .LocalKindCluster.ListenAddress }} listenAddress: {{ .LocalKindCluster.ListenAddress }} - {{- end }} +{{- end }} hostPort: 443 protocol: TCP - {{- if .LocalKindCluster.VolumeMounts }} +{{- if .LocalKindCluster.VolumeMounts }} extraMounts: - {{- range .LocalKindCluster.VolumeMounts }} +{{- range .LocalKindCluster.VolumeMounts }} - hostPath: {{ .HostPath }} containerPath: {{ .ContainerPath }} - {{- end }} - {{- end }} +{{- end }} +{{- end }} +{{- end }} containerdConfigPatches: - |- [plugins."io.containerd.grpc.v1.cri".registry] diff --git a/client-programs/pkg/config/installationconfig.go b/client-programs/pkg/config/installationconfig.go index 9b52f77a2..26249ae98 100644 --- a/client-programs/pkg/config/installationconfig.go +++ b/client-programs/pkg/config/installationconfig.go @@ -17,12 +17,27 @@ type VolumeMountConfig struct { ReadOnly *bool `yaml:"readOnly,omitempty"` } +// NodeConfig defines configuration for a single kind node +type NodeConfig struct { + Role string `yaml:"role"` // "control-plane" or "worker" + Labels map[string]string `yaml:"labels,omitempty"` // Custom labels for the node + Taints []TaintConfig `yaml:"taints,omitempty"` // Taints for the node +} + +// TaintConfig defines a Kubernetes taint +type TaintConfig struct { + Key string `yaml:"key"` // Taint key + Value string `yaml:"value,omitempty"` // Taint value (optional) + Effect string `yaml:"effect"` // NoSchedule, PreferNoSchedule, or NoExecute +} + type LocalKindClusterConfig struct { ListenAddress string `yaml:"listenAddress,omitempty"` ApiServer KindApiServerConfig `yaml:"apiServer,omitempty"` Networking KindNetworkingConfig `yaml:"networking,omitempty"` VolumeMounts []VolumeMountConfig `yaml:"volumeMounts,omitempty"` RegistryMirrors []RegistryMirrorConfig `yaml:"registryMirrors,omitempty"` + Nodes []NodeConfig `yaml:"nodes,omitempty"` // Nodes configuration for multi-node clusters } type RegistryMirrorConfig struct { @@ -470,6 +485,13 @@ func ConfigForLocalClusters(configFile string, domain string, local bool) (fullC return nil, err } + // Validate nodes configuration for kind clusters + if local && fullConfig.ClusterInfrastructure.Provider == "kind" { + if err := ValidateNodesConfig(&fullConfig.LocalKindCluster.Nodes); err != nil { + return nil, errors.Wrap(err, "invalid nodes configuration") + } + } + return fullConfig, nil } @@ -521,3 +543,67 @@ func ValidateProvider(provider string) error { return errors.New("Invalid ClusterInsfrastructure Provider. Valid values are (eks, gke, kind, custom, vcluster, generic, minikube, openshift)") } } + +// ValidateNodesConfig validates the nodes configuration for a kind cluster +func ValidateNodesConfig(nodes *[]NodeConfig) error { + if len(*nodes) == 0 { + // Empty is valid - will use default single control-plane + return nil + } + + controlPlaneCount := 0 + workerCount := 0 + + for i, node := range *nodes { + // Validate role + if node.Role != "control-plane" && node.Role != "worker" { + return errors.Errorf("node %d has invalid role %q, must be 'control-plane' or 'worker'", i, node.Role) + } + + // Count nodes by role + if node.Role == "control-plane" { + controlPlaneCount++ + } else { + workerCount++ + } + + // Validate taints + for j, taint := range node.Taints { + if taint.Key == "" { + return errors.Errorf("node %d taint %d has empty key", i, j) + } + if taint.Effect == "" { + return errors.Errorf("node %d taint %d (%s) has empty effect", i, j, taint.Key) + } + // Validate taint effect + validEffects := map[string]bool{ + "NoSchedule": true, + "PreferNoSchedule": true, + "NoExecute": true, + } + if !validEffects[taint.Effect] { + return errors.Errorf("node %d taint %d (%s) has invalid effect %q, must be 'NoSchedule', 'PreferNoSchedule', or 'NoExecute'", + i, j, taint.Key, taint.Effect) + } + } + } + + // Validate exactly one control-plane + if controlPlaneCount == 0 { + // We add a default control-plane node if no control-plane nodes are configured + *nodes = append(*nodes, NodeConfig{ + Role: "control-plane", + }) + controlPlaneCount = 1 + } + if controlPlaneCount > 1 { + return errors.Errorf("nodes configuration must have exactly one control-plane node, found %d", controlPlaneCount) + } + + // Validate maximum 5 workers + if workerCount > 5 { + return errors.Errorf("nodes configuration supports maximum 5 worker nodes, found %d", workerCount) + } + + return nil +} diff --git a/client-programs/pkg/registry/base.go b/client-programs/pkg/registry/base.go index fd2498fde..7350bb677 100644 --- a/client-programs/pkg/registry/base.go +++ b/client-programs/pkg/registry/base.go @@ -18,7 +18,6 @@ import ( "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" ) @@ -164,23 +163,38 @@ func (b *baseContainer) stopAndRemoveContainer(cli *client.Client) error { return nil } -// addRegistryConfigToKindNodes adds the registry config to the kind nodes. -// It is used when creating a new local registry or registry mirror. -func addRegistryConfigToKindNodes(repositoryName string, content string) error { +// getEducatesKindNodeContainers returns all kind node containers for the educates cluster +func getEducatesKindNodeContainers(cli *client.Client) ([]string, error) { ctx := context.Background() - fmt.Printf("Adding local image registry config (%s) to Kind nodes\n", repositoryName) + // Kind labels all node containers with io.x-k8s.kind.cluster= + nodeFilters := filters.NewArgs() + nodeFilters.Add("label", fmt.Sprintf("io.x-k8s.kind.cluster=%s", constants.EducatesClusterName)) - cli, err := client.NewClientWithOpts(client.FromEnv) + containers, err := cli.ContainerList(ctx, container.ListOptions{ + All: true, + Filters: nodeFilters, + }) if err != nil { - return errors.Wrap(err, "unable to create docker client") + return nil, errors.Wrap(err, "failed to list kind node containers") } - containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) - if containerID == "" { - return errors.New(fmt.Sprintf("%s container not found", constants.EducatesControlPlaneContainer)) + if len(containers) == 0 { + return nil, errors.New("no kind node containers found for educates cluster") } + containerIDs := make([]string, len(containers)) + for i, c := range containers { + containerIDs[i] = c.ID + } + + return containerIDs, nil +} + +// addRegistryConfigToNode adds the registry config to a single kind node container +func addRegistryConfigToNode(cli *client.Client, containerID, repositoryName, content string) error { + ctx := context.Background() + registryDir := "/etc/containerd/certs.d/" + repositoryName cmdStatement := []string{"mkdir", "-p", registryDir} @@ -219,23 +233,35 @@ func addRegistryConfigToKindNodes(repositoryName string, content string) error { return nil } -// removeRegistryConfigFromKindNodes removes the registry config from the kind nodes. -// It is used when deleting a local registry mirror. -func removeRegistryConfigFromKindNodes(repositoryName string) error { - ctx := context.Background() - - fmt.Printf("Removing local image registry config (%s) from Kind nodes\n", repositoryName) +// addRegistryConfigToKindNodes adds the registry config to all kind nodes. +// It is used when creating a new local registry or registry mirror. +func addRegistryConfigToKindNodes(repositoryName string, content string) error { + fmt.Printf("Adding local image registry config (%s) to Kind nodes\n", repositoryName) cli, err := client.NewClientWithOpts(client.FromEnv) if err != nil { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := utils.GetContainerInfo(constants.EducatesControlPlaneContainer) - if containerID == "" { - return nil + containerIDs, err := getEducatesKindNodeContainers(cli) + if err != nil { + return err + } + + // Apply config to all nodes (control-plane and workers) + for _, containerID := range containerIDs { + if err := addRegistryConfigToNode(cli, containerID, repositoryName, content); err != nil { + return errors.Wrapf(err, "failed to add registry config to node %s", containerID) + } } + return nil +} + +// removeRegistryConfigFromNode removes the registry config from a single kind node container +func removeRegistryConfigFromNode(cli *client.Client, containerID, repositoryName string) error { + ctx := context.Background() + registryDir := "/etc/containerd/certs.d/" + repositoryName cmdStatement := []string{"rm", "-rf", registryDir} @@ -261,6 +287,32 @@ func removeRegistryConfigFromKindNodes(repositoryName string) error { return nil } +// removeRegistryConfigFromKindNodes removes the registry config from all kind nodes. +// It is used when deleting a local registry mirror. +func removeRegistryConfigFromKindNodes(repositoryName string) error { + fmt.Printf("Removing local image registry config (%s) from Kind nodes\n", repositoryName) + + cli, err := client.NewClientWithOpts(client.FromEnv) + if err != nil { + return errors.Wrap(err, "unable to create docker client") + } + + containerIDs, err := getEducatesKindNodeContainers(cli) + if err != nil { + // If nodes don't exist, nothing to remove + return nil + } + + // Remove config from all nodes (control-plane and workers) + for _, containerID := range containerIDs { + if err := removeRegistryConfigFromNode(cli, containerID, repositoryName); err != nil { + return errors.Wrapf(err, "failed to remove registry config from node %s", containerID) + } + } + + return nil +} + // tarFile creates a tar archive with a single file. func tarFile(fileContent []byte, basePath string, fileMode int64) (*bytes.Buffer, error) { buffer := &bytes.Buffer{} diff --git a/project-docs/getting-started/local-environment.md b/project-docs/getting-started/local-environment.md index e82789917..6d3779acb 100644 --- a/project-docs/getting-started/local-environment.md +++ b/project-docs/getting-started/local-environment.md @@ -188,14 +188,14 @@ $ curl -v www.educates-local-dev.test > Host: www.educates-local-dev.test > User-Agent: curl/7.79.1 > Accept: */* -> +> * Mark bundle as not supporting multiuse < HTTP/1.1 404 Not Found < vary: Accept-Encoding < date: Fri, 25 Mar 2022 03:07:19 GMT < server: envoy < content-length: 0 -< +< * Connection #0 to host www.educates-local-dev.test left intact ``` @@ -287,10 +287,172 @@ To delete a local registry mirror, run: educates local mirror delete ghcr.io ``` -This will stop and remove the mirror container and clean up the configuration from the cluster. +This will stop and remove the mirror container and clean up the configuration from the cluster. As pointed out earlier, if the mirror configuration exists in the local cluster's configuration, if the Educates local cluster is recreated then the mirror will be recreated as well. +Multi-node clusters +------------------- + +By default, Educates creates a local Kind cluster with a single control-plane node. For testing scenarios that require multiple nodes, such as workload isolation, resource management, or simulating production-like environments, you can configure the cluster to include additional worker nodes. + +### Default behavior + +When no node configuration is provided, Educates automatically creates a cluster with: +- 1 control-plane node +- The `ingress-ready=true` label (required for ingress controller) +- Port mappings for HTTP (80) and HTTPS (443) + +### Configuring multiple nodes + +To create a multi-node cluster, add a `nodes` section to your local cluster configuration. You can do this by running `educates local config edit` and adding configuration like: + +```yaml +localKindCluster: + nodes: + - role: control-plane + labels: + environment: dev + node-type: control + - role: worker + labels: + tier: frontend + workload-type: web + - role: worker + labels: + tier: backend + workload-type: api +``` + +Or create a configuration file and use it when creating the cluster: + +``` +educates create-cluster --config multi-node-config.yaml +``` + +### Node configuration constraints + +When configuring nodes, the following constraints apply: + +- **Exactly 1 control-plane node** is required (if none is specified, one will be created automatically) +- **Maximum 5 worker nodes** are allowed +- Valid node roles are: `control-plane` or `worker` + +### Adding labels to nodes + +You can add custom labels to nodes to organize and identify them. Labels are key-value pairs that can be used with Kubernetes node selectors and affinity rules. + +```yaml +localKindCluster: + nodes: + - role: control-plane + labels: + environment: production + region: local + - role: worker + labels: + tier: frontend + disk-type: ssd + - role: worker + labels: + tier: backend + disk-type: hdd +``` + +The control-plane node will automatically have the `ingress-ready: true` label added in addition to any custom labels you specify. + +### Adding taints to nodes + +Taints allow you to mark nodes so that only pods with matching tolerations can be scheduled on them. This is useful for dedicating nodes to specific workloads. + +```yaml +localKindCluster: + nodes: + - role: control-plane + - role: worker + labels: + tier: frontend + - role: worker + labels: + tier: backend + taints: + - key: dedicated + value: backend + effect: NoSchedule + - role: worker + labels: + tier: database + taints: + - key: dedicated + value: database + effect: NoSchedule + - key: storage + value: "true" + effect: NoExecute +``` + +Valid taint effects are: +- `NoSchedule`: Pods will not be scheduled on the node unless they have a matching toleration +- `PreferNoSchedule`: Kubernetes will try to avoid scheduling pods on the node, but it's not required +- `NoExecute`: Existing pods without matching tolerations will be evicted from the node + +### Registry and mirror configuration + +When you create a multi-node cluster, the local image registry and any configured registry mirrors are automatically configured on **all nodes** (both control-plane and workers). This ensures that all nodes can pull images from the local registry and benefit from cached images in the mirrors. + +You don't need to do anything special - the registry configuration at `/etc/containerd/certs.d/` is automatically applied to every node in the cluster when the cluster is created. + +### Example: Complete multi-node configuration + +Here's a complete example showing a 4-node cluster with labels, taints, and registry mirrors: + +```yaml +localKindCluster: + nodes: + - role: control-plane + labels: + environment: dev + node-type: control + - role: worker + labels: + tier: frontend + workload-type: web + - role: worker + labels: + tier: backend + workload-type: api + taints: + - key: dedicated + value: backend + effect: NoSchedule + - role: worker + labels: + tier: database + workload-type: database + taints: + - key: dedicated + value: database + effect: NoSchedule + registryMirrors: + - mirror: ghcr.io + - mirror: docker.io + url: registry-1.docker.io +``` + +This configuration creates: +- 1 control-plane node with custom labels +- 1 frontend worker (no taints - accepts all workloads) +- 1 backend worker with a taint requiring pods to tolerate `dedicated=backend:NoSchedule` +- 1 database worker with a taint requiring pods to tolerate `dedicated=database:NoSchedule` +- Registry mirrors for GitHub Container Registry and Docker Hub configured on all nodes + +### Viewing node information + +After creating a multi-node cluster, you can view detailed information about the cluster status and all the nodes including their labels and taints by running: + +``` +educates local cluster status +``` Customize local pod and service CIDRs ------------------------------------- From b9ce96b1ddcd3cce5b2659c0eede417cde6c59f9 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 2 Feb 2026 14:09:52 +0100 Subject: [PATCH 26/41] Fix YesNoPrompt call signature in workshops/new.go --- client-programs/go.mod | 7 +++++++ client-programs/go.sum | 14 ++++++++++++++ .../pkg/educates/local/workshops/new.go | 2 +- go.work.sum | 17 +++++++++-------- 4 files changed, 31 insertions(+), 9 deletions(-) diff --git a/client-programs/go.mod b/client-programs/go.mod index 459f4f1ad..be50b85db 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -78,6 +78,7 @@ require ( github.com/aws/smithy-go v1.23.2 // indirect github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 // indirect github.com/beorn7/perks v1.0.1 // indirect + github.com/blang/semver/v4 v4.0.0 // indirect github.com/bmatcuk/doublestar v1.3.4 // indirect github.com/buger/goterm v1.0.4 // indirect github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 // indirect @@ -191,6 +192,7 @@ require ( github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect + github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11 // indirect github.com/otiai10/copy v1.14.1 // indirect github.com/otiai10/mint v1.6.3 // indirect github.com/pelletier/go-toml v1.9.5 // indirect @@ -254,7 +256,12 @@ require ( gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect + k8s.io/apiextensions-apiserver v0.34.1 // indirect + k8s.io/apiserver v0.34.1 // indirect + k8s.io/component-base v0.34.2 // indirect + k8s.io/component-helpers v0.34.2 // indirect k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect + k8s.io/kubernetes v1.31.7 // indirect k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect diff --git a/client-programs/go.sum b/client-programs/go.sum index 4e2f2f9fa..1c103c2bb 100644 --- a/client-programs/go.sum +++ b/client-programs/go.sum @@ -108,6 +108,8 @@ github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= github.com/bitly/go-hostpool v0.1.0/go.mod h1:4gOCgp6+NZnVqlKyZ/iBZFTAJKembaVENUpMkpg42fw= github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= +github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0= github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= @@ -497,6 +499,8 @@ github.com/opencontainers/runtime-spec v1.3.0 h1:YZupQUdctfhpZy3TM39nN9Ika5CBWT5 github.com/opencontainers/runtime-spec v1.3.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplUkdTrmPb8= github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U= +github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11 h1:eTNDkNRNV5lZvUbVM9Nop0lBcljSnA8rZX6yQPZ0ZnU= +github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11/go.mod h1:EmVJt97N+pfWFsli/ipXTBZqSG5F5KGQhm3c3IsGq1o= github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= github.com/otiai10/copy v1.14.1 h1:5/7E6qsUMBaH5AnQ0sSLzzTg1oTECmcCmT6lvF45Na8= @@ -815,18 +819,28 @@ gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= +k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= +k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= +k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= +k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= k8s.io/cli-runtime v0.34.2 h1:cct1GEuWc3IyVT8MSCoIWzRGw9HJ/C5rgP32H60H6aE= k8s.io/cli-runtime v0.34.2/go.mod h1:X13tsrYexYUCIq8MarCBy8lrm0k0weFPTpcaNo7lms4= k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= +k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= +k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= +k8s.io/component-helpers v0.34.2 h1:RIUGDdU+QFzeVKLZ9f05sXTNAtJrRJ3bnbMLrogCrvM= +k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= k8s.io/kubectl v0.34.2 h1:+fWGrVlDONMUmmQLDaGkQ9i91oszjjRAa94cr37hzqA= k8s.io/kubectl v0.34.2/go.mod h1:X2KTOdtZZNrTWmUD4oHApJ836pevSl+zvC5sI6oO2YQ= +k8s.io/kubernetes v1.31.7 h1:3uCu7kNQxNBVbbqqe0pPjbW+h8L9aT01rD0bg+NdS5I= +k8s.io/kubernetes v1.31.7/go.mod h1:9xmT2buyTYj8TRKwRae7FcuY8k5+xlxv7VivvO0KKfs= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= diff --git a/client-programs/pkg/educates/local/workshops/new.go b/client-programs/pkg/educates/local/workshops/new.go index 260b9ce75..ac107eb26 100644 --- a/client-programs/pkg/educates/local/workshops/new.go +++ b/client-programs/pkg/educates/local/workshops/new.go @@ -52,7 +52,7 @@ func (o *WorkshopNewOptions) Run(args []string) error { if _, err = os.Stat(workshopDir); err == nil { ok := o.Overwrite if !o.Overwrite { - ok = utils.YesNoPrompt(fmt.Sprintf("the directory %q already exists. All files will be overwritten. Do you want to use it?", workshopDir), true) + ok = utils.YesNoPrompt([]string{fmt.Sprintf("the directory %q already exists. All files will be overwritten. Do you want to use it?", workshopDir)}, true) } if !ok { return errors.Errorf("operation cancelled") diff --git a/go.work.sum b/go.work.sum index 983c223a1..517daa344 100644 --- a/go.work.sum +++ b/go.work.sum @@ -244,6 +244,8 @@ github.com/coredns/corefile-migration v1.0.26/go.mod h1:56DPqONc3njpVPsdilEnfijC github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= +github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= +github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/cppforlife/cobrautil v0.0.0-20221021151949-d60711905d65/go.mod h1:2w+qxVu2KSGW78Ex/XaIqfh/OvBgjEsmN53S4T8vEyA= @@ -600,16 +602,22 @@ go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQc go.etcd.io/etcd/api/v3 v3.5.8/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= go.etcd.io/etcd/api/v3 v3.5.9/go.mod h1:uyAal843mC8uUVSLWz6eHa/d971iDGnCRpmKd2Z+X8k= go.etcd.io/etcd/api/v3 v3.5.10/go.mod h1:TidfmT4Uycad3NM/o25fG3J07odo4GBB9hoxaodFCtI= +go.etcd.io/etcd/api/v3 v3.6.4 h1:7F6N7toCKcV72QmoUKa23yYLiiljMrT4xCeBL9BmXdo= +go.etcd.io/etcd/api/v3 v3.6.4/go.mod h1:eFhhvfR8Px1P6SEuLT600v+vrhdDTdcfMzmnxVXXSbk= go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= go.etcd.io/etcd/client/pkg/v3 v3.5.8/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= go.etcd.io/etcd/client/pkg/v3 v3.5.9/go.mod h1:y+CzeSmkMpWN2Jyu1npecjB9BBnABxGM4pN8cGuJeL4= go.etcd.io/etcd/client/pkg/v3 v3.5.10/go.mod h1:DYivfIviIuQ8+/lCq4vcxuseg2P2XbHygkKwFo9fc8U= +go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6ok0= +go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= go.etcd.io/etcd/client/v2 v2.305.16/go.mod h1:h9YxWCzcdvZENbfzBTFCnoNumr2ax3F19sKMqHFmXHE= go.etcd.io/etcd/client/v3 v3.5.8/go.mod h1:idZYIPVkttBJBiRigkB5EM0MmEyx8jcl18zCV3F5noc= go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= go.etcd.io/etcd/client/v3 v3.5.10/go.mod h1:RVeBnDz2PUEZqTpgqwAtUd8nAPf5kjyFyND7P1VkOKc= +go.etcd.io/etcd/client/v3 v3.6.4 h1:YOMrCfMhRzY8NgtzUsHl8hC2EBSnuqbR3dh84Uryl7A= +go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQaEMISo= go.etcd.io/etcd/pkg/v3 v3.5.10/go.mod h1:TKTuCKKcF1zxmfKWDkfz5qqYaE3JncKKZPFf8c1nFUs= go.etcd.io/etcd/pkg/v3 v3.5.16/go.mod h1:+lutCZHG5MBBFI/U4eYT5yL7sJfnexsoM20Y0t2uNuY= go.etcd.io/etcd/pkg/v3 v3.6.4/go.mod h1:kKcYWP8gHuBRcteyv6MXWSN0+bVMnfgqiHueIZnKMtE= @@ -1011,6 +1019,7 @@ google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCID google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240722135656-d784300faade/go.mod h1:FfBgJBJg9GcpPvKIuHSZ/aE1g2ecGL74upMzGZjiGEY= @@ -1106,8 +1115,6 @@ k8s.io/apiserver v0.29.0/go.mod h1:31n78PsRKPmfpee7/l9NYEv67u6hOL6AfcE761HapDM= k8s.io/apiserver v0.31.2 h1:VUzOEUGRCDi6kX1OyQ801m4A7AUPglpsmGvdsekmcI4= k8s.io/apiserver v0.32.1 h1:oo0OozRos66WFq87Zc5tclUX2r0mymoVHRq8JmR7Aak= k8s.io/apiserver v0.32.1/go.mod h1:UcB9tWjBY7aryeI5zAgzVJB/6k7E97bkr1RgqDz0jPw= -k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= -k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= k8s.io/code-generator v0.17.2/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= k8s.io/code-generator v0.25.6/go.mod h1:aDxzxJynLKQkaa117y0FFcgZ5jG8+GobxZ2JUntmvKk= k8s.io/code-generator v0.27.7/go.mod h1:w1YF/xQcTg+d9Ag+04xuRqER+q8rDnJ70ynLql8/RLA= @@ -1117,11 +1124,7 @@ k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608y k8s.io/component-base v0.28.6 h1:G4T8VrcQ7xZou3by/fY5NU5mfxOBlWaivS2lPrEltAo= k8s.io/component-base v0.28.6/go.mod h1:Dg62OOG3ALu2P4nAG00UdsuHoNLQJ5VsUZKQlLDcS+E= k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= -k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= -k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= k8s.io/component-helpers v0.29.0/go.mod h1:j2coxVfmzTOXWSE6sta0MTgNSr572Dcx68F6DD+8fWc= -k8s.io/component-helpers v0.34.2 h1:RIUGDdU+QFzeVKLZ9f05sXTNAtJrRJ3bnbMLrogCrvM= -k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= k8s.io/cri-api v0.34.1/go.mod h1:4qVUjidMg7/Z9YGZpqIDygbkPWkg3mkS1PvOx/kpHTE= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= @@ -1136,8 +1139,6 @@ k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKf k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/kubernetes v1.31.2 h1:VNSu4O7Xn5FFRsh9ePXyEPg6ucR21fOftarSdi053Gs= -k8s.io/kubernetes v1.31.7 h1:3uCu7kNQxNBVbbqqe0pPjbW+h8L9aT01rD0bg+NdS5I= -k8s.io/kubernetes v1.31.7/go.mod h1:9xmT2buyTYj8TRKwRae7FcuY8k5+xlxv7VivvO0KKfs= k8s.io/metrics v0.29.0/go.mod h1:UCuTT4dC/x/x6ODSk87IWIZQnuAfcwxOjb1gjWJdjMA= k8s.io/metrics v0.30.3/go.mod h1:W06L2nXRhOwPkFYDJYWdEIS3u6JcJy3ebIPYbndRs6A= k8s.io/metrics v0.32.3/go.mod h1:9R1Wk5cb+qJpCQon9h52mgkVCcFeYxcY+YkumfwHVCU= From a4e8ce244e1297881cc1cbdf6be976d0ac4a0762 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 2 Feb 2026 14:22:50 +0100 Subject: [PATCH 27/41] Deleted files were restored on cherry-pick. Deleting again --- .../pkg/educates/local/workshops/export.go | 108 ------ .../pkg/educates/local/workshops/new.go | 101 ------ .../pkg/educates/local/workshops/publish.go | 325 ------------------ 3 files changed, 534 deletions(-) delete mode 100644 client-programs/pkg/educates/local/workshops/export.go delete mode 100644 client-programs/pkg/educates/local/workshops/new.go delete mode 100644 client-programs/pkg/educates/local/workshops/publish.go diff --git a/client-programs/pkg/educates/local/workshops/export.go b/client-programs/pkg/educates/local/workshops/export.go deleted file mode 100644 index 1bf616943..000000000 --- a/client-programs/pkg/educates/local/workshops/export.go +++ /dev/null @@ -1,108 +0,0 @@ -package workshops - -import ( - "fmt" - "os" - "path/filepath" - "strings" - - yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/pkg/errors" - "gopkg.in/yaml.v2" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/serializer" - "k8s.io/kubectl/pkg/scheme" -) - -type FilesExportOptions struct { - Repository string - WorkshopFile string - WorkshopVersion string - DataValuesFlags yttcmd.DataValuesFlags -} - -func (o *FilesExportOptions) Run(args []string) error { - var err error - - var workshopDir string - - if len(args) != 0 { - workshopDir = filepath.Clean(args[0]) - } else { - workshopDir = "." - } - - if workshopDir, err = filepath.Abs(workshopDir); err != nil { - return errors.Wrap(err, "couldn't convert workshop directory to absolute path") - } - - fileInfo, err := os.Stat(workshopDir) - - if err != nil || !fileInfo.IsDir() { - return errors.New("workshop directory does not exist or path is not a directory") - } - - return o.Export(workshopDir) -} - -func (o *FilesExportOptions) Export(workshopDir string) error { - rootDirectory := workshopDir - workshopFilePath := o.WorkshopFile - - // 1. Find the workshop definition file - if !filepath.IsAbs(workshopFilePath) { - workshopFilePath = filepath.Join(rootDirectory, workshopFilePath) - } - - workshopFileData, err := os.ReadFile(workshopFilePath) - - if err != nil { - return errors.Wrapf(err, "cannot open workshop definition %q", workshopFilePath) - } - - // 2. Process the workshop definition file through the ytt templating engine - if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { - return errors.Wrap(err, "unable to process workshop definition as template") - } - - // 3. Replace the image repository and workshop version placeholders with the actual values valid for exporting and publishing - workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(image_repository)", o.Repository)) - workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(workshop_version)", o.WorkshopVersion)) - - // 4. Decode the workshop definition and perform validations - decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() - - workshop := &unstructured.Unstructured{} - - err = runtime.DecodeInto(decoder, workshopFileData, workshop) - - if err != nil { - return errors.Wrap(err, "couldn't parse workshop definition") - } - - if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { - return errors.New("invalid type for workshop definition") - } - - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found && o.WorkshopVersion != "latest" { - unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") - } - - // 5. Remove the publish field from the workshop definition - unstructured.RemoveNestedField(workshop.Object, "spec", "publish") - - // 6. Convert the workshop definition back to YAML format - workshopFileData, err = yaml.Marshal(&workshop.Object) - - if err != nil { - return errors.Wrap(err, "couldn't convert workshop definition back to YAML") - } - - // 7. Print the workshop definition to stdout - fmt.Print(string(workshopFileData)) - - return nil -} diff --git a/client-programs/pkg/educates/local/workshops/new.go b/client-programs/pkg/educates/local/workshops/new.go deleted file mode 100644 index ac107eb26..000000000 --- a/client-programs/pkg/educates/local/workshops/new.go +++ /dev/null @@ -1,101 +0,0 @@ -package workshops - -import ( - "fmt" - "os" - "path/filepath" - "regexp" - "strconv" - - "github.com/educates/educates-training-platform/client-programs/pkg/templates" - "github.com/educates/educates-training-platform/client-programs/pkg/utils" - "github.com/pkg/errors" -) - -type WorkshopNewOptions struct { - Template string - Name string - Title string - Description string - Image string - TargetDirectory string - Overwrite bool - WithKubernetesAccess bool - WithGitHubAction bool - WithVirtualCluster bool - WithDockerDaemon bool - WithImageRegistry bool - WithKubernetesConsole bool - WithEditor bool - WithTerminal bool -} - -// If o.TargetDirectory is provided, we will use that as the directory to be used, otherwise a new one will be created -func (o *WorkshopNewOptions) Run(args []string) error { - var err error - - workshopDir := filepath.Clean(args[0]) - if o.TargetDirectory != "" { - workshopDir = o.TargetDirectory - } - - if workshopDir, err = filepath.Abs(workshopDir); err != nil { - return errors.Wrapf(err, "could not convert path name %q to absolute path", workshopDir) - } - - if o.TargetDirectory == "" { - if _, err = os.Stat(workshopDir); err == nil { - return errors.Errorf("target path name %q already exists", workshopDir) - } - } else { - // Check if target directory already exist and prompt the user to confirm that they want to overwrite the files in it - if _, err = os.Stat(workshopDir); err == nil { - ok := o.Overwrite - if !o.Overwrite { - ok = utils.YesNoPrompt([]string{fmt.Sprintf("the directory %q already exists. All files will be overwritten. Do you want to use it?", workshopDir)}, true) - } - if !ok { - return errors.Errorf("operation cancelled") - } - } - - } - - name := o.Name - - if name == "" { - name = filepath.Base(workshopDir) - } - - if match, _ := regexp.MatchString("^[a-z0-9-]+$", name); !match { - return errors.Errorf("invalid workshop name %q. It can only contain lowercase letters, numbers, and hyphens", name) - } - - parameters := map[string]string{ - "WorkshopName": name, - "WorkshopTitle": o.Title, - "WorkshopDescription": o.Description, - "WorkshopImage": o.Image, - "WithKubernetesAccess": strconv.FormatBool(o.WithKubernetesAccess), - "WithVirtualCluster": strconv.FormatBool(o.WithVirtualCluster), - "WithDockerDaemon": strconv.FormatBool(o.WithDockerDaemon), - "WithImageRegistry": strconv.FormatBool(o.WithImageRegistry), - "WithKubernetesConsole": strconv.FormatBool(o.WithKubernetesConsole), - "WithEditor": strconv.FormatBool(o.WithEditor), - "WithTerminal": strconv.FormatBool(o.WithTerminal), - } - - template := templates.InternalTemplate(o.Template) - - err = template.ApplyFiles(workshopDir, parameters) - if err != nil { - return err - } - - if o.WithGitHubAction { - template := templates.InternalTemplate("single") - err = template.ApplyGitHubAction(workshopDir, parameters) - } - - return err -} diff --git a/client-programs/pkg/educates/local/workshops/publish.go b/client-programs/pkg/educates/local/workshops/publish.go deleted file mode 100644 index 73da15aa9..000000000 --- a/client-programs/pkg/educates/local/workshops/publish.go +++ /dev/null @@ -1,325 +0,0 @@ -package workshops - -import ( - "bytes" - "fmt" - "log" - "os" - "path/filepath" - "strings" - - imgpkgcmd "carvel.dev/imgpkg/pkg/imgpkg/cmd" - "carvel.dev/kapp/pkg/kapp/cmd" - vendirsync "carvel.dev/vendir/pkg/vendir/cmd" - yttcmd "carvel.dev/ytt/pkg/cmd/template" - yttcmdui "carvel.dev/ytt/pkg/cmd/ui" - "carvel.dev/ytt/pkg/files" - "carvel.dev/ytt/pkg/yamlmeta" - "github.com/cppforlife/go-cli-ui/ui" - "github.com/pkg/errors" - "gopkg.in/yaml.v2" - "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" - "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/serializer" - "k8s.io/kubectl/pkg/scheme" -) - -type FilesPublishOptions struct { - Image string - Repository string - WorkshopFile string - ExportWorkshop string - WorkshopVersion string - RegistryFlags imgpkgcmd.RegistryFlags - DataValuesFlags yttcmd.DataValuesFlags -} - -func (o *FilesPublishOptions) Run(args []string) error { - var err error - - var workshopDir string - - if len(args) != 0 { - workshopDir = filepath.Clean(args[0]) - } else { - workshopDir = "." - } - - if workshopDir, err = filepath.Abs(workshopDir); err != nil { - return errors.Wrap(err, "couldn't convert workshop directory to absolute path") - } - - fileInfo, err := os.Stat(workshopDir) - - if err != nil || !fileInfo.IsDir() { - return errors.New("workshop directory does not exist or path is not a workshop directory") - } - - return o.Publish(workshopDir) -} - -func (o *FilesPublishOptions) Publish(workshopDir string) error { - // If image name hasn't been supplied read workshop definition file and - // try to work out image name to publish workshop as. - - rootDirectory := workshopDir - workshopFilePath := o.WorkshopFile - - workingDirectory, err := os.Getwd() - - if err != nil { - return errors.Wrap(err, "cannot determine current working directory") - } - - includePaths := []string{workshopDir} - excludePaths := []string{".git"} - - if !filepath.IsAbs(workshopFilePath) { - workshopFilePath = filepath.Join(rootDirectory, workshopFilePath) - } - - workshopFileData, err := os.ReadFile(workshopFilePath) - - if err != nil { - return errors.Wrapf(err, "cannot open workshop definition %q", workshopFilePath) - } - - // Process the workshop YAML data for ytt templating and data variables. - - if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { - return errors.Wrap(err, "unable to process workshop definition as template") - } - - workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(image_repository)", o.Repository)) - workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(workshop_version)", o.WorkshopVersion)) - - decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() - - workshop := &unstructured.Unstructured{} - - err = runtime.DecodeInto(decoder, workshopFileData, workshop) - - if err != nil { - return errors.Wrap(err, "couldn't parse workshop definition") - } - - fmt.Printf("Processing workshop with name %q.\n", workshop.GetName()) - - if workshop.GetAPIVersion() != "training.educates.dev/v1beta1" || workshop.GetKind() != "Workshop" { - return errors.New("invalid type for workshop definition") - } - - image := o.Image - - if image == "" { - image, _, _ = unstructured.NestedString(workshop.Object, "spec", "publish", "image") - } - - if image == "" { - return errors.Errorf("cannot find image name for publishing workshop %q", workshopFilePath) - } - - // Extract vendir snippet describing subset of files to package up as the - // workshop image. - - confUI := ui.NewConfUI(ui.NewNoopLogger()) - - uiFlags := cmd.UIFlags{ - Color: true, - JSON: false, - NonInteractive: true, - } - - uiFlags.ConfigureUI(confUI) - - defer confUI.Flush() - - if fileArtifacts, found, _ := unstructured.NestedSlice(workshop.Object, "spec", "publish", "files"); found && len(fileArtifacts) != 0 { - tempDir, err := os.MkdirTemp("", "educates-imgpkg") - - if err != nil { - return errors.Wrapf(err, "unable to create temporary working directory") - } - - defer os.RemoveAll(tempDir) - - for _, artifactEntry := range fileArtifacts { - vendirConfig := map[string]interface{}{ - "apiVersion": "vendir.k14s.io/v1alpha1", - "kind": "Config", - "directories": []interface{}{}, - } - - dir := filepath.Join(tempDir, "files") - - if filePath, found := artifactEntry.(map[string]interface{})["path"].(string); found { - dir = filepath.Join(tempDir, "files", filepath.Clean(filePath)) - } - - if directoryConfig, found := artifactEntry.(map[string]interface{})["directory"]; found { - if directoryPath, found := directoryConfig.(map[string]interface{})["path"].(string); found { - if !filepath.IsAbs(directoryPath) { - directoryConfig.(map[string]interface{})["path"] = filepath.Join(workshopDir, directoryPath) - } - } - } - - artifactEntry.(map[string]interface{})["path"] = "." - - directoryConfig := map[string]interface{}{ - "path": dir, - "contents": []interface{}{artifactEntry}, - } - - vendirConfig["directories"] = append(vendirConfig["directories"].([]interface{}), directoryConfig) - - yamlData, err := yaml.Marshal(&vendirConfig) - - if err != nil { - return errors.Wrap(err, "unable to generate vendir config") - } - - vendirConfigFile, err := os.Create(filepath.Join(tempDir, "vendir.yml")) - - if err != nil { - return errors.Wrap(err, "unable to create vendir config file") - } - - defer vendirConfigFile.Close() - - _, err = vendirConfigFile.Write(yamlData) - - if err != nil { - return errors.Wrap(err, "unable to write vendir config file") - } - - syncOptions := vendirsync.NewSyncOptions(confUI) - - syncOptions.Directories = nil - syncOptions.Files = []string{filepath.Join(tempDir, "vendir.yml")} - - // Note that Chdir here actually changes the process working directory. - - syncOptions.LockFile = filepath.Join(tempDir, "lock-file") - syncOptions.Locked = false - syncOptions.Chdir = tempDir - syncOptions.AllowAllSymlinkDestinations = false - - if err = syncOptions.Run(); err != nil { - fmt.Println(string(yamlData)) - - return errors.Wrap(err, "failed to prepare image files for publishing") - } - } - - // Restore working directory as was changed. - - os.Chdir((workingDirectory)) - - rootDirectory = filepath.Join(tempDir, "files") - includePaths = []string{rootDirectory} - } - - // Now publish workshop directory contents as OCI image artifact. - - fmt.Printf("Publishing workshop files to %q.\n", image) - - pushOptions := imgpkgcmd.NewPushOptions(confUI) - - pushOptions.ImageFlags.Image = image - pushOptions.FileFlags.Files = append(pushOptions.FileFlags.Files, includePaths...) - pushOptions.FileFlags.ExcludedFilePaths = append(pushOptions.FileFlags.ExcludedFilePaths, excludePaths...) - - pushOptions.RegistryFlags = o.RegistryFlags - - err = pushOptions.Run() - - if err != nil { - return errors.Wrap(err, "unable to push image artifact for workshop") - } - - // We add a newline to output for better readability. - fmt.Println() - - // Export modified workshop definition file. - - exportWorkshop := o.ExportWorkshop - - if exportWorkshop != "" { - // Insert workshop version property if not specified. - - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found && o.WorkshopVersion != "latest" { - unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") - } - - // Remove the publish section as will not be accurate after publishing. - - unstructured.RemoveNestedField(workshop.Object, "spec", "publish") - - workshopFileData, err = yaml.Marshal(&workshop.Object) - - if err != nil { - return errors.Wrap(err, "couldn't convert workshop definition back to YAML") - } - - if !filepath.IsAbs(exportWorkshop) { - exportWorkshop = filepath.Join(workingDirectory, exportWorkshop) - } - - exportWorkshopFile, err := os.Create(exportWorkshop) - - if err != nil { - return errors.Wrap(err, "unable to create exported workshop definition file") - } - - defer exportWorkshopFile.Close() - - _, err = exportWorkshopFile.Write(workshopFileData) - - if err != nil { - return errors.Wrap(err, "unable to write exported workshop definition file") - } - } - - return nil -} - -/* - * ProcessWorkshopDefinition processes a workshop YAML definition file through the ytt templating engine. - * It takes the raw YAML data as input along with any data value flags for template variable substitution. - * The function returns the processed YAML with template variables replaced, or an error if processing fails. - */ - -func ProcessWorkshopDefinition(yamlData []byte, dataValueFlags yttcmd.DataValuesFlags) ([]byte, error) { - templatingOptions := yttcmd.NewOptions() - - templatingOptions.IgnoreUnknownComments = true - - templatingOptions.DataValuesFlags = dataValueFlags - - var filesToProcess []*files.File - - mainInputFile := files.MustNewFileFromSource(files.NewBytesSource("workshop.yaml", yamlData)) - - filesToProcess = append(filesToProcess, mainInputFile) - - logUI := yttcmdui.NewCustomWriterTTY(false, log.Writer(), log.Writer()) - - output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logUI) - - if output.Err != nil { - return []byte{}, fmt.Errorf("execution of ytt failed: %s", output.Err) - } - - if len(output.DocSet.Items) == 0 { - return []byte{}, nil - } - - var buf bytes.Buffer - - yamlmeta.NewYAMLPrinter(&buf).Print(output.DocSet.Items[0]) - - return buf.Bytes(), nil -} From aea73fe21799c7de58881479ceaf535fd9babab3 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 2 Feb 2026 19:57:07 +0100 Subject: [PATCH 28/41] Added Fixed ips for local registry and mirrors --- client-programs/pkg/cluster/kindcluster.go | 7 +- .../pkg/cmd/docker_workshop_open_cmd.go | 3 +- .../pkg/cmd/local_cluster_create_cmd.go | 106 +++------ .../pkg/docker/workshop_manager.go | 2 +- client-programs/pkg/registry/base.go | 72 ++++--- client-programs/pkg/registry/mirror.go | 45 ++-- client-programs/pkg/registry/network.go | 201 ++++++++++++++++++ client-programs/pkg/registry/registry.go | 67 +++--- client-programs/pkg/resolver/resolver.go | 7 +- client-programs/pkg/utils/docker.go | 68 +++--- .../pkg/{docker => utils}/docker_client.go | 2 +- 11 files changed, 382 insertions(+), 198 deletions(-) create mode 100644 client-programs/pkg/registry/network.go rename client-programs/pkg/{docker => utils}/docker_client.go (96%) diff --git a/client-programs/pkg/cluster/kindcluster.go b/client-programs/pkg/cluster/kindcluster.go index 9f23907cb..27ee0ff44 100644 --- a/client-programs/pkg/cluster/kindcluster.go +++ b/client-programs/pkg/cluster/kindcluster.go @@ -23,7 +23,6 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) @@ -144,7 +143,7 @@ func (o *KindClusterConfig) StopCluster() error { return errors.New("cluster for Educates does not exist") } - cli, err := docker.NewDockerClient() + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -198,7 +197,7 @@ func (o *KindClusterConfig) StartCluster() error { return errors.New("cluster for Educates does not exist") } - cli, err := docker.NewDockerClient() + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -255,7 +254,7 @@ func (o *KindClusterConfig) ClusterStatus() error { return errors.New("cluster for Educates does not exist") } - cli, err := docker.NewDockerClient() + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") diff --git a/client-programs/pkg/cmd/docker_workshop_open_cmd.go b/client-programs/pkg/cmd/docker_workshop_open_cmd.go index 683de9277..b3158b9fc 100644 --- a/client-programs/pkg/cmd/docker_workshop_open_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_open_cmd.go @@ -8,7 +8,6 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" @@ -70,7 +69,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { ctx := context.Background() - cli, err := docker.NewDockerClient() + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") diff --git a/client-programs/pkg/cmd/local_cluster_create_cmd.go b/client-programs/pkg/cmd/local_cluster_create_cmd.go index 0d89d626c..163d64373 100644 --- a/client-programs/pkg/cmd/local_cluster_create_cmd.go +++ b/client-programs/pkg/cmd/local_cluster_create_cmd.go @@ -1,22 +1,18 @@ package cmd import ( - "context" _ "embed" "fmt" - "io" - "os" + "net" + "strconv" + "time" - "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/image" - "github.com/docker/go-connections/nat" "github.com/pkg/errors" "github.com/spf13/cobra" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/installer" "github.com/educates/educates-training-platform/client-programs/pkg/registry" "github.com/educates/educates-training-platform/client-programs/pkg/secrets" @@ -101,13 +97,9 @@ func (o *LocalClusterCreateOptions) Run() error { return err } - httpAvailable, err := checkPortAvailability(fullConfig.LocalKindCluster.ListenAddress, []uint{80, 443}, o.Verbose) + available := checkPortAvailability(fullConfig.LocalKindCluster.ListenAddress, []uint{80, 443}, o.Verbose) - if err != nil { - return errors.Wrap(err, "couldn't test whether ports 80/443 available") - } - - if !httpAvailable { + if !available { return errors.New("ports 80/443 not available") } @@ -155,6 +147,10 @@ func (o *LocalClusterCreateOptions) Run() error { } if !o.ClusterOnly { + if !o.SkipImageResolution && !isImageResolutionPossible() { + fmt.Println("🔴 No network connectivity detected; skipping image resolution") + o.SkipImageResolution = true + } installer := installer.NewInstaller() err = installer.Run(o.Version, o.PackageRepository, fullConfig, &clusterConfig.Config, o.Verbose, false, o.SkipImageResolution, false) if err != nil { @@ -266,31 +262,10 @@ func (p *ProjectInfo) NewLocalClusterCreateCmd() *cobra.Command { return c } -func checkPortAvailability(listenAddress string, ports []uint, verbose bool) (bool, error) { - ctx := context.Background() - - cli, err := docker.NewDockerClient() - - if err != nil { - return false, errors.Wrap(err, "unable to create docker client") - } - - cli.ContainerRemove(ctx, "educates-port-availability-check", container.RemoveOptions{}) - - reader, err := cli.ImagePull(ctx, "docker.io/library/busybox:latest", image.PullOptions{}) - if err != nil { - return false, errors.Wrap(err, "cannot pull busybox image") - } - - defer reader.Close() - - if verbose { - io.Copy(os.Stdout, reader) - } else { - io.Copy(io.Discard, reader) - } - +func checkPortAvailability(listenAddress string, ports []uint, verbose bool) bool { + // Handle empty address default if listenAddress == "" { + var err error listenAddress, err = config.HostIP() if err != nil { @@ -298,49 +273,32 @@ func checkPortAvailability(listenAddress string, ports []uint, verbose bool) (bo } } - hostConfig := &container.HostConfig{ - PortBindings: nat.PortMap{}, - } - - exposedPorts := nat.PortSet{} - for _, port := range ports { - key := nat.Port(fmt.Sprintf("%d/tcp", port)) - hostConfig.PortBindings[key] = []nat.PortBinding{ - { - HostIP: listenAddress, - HostPort: fmt.Sprintf("%d", port), - }, - } - exposedPorts[key] = struct{}{} - } + // Format the address:port string + address := net.JoinHostPort(listenAddress, strconv.Itoa(int(port))) - resp, err := cli.ContainerCreate(ctx, &container.Config{ - Image: "docker.io/library/busybox:latest", - Cmd: []string{"/bin/true"}, - Tty: false, - ExposedPorts: exposedPorts, - }, hostConfig, nil, nil, "educates-port-availability-check") + // Try to create a server listener + listener, err := net.Listen("tcp", address) + if err != nil { + // If we get an error, the port is likely in use (or we lack permission) + return false + } - if err != nil { - return false, errors.Wrap(err, "cannot create busybox container") + // Important: Close the listener immediately so we don't hog the port! + listener.Close() } - defer cli.ContainerRemove(ctx, "educates-port-availability-check", container.RemoveOptions{}) - - if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil { - return false, errors.Wrap(err, "cannot start busybox container") - } + return true +} - statusCh, errCh := cli.ContainerWait(ctx, "educates-port-availability-check", container.WaitConditionNotRunning) +func isImageResolutionPossible() bool { + timeout := 2 * time.Second + target := net.JoinHostPort("registry-1.docker.io", "443") - select { - case err := <-errCh: - if err != nil { - return false, nil - } - case <-statusCh: + conn, err := net.DialTimeout("tcp", target, timeout) + if err != nil { + return false } - - return true, nil + conn.Close() + return true } diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index e0c7db4e9..164522d7f 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -276,7 +276,7 @@ func (m *DockerWorkshopsManager) GetDockerClient() (*client.Client, error) { return m.dockerClient, nil } - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return nil, errors.Wrap(err, "unable to create docker client") } diff --git a/client-programs/pkg/registry/base.go b/client-programs/pkg/registry/base.go index 7350bb677..c4579479c 100644 --- a/client-programs/pkg/registry/base.go +++ b/client-programs/pkg/registry/base.go @@ -18,6 +18,7 @@ import ( "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" ) @@ -45,13 +46,13 @@ func (b *baseContainer) ensureNetwork(cli *client.Client, networkName string) er } // containerExists checks if the container already exists. -func (b *baseContainer) containerExists(cli *client.Client) (bool, error) { +func (b *baseContainer) containerExists(cli *client.Client) (bool, string, error) { ctx := context.Background() - _, err := cli.ContainerInspect(ctx, b.containerName) + response, err := cli.ContainerInspect(ctx, b.containerName) if err == nil { - return true, nil + return true, response.ID, nil } - return false, nil + return false, "", err } // pullRegistryImage pulls the registry image. @@ -72,6 +73,19 @@ func (b *baseContainer) pullRegistryImage(cli *client.Client) error { func (b *baseContainer) createAndStartContainer(cli *client.Client) (string, error) { ctx := context.Background() + containerID, err := b.createContainer(cli, ctx) + if err != nil { + return "", errors.Wrap(err, "cannot create container") + } + + if err := b.startContainer(cli, ctx, containerID); err != nil { + return "", errors.Wrap(err, "unable to start container") + } + + return containerID, nil +} + +func (b *baseContainer) createContainer(cli *client.Client, ctx context.Context) (string, error) { hostConfig := &container.HostConfig{ PortBindings: nat.PortMap{ "5000/tcp": []nat.PortBinding{ @@ -98,40 +112,46 @@ func (b *baseContainer) createAndStartContainer(cli *client.Client) (string, err resp, err := cli.ContainerCreate(ctx, containerConfig, hostConfig, nil, nil, b.containerName) if err != nil { - return "", errors.Wrap(err, "cannot create container") - } - - if err := cli.ContainerStart(ctx, resp.ID, container.StartOptions{}); err != nil { - return "", errors.Wrap(err, "unable to start container") + return "", err } return resp.ID, nil } -// connectToNetwork connects the container to the specified network. -func (b *baseContainer) connectToNetwork(cli *client.Client, networkName string) error { - ctx := context.Background() - - cli.NetworkDisconnect(ctx, networkName, b.containerName, false) - - err := cli.NetworkConnect(ctx, networkName, b.containerName, &network.EndpointSettings{}) - if err != nil { - return errors.Wrap(err, fmt.Sprintf("unable to connect container to %s network", networkName)) +func (b *baseContainer) startContainer(cli *client.Client, ctx context.Context, containerID string) error { + if err := cli.ContainerStart(ctx, containerID, container.StartOptions{}); err != nil { + return err } return nil } -// linkToNetwork connects the container to the specified network. -func (b *baseContainer) linkToNetwork(cli *client.Client, networkName string) error { +// connectToNetwork connects the container to the specified network. +func (b *baseContainer) connectToNetwork(cli *client.Client, networkName string, fixedIP string) error { ctx := context.Background() - fmt.Println("Linking local image registry to cluster") + containerInfo, err := cli.ContainerInspect(ctx, b.containerName) + if err != nil { + return errors.Wrap(err, "unable to inspect container") + } + + if network, exists := containerInfo.NetworkSettings.Networks[networkName]; exists { + if fixedIP == "" || network.IPAddress == fixedIP { + return nil + } + } cli.NetworkDisconnect(ctx, networkName, b.containerName, false) - err := cli.NetworkConnect(ctx, networkName, b.containerName, &network.EndpointSettings{}) - if err != nil { + endpointSettings := &network.EndpointSettings{} + if fixedIP != "" { + endpointSettings.IPAddress = fixedIP + endpointSettings.IPAMConfig = &network.EndpointIPAMConfig{ + IPv4Address: fixedIP, + } + } + + if err := cli.NetworkConnect(ctx, networkName, b.containerName, endpointSettings); err != nil { return errors.Wrap(err, fmt.Sprintf("unable to connect container to %s network", networkName)) } @@ -142,7 +162,7 @@ func (b *baseContainer) linkToNetwork(cli *client.Client, networkName string) er func (b *baseContainer) stopAndRemoveContainer(cli *client.Client) error { ctx := context.Background() - exists, _ := b.containerExists(cli) + exists, _, _ := b.containerExists(cli) if !exists { return nil } @@ -238,7 +258,7 @@ func addRegistryConfigToNode(cli *client.Client, containerID, repositoryName, co func addRegistryConfigToKindNodes(repositoryName string, content string) error { fmt.Printf("Adding local image registry config (%s) to Kind nodes\n", repositoryName) - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } @@ -292,7 +312,7 @@ func removeRegistryConfigFromNode(cli *client.Client, containerID, repositoryNam func removeRegistryConfigFromKindNodes(repositoryName string) error { fmt.Printf("Removing local image registry config (%s) from Kind nodes\n", repositoryName) - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } diff --git a/client-programs/pkg/registry/mirror.go b/client-programs/pkg/registry/mirror.go index 59cc035c2..61314c307 100644 --- a/client-programs/pkg/registry/mirror.go +++ b/client-programs/pkg/registry/mirror.go @@ -6,7 +6,6 @@ import ( "fmt" "github.com/docker/docker/api/types/container" - "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" @@ -58,7 +57,7 @@ func buildMirrorEnvVars(mirrorConfig *config.RegistryMirrorConfig) []string { func (m *Mirror) DeployAndLinkToCluster() error { err := m.Deploy() if err != nil { - return errors.Wrap(err, "failed to deploy registry mirror "+m.config.Mirror) + return err } content := fmt.Sprintf(hostMirrorTomlTemplate, m.containerName) @@ -74,34 +73,42 @@ func (m *Mirror) DeployAndLinkToCluster() error { func (m *Mirror) Deploy() error { fmt.Printf("Deploying local image registry mirror %s\n", m.config.Mirror) - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } - exists, _ := m.containerExists(cli) - if exists { - // If we can retrieve a container of required name we assume it is - // running okay. Technically it could be restarting, stopping or - // have exited and container was not removed, but if that is the case - // then leave it up to the user to sort out. - fmt.Printf("Registry mirror %s already exists\n", m.config.Mirror) - return nil + exists, containerID, _ := m.containerExists(cli) + if !exists { + if err = m.pullRegistryImage(cli); err != nil { + return err + } + + containerID, err = m.createContainer(cli, context.Background()) + if err != nil { + return errors.Wrap(err, "cannot create registry mirror container") + } } if err = m.ensureNetwork(cli, constants.EducatesNetworkName); err != nil { return err } - if _, err = m.createAndStartContainer(cli); err != nil { + if err = m.startContainer(cli, context.Background(), containerID); err != nil { return errors.Wrap(err, "cannot create local registry mirror container") } - if err = m.connectToNetwork(cli, constants.EducatesNetworkName); err != nil { + if err = m.connectToNetwork(cli, constants.EducatesNetworkName, ""); err != nil { return errors.Wrap(err, fmt.Sprintf("unable to connect local registry mirror to %s network", constants.EducatesNetworkName)) } - if err = m.linkToNetwork(cli, constants.ClusterNetworkName); err != nil { + // Resolve Mirror IP + mirrorIP, err := resolveLocalMirrorIP(cli, m.containerName) + if err != nil { + return errors.Wrap(err, "failed to resolve fixed kind IP for local registry mirror") + } + + if err = m.connectToNetwork(cli, constants.ClusterNetworkName, mirrorIP); err != nil { return errors.Wrap(err, fmt.Sprintf("failed to link local registry mirror to %s network", constants.ClusterNetworkName)) } @@ -112,12 +119,12 @@ func (m *Mirror) Deploy() error { func (m *Mirror) DeleteAndUnlinkFromCluster() error { fmt.Printf("Deleting local image registry mirror %s\n", m.config.Mirror) - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } - exists, _ := m.containerExists(cli) + exists, _, _ := m.containerExists(cli) if !exists { fmt.Printf("Registry mirror %s does not exist\n", m.config.Mirror) return nil @@ -141,7 +148,7 @@ func (m *Mirror) DeleteAndUnlinkFromCluster() error { func (m *Mirror) Delete() error { fmt.Printf("Deleting local image registry mirror %s\n", m.config.Mirror) - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } @@ -155,7 +162,7 @@ func DeleteRegistryMirrors() error { fmt.Println("Deleting local image registry mirrors") - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } @@ -188,7 +195,7 @@ func DeleteRegistryMirrors() error { func ListRegistryMirrors() (string, error) { ctx := context.Background() - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return "", errors.Wrap(err, "unable to create docker client") } diff --git a/client-programs/pkg/registry/network.go b/client-programs/pkg/registry/network.go new file mode 100644 index 000000000..7e8b802f1 --- /dev/null +++ b/client-programs/pkg/registry/network.go @@ -0,0 +1,201 @@ +package registry + +import ( + "context" + "encoding/binary" + "fmt" + "net/netip" + + "github.com/docker/docker/api/types/network" + "github.com/docker/docker/client" + "github.com/pkg/errors" + + "github.com/educates/educates-training-platform/client-programs/pkg/constants" +) + +const ( + dockerNetworkFixedIPOffsetBase = 200 * 256 + localRegistryIPOffset = dockerNetworkFixedIPOffsetBase + 1 + localMirrorIPOffsetStart = dockerNetworkFixedIPOffsetBase + 2 + localMirrorIPOffsetRange = 200 +) + +func resolveLocalRegistryIP(cli *client.Client) (string, error) { + ctx := context.Background() + + networkInfo, err := cli.NetworkInspect(ctx, constants.ClusterNetworkName, network.InspectOptions{}) + if err != nil { + return "", errors.Wrap(err, fmt.Sprintf("unable to inspect %s network", constants.ClusterNetworkName)) + } + + prefix, gateway, err := dockerNetworkIPv4Prefix(constants.ClusterNetworkName, networkInfo) + if err != nil { + return "", err + } + + registryIP, err := fixedIPForOffset(constants.ClusterNetworkName, prefix, gateway, networkInfo.Containers, localRegistryIPOffset, constants.EducatesRegistryContainer) + if err != nil { + return "", errors.Wrap(err, fmt.Sprintf("unable to resolve fixed %s network IP for registry", constants.ClusterNetworkName)) + } + + return registryIP.String(), nil +} + +func resolveLocalMirrorIP(cli *client.Client, containerName string) (string, error) { + ctx := context.Background() + + networkInfo, err := cli.NetworkInspect(ctx, constants.ClusterNetworkName, network.InspectOptions{}) + if err != nil { + return "", errors.Wrap(err, fmt.Sprintf("unable to inspect %s network", constants.ClusterNetworkName)) + } + + prefix, gateway, err := dockerNetworkIPv4Prefix(constants.ClusterNetworkName, networkInfo) + if err != nil { + return "", err + } + + offset, err := mirrorOffsetForContainer(containerName) + if err != nil { + return "", err + } + + for i := uint32(0); i < localMirrorIPOffsetRange; i++ { + candidateOffset := localMirrorIPOffsetStart + ((offset + i) % localMirrorIPOffsetRange) + if candidateOffset == localRegistryIPOffset { + continue + } + + candidateIP, available, err := candidateFixedIP(constants.ClusterNetworkName, prefix, gateway, networkInfo.Containers, candidateOffset, containerName) + if err != nil { + return "", err + } + if !available { + continue + } + return candidateIP.String(), nil + } + + return "", errors.New(fmt.Sprintf("unable to allocate fixed %s network IP for mirror", constants.ClusterNetworkName)) +} + +func dockerNetworkIPv4Prefix(networkName string, networkInfo network.Inspect) (netip.Prefix, *netip.Addr, error) { + for _, config := range networkInfo.IPAM.Config { + if config.Subnet == "" { + continue + } + + prefix, err := netip.ParsePrefix(config.Subnet) + if err != nil || !prefix.Addr().Is4() { + continue + } + + var gateway *netip.Addr + if config.Gateway != "" { + if addr, err := netip.ParseAddr(config.Gateway); err == nil && addr.Is4() { + gateway = &addr + } + } + + return prefix.Masked(), gateway, nil + } + + return netip.Prefix{}, nil, errors.Errorf( "%s network has no IPv4 subnet", networkName) +} + +func fixedIPForOffset(networkName string, prefix netip.Prefix, gateway *netip.Addr, containers map[string]network.EndpointResource, offset uint32, allowedContainerName string) (netip.Addr, error) { + addr, available, err := candidateFixedIP(networkName, prefix, gateway, containers, offset, allowedContainerName) + if err != nil { + return netip.Addr{}, err + } + if !available { + return netip.Addr{}, fmt.Errorf("%s network already uses fixed IP %s", networkName, addr.String()) + } + return addr, nil +} + +func candidateFixedIP(networkName string, prefix netip.Prefix, gateway *netip.Addr, containers map[string]network.EndpointResource, offset uint32, allowedContainerName string) (netip.Addr, bool, error) { + base := prefix.Addr() + if !base.Is4() { + return netip.Addr{}, false, errors.New(fmt.Sprintf("%s network base is not IPv4", networkName)) + } + + addr, err := addIPv4Offset(base, offset) + if err != nil { + return netip.Addr{}, false, err + } + + if !prefix.Contains(addr) { + return netip.Addr{}, false, fmt.Errorf("%s network does not include fixed IP %s", networkName, addr.String()) + } + + if gateway != nil && *gateway == addr { + return netip.Addr{}, false, fmt.Errorf("%s network gateway conflicts with fixed IP %s", networkName, addr.String()) + } + + if containerName, inUse := containerNameForIP(containers, addr); inUse { + if allowedContainerName != "" && containerName == allowedContainerName { + return addr, true, nil + } + return addr, false, nil + } + + return addr, true, nil +} + +func addIPv4Offset(base netip.Addr, offset uint32) (netip.Addr, error) { + if !base.Is4() { + return netip.Addr{}, errors.New("base address is not IPv4") + } + + baseBytes := base.As4() + baseValue := binary.BigEndian.Uint32(baseBytes[:]) + targetValue := baseValue + offset + + if targetValue < baseValue { + return netip.Addr{}, errors.New("fixed IP offset overflows IPv4 range") + } + + var targetBytes [4]byte + binary.BigEndian.PutUint32(targetBytes[:], targetValue) + + return netip.AddrFrom4(targetBytes), nil +} + + +func containerNameForIP(containers map[string]network.EndpointResource, addr netip.Addr) (string, bool) { + for _, container := range containers { + if container.IPv4Address == "" { + continue + } + + parsed, err := netip.ParsePrefix(container.IPv4Address) + if err != nil { + continue + } + + if parsed.Addr() == addr { + return container.Name, true + } + } + + return "", false +} + +func mirrorOffsetForContainer(containerName string) (uint32, error) { + hash := fnv32a(containerName) + return hash % localMirrorIPOffsetRange, nil +} + +func fnv32a(value string) uint32 { + const ( + offset32 = 2166136261 + prime32 = 16777619 + ) + + hash := uint32(offset32) + for i := 0; i < len(value); i++ { + hash ^= uint32(value[i]) + hash *= prime32 + } + return hash +} diff --git a/client-programs/pkg/registry/registry.go b/client-programs/pkg/registry/registry.go index bafdbc602..437a128ce 100644 --- a/client-programs/pkg/registry/registry.go +++ b/client-programs/pkg/registry/registry.go @@ -6,7 +6,6 @@ import ( "fmt" "github.com/docker/docker/api/types/container" - "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" @@ -45,20 +44,20 @@ func NewRegistry(bindIP string, k8sClient *kubernetes.Clientset) *Registry { func (r *Registry) DeployAndLinkToCluster() error { err := r.Deploy() if err != nil { - return errors.Wrap(err, "failed to deploy registry") + return err } // This is needed to make containerd use the local registry if err = addRegistryConfigToKindNodes("localhost:5001", fmt.Sprintf(hostRegistryTomlTemplate, constants.EducatesRegistryContainer)); err != nil { - return errors.Wrap(err, "failed to add registry config to kind nodes") + return err } if err = addRegistryConfigToKindNodes("registry.default.svc.cluster.local", fmt.Sprintf(hostRegistryTomlTemplate, constants.EducatesRegistryContainer)); err != nil { - return errors.Wrap(err, "failed to add registry config to kind nodes") + return err } // This is needed so that kubernetes nodes can pull images from the local registry if err = r.documentLocalRegistry(); err != nil { - return errors.Wrap(err, "failed to document registry config in cluster") + return err } return nil @@ -69,38 +68,44 @@ func (r *Registry) DeployAndLinkToCluster() error { func (r *Registry) Deploy() error { fmt.Println("Deploying local image registry") - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } - exists, _ := r.containerExists(cli) - if exists { - // If we can retrieve a container of required name we assume it is - // running okay. Technically it could be restarting, stopping or - // have exited and container was not removed, but if that is the case - // then leave it up to the user to sort out. - return nil - } + exists, containerID, _ := r.containerExists(cli) + if !exists { + if err = r.pullRegistryImage(cli); err != nil { + return err + } - if err = r.pullRegistryImage(cli); err != nil { - return err + containerID, err = r.createContainer(cli, context.Background()) + if err != nil { + return errors.Wrap(err, "cannot create registry container") + } } + if err = r.ensureNetwork(cli, constants.EducatesNetworkName); err != nil { return err } - if _, err = r.createAndStartContainer(cli); err != nil { - return errors.Wrap(err, "cannot create registry container") + if err = r.startContainer(cli, context.Background(), containerID); err != nil { + return errors.Wrap(err, "unable to start registry container") } - if err = r.connectToNetwork(cli, constants.EducatesNetworkName); err != nil { + if err = r.connectToNetwork(cli, constants.EducatesNetworkName, ""); err != nil { return errors.Wrap(err, fmt.Sprintf("unable to connect registry to %s network", constants.EducatesNetworkName)) } - if err = r.linkToNetwork(cli, constants.ClusterNetworkName); err != nil { - return errors.Wrap(err, fmt.Sprintf("failed to link registry to %s network", constants.ClusterNetworkName)) + registryIP, err := resolveLocalRegistryIP(cli) + + if err != nil { + return errors.Wrap(err, "failed to resolve local registry IP") + } + + if err = r.connectToNetwork(cli, constants.ClusterNetworkName, registryIP); err != nil { + return errors.Wrap(err, fmt.Sprintf("failed to connect registry to %s network at IP:%s", constants.ClusterNetworkName, registryIP )) } return nil @@ -116,7 +121,7 @@ func (r *Registry) DeleteAndUnlinkFromCluster() error { func (r *Registry) Delete() error { fmt.Println("Deleting local image registry") - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } @@ -148,12 +153,12 @@ func (r *Registry) documentLocalRegistry() error { if _, err := r.k8sClient.CoreV1().ConfigMaps("kube-public").Get(context.TODO(), "local-registry-hosting", metav1.GetOptions{}); k8serrors.IsNotFound(err) { _, err = r.k8sClient.CoreV1().ConfigMaps("kube-public").Create(context.TODO(), configMap, metav1.CreateOptions{}) if err != nil { - return errors.Wrap(err, "unable to create local registry hosting config map") + return errors.Wrap(err, "document local registry: unable to create local registry hosting config map") } } else { _, err = r.k8sClient.CoreV1().ConfigMaps("kube-public").Update(context.TODO(), configMap, metav1.UpdateOptions{}) if err != nil { - return errors.Wrap(err, "unable to update local registry hosting config map") + return errors.Wrap(err, "document local registry: unable to update local registry hosting config map") } } @@ -169,7 +174,7 @@ func (r *Registry) UpdateK8SService() error { ctx := context.Background() - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } @@ -199,12 +204,12 @@ func (r *Registry) UpdateK8SService() error { return errors.Wrapf(err, "unable to inspect container for registry") } - kindNetwork, exists := registryInfo.NetworkSettings.Networks["kind"] + network, exists := registryInfo.NetworkSettings.Networks[constants.ClusterNetworkName] if !exists { - return errors.New("registry is not attached to kind network") + return errors.New(fmt.Sprintf("registry is not attached to %s network", constants.ClusterNetworkName)) } - endpointAddresses := []string{kindNetwork.IPAddress} + endpointAddresses := []string{network.IPAddress} endpointSlice := discoveryv1.EndpointSlice{ ObjectMeta: metav1.ObjectMeta{ @@ -256,13 +261,13 @@ func (r *Registry) Prune() error { fmt.Println("Pruning local image registry") - cli, err := client.NewClientWithOpts(client.FromEnv) + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } - containerID, _ := utils.GetContainerInfo(constants.EducatesRegistryContainer) - if containerID == "" { + exists, containerID, _ := r.containerExists(cli) + if !exists || containerID == "" { return nil } diff --git a/client-programs/pkg/resolver/resolver.go b/client-programs/pkg/resolver/resolver.go index bfbbe6ec8..a3748953a 100644 --- a/client-programs/pkg/resolver/resolver.go +++ b/client-programs/pkg/resolver/resolver.go @@ -15,7 +15,6 @@ import ( "github.com/docker/go-connections/nat" "github.com/educates/educates-training-platform/client-programs/pkg/config" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" ) @@ -42,7 +41,7 @@ func DeployResolver(domain string, targetAddress string, extraDomains []string) fmt.Println("Deploying local DNS resolver") - cli, err := docker.NewDockerClient() + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -127,7 +126,7 @@ func DeleteResolver() error { fmt.Println("Deleting local DNS resolver") - cli, err := docker.NewDockerClient() + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") @@ -164,7 +163,7 @@ func UpdateResolver(domain string, targetAddress string, extraDomains []string) fmt.Println("Updating local DNS resolver configuration") - cli, err := docker.NewDockerClient() + cli, err := utils.NewDockerClient() if err != nil { return errors.Wrap(err, "unable to create docker client") } diff --git a/client-programs/pkg/utils/docker.go b/client-programs/pkg/utils/docker.go index edb273de4..c631147d5 100644 --- a/client-programs/pkg/utils/docker.go +++ b/client-programs/pkg/utils/docker.go @@ -1,13 +1,9 @@ package utils import ( - "context" - "fmt" "strings" "github.com/docker/docker/api/types/container" - "github.com/docker/docker/api/types/filters" - "github.com/docker/docker/client" ) func GetContainerName(container container.Summary) string { @@ -21,35 +17,35 @@ func GetContainerName(container container.Summary) string { return name } -/** - * This function is used to get the container id and status of a container. - * If the container does not exist, it will return an empty string for the container id and status. - */ - func GetContainerInfo(containerName string) (containerID string, status string) { - ctx := context.Background() - - cli, err := client.NewClientWithOpts(client.FromEnv) - if err != nil { - panic(err) - } - - filters := filters.NewArgs() - filters.Add( - "name", containerName, - ) - - resp, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters}) - if err != nil { - panic(err) - } - - if len(resp) > 0 { - containerID = resp[0].ID - containerStatus := strings.Split(resp[0].Status, " ") - status = containerStatus[0] //fmt.Println(status[0]) - } else { - fmt.Printf("container '%s' does not exists\n", containerName) - } - - return -} +// /** +// * This function is used to get the container id and status of a container. +// * If the container does not exist, it will return an empty string for the container id and status. +// */ +// func GetContainerInfo(containerName string) (containerID string, status string) { +// ctx := context.Background() + +// cli, err := NewDockerClient() +// if err != nil { +// panic(err) +// } + +// filters := filters.NewArgs() +// filters.Add( +// "name", containerName, +// ) + +// resp, err := cli.ContainerList(ctx, container.ListOptions{Filters: filters}) +// if err != nil { +// panic(err) +// } + +// if len(resp) > 0 { +// containerID = resp[0].ID +// containerStatus := strings.Split(resp[0].Status, " ") +// status = containerStatus[0] //fmt.Println(status[0]) +// } else { +// fmt.Printf("container '%s' does not exists\n", containerName) +// } + +// return +// } diff --git a/client-programs/pkg/docker/docker_client.go b/client-programs/pkg/utils/docker_client.go similarity index 96% rename from client-programs/pkg/docker/docker_client.go rename to client-programs/pkg/utils/docker_client.go index ca117c237..c508d882f 100644 --- a/client-programs/pkg/docker/docker_client.go +++ b/client-programs/pkg/utils/docker_client.go @@ -1,4 +1,4 @@ -package docker +package utils import ( "sync" From 61b81cda0e5d4c03f7e17ae7586bcb9729ee150a Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Tue, 3 Feb 2026 11:51:56 +0100 Subject: [PATCH 29/41] Reverted packake.json and package-lock.json to the previous in development --- .../opt/gateway/package-lock.json | 533 ++--- .../base-environment/opt/gateway/package.json | 2 +- .../opt/helper/package-lock.json | 2017 ++++++++--------- .../opt/renderer/package-lock.json | 24 - 4 files changed, 1216 insertions(+), 1360 deletions(-) diff --git a/workshop-images/base-environment/opt/gateway/package-lock.json b/workshop-images/base-environment/opt/gateway/package-lock.json index 20228525b..1e1e1d828 100644 --- a/workshop-images/base-environment/opt/gateway/package-lock.json +++ b/workshop-images/base-environment/opt/gateway/package-lock.json @@ -30,7 +30,7 @@ "http-proxy-middleware": "^2.0.9", "jquery": "^3.7.1", "js-yaml": "^4.1.1", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "matcher": "^5.0.0", "minimist": ">=1.2.7", "morgan": "^1.10.0", @@ -840,34 +840,65 @@ "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" }, "node_modules/bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", - "dev": true + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", + "dev": true, + "license": "MIT" }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", "npm": "1.2.8000 || >= 1.4.16" } }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/body-parser/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/bootstrap": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.3.2.tgz", @@ -1037,47 +1068,39 @@ } }, "node_modules/browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", "dev": true, + "license": "MIT", "dependencies": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" + }, + "engines": { + "node": ">= 0.10" } }, "node_modules/browserify-sign": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", - "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", + "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", "dev": true, + "license": "ISC", "dependencies": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", + "bn.js": "^5.2.2", + "browserify-rsa": "^4.1.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.5", - "hash-base": "~3.0", + "elliptic": "^6.6.1", "inherits": "^2.0.4", - "parse-asn1": "^5.1.7", + "parse-asn1": "^5.1.9", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1" }, "engines": { - "node": ">= 0.12" - } - }, - "node_modules/browserify-sign/node_modules/hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=4" + "node": ">= 0.10" } }, "node_modules/browserify-zlib": { @@ -1186,6 +1209,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1937,20 +1961,6 @@ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" }, - "node_modules/express/node_modules/qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", @@ -2239,31 +2249,19 @@ } }, "node_modules/hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", + "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", "dev": true, + "license": "MIT", "dependencies": { "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/hash-base/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" }, "engines": { - "node": ">= 6" + "node": ">= 0.8" } }, "node_modules/hash.js": { @@ -2369,6 +2367,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -2752,9 +2751,9 @@ } }, "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" }, "node_modules/lodash.memoize": { "version": "3.0.4", @@ -3216,35 +3215,22 @@ } }, "node_modules/parse-asn1": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", - "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", + "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", "dev": true, + "license": "ISC", "dependencies": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", "evp_bytestokey": "^1.0.3", - "hash-base": "~3.0", - "pbkdf2": "^3.1.2", + "pbkdf2": "^3.1.5", "safe-buffer": "^5.2.1" }, "engines": { "node": ">= 0.10" } }, - "node_modules/parse-asn1/node_modules/hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - }, - "engines": { - "node": ">=4" - } - }, "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", @@ -3347,55 +3333,21 @@ } }, "node_modules/pbkdf2": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", - "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", + "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", "dev": true, "license": "MIT", "dependencies": { - "create-hash": "~1.1.3", + "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "ripemd160": "=2.0.1", + "ripemd160": "^2.0.3", "safe-buffer": "^5.2.1", - "sha.js": "^2.4.11", - "to-buffer": "^1.2.0" + "sha.js": "^2.4.12", + "to-buffer": "^1.2.1" }, "engines": { - "node": ">=0.12" - } - }, - "node_modules/pbkdf2/node_modules/create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", - "dev": true, - "license": "MIT", - "dependencies": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "sha.js": "^2.4.0" - } - }, - "node_modules/pbkdf2/node_modules/hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", - "dev": true, - "license": "MIT", - "dependencies": { - "inherits": "^2.0.1" - } - }, - "node_modules/pbkdf2/node_modules/ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", - "dev": true, - "license": "MIT", - "dependencies": { - "hash-base": "^2.0.0", - "inherits": "^2.0.1" + "node": ">= 0.10" } }, "node_modules/picomatch": { @@ -3639,7 +3591,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -3703,15 +3655,45 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -3808,13 +3790,17 @@ } }, "node_modules/ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", + "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", "dev": true, + "license": "MIT", "dependencies": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "^3.1.2", + "inherits": "^2.0.4" + }, + "engines": { + "node": ">= 0.8" } }, "node_modules/safe-buffer": { @@ -3847,7 +3833,8 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/semver": { "version": "7.5.4", @@ -5521,28 +5508,47 @@ } }, "bn.js": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", - "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.2.tgz", + "integrity": "sha512-v2YAxEmKaBLahNwE1mjp4WON6huMNeuDvagFZW+ASCuA/ku0bXR9hSMw0XpiqMoA3+rmnyck/tPRSFQkoC9Cuw==", "dev": true }, "body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "requires": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "requires": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + } + }, + "statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" + } } }, "bootstrap": { @@ -5725,43 +5731,31 @@ } }, "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.1.tgz", + "integrity": "sha512-YBjSAiTqM04ZVei6sXighu679a3SqWORA3qZTEqZImnlkDIFtKc6pNutpjyZ8RJTjQtuYfeetkxM11GwoYXMIQ==", "dev": true, "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" + "bn.js": "^5.2.1", + "randombytes": "^2.1.0", + "safe-buffer": "^5.2.1" } }, "browserify-sign": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.3.tgz", - "integrity": "sha512-JWCZW6SKhfhjJxO8Tyiiy+XYB7cqd2S5/+WeYHsKdNKFlCBhKbblba1A/HN/90YwtxKc8tCErjffZl++UNmGiw==", + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.5.tgz", + "integrity": "sha512-C2AUdAJg6rlM2W5QMp2Q4KGQMVBwR1lIimTsUnutJ8bMpW5B52pGpR2gEnNBNwijumDo5FojQ0L9JrXA8m4YEw==", "dev": true, "requires": { - "bn.js": "^5.2.1", - "browserify-rsa": "^4.1.0", + "bn.js": "^5.2.2", + "browserify-rsa": "^4.1.1", "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "elliptic": "^6.5.5", - "hash-base": "~3.0", + "elliptic": "^6.6.1", "inherits": "^2.0.4", - "parse-asn1": "^5.1.7", + "parse-asn1": "^5.1.9", "readable-stream": "^2.3.8", "safe-buffer": "^5.2.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - } } }, "browserify-zlib": { @@ -6409,16 +6403,6 @@ "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" - }, - "dependencies": { - "qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", - "requires": { - "side-channel": "^1.1.0" - } - } } }, "express-basic-auth": { @@ -6649,27 +6633,15 @@ } }, "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.2.tgz", + "integrity": "sha512-Bb33KbowVTIj5s7Ked1OsqHUeCpz//tPwR+E2zJgJKo9Z5XolZ9b6bdUgjmYlwnWhoOQKoTd1TYToZGn5mAYOg==", "dev": true, "requires": { "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "readable-stream": "^2.3.8", + "safe-buffer": "^5.2.1", + "to-buffer": "^1.2.1" } }, "hash.js": { @@ -7028,9 +7000,9 @@ } }, "lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + "version": "4.17.23", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.23.tgz", + "integrity": "sha512-LgVTMpQtIopCi79SJeDiP0TfWi5CNEc/L/aRdTh3yIvmZXTnheWpKjSZhnvMl8iXbC1tFg9gdHHDMLoV7CnG+w==" }, "lodash.memoize": { "version": "3.0.4", @@ -7382,29 +7354,16 @@ } }, "parse-asn1": { - "version": "5.1.7", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.7.tgz", - "integrity": "sha512-CTM5kuWR3sx9IFamcl5ErfPl6ea/N8IYwiJ+vpeB2g+1iknv7zBl5uPwbMbRVznRVbrNY6lGuDoE5b30grmbqg==", + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.9.tgz", + "integrity": "sha512-fIYNuZ/HastSb80baGOuPRo1O9cf4baWw5WsAp7dBuUzeTD/BoaG8sVTdlPFksBE2lF21dN+A1AnrpIjSWqHHg==", "dev": true, "requires": { "asn1.js": "^4.10.1", "browserify-aes": "^1.2.0", "evp_bytestokey": "^1.0.3", - "hash-base": "~3.0", - "pbkdf2": "^3.1.2", + "pbkdf2": "^3.1.5", "safe-buffer": "^5.2.1" - }, - "dependencies": { - "hash-base": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.0.4.tgz", - "integrity": "sha512-EeeoJKjTyt868liAlVmcv2ZsUfGHlE3Q+BICOXcZiwN3osr5Q/zFGYmTJpoIzuaSTAwndFy+GqhEwlU4L3j4Ow==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - } } }, "parseurl": { @@ -7491,50 +7450,17 @@ "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==" }, "pbkdf2": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.3.tgz", - "integrity": "sha512-wfRLBZ0feWRhCIkoMB6ete7czJcnNnqRpcoWQBLqatqXXmelSRqfdDK4F3u9T2s2cXas/hQJcryI/4lAL+XTlA==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.5.tgz", + "integrity": "sha512-Q3CG/cYvCO1ye4QKkuH7EXxs3VC/rI1/trd+qX2+PolbaKG0H+bgcZzrTt96mMyRtejk+JMCiLUn3y29W8qmFQ==", "dev": true, "requires": { - "create-hash": "~1.1.3", + "create-hash": "^1.2.0", "create-hmac": "^1.1.7", - "ripemd160": "=2.0.1", + "ripemd160": "^2.0.3", "safe-buffer": "^5.2.1", - "sha.js": "^2.4.11", - "to-buffer": "^1.2.0" - }, - "dependencies": { - "create-hash": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.1.3.tgz", - "integrity": "sha512-snRpch/kwQhcdlnZKYanNF1m0RDlrCdSKQaH87w1FCFPVPNCQ/Il9QJKAX2jVBZddRdaHBMC+zXa9Gw9tmkNUA==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "sha.js": "^2.4.0" - } - }, - "hash-base": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-2.0.2.tgz", - "integrity": "sha512-0TROgQ1/SxE6KmxWSvXHvRj90/Xo1JvZShofnYF+f6ZsGtR4eES7WfrQzPalmyagfKZCXpVnitiRebZulWsbiw==", - "dev": true, - "requires": { - "inherits": "^2.0.1" - } - }, - "ripemd160": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.1.tgz", - "integrity": "sha512-J7f4wutN8mdbV08MJnXibYpCOPHR+yzy+iQ/AsjMv2j8cLavQ8VGagDFUwwTAdF8FmRKVeNpbTTEwNHCW1g94w==", - "dev": true, - "requires": { - "hash-base": "^2.0.0", - "inherits": "^2.0.1" - } - } + "sha.js": "^2.4.12", + "to-buffer": "^1.2.1" } }, "picomatch": { @@ -7747,7 +7673,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "requires": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" } }, "querystring": { @@ -7792,14 +7718,33 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "requires": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + } + }, + "statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" + } } }, "read-only-stream": { @@ -7879,13 +7824,13 @@ } }, "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.3.tgz", + "integrity": "sha512-5Di9UC0+8h1L6ZD2d7awM7E/T4uA1fJRlx6zk/NvdCCVEoAnFqvHmCuNeIKoCeIixBX/q8uM+6ycDvF8woqosA==", "dev": true, "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "hash-base": "^3.1.2", + "inherits": "^2.0.4" } }, "safe-buffer": { diff --git a/workshop-images/base-environment/opt/gateway/package.json b/workshop-images/base-environment/opt/gateway/package.json index f0451541c..e518a8fb0 100644 --- a/workshop-images/base-environment/opt/gateway/package.json +++ b/workshop-images/base-environment/opt/gateway/package.json @@ -32,7 +32,7 @@ "http-proxy-middleware": "^2.0.9", "jquery": "^3.7.1", "js-yaml": "^4.1.1", - "lodash": "^4.17.21", + "lodash": "^4.17.23", "matcher": "^5.0.0", "minimist": ">=1.2.7", "morgan": "^1.10.0", diff --git a/workshop-images/base-environment/opt/helper/package-lock.json b/workshop-images/base-environment/opt/helper/package-lock.json index f1f47a6d4..d6d715f01 100644 --- a/workshop-images/base-environment/opt/helper/package-lock.json +++ b/workshop-images/base-environment/opt/helper/package-lock.json @@ -28,7 +28,7 @@ "@vscode/test-electron": "^2.2.0", "@vscode/vsce": "^2.19.0", "ansi-regex": ">=6.0.1", - "eslint": "^8.44.0", + "eslint": "^9.39.2", "glob": "^8.0.3", "minimist": ">=1.2.7", "mocha": "^10.8.2", @@ -38,137 +38,183 @@ "vscode": "^1.45.0" } }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "dependencies": { - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.3" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, + "funding": { + "url": "https://opencollective.com/eslint" + }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "node_modules/@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, + "node_modules/@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "dependencies": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "dependencies": { + "@eslint/core": "^0.17.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, + "node_modules/@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + } + }, "node_modules/@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", "dev": true, "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", + "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/eslintrc/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", "dev": true, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + } + }, + "node_modules/@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "node_modules/@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" }, "engines": { - "node": ">=10.10.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true, "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">=18.18.0" } }, - "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "node_modules/@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" }, "engines": { - "node": ">= 8" + "node": ">=18.18.0" } }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, "engines": { - "node": ">= 8" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, "engines": { - "node": ">= 8" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, "node_modules/@tootallnate/once": { @@ -199,6 +245,12 @@ "@types/node": "*" } }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, "node_modules/@types/express": { "version": "4.17.17", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", @@ -234,9 +286,9 @@ } }, "node_modules/@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "node_modules/@types/mime": { @@ -275,12 +327,6 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "node_modules/@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, "node_modules/@types/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", @@ -308,120 +354,142 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.1.0.tgz", - "integrity": "sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.1.0", - "@typescript-eslint/type-utils": "6.1.0", - "@typescript-eslint/utils": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", + "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", + "dev": true, + "dependencies": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/type-utils": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^2.4.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "@typescript-eslint/parser": "^6.0.0 || ^6.0.0-alpha", - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "@typescript-eslint/parser": "^8.54.0", + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.1.0.tgz", - "integrity": "sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", + "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "6.1.0", - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/typescript-estree": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0", - "debug": "^4.3.4" + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/project-service": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", + "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", + "dev": true, + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.54.0", + "@typescript-eslint/types": "^8.54.0", + "debug": "^4.4.3" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.1.0.tgz", - "integrity": "sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", + "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", + "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, "node_modules/@typescript-eslint/type-utils": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.1.0.tgz", - "integrity": "sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", + "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "6.1.0", - "@typescript-eslint/utils": "6.1.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/types": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.1.0.tgz", - "integrity": "sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", "dev": true, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", @@ -429,74 +497,108 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.1.0.tgz", - "integrity": "sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", + "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@typescript-eslint/project-service": "8.54.0", + "@typescript-eslint/tsconfig-utils": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } + "peerDependencies": { + "typescript": ">=4.8.4 <6.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, "node_modules/@typescript-eslint/utils": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.1.0.tgz", - "integrity": "sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", + "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", "dev": true, "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.1.0", - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/typescript-estree": "6.1.0", - "semver": "^7.5.4" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "eslint": "^7.0.0 || ^8.0.0" + "eslint": "^8.57.0 || ^9.0.0", + "typescript": ">=4.8.4 <6.0.0" } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.1.0.tgz", - "integrity": "sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", + "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "6.1.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "8.54.0", + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^16.0.0 || >=18.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, "node_modules/@vscode/test-electron": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/@vscode/test-electron/-/test-electron-2.5.2.tgz", @@ -592,9 +694,9 @@ } }, "node_modules/acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -694,15 +796,6 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "node_modules/array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/azure-devops-node-api": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", @@ -777,22 +870,23 @@ } }, "node_modules/body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8", @@ -807,11 +901,40 @@ "ms": "2.0.0" } }, + "node_modules/body-parser/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, "node_modules/body-parser/node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, + "node_modules/body-parser/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", @@ -885,6 +1008,7 @@ "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "license": "MIT", "engines": { "node": ">= 0.8" } @@ -1184,9 +1308,9 @@ } }, "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "dependencies": { "ms": "^2.1.3" @@ -1280,30 +1404,6 @@ "node": ">=0.3.1" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -1464,65 +1564,84 @@ } }, "node_modules/eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", - "@humanwhocodes/config-array": "^0.11.10", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", - "esquery": "^1.4.2", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "bin": { "eslint": "bin/eslint.js" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://eslint.org/donate" + }, + "peerDependencies": { + "jiti": "*" + }, + "peerDependenciesMeta": { + "jiti": { + "optional": true + } + } + }, + "node_modules/eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1592,31 +1711,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, - "node_modules/eslint/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/eslint/node_modules/has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", @@ -1626,6 +1732,15 @@ "node": ">=8" } }, + "node_modules/eslint/node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, "node_modules/eslint/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -1639,26 +1754,38 @@ } }, "node_modules/espree": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", - "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "dependencies": { - "acorn": "^8.9.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.1" }, "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true, + "engines": { + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" }, "funding": { "url": "https://opencollective.com/eslint" } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -1667,15 +1794,6 @@ "node": ">=0.10" } }, - "node_modules/esquery/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -1688,7 +1806,7 @@ "node": ">=4.0" } }, - "node_modules/esrecurse/node_modules/estraverse": { + "node_modules/estraverse": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", @@ -1782,54 +1900,12 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" }, - "node_modules/express/node_modules/qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/fast-deep-equal": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "node_modules/fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, "node_modules/fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -1842,15 +1918,6 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, "node_modules/fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -1861,15 +1928,15 @@ } }, "node_modules/file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "dependencies": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16.0.0" } }, "node_modules/fill-range": { @@ -1940,22 +2007,22 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "dependencies": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "flatted": "^3.2.9", + "keyv": "^4.5.4" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=16" } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true }, "node_modules/forwarded": { @@ -2127,35 +2194,12 @@ } }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", "dev": true, - "dependencies": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - }, "engines": { - "node": ">=10" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -2172,12 +2216,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -2294,6 +2332,7 @@ "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "license": "MIT", "dependencies": { "safer-buffer": ">= 2.1.2 < 3" }, @@ -2323,9 +2362,9 @@ "optional": true }, "node_modules/ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true, "engines": { "node": ">= 4" @@ -2338,9 +2377,9 @@ "dev": true }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "dependencies": { "parent-module": "^1.0.0", @@ -2455,15 +2494,6 @@ "node": ">=0.12.0" } }, - "node_modules/is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -2509,6 +2539,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2551,6 +2587,15 @@ "prebuild-install": "^7.0.1" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -2765,15 +2810,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", @@ -2782,19 +2818,6 @@ "node": ">= 0.6" } }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, "node_modules/mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -2997,12 +3020,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "node_modules/natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "node_modules/negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -3099,17 +3116,17 @@ } }, "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" }, "engines": { "node": ">= 0.8.0" @@ -3360,15 +3377,6 @@ "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==", "license": "MIT" }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -3453,9 +3461,9 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, "engines": { "node": ">=6" @@ -3466,7 +3474,7 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "dependencies": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" }, "engines": { "node": ">=0.6" @@ -3475,26 +3483,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -3513,19 +3501,49 @@ } }, "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "license": "MIT", "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" }, "engines": { "node": ">= 0.8" } }, + "node_modules/raw-body/node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "license": "MIT", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/raw-body/node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -3631,74 +3649,6 @@ "node": ">=4" } }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rimraf/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, "node_modules/safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -3721,7 +3671,8 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "license": "MIT" }, "node_modules/sax": { "version": "1.2.4", @@ -3730,13 +3681,10 @@ "dev": true }, "node_modules/semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, "bin": { "semver": "bin/semver.js" }, @@ -3970,15 +3918,6 @@ "simple-concat": "^1.0.0" } }, - "node_modules/slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, "node_modules/statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -4118,11 +4057,50 @@ "node": ">= 6" } }, - "node_modules/text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tinyglobby/node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/tinyglobby/node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, "node_modules/tmp": { "version": "0.2.4", @@ -4154,15 +4132,15 @@ } }, "node_modules/ts-api-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", - "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "engines": { - "node": ">=16.13.0" + "node": ">=18.12" }, "peerDependencies": { - "typescript": ">=4.2.0" + "typescript": ">=4.8.4" } }, "node_modules/tunnel": { @@ -4199,18 +4177,6 @@ "node": ">= 0.8.0" } }, - "node_modules/type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -4319,6 +4285,15 @@ "node": ">= 8" } }, + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/workerpool": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", @@ -4501,98 +4476,124 @@ } }, "dependencies": { - "@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.4.3" + } + }, + "@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true }, - "@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "@eslint/config-array": { + "version": "0.21.1", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", + "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", + "dev": true, + "requires": { + "@eslint/object-schema": "^2.1.7", + "debug": "^4.3.1", + "minimatch": "^3.1.2" + } + }, + "@eslint/config-helpers": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", + "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", + "dev": true, + "requires": { + "@eslint/core": "^0.17.0" + } + }, + "@eslint/core": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", + "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", "dev": true, "requires": { - "eslint-visitor-keys": "^3.3.0" + "@types/json-schema": "^7.0.15" } }, - "@eslint-community/regexpp": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", - "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", - "dev": true - }, "@eslint/eslintrc": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.0.tgz", - "integrity": "sha512-Lj7DECXqIVCqnqjjHMPna4vn6GJcMgul/wuS0je9OZ9gsL0zzDpKPVtcG1HaDVc+9y+qgXneTeUMbCqXJNpH1A==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", + "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.6.0", - "globals": "^13.19.0", + "espree": "^10.0.1", + "globals": "^14.0.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", + "js-yaml": "^4.1.1", "minimatch": "^3.1.2", "strip-json-comments": "^3.1.1" + }, + "dependencies": { + "ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true + } } }, "@eslint/js": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.44.0.tgz", - "integrity": "sha512-Ag+9YM4ocKQx9AarydN0KY2j0ErMHNIocPDrVo8zAE44xLTjEtz81OdR68/cydGtk6m6jDb5Za3r2useMzYmSw==", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.2.tgz", + "integrity": "sha512-q1mjIoW1VX4IvSocvM/vbTiveKC4k9eLrajNEuSsmjymSDEbpGddtpfOoN7YGAqBK3NG+uqo8ia4PDTt8buCYA==", + "dev": true + }, + "@eslint/object-schema": { + "version": "2.1.7", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", + "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", "dev": true }, - "@humanwhocodes/config-array": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.10.tgz", - "integrity": "sha512-KVVjQmNUepDVGXNuoRRdmmEjruj0KfiGSbS8LVc12LMsWDQzRXJ0qdhN8L8uUigKpfEHRhlaQFY0ib1tnUbNeQ==", + "@eslint/plugin-kit": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", + "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", - "minimatch": "^3.0.5" + "@eslint/core": "^0.17.0", + "levn": "^0.4.1" } }, - "@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true - }, - "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "@humanfs/core": { + "version": "0.19.1", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", + "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", "dev": true }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "@humanfs/node": { + "version": "0.16.7", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", + "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", "dev": true, "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" + "@humanfs/core": "^0.19.1", + "@humanwhocodes/retry": "^0.4.0" } }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } + "@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "dev": true }, "@tootallnate/once": { "version": "1.1.2", @@ -4619,6 +4620,12 @@ "@types/node": "*" } }, + "@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true + }, "@types/express": { "version": "4.17.17", "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", @@ -4654,9 +4661,9 @@ } }, "@types/json-schema": { - "version": "7.0.12", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.12.tgz", - "integrity": "sha512-Hr5Jfhc9eYOQNPYO5WLDq/n4jqijdHNlDXjuAQkkt+mWdQR+XJToOHrsD4cPaMXpn6KO7y2+wM8AZEs8VpBLVA==", + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", "dev": true }, "@types/mime": { @@ -4695,12 +4702,6 @@ "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "@types/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", - "dev": true - }, "@types/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", @@ -4728,104 +4729,146 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-6.1.0.tgz", - "integrity": "sha512-qg7Bm5TyP/I7iilGyp6DRqqkt8na00lI6HbjWZObgk3FFSzH5ypRwAHXJhJkwiRtTcfn+xYQIMOR5kJgpo6upw==", - "dev": true, - "requires": { - "@eslint-community/regexpp": "^4.5.1", - "@typescript-eslint/scope-manager": "6.1.0", - "@typescript-eslint/type-utils": "6.1.0", - "@typescript-eslint/utils": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0", - "debug": "^4.3.4", - "graphemer": "^1.4.0", - "ignore": "^5.2.4", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.54.0.tgz", + "integrity": "sha512-hAAP5io/7csFStuOmR782YmTthKBJ9ND3WVL60hcOjvtGFb+HJxH4O5huAcmcZ9v9G8P+JETiZ/G1B8MALnWZQ==", + "dev": true, + "requires": { + "@eslint-community/regexpp": "^4.12.2", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/type-utils": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "ignore": "^7.0.5", "natural-compare": "^1.4.0", - "natural-compare-lite": "^1.4.0", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "ts-api-utils": "^2.4.0" } }, "@typescript-eslint/parser": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-6.1.0.tgz", - "integrity": "sha512-hIzCPvX4vDs4qL07SYzyomamcs2/tQYXg5DtdAfj35AyJ5PIUqhsLf4YrEIFzZcND7R2E8tpQIZKayxg8/6Wbw==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.54.0.tgz", + "integrity": "sha512-BtE0k6cjwjLZoZixN0t5AKP0kSzlGu7FctRXYuPAm//aaiZhmfq1JwdYpYr1brzEspYyFeF+8XF5j2VK6oalrA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "6.1.0", - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/typescript-estree": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0", - "debug": "^4.3.4" + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3" + } + }, + "@typescript-eslint/project-service": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.54.0.tgz", + "integrity": "sha512-YPf+rvJ1s7MyiWM4uTRhE4DvBXrEV+d8oC3P9Y2eT7S+HBS0clybdMIPnhiATi9vZOYDc7OQ1L/i6ga6NFYK/g==", + "dev": true, + "requires": { + "@typescript-eslint/tsconfig-utils": "^8.54.0", + "@typescript-eslint/types": "^8.54.0", + "debug": "^4.4.3" } }, "@typescript-eslint/scope-manager": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-6.1.0.tgz", - "integrity": "sha512-AxjgxDn27hgPpe2rQe19k0tXw84YCOsjDJ2r61cIebq1t+AIxbgiXKvD4999Wk49GVaAcdJ/d49FYel+Pp3jjw==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.54.0.tgz", + "integrity": "sha512-27rYVQku26j/PbHYcVfRPonmOlVI6gihHtXFbTdB5sb6qA0wdAQAbyXFVarQ5t4HRojIz64IV90YtsjQSSGlQg==", "dev": true, "requires": { - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0" } }, + "@typescript-eslint/tsconfig-utils": { + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.54.0.tgz", + "integrity": "sha512-dRgOyT2hPk/JwxNMZDsIXDgyl9axdJI3ogZ2XWhBPsnZUv+hPesa5iuhdYt2gzwA9t8RE5ytOJ6xB0moV0Ujvw==", + "dev": true, + "requires": {} + }, "@typescript-eslint/type-utils": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-6.1.0.tgz", - "integrity": "sha512-kFXBx6QWS1ZZ5Ni89TyT1X9Ag6RXVIVhqDs0vZE/jUeWlBv/ixq2diua6G7ece6+fXw3TvNRxP77/5mOMusx2w==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.54.0.tgz", + "integrity": "sha512-hiLguxJWHjjwL6xMBwD903ciAwd7DmK30Y9Axs/etOkftC3ZNN9K44IuRD/EB08amu+Zw6W37x9RecLkOo3pMA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "6.1.0", - "@typescript-eslint/utils": "6.1.0", - "debug": "^4.3.4", - "ts-api-utils": "^1.0.1" + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0", + "@typescript-eslint/utils": "8.54.0", + "debug": "^4.4.3", + "ts-api-utils": "^2.4.0" } }, "@typescript-eslint/types": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.1.0.tgz", - "integrity": "sha512-+Gfd5NHCpDoHDOaU/yIF3WWRI2PcBRKKpP91ZcVbL0t5tQpqYWBs3z/GGhvU+EV1D0262g9XCnyqQh19prU0JQ==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.54.0.tgz", + "integrity": "sha512-PDUI9R1BVjqu7AUDsRBbKMtwmjWcn4J3le+5LpcFgWULN3LvHC5rkc9gCVxbrsrGmO1jfPybN5s6h4Jy+OnkAA==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-6.1.0.tgz", - "integrity": "sha512-nUKAPWOaP/tQjU1IQw9sOPCDavs/iU5iYLiY/6u7gxS7oKQoi4aUxXS1nrrVGTyBBaGesjkcwwHkbkiD5eBvcg==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.54.0.tgz", + "integrity": "sha512-BUwcskRaPvTk6fzVWgDPdUndLjB87KYDrN5EYGetnktoeAvPtO4ONHlAZDnj5VFnUANg0Sjm7j4usBlnoVMHwA==", "dev": true, "requires": { - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/visitor-keys": "6.1.0", - "debug": "^4.3.4", - "globby": "^11.1.0", - "is-glob": "^4.0.3", - "semver": "^7.5.4", - "ts-api-utils": "^1.0.1" + "@typescript-eslint/project-service": "8.54.0", + "@typescript-eslint/tsconfig-utils": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/visitor-keys": "8.54.0", + "debug": "^4.4.3", + "minimatch": "^9.0.5", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.4.0" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } } }, "@typescript-eslint/utils": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-6.1.0.tgz", - "integrity": "sha512-wp652EogZlKmQoMS5hAvWqRKplXvkuOnNzZSE0PVvsKjpexd/XznRVHAtrfHFYmqaJz0DFkjlDsGYC9OXw+OhQ==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.54.0.tgz", + "integrity": "sha512-9Cnda8GS57AQakvRyG0PTejJNlA2xhvyNtEVIMlDWOOeEyBkYWhGPnfrIAnqxLMTSTo6q8g12XVjjev5l1NvMA==", "dev": true, "requires": { - "@eslint-community/eslint-utils": "^4.4.0", - "@types/json-schema": "^7.0.12", - "@types/semver": "^7.5.0", - "@typescript-eslint/scope-manager": "6.1.0", - "@typescript-eslint/types": "6.1.0", - "@typescript-eslint/typescript-estree": "6.1.0", - "semver": "^7.5.4" + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.54.0", + "@typescript-eslint/types": "8.54.0", + "@typescript-eslint/typescript-estree": "8.54.0" } }, "@typescript-eslint/visitor-keys": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-6.1.0.tgz", - "integrity": "sha512-yQeh+EXhquh119Eis4k0kYhj9vmFzNpbhM3LftWQVwqVjipCkwHBQOZutcYW+JVkjtTG9k8nrZU1UoNedPDd1A==", + "version": "8.54.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.54.0.tgz", + "integrity": "sha512-VFlhGSl4opC0bprJiItPQ1RfUhGDIBokcPwaFH4yiBCaNPeld/9VeXbiPO1cLyorQi1G1vL+ecBk1x8o1axORA==", "dev": true, "requires": { - "@typescript-eslint/types": "6.1.0", - "eslint-visitor-keys": "^3.4.1" + "@typescript-eslint/types": "8.54.0", + "eslint-visitor-keys": "^4.2.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true + } } }, "@vscode/test-electron": { @@ -4902,9 +4945,9 @@ } }, "acorn": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", - "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", "dev": true }, "acorn-jsx": { @@ -4974,12 +5017,6 @@ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, "azure-devops-node-api": { "version": "11.2.0", "resolved": "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.2.0.tgz", @@ -5036,22 +5073,22 @@ } }, "body-parser": { - "version": "1.20.3", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", - "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "version": "1.20.4", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz", + "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==", "requires": { - "bytes": "3.1.2", + "bytes": "~3.1.2", "content-type": "~1.0.5", "debug": "2.6.9", "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.13.0", - "raw-body": "2.5.2", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.14.0", + "raw-body": "~2.5.3", "type-is": "~1.6.18", - "unpipe": "1.0.0" + "unpipe": "~1.0.0" }, "dependencies": { "debug": { @@ -5062,10 +5099,27 @@ "ms": "2.0.0" } }, + "http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "requires": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + } + }, "ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" } } }, @@ -5339,9 +5393,9 @@ "dev": true }, "debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "requires": { "ms": "^2.1.3" @@ -5399,24 +5453,6 @@ "integrity": "sha512-vtcDfH3TOjP8UekytvnHH1o1P4FcUdt4eQ1Y+Abap1tk/OB2MWQvcwS2ClCd1zuIhc3JKOx6p3kod8Vfys3E+A==", "dev": true }, - "dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "requires": { - "path-type": "^4.0.0" - } - }, - "doctrine": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", - "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", - "dev": true, - "requires": { - "esutils": "^2.0.2" - } - }, "dom-serializer": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", @@ -5532,50 +5568,45 @@ "dev": true }, "eslint": { - "version": "8.44.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.44.0.tgz", - "integrity": "sha512-0wpHoUbDUHgNCyvFB5aXLiQVfK9B0at6gUvzy83k4kAsQ/u769TQDX6iKC+aO4upIHO9WSaA3QoXYQDHbNwf1A==", - "dev": true, - "requires": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.4.0", - "@eslint/eslintrc": "^2.1.0", - "@eslint/js": "8.44.0", - "@humanwhocodes/config-array": "^0.11.10", + "version": "9.39.2", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.2.tgz", + "integrity": "sha512-LEyamqS7W5HB3ujJyvi0HQK/dtVINZvd5mAAp9eT5S/ujByGjiZLCzPcHVzuXbpJDJF/cxwHlfceVUDZ2lnSTw==", + "dev": true, + "requires": { + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.1", + "@eslint/config-array": "^0.21.1", + "@eslint/config-helpers": "^0.4.2", + "@eslint/core": "^0.17.0", + "@eslint/eslintrc": "^3.3.1", + "@eslint/js": "9.39.2", + "@eslint/plugin-kit": "^0.4.1", + "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", - "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@humanwhocodes/retry": "^0.4.2", + "@types/estree": "^1.0.6", + "ajv": "^6.12.4", "chalk": "^4.0.0", - "cross-spawn": "^7.0.2", + "cross-spawn": "^7.0.6", "debug": "^4.3.2", - "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.2.0", - "eslint-visitor-keys": "^3.4.1", - "espree": "^9.6.0", - "esquery": "^1.4.2", + "eslint-scope": "^8.4.0", + "eslint-visitor-keys": "^4.2.1", + "espree": "^10.4.0", + "esquery": "^1.5.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", - "globals": "^13.19.0", - "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", - "is-path-inside": "^3.0.3", - "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", - "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", - "text-table": "^0.2.0" + "optionator": "^0.9.3" }, "dependencies": { "ansi-styles": { @@ -5618,20 +5649,10 @@ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true }, - "eslint-scope": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", - "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", - "dev": true, - "requires": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - } - }, - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", "dev": true }, "has-flag": { @@ -5640,6 +5661,12 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, + "ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true + }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -5651,38 +5678,48 @@ } } }, + "eslint-scope": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", + "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + } + }, "eslint-visitor-keys": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", - "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { - "version": "9.6.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.0.tgz", - "integrity": "sha512-1FH/IiruXZ84tpUlm0aCUEwMl2Ho5ilqVh0VvQXw+byAz/4SAciyHLlfmL5WYqsvD38oymdUwBss0LtK8m4s/A==", + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", + "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", "dev": true, "requires": { - "acorn": "^8.9.0", + "acorn": "^8.15.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.4.1" + "eslint-visitor-keys": "^4.2.1" + }, + "dependencies": { + "eslint-visitor-keys": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", + "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", + "dev": true + } } }, "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, "requires": { "estraverse": "^5.1.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, "esrecurse": { @@ -5692,16 +5729,14 @@ "dev": true, "requires": { "estraverse": "^5.2.0" - }, - "dependencies": { - "estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true - } } }, + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + }, "esutils": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", @@ -5770,14 +5805,6 @@ "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" - }, - "qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", - "requires": { - "side-channel": "^1.1.0" - } } } }, @@ -5787,30 +5814,6 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "fast-glob": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.0.tgz", - "integrity": "sha512-ChDuvbOypPuNjO8yIDf36x7BlZX1smcUMTTcyoIjycexOxd6DFsKsg21qVBzEmr3G7fUKIRy2/psii+CIUt7FA==", - "dev": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, "fast-json-stable-stringify": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", @@ -5823,15 +5826,6 @@ "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", - "dev": true, - "requires": { - "reusify": "^1.0.4" - } - }, "fd-slicer": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz", @@ -5842,12 +5836,12 @@ } }, "file-entry-cache": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", - "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", "dev": true, "requires": { - "flat-cache": "^3.0.4" + "flat-cache": "^4.0.0" } }, "fill-range": { @@ -5905,19 +5899,19 @@ "dev": true }, "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", "dev": true, "requires": { - "flatted": "^3.1.0", - "rimraf": "^3.0.2" + "flatted": "^3.2.9", + "keyv": "^4.5.4" } }, "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", "dev": true }, "forwarded": { @@ -6043,39 +6037,16 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } - }, - "globby": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", - "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", - "dev": true, - "requires": { - "array-union": "^2.1.0", - "dir-glob": "^3.0.1", - "fast-glob": "^3.2.9", - "ignore": "^5.2.0", - "merge2": "^1.4.1", - "slash": "^3.0.0" - } + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", + "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", + "dev": true }, "gopd": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==" }, - "graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -6170,9 +6141,9 @@ "optional": true }, "ignore": { - "version": "5.2.4", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", - "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "version": "7.0.5", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", + "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", "dev": true }, "immediate": { @@ -6182,9 +6153,9 @@ "dev": true }, "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -6266,12 +6237,6 @@ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true }, - "is-path-inside": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", - "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", - "dev": true - }, "is-plain-obj": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-2.1.0.tgz", @@ -6305,6 +6270,12 @@ "argparse": "^2.0.1" } }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -6346,6 +6317,15 @@ "prebuild-install": "^7.0.1" } }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, "leven": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", @@ -6507,27 +6487,11 @@ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==" }, - "merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true - }, "methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==" }, - "micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "requires": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - } - }, "mime": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", @@ -6674,12 +6638,6 @@ "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, - "natural-compare-lite": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", - "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", - "dev": true - }, "negotiator": { "version": "0.6.3", "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", @@ -6749,17 +6707,17 @@ } }, "optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", "dev": true, "requires": { - "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" } }, "p-limit": { @@ -6859,12 +6817,6 @@ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==" }, - "path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, "pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -6931,9 +6883,9 @@ } }, "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "qs": { @@ -6941,15 +6893,9 @@ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.2.tgz", "integrity": "sha512-V/yCWTTF7VJ9hIh18Ugr2zhJMP01MY7c5kh4J870L7imm6/DIzBsNLTXzMwUA3yZ5b/KBqLx8Kp3uRvd7xSe3Q==", "requires": { - "side-channel": "^1.0.6" + "side-channel": "^1.1.0" } }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true - }, "randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -6965,14 +6911,33 @@ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==" }, "raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", "requires": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "dependencies": { + "http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "requires": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + } + }, + "statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==" + } } }, "rc": { @@ -7063,46 +7028,6 @@ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - }, - "dependencies": { - "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "requires": { - "queue-microtask": "^1.2.2" - } - }, "safe-buffer": { "version": "5.2.1", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", @@ -7120,13 +7045,10 @@ "dev": true }, "semver": { - "version": "7.5.4", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", - "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", - "dev": true, - "requires": { - "lru-cache": "^6.0.0" - } + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "dev": true }, "send": { "version": "0.19.0", @@ -7285,12 +7207,6 @@ "simple-concat": "^1.0.0" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true - }, "statuses": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", @@ -7403,11 +7319,30 @@ } } }, - "text-table": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", - "dev": true + "tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "dev": true, + "requires": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "dependencies": { + "fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "requires": {} + }, + "picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true + } + } }, "tmp": { "version": "0.2.4", @@ -7430,9 +7365,9 @@ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==" }, "ts-api-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-1.0.1.tgz", - "integrity": "sha512-lC/RGlPmwdrIBFTX59wwNzqh7aR2otPNPR/5brHZm/XKFYKsfqxihXUe9pU3JI+3vGkl+vyCoNNnPhJn3aLK1A==", + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.4.0.tgz", + "integrity": "sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==", "dev": true, "requires": {} }, @@ -7461,12 +7396,6 @@ "prelude-ls": "^1.2.1" } }, - "type-fest": { - "version": "0.20.2", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", - "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", - "dev": true - }, "type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", @@ -7550,6 +7479,12 @@ "isexe": "^2.0.0" } }, + "word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "dev": true + }, "workerpool": { "version": "6.5.1", "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", diff --git a/workshop-images/base-environment/opt/renderer/package-lock.json b/workshop-images/base-environment/opt/renderer/package-lock.json index 99301e0ce..d6fbffce8 100644 --- a/workshop-images/base-environment/opt/renderer/package-lock.json +++ b/workshop-images/base-environment/opt/renderer/package-lock.json @@ -1539,20 +1539,6 @@ "url": "https://opencollective.com/express" } }, - "node_modules/express/node_modules/qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/fast-safe-stringify": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-2.1.1.tgz", @@ -5017,16 +5003,6 @@ "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" - }, - "dependencies": { - "qs": { - "version": "6.14.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz", - "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==", - "requires": { - "side-channel": "^1.1.0" - } - } } }, "fast-safe-stringify": { From bbdf223dc51afb6afd2d9a5430bff438ba8183e1 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Thu, 5 Feb 2026 11:23:38 +0100 Subject: [PATCH 30/41] Fixing mirror list --- client-programs/pkg/registry/mirror.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/client-programs/pkg/registry/mirror.go b/client-programs/pkg/registry/mirror.go index 61314c307..3ade81f27 100644 --- a/client-programs/pkg/registry/mirror.go +++ b/client-programs/pkg/registry/mirror.go @@ -209,12 +209,12 @@ func ListRegistryMirrors() (string, error) { var data [][]string for _, item := range mirrors { - name := item.Labels["mirror"] - url := item.Labels["url"] + name := item.Labels[constants.EducatesContainersMirrorLabelKey] + url := item.Labels[constants.EducatesContainersURLLabelKey] if url == "" { - url = item.Labels["mirror"] + url = item.Labels[constants.EducatesContainersMirrorLabelKey] } - username := item.Labels["username"] + username := item.Labels[constants.EducatesContainersUsernameLabelKey] status := item.Status containerName := utils.GetContainerName(item) data = append(data, []string{name, url, username, status, containerName}) From 1a365fcf88b0710bbe2db08a61bebc49c1d54d35 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Fri, 6 Feb 2026 17:54:52 +0100 Subject: [PATCH 31/41] Extracting OpenBrowser to it's own function --- .../pkg/cmd/cluster_workshop_deploy_cmd.go | 19 +-- .../educates/resources/workshops/manager.go | 150 ++++++++++-------- 2 files changed, 90 insertions(+), 79 deletions(-) diff --git a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go index e728ee812..e7d654fe9 100644 --- a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go @@ -132,22 +132,23 @@ func (o *ClusterWorkshopDeployOptions) Run() error { Registry: o.Repository, Environ: o.Environ, Labels: o.Labels, - OpenBrowser: o.OpenBrowser, } err = manager.DeployWorkshopResource(&deployConfig) - // TODO: Move open browser logic to separate function and extract logic here - // if o.OpenBrowser { - // err = manager.OpenBrowser(&deployConfig) - // if err != nil { - // return err - // } - // } - if err != nil { return err } + openBrowserConfig := workshops.OpenBrowserConfig{ + Portal: o.Portal, + } + if o.OpenBrowser { + err = manager.OpenBrowser(&openBrowserConfig) + if err != nil { + return err + } + } + return nil } diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops/manager.go index 4d08d3e4b..12607cb0d 100644 --- a/client-programs/pkg/educates/resources/workshops/manager.go +++ b/client-programs/pkg/educates/resources/workshops/manager.go @@ -58,7 +58,6 @@ type DeployWorkshopConfig struct { Registry string Environ []string Labels []string - OpenBrowser bool } type UpdateWorkshopResourceConfig struct { @@ -84,6 +83,10 @@ type DeleteWorkshopResourceConfig struct { Portal string } +type OpenBrowserConfig struct { + Portal string +} + func (m *WorkshopManager) DeployWorkshopResource(o *DeployWorkshopConfig) error { trainingPortalClient := m.Client.Resource(educatesTypes.TrainingPortalResource) @@ -344,75 +347,6 @@ func (m *WorkshopManager) DeployWorkshopResource(o *DeployWorkshopConfig) error fmt.Print("Workshop added to training portal.\n") - if o.OpenBrowser { - // Need to refetch training portal because if was just created the URL - // for access may not have been set yet. - - var targetUrl string - - fmt.Print("Checking training portal is ready.\n") - - spinner := func(iteration int) string { - spinners := `|/-\` - return string(spinners[iteration%len(spinners)]) - } - - for i := 1; i < 60; i++ { - fmt.Printf("\r[%s] Waiting...", spinner(i)) - - time.Sleep(time.Second) - - trainingPortal, err = trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) - - if err != nil { - return errors.Wrapf(err, "unable to fetch training portal %q in cluster", o.Portal) - } - - var found bool - - targetUrl, found, _ = unstructured.NestedString(trainingPortal.Object, "status", "educates", "url") - - if found { - break - } - } - - rootUrl := targetUrl - - password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") - - if password != "" { - values := url.Values{} - values.Add("redirect_url", "/") - values.Add("password", password) - - targetUrl = fmt.Sprintf("%s/workshops/access/?%s", targetUrl, values.Encode()) - } - - for i := 1; i < 300; i++ { - fmt.Printf("\r[%s] Waiting...", spinner(i)) - - time.Sleep(time.Second) - - resp, err := http.Get(rootUrl) - - if err != nil || resp.StatusCode == 503 { - continue - } - - defer resp.Body.Close() - io.ReadAll(resp.Body) - - break - } - - fmt.Print("\r \r") - - fmt.Printf("Opening training portal %s.\n", targetUrl) - - return utils.OpenBrowser(targetUrl) - } - return nil } @@ -538,6 +472,82 @@ func (m *WorkshopManager) DeleteWorkshopResource(o *DeleteWorkshopResourceConfig return nil } +func (m *WorkshopManager) OpenBrowser(o *OpenBrowserConfig) error { + trainingPortalClient := m.Client.Resource(educatesTypes.TrainingPortalResource) + + // Need to refetch training portal because if was just created the URL + // for access may not have been set yet. + + var targetUrl string + + fmt.Print("Checking training portal is ready.\n") + + spinner := func(iteration int) string { + spinners := `|/-\` + return string(spinners[iteration%len(spinners)]) + } + + var trainingPortal *unstructured.Unstructured + var found bool + var err error + + for i := 1; i < 60; i++ { + fmt.Printf("\r[%s] Waiting...", spinner(i)) + + time.Sleep(time.Second) + + trainingPortal, err = trainingPortalClient.Get(context.TODO(), o.Portal, metav1.GetOptions{}) + + if err != nil { + return errors.Wrapf(err, "unable to fetch training portal %q in cluster", o.Portal) + } + + targetUrl, found, _ = unstructured.NestedString(trainingPortal.Object, "status", "educates", "url") + + if found { + break + } + } + if !found { + return errors.New("training portal not found") + } + + rootUrl := targetUrl + + password, _, _ := unstructured.NestedString(trainingPortal.Object, "spec", "portal", "password") + + if password != "" { + values := url.Values{} + values.Add("redirect_url", "/") + values.Add("password", password) + + targetUrl = fmt.Sprintf("%s/workshops/access/?%s", targetUrl, values.Encode()) + } + + for i := 1; i < 300; i++ { + fmt.Printf("\r[%s] Waiting...", spinner(i)) + + time.Sleep(time.Second) + + resp, err := http.Get(rootUrl) + + if err != nil || resp.StatusCode == 503 { + continue + } + + defer resp.Body.Close() + io.ReadAll(resp.Body) + + break + } + + fmt.Print("\r \r") + + fmt.Printf("Opening training portal %s.\n", targetUrl) + + return utils.OpenBrowser(targetUrl) +} + func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstructured, error) { // Parse the workshop location so we can determine if it is a local file // or accessible using a HTTP/HTTPS URL. From 02f296f51294664520ce378e559b6a238d1ef568 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Thu, 12 Feb 2026 09:54:26 +0000 Subject: [PATCH 32/41] Adding overlays capability to the installer --- Makefile | 18 +++++- .../custom/00-remove-toplevel-values.yaml | 2 + .../eks/00-remove-toplevel-values.yaml | 2 + .../generic/00-remove-toplevel-values.yaml | 2 + .../kind/00-remove-toplevel-values.yaml | 2 + .../minikube/00-remove-toplevel-values.yaml | 2 + .../openshift/00-remove-toplevel-values.yaml | 2 + .../vcluster/00-remove-toplevel-values.yaml | 2 + .../bundle/config/ytt/values-schema.yaml | 5 +- .../pkg/cmd/cluster_portal_open_cmd.go | 1 + .../pkg/config/installationconfig.go | 6 ++ client-programs/pkg/installer/installer.go | 56 +++++++++++++++++-- go.work.sum | 2 + .../configuration-settings.md | 41 ++++++++++++-- .../installation-instructions.md | 11 ++++ 15 files changed, 142 insertions(+), 12 deletions(-) diff --git a/Makefile b/Makefile index 4d1361f88..9407e002a 100644 --- a/Makefile +++ b/Makefile @@ -48,6 +48,18 @@ # Default: latest # Examples: v1.0.0, dev, latest # +# IMGPKG_IMAGE_REPOSITORY +# Description: Registry/repository used for image refs inside the installer bundle (kbld-images). +# Default: same as IMAGE_REPOSITORY +# Override when developing installer carvel-packages to use released images in the bundle +# instead of local images (e.g. IMGPKG_IMAGE_REPOSITORY=ghcr.io/educates). +# +# IMGPKG_PACKAGE_VERSION +# Description: Version tag used for image refs inside the installer bundle (kbld-images). +# Default: same as PACKAGE_VERSION +# Override when developing installer to pin bundle to a released version's images +# (e.g. IMGPKG_PACKAGE_VERSION=3.5.1). +# # ============================================================================= # BUILD TARGETS # ============================================================================= @@ -130,6 +142,10 @@ IMAGE_REPOSITORY = localhost:5001 PACKAGE_VERSION = latest RELEASE_VERSION = 0.0.1 +# Installer bundle image refs: default to same as build repo/version; override to use released images when developing installer +IMGPKG_IMAGE_REPOSITORY ?= $(IMAGE_REPOSITORY) +IMGPKG_PACKAGE_VERSION ?= $(PACKAGE_VERSION) + UNAME_SYSTEM := $(shell uname -s | tr '[:upper:]' '[:lower:]') UNAME_MACHINE := $(shell uname -m) @@ -297,7 +313,7 @@ else endif push-installer-bundle: - ytt -f carvel-packages/installer/config/images.yaml -f carvel-packages/installer/config/schema.yaml -v imageRegistry.host=$(IMAGE_REPOSITORY) -v version=$(PACKAGE_VERSION) > carvel-packages/installer/bundle/kbld/kbld-images.yaml + ytt -f carvel-packages/installer/config/images.yaml -f carvel-packages/installer/config/schema.yaml -v imageRegistry.host=$(IMGPKG_IMAGE_REPOSITORY) -v version=$(IMGPKG_PACKAGE_VERSION) > carvel-packages/installer/bundle/kbld/kbld-images.yaml # For local development, we just need to lock educates images. Everything else can be referenced by tag from real origin. cat carvel-packages/installer/bundle/kbld/kbld-images.yaml | kbld -f - --imgpkg-lock-output carvel-packages/installer/bundle/.imgpkg/images.yml imgpkg push -b $(IMAGE_REPOSITORY)/educates-installer:$(RELEASE_VERSION) -f carvel-packages/installer/bundle diff --git a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/custom/00-remove-toplevel-values.yaml b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/custom/00-remove-toplevel-values.yaml index 931e60126..28c88e763 100644 --- a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/custom/00-remove-toplevel-values.yaml +++ b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/custom/00-remove-toplevel-values.yaml @@ -48,3 +48,5 @@ websiteStyling: imagePuller: #@overlay/remove lookupService: +#@overlay/remove +installerImages: diff --git a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/eks/00-remove-toplevel-values.yaml b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/eks/00-remove-toplevel-values.yaml index 931e60126..28c88e763 100644 --- a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/eks/00-remove-toplevel-values.yaml +++ b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/eks/00-remove-toplevel-values.yaml @@ -48,3 +48,5 @@ websiteStyling: imagePuller: #@overlay/remove lookupService: +#@overlay/remove +installerImages: diff --git a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/generic/00-remove-toplevel-values.yaml b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/generic/00-remove-toplevel-values.yaml index 931e60126..28c88e763 100644 --- a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/generic/00-remove-toplevel-values.yaml +++ b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/generic/00-remove-toplevel-values.yaml @@ -48,3 +48,5 @@ websiteStyling: imagePuller: #@overlay/remove lookupService: +#@overlay/remove +installerImages: diff --git a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/kind/00-remove-toplevel-values.yaml b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/kind/00-remove-toplevel-values.yaml index 931e60126..28c88e763 100644 --- a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/kind/00-remove-toplevel-values.yaml +++ b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/kind/00-remove-toplevel-values.yaml @@ -48,3 +48,5 @@ websiteStyling: imagePuller: #@overlay/remove lookupService: +#@overlay/remove +installerImages: diff --git a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/minikube/00-remove-toplevel-values.yaml b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/minikube/00-remove-toplevel-values.yaml index 931e60126..28c88e763 100644 --- a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/minikube/00-remove-toplevel-values.yaml +++ b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/minikube/00-remove-toplevel-values.yaml @@ -48,3 +48,5 @@ websiteStyling: imagePuller: #@overlay/remove lookupService: +#@overlay/remove +installerImages: diff --git a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/openshift/00-remove-toplevel-values.yaml b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/openshift/00-remove-toplevel-values.yaml index 931e60126..28c88e763 100644 --- a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/openshift/00-remove-toplevel-values.yaml +++ b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/openshift/00-remove-toplevel-values.yaml @@ -48,3 +48,5 @@ websiteStyling: imagePuller: #@overlay/remove lookupService: +#@overlay/remove +installerImages: diff --git a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/vcluster/00-remove-toplevel-values.yaml b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/vcluster/00-remove-toplevel-values.yaml index 931e60126..28c88e763 100644 --- a/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/vcluster/00-remove-toplevel-values.yaml +++ b/carvel-packages/installer/bundle/config/ytt/_ytt_lib/infrastructure/vcluster/00-remove-toplevel-values.yaml @@ -48,3 +48,5 @@ websiteStyling: imagePuller: #@overlay/remove lookupService: +#@overlay/remove +installerImages: diff --git a/carvel-packages/installer/bundle/config/ytt/values-schema.yaml b/carvel-packages/installer/bundle/config/ytt/values-schema.yaml index 61c3305fd..b6221a74d 100644 --- a/carvel-packages/installer/bundle/config/ytt/values-schema.yaml +++ b/carvel-packages/installer/bundle/config/ytt/values-schema.yaml @@ -75,7 +75,7 @@ clusterInfrastructure: #@schema/title "AWS IAM IRSA Roles" #@schema/desc "AWS IAM IRSA Roles for external-dns and cert-manager" irsaRoles: - #@schema/example "arn:aws:iam::MY_IAM:role/external-dns" + #@schema/example "arn:aws:iam::MY_IAM:role/external-dns" #@schema/validation ("irsaRole for external-dns is required for aws based providers",lambda v: len(v) >= 1) external-dns: "" #@schema/example "arn:aws:iam::MY_IAM:role/cert-manager" @@ -122,6 +122,9 @@ localKindCluster: {} #@schema/nullable #@schema/type any=True localDNSResolver: {} +#@schema/nullable +#@schema/type any=True +installerImages: {} #!--------- educates training platform schema #! NOTE: https://github.com/jorgemoralespou/educates-training-platform/blob/develop/carvel-packages/training-platform/bundle/config/00-schema.yaml#L21C1-L33 #! This is only so that the images generates are loaded from this registry. There's a pre-proccesing step that will generate a images file diff --git a/client-programs/pkg/cmd/cluster_portal_open_cmd.go b/client-programs/pkg/cmd/cluster_portal_open_cmd.go index baf5cee04..5abd9909d 100644 --- a/client-programs/pkg/cmd/cluster_portal_open_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_open_cmd.go @@ -67,6 +67,7 @@ func (o *ClusterPortalOpenOptions) Run() error { return err } + // TODO: Most of this logic is similar to workshops.OpenBrowser, so we should refactor it to a common function. fmt.Printf("Training portal %q.\n", o.Portal) fmt.Print("Checking training portal is ready.\n") diff --git a/client-programs/pkg/config/installationconfig.go b/client-programs/pkg/config/installationconfig.go index 26249ae98..a59de57e6 100644 --- a/client-programs/pkg/config/installationconfig.go +++ b/client-programs/pkg/config/installationconfig.go @@ -324,6 +324,11 @@ type TrainingPlatformConfig struct { LookupService LookupServiceConfig `yaml:"lookupService,omitempty"` } +type InstallerImagesConfig struct { + Bundle string `yaml:"bundle,omitempty"` + Overlays []string `yaml:"overlays,omitempty"` +} + type InstallationConfig struct { Debug *bool `yaml:"debug,omitempty"` LocalKindCluster LocalKindClusterConfig `yaml:"localKindCluster,omitempty"` @@ -348,6 +353,7 @@ type InstallationConfig struct { WebsiteStyling WebsiteStylingConfig `yaml:"websiteStyling,omitempty"` ImagePuller ImagePullerConfig `yaml:"imagePuller,omitempty"` LookupService LookupServiceConfig `yaml:"lookupService,omitempty"` + InstallerImages InstallerImagesConfig `yaml:"installerImages,omitempty"` } type EducatesDomainStruct struct { diff --git a/client-programs/pkg/installer/installer.go b/client-programs/pkg/installer/installer.go index 7ab54535a..77d307542 100644 --- a/client-programs/pkg/installer/installer.go +++ b/client-programs/pkg/installer/installer.go @@ -5,6 +5,7 @@ import ( "fmt" "os" "path/filepath" + "strconv" "time" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" @@ -68,7 +69,7 @@ func (inst *Installer) DryRun(version string, packageRepository string, fullConf } // Fetch - prevDir, err := inst.fetch(tempDir, version, packageRepository, verbose) + prevDir, err := inst.fetch(tempDir, version, packageRepository, fullConfig, verbose) if err != nil { return err } @@ -120,7 +121,7 @@ func (inst *Installer) Run(version string, packageRepository string, fullConfig } // Fetch - prevDir, err := inst.fetch(tempDir, version, packageRepository, verbose) + prevDir, err := inst.fetch(tempDir, version, packageRepository, fullConfig, verbose) if err != nil { return err } @@ -210,25 +211,59 @@ func (inst *Installer) GetConfigFromCluster(kubeconfig string, kubeContext strin return string(valuesData), nil } -func (inst *Installer) fetch(tempDir string, version string, packageRepository string, verbose bool) (string, error) { +func (inst *Installer) fetch(tempDir string, version string, packageRepository string, fullConfig *config.InstallationConfig, verbose bool) (string, error) { if verbose { fmt.Println("Running fetch ...") } - pullOpts := imgpkgv1.PullOpts{ + pullOptsAsImage := imgpkgv1.PullOpts{ + Logger: logger.NewNullLogger(), + AsImage: true, + IsBundle: false, + } + pullOptsAsBundle := imgpkgv1.PullOpts{ Logger: logger.NewNullLogger(), AsImage: false, IsBundle: true, } // TODO: Remove some logging from here fetchOutputDir := filepath.Join(tempDir, "fetch") - installerImageRef := inst.getBundleImageRef(version, packageRepository) + installerImageRef := fullConfig.InstallerImages.Bundle + if installerImageRef == "" { + installerImageRef = inst.getBundleImageRef(version, packageRepository) + } fmt.Println("Using installer image: ", installerImageRef) - _, err := imgpkgv1.Pull(installerImageRef, fetchOutputDir, pullOpts, registry.Opts{}) + _, err := imgpkgv1.Pull(installerImageRef, fetchOutputDir, pullOptsAsBundle, registry.Opts{}) if err != nil { // TODO: There might be more potential issues here return "", errors.Wrapf(err, "Installer image not found") } + + // Fetch installer overlay bundles when configured + if fullConfig != nil && len(fullConfig.InstallerImages.Overlays) > 0 { + overlaysDir := filepath.Join(tempDir, "overlays") + for i, ref := range fullConfig.InstallerImages.Overlays { + overlayDir := filepath.Join(overlaysDir, strconv.Itoa(i)) + if err := os.MkdirAll(overlayDir, 0755); err != nil { + return "", errors.Wrapf(err, "create overlay directory for %s", ref) + } + if verbose { + fmt.Println("Using installer overlay image: ", ref) + } + status, err := imgpkgv1.Pull(ref, overlayDir, pullOptsAsBundle, registry.Opts{}) + if err != nil { + if !status.IsBundle { + _, err := imgpkgv1.Pull(ref, overlayDir, pullOptsAsImage, registry.Opts{}) + if err != nil { + return "", errors.Wrapf(err, "installer overlay image %d (%s) not found", i, ref) + } + } else { + return "", errors.Wrapf(err, "installer overlay image %d (%s) not found", i, ref) + } + } + } + } + return fetchOutputDir, nil } @@ -241,6 +276,15 @@ func (inst *Installer) template(tempDir string, inputDir string, fullConfig *con if !showPackagesValues && !skipImageResolution { paths = append(paths, filepath.Join(inputDir, "kbld/kbld-bundle.yaml")) } + // Add installer overlay bundle roots as ytt paths (any structure in each bundle works) + if fullConfig != nil && len(fullConfig.InstallerImages.Overlays) > 0 { + for i := 0; i < len(fullConfig.InstallerImages.Overlays); i++ { + overlayPath := filepath.Join(tempDir, "overlays", strconv.Itoa(i)) + if _, err := os.Stat(overlayPath); err == nil { + paths = append(paths, overlayPath) + } + } + } filesToProcess, err := files.NewSortedFilesFromPaths(paths, files.SymlinkAllowOpts{}) if err != nil { return "", err diff --git a/go.work.sum b/go.work.sum index 517daa344..e539e7b86 100644 --- a/go.work.sum +++ b/go.work.sum @@ -612,6 +612,7 @@ go.etcd.io/etcd/client/pkg/v3 v3.6.4 h1:9HBYrjppeOfFjBjaMTRxT3R7xT0GLK8EJMVC4xg6 go.etcd.io/etcd/client/pkg/v3 v3.6.4/go.mod h1:sbdzr2cl3HzVmxNw//PH7aLGVtY4QySjQFuaCgcRFAI= go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= go.etcd.io/etcd/client/v2 v2.305.10/go.mod h1:m3CKZi69HzilhVqtPDcjhSGp+kA1OmbNn0qamH80xjA= +go.etcd.io/etcd/client/v2 v2.305.13/go.mod h1:iQnL7fepbiomdXMb3om1rHq96htNNGv2sJkEcZGDRRg= go.etcd.io/etcd/client/v2 v2.305.16/go.mod h1:h9YxWCzcdvZENbfzBTFCnoNumr2ax3F19sKMqHFmXHE= go.etcd.io/etcd/client/v3 v3.5.8/go.mod h1:idZYIPVkttBJBiRigkB5EM0MmEyx8jcl18zCV3F5noc= go.etcd.io/etcd/client/v3 v3.5.9/go.mod h1:i/Eo5LrZ5IKqpbtpPDuaUnDOUv471oDg8cjQaUr2MbA= @@ -1020,6 +1021,7 @@ google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWo google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d h1:VBu5YqKPv6XiJ199exd8Br+Aetz+o08F+PLMnwJQHAY= +google.golang.org/genproto v0.0.0-20230822172742-b8732ec3820d/go.mod h1:yZTlhN0tQnXo3h00fuXNCxJdLdIdnVFVBaRJ5LWBbw4= google.golang.org/genproto v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:CgAqfJo+Xmu0GwA0411Ht3OU3OntXwsGmrmjI8ioGXI= google.golang.org/genproto v0.0.0-20240123012728-ef4313101c80/go.mod h1:cc8bqMqtv9gMOr0zHg2Vzff5ULhhL2IXP4sbcn32Dro= google.golang.org/genproto v0.0.0-20240722135656-d784300faade/go.mod h1:FfBgJBJg9GcpPvKIuHSZ/aE1g2ecGL74upMzGZjiGEY= diff --git a/project-docs/installation-guides/configuration-settings.md b/project-docs/installation-guides/configuration-settings.md index a962eb474..4f18792bc 100644 --- a/project-docs/installation-guides/configuration-settings.md +++ b/project-docs/installation-guides/configuration-settings.md @@ -4,6 +4,39 @@ Configuration Settings At the time of installing Educates, various configuration settings can be supplied. Some of these are essential to ensuring Educates will work correctly while others are optional. In a few cases the settings can be overridden on a case by case basis when deploying a training portal, but key settings must be provided when installing Educates. +(installer-images)= +Installer images +--------------- + +When using the Educates CLI to install (or dry-run), you can customize the installer bundle and add overlay bundles using the ``installerImages`` configuration. This setting provides two options: + +* **bundle**: A single OCI image reference to an imgpkg bundle that replaces the default installer bundle. This allows you to use a completely customized installation bundle instead of the standard Educates installer bundle. + +* **overlays**: A list of OCI image references to imgpkg bundles that will be used as additional ytt overlay inputs. Each overlay bundle is pulled and its root directory is passed to the template phase, so you can add or patch the default installer manifests without forking the installer. No fixed layout is required inside the bundle—any structure (e.g. ytt files, an ``overlays/`` folder, or flat YAML) is used as-is from the bundle root. Overlays are applied in order after the base installer templates, so later entries can override or extend earlier ones. + +Both options are optional and can be used independently or together. This setting is only used by the CLI installer; it does not apply when installing via Carvel or kapp-controller. + +```yaml +installerImages: + bundle: "registry.example.com/my-org/custom-installer-bundle:v1" + overlays: + - "registry.example.com/my-org/educates-overlays:v1" + - "registry.example.com/my-org/extra-patches:latest" +``` + +You can also use just one of the options: + +```yaml +# Use only a custom bundle +installerImages: + bundle: "registry.example.com/my-org/custom-installer-bundle:v1" + +# Use only overlays (keep default bundle) +installerImages: + overlays: + - "registry.example.com/my-org/educates-overlays:v1" +``` + (defining-configuration-for-ingress)= Defining configuration for ingress ---------------------------------- @@ -511,7 +544,7 @@ The ``user`` field will be the same portal user identity that is returned by the Note that the event stream only produces events for things as they happen. If you need a snapshot of all current workshop sessions, you should use the REST API to request the catalog of available workshop environments, enabling the inclusion of current workshop sessions. -Instead of enabling tracking of workshop globally, it can also be configured when creating a training portal. +Instead of enabling tracking of workshop globally, it can also be configured when creating a training portal. (tracking-using-google-analytics)= Tracking using Google Analytics @@ -552,7 +585,7 @@ In addition to custom dimensions against page accesses, events are also generate Note that Google Analytics is not a reliable way to collect data. This is because individuals or corporate firewalls can block the reporting of Google Analytics data. For more precise statistics, you should use the webhook URL for collecting analytics with a custom data collection platform. -Instead of enabling Google analytics globally, it can also be configured when creating a training portal. +Instead of enabling Google analytics globally, it can also be configured when creating a training portal. (tracking-using-microsoft-clarity)= Tracking using Microsoft Clarity @@ -568,7 +601,7 @@ workshopAnalytics: As Microsoft Clarity doesn't support custom user events, events generated by Educates are not able to be sent to it. -Instead of enabling Microsoft Clarity analytics globally, it can also be configured when creating a training portal. +Instead of enabling Microsoft Clarity analytics globally, it can also be configured when creating a training portal. (tracking-using-amplitude)= Tracking using Amplitude @@ -582,7 +615,7 @@ workshopAnalytics: trackingId: "XXXXXXXXXX" ``` -Instead of enabling Amplitude analytics globally, it can also be configured when creating a training portal. +Instead of enabling Amplitude analytics globally, it can also be configured when creating a training portal. (overriding-styling-of-the-workshop)= Overriding styling of the workshop diff --git a/project-docs/installation-guides/installation-instructions.md b/project-docs/installation-guides/installation-instructions.md index 7ded3d798..af99f479c 100644 --- a/project-docs/installation-guides/installation-instructions.md +++ b/project-docs/installation-guides/installation-instructions.md @@ -88,6 +88,17 @@ See the general documentation on [Configuration Settings](configuration-settings For more details on configuration requirements for specific infrastructure providers see the documentation on [Infrastructure Providers](infrastructure-providers). +Customizing the installation via installer images +------------------------------------------------ + +When installing with the Educates CLI, you can customize the installation in two ways using the ``installerImages`` configuration: + +* **Custom bundle**: Replace the default installer bundle with your own customized imgpkg bundle by setting ``installerImages.bundle`` to an OCI image reference. This allows you to use a completely customized installation bundle. + +* **Overlays**: Add one or more *installer overlay* bundles by setting ``installerImages.overlays`` to a list of OCI image references. Each overlay is an imgpkg bundle that contains ytt templates or YAML; the CLI fetches these images and runs their content together with the default installer templates. Use this to add resources, patch existing ones, or adjust configuration without forking the installer. Overlay bundles can use any directory layout, as the entire bundle root is passed to ytt. + +Both options can be used independently or together. Configure these in your package configuration file under the top-level key ``installerImages``. See [Configuration Settings](configuration-settings) for the ``installerImages`` setting. This option is only available when using the [CLI Based Installation](cli-based-installation); it is not used when installing via Carvel or kapp-controller. + Performing the installation --------------------------- From dad62fba45142e89e565a017b818543e65ac3b07 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Fri, 13 Feb 2026 19:28:34 +0100 Subject: [PATCH 33/41] Remove options, which comes from us using kubectl command grouping --- client-programs/pkg/cmd/educates_cmd_group.go | 66 ++++++++++++++++++- 1 file changed, 64 insertions(+), 2 deletions(-) diff --git a/client-programs/pkg/cmd/educates_cmd_group.go b/client-programs/pkg/cmd/educates_cmd_group.go index d23efbe40..2b0d188f0 100644 --- a/client-programs/pkg/cmd/educates_cmd_group.go +++ b/client-programs/pkg/cmd/educates_cmd_group.go @@ -1,12 +1,20 @@ package cmd import ( + "bytes" + "fmt" + "regexp" "strings" "github.com/spf13/cobra" "k8s.io/kubectl/pkg/util/templates" ) +var ( + usageOptionsSuffixPattern = regexp.MustCompile(`(?m)^(\s*.+?) \[options\]\s*$`) + globalOptionsHintPattern = regexp.MustCompile(`(?m)^Use ".* options" for a list of global command-line options \(applies to all commands\)\.\n?`) +) + /* Create root Cobra command group for Educates CLI . */ @@ -83,9 +91,63 @@ func (p *ProjectInfo) NewEducatesCmdGroup() *cobra.Command { commandGroups.Add(c) - templates.ActsAsRootCommand(c, []string{"--help"}, commandGroups...) - c.AddCommand(p.NewProjectVersionCmd()) + configureRootHelpTemplates(c, []string{"--help"}, commandGroups...) return c } + +// configureRootHelpTemplates preserves grouped command help output from cobra +// templates, while removing the synthetic [options] usage suffix and global +// options hint from displayed usage text. +func configureRootHelpTemplates(c *cobra.Command, filters []string, groups ...templates.CommandGroup) { + templates.ActsAsRootCommand(c, filters, groups...) + + sanitizeCommandUsage(c) +} + +func sanitizeCommandUsage(command *cobra.Command) { + originalUsageFunc := command.UsageFunc() + originalHelpFunc := command.HelpFunc() + + command.SetUsageFunc(func(cmd *cobra.Command) error { + usageBuffer := bytes.NewBuffer(nil) + + originalErr := cmd.ErrOrStderr() + cmd.SetErr(usageBuffer) + defer cmd.SetErr(originalErr) + + if err := originalUsageFunc(cmd); err != nil { + return err + } + + _, err := fmt.Fprint(originalErr, sanitizeUsageOutput(usageBuffer.String())) + return err + }) + + command.SetHelpFunc(func(cmd *cobra.Command, args []string) { + helpBuffer := bytes.NewBuffer(nil) + + originalOut := cmd.OutOrStdout() + cmd.SetOut(helpBuffer) + defer cmd.SetOut(originalOut) + + originalHelpFunc(cmd, args) + fmt.Fprint(originalOut, sanitizeUsageOutput(helpBuffer.String())) + }) + + for _, child := range command.Commands() { + sanitizeCommandUsage(child) + } +} + +func sanitizeUsageOutput(output string) string { + cleaned := usageOptionsSuffixPattern.ReplaceAllString(output, "$1") + cleaned = globalOptionsHintPattern.ReplaceAllString(cleaned, "") + + for strings.Contains(cleaned, "\n\n\n") { + cleaned = strings.ReplaceAll(cleaned, "\n\n\n", "\n\n") + } + + return cleaned +} From c26a2c62a3a7745843aeff902abc9152fa27b67b Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Sat, 14 Feb 2026 15:09:57 +0100 Subject: [PATCH 34/41] Some CLI refactorings and uptades to Makefile for docker-extension --- Makefile | 29 ++- .../pkg/cmd/cluster_portal_cmd_group.go | 1 + .../pkg/cmd/cluster_portal_create_cmd.go | 6 +- .../pkg/cmd/cluster_portal_delete_cmd.go | 6 +- .../pkg/cmd/cluster_portal_export_cmd.go | 103 +++++++++ .../pkg/cmd/cluster_portal_list_cmd.go | 4 +- .../pkg/cmd/cluster_portal_open_cmd.go | 6 +- .../pkg/cmd/cluster_portal_password_cmd.go | 6 +- .../pkg/cmd/cluster_session_extend_cmd.go | 6 +- .../pkg/cmd/cluster_session_list_cmd.go | 6 +- .../pkg/cmd/cluster_session_status_cmd.go | 6 +- .../pkg/cmd/cluster_session_terminate_cmd.go | 6 +- .../pkg/cmd/cluster_workshop_delete_cmd.go | 11 +- .../pkg/cmd/cluster_workshop_deploy_cmd.go | 15 +- .../pkg/cmd/cluster_workshop_list_cmd.go | 6 +- .../pkg/cmd/cluster_workshop_request_cmd.go | 6 +- .../pkg/cmd/cluster_workshop_serve_cmd.go | 15 +- .../pkg/cmd/cluster_workshop_update_cmd.go | 11 +- .../pkg/cmd/docker_workshop_delete_cmd.go | 4 +- .../pkg/cmd/docker_workshop_deploy_cmd.go | 1 - .../pkg/cmd/docker_workshop_logs.go | 6 +- .../pkg/cmd/docker_workshop_open_cmd.go | 6 +- client-programs/pkg/cmd/educates_cmd_group.go | 1 + .../pkg/cmd/workshop_export_cmd.go | 6 +- client-programs/pkg/cmd/workshop_new_cmd.go | 6 +- .../pkg/cmd/workshop_publish_cmd.go | 6 +- .../pkg/docker/extension_backend_api.go | 1 - .../pkg/docker/workshop_manager.go | 7 +- .../manager.go => trainingportal_manager.go} | 57 ++++- .../pkg/educates/resources/utils.go | 38 ++++ ...anager.go => workshop_sessions_manager.go} | 2 +- .../manager.go => workshops_manager.go} | 197 +--------------- .../pkg/educates/workshop_definition.go | 212 ++++++++++++++++++ ...ager.go => workshop_definition_manager.go} | 25 +-- client-programs/pkg/utils/yaml_documents.go | 110 +++++++++ docker-extension/Makefile | 46 +++- 36 files changed, 674 insertions(+), 306 deletions(-) create mode 100644 client-programs/pkg/cmd/cluster_portal_export_cmd.go rename client-programs/pkg/educates/resources/{portal/manager.go => trainingportal_manager.go} (78%) create mode 100644 client-programs/pkg/educates/resources/utils.go rename client-programs/pkg/educates/resources/{sessions/manager.go => workshop_sessions_manager.go} (99%) rename client-programs/pkg/educates/resources/{workshops/manager.go => workshops_manager.go} (71%) create mode 100644 client-programs/pkg/educates/workshop_definition.go rename client-programs/pkg/educates/{local/workshops/manager.go => workshop_definition_manager.go} (92%) create mode 100644 client-programs/pkg/utils/yaml_documents.go diff --git a/Makefile b/Makefile index 9407e002a..c72eed8ad 100644 --- a/Makefile +++ b/Makefile @@ -142,12 +142,16 @@ IMAGE_REPOSITORY = localhost:5001 PACKAGE_VERSION = latest RELEASE_VERSION = 0.0.1 +# Export variables to recursive make invocations so CLI/env overrides +# (for example TARGET_PLATFORMS, PUSH_IMAGES, IMAGE_REPOSITORY) are inherited. +.EXPORT_ALL_VARIABLES: + # Installer bundle image refs: default to same as build repo/version; override to use released images when developing installer IMGPKG_IMAGE_REPOSITORY ?= $(IMAGE_REPOSITORY) IMGPKG_PACKAGE_VERSION ?= $(PACKAGE_VERSION) -UNAME_SYSTEM := $(shell uname -s | tr '[:upper:]' '[:lower:]') -UNAME_MACHINE := $(shell uname -m) +UNAME_SYSTEM ?= $(shell uname -s | tr '[:upper:]' '[:lower:]') +UNAME_MACHINE ?= $(shell uname -m) TARGET_SYSTEM = $(UNAME_SYSTEM) TARGET_MACHINE = $(UNAME_MACHINE) @@ -159,6 +163,8 @@ endif TARGET_PLATFORM = $(TARGET_SYSTEM)-$(TARGET_MACHINE) BUILDX_BUILDER = educates-multiarch-builder +TARGET_PLATFORMS ?= $(TARGET_PLATFORMS) + # Platform configuration - can be overridden by TARGET_PLATFORMS env var or make parameter ifeq ($(TARGET_PLATFORMS),) # Default to current platform when TARGET_PLATFORMS is not set @@ -180,6 +186,19 @@ else DOCKER_BUILDER = --builder ${BUILDX_BUILDER} --push endif +print-vars: + @echo "--- Makefile Variables ---" + @echo "OS: $(UNAME_SYSTEM)" + @echo "Arch: $(UNAME_MACHINE)" + @echo "Shell: $(SHELL)" + @echo "TARGET_SYSTEM: $(TARGET_SYSTEM)" + @echo "TARGET_MACHINE: $(TARGET_MACHINE)" + @echo "TARGET_PLATFORM: $(TARGET_PLATFORM)" + @echo "DOCKER_PLATFORM: $(DOCKER_PLATFORM)" + @echo "MULTIARCH_PLATFORMS: $(MULTIARCH_PLATFORMS)" + @echo "DOCKER_BUILDER: $(DOCKER_BUILDER)" + @echo "PUSH_IMAGES: $(PUSH_IMAGES)" + all: build-all-images # deploy-installer deploy-workshop # Multiarch build targets @@ -372,13 +391,13 @@ build-cli-image: build-base-environment client-programs build-docker-extension : build-cli-image - $(MAKE) -C docker-extension build-extension REPOSITORY=$(IMAGE_REPOSITORY) TAG=$(PACKAGE_VERSION) + $(MAKE) -C docker-extension build-extension install-docker-extension : build-docker-extension - $(MAKE) -C docker-extension install-extension REPOSITORY=$(IMAGE_REPOSITORY) TAG=$(PACKAGE_VERSION) + $(MAKE) -C docker-extension install-extension update-docker-extension : build-docker-extension - $(MAKE) -C docker-extension update-extension REPOSITORY=$(IMAGE_REPOSITORY) TAG=$(PACKAGE_VERSION) + $(MAKE) -C docker-extension update-extension project-docs/venv : python3 -m venv project-docs/venv diff --git a/client-programs/pkg/cmd/cluster_portal_cmd_group.go b/client-programs/pkg/cmd/cluster_portal_cmd_group.go index f0777096b..7f8e0b9b2 100644 --- a/client-programs/pkg/cmd/cluster_portal_cmd_group.go +++ b/client-programs/pkg/cmd/cluster_portal_cmd_group.go @@ -21,6 +21,7 @@ func (p *ProjectInfo) NewClusterPortalCmdGroup() *cobra.Command { Message: "Available Commands:", Commands: []*cobra.Command{ p.NewClusterPortalCreateCmd(), + p.NewClusterPortalExportCmd(), p.NewClusterPortalListCmd(), p.NewClusterPortalOpenCmd(), p.NewClusterPortalDeleteCmd(), diff --git a/client-programs/pkg/cmd/cluster_portal_create_cmd.go b/client-programs/pkg/cmd/cluster_portal_create_cmd.go index 61c54f468..da1c6161d 100644 --- a/client-programs/pkg/cmd/cluster_portal_create_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_create_cmd.go @@ -3,7 +3,7 @@ package cmd import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -54,7 +54,7 @@ func (o *ClusterConfigViewOptions) Run(isPasswordSet bool) error { return errors.Wrapf(err, "unable to create Kubernetes client") } - config := portal.TrainingPortalCreateConfig{ + config := educatesResources.TrainingPortalCreateConfig{ Portal: o.Portal, Hostname: o.Hostname, Repository: o.Repository, @@ -66,7 +66,7 @@ func (o *ClusterConfigViewOptions) Run(isPasswordSet bool) error { Labels: o.Labels, } - manager := portal.NewPortalManager(dynamicClient) + manager := educatesResources.NewPortalManager(dynamicClient) err = manager.CreateTrainingPortal(&config) diff --git a/client-programs/pkg/cmd/cluster_portal_delete_cmd.go b/client-programs/pkg/cmd/cluster_portal_delete_cmd.go index 24f503dcb..5c724e0cb 100644 --- a/client-programs/pkg/cmd/cluster_portal_delete_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_delete_cmd.go @@ -3,7 +3,7 @@ package cmd import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -45,11 +45,11 @@ func (o *ClusterPortalDeleteOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - config := portal.TrainingPortalDeleteConfig{ + config := educatesResources.TrainingPortalDeleteConfig{ Portal: o.Portal, } - manager := portal.NewPortalManager(dynamicClient) + manager := educatesResources.NewPortalManager(dynamicClient) err = manager.DeleteTrainingPortal(&config) diff --git a/client-programs/pkg/cmd/cluster_portal_export_cmd.go b/client-programs/pkg/cmd/cluster_portal_export_cmd.go new file mode 100644 index 000000000..2af2542c6 --- /dev/null +++ b/client-programs/pkg/cmd/cluster_portal_export_cmd.go @@ -0,0 +1,103 @@ +package cmd + +import ( + "github.com/educates/educates-training-platform/client-programs/pkg/cluster" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" + "github.com/spf13/cobra" +) + +type ClusterPortalExportOptions struct { + KubeconfigOptions + Portal string + AsFiles string +} + + +const clusterPortalExportExample = ` +# Export TrainingPortal and its workshops to stdout as YAML documents +educates cluster portal export + +# Export a specific TrainingPortal and workshops to stdout +educates cluster portal export --portal=my-portal + +# Export YAML documents as files in a directory +educates cluster portal export --portal=my-portal --as-files=./export +` + +func (o *ClusterPortalExportOptions) Run() error { + var err error + + if o.Portal == "" { + o.Portal = constants.DefaultPortalName + } + + clusterConfig, err := cluster.NewClusterConfigIfAvailable(o.Kubeconfig, o.Context) + if err != nil { + return err + } + + dynamicClient, err := clusterConfig.GetDynamicClient() + if err != nil { + return errors.Wrap(err, "unable to create Kubernetes client") + } + + manager := educatesResources.NewPortalManager(dynamicClient) + + documents, err := manager.GetTrainingPortalYAMLDocumentsForExport(&educatesResources.TrainingPortalExportConfig{ + Portal: o.Portal, + }) + if err != nil { + return err + } + + if o.AsFiles != "" { + return utils.WriteExportedDocuments(o.AsFiles, documents) + } + + return utils.PrintExportedDocuments(documents) +} + + + +func (p *ProjectInfo) NewClusterPortalExportCmd() *cobra.Command { + var o ClusterPortalExportOptions + + var c = &cobra.Command{ + Args: cobra.NoArgs, + Use: "export", + Short: "Export portal resources from Kubernetes", + RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Example: clusterPortalExportExample, + } + + c.Flags().StringVar( + &o.Kubeconfig, + "kubeconfig", + "", + "kubeconfig file to use instead of $KUBECONFIG or $HOME/.kube/config", + ) + c.Flags().StringVar( + &o.Context, + "context", + "", + "Context to use from Kubeconfig", + ) + c.Flags().StringVarP( + &o.Portal, + "portal", + "p", + constants.DefaultPortalName, + "name to be used for training portal and workshop name prefixes", + ) + c.Flags().StringVar( + &o.AsFiles, + "as-files", + "", + "write YAML resources as files in target directory instead of stdout", + ) + + return c +} diff --git a/client-programs/pkg/cmd/cluster_portal_list_cmd.go b/client-programs/pkg/cmd/cluster_portal_list_cmd.go index 94a4e139d..8053bd8c7 100644 --- a/client-programs/pkg/cmd/cluster_portal_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_list_cmd.go @@ -4,7 +4,7 @@ import ( "fmt" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -36,7 +36,7 @@ func (o *ClusterPortalListOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - manager := portal.NewPortalManager(dynamicClient) + manager := educatesResources.NewPortalManager(dynamicClient) list, err := manager.ListTrainingPortals(nil) diff --git a/client-programs/pkg/cmd/cluster_portal_open_cmd.go b/client-programs/pkg/cmd/cluster_portal_open_cmd.go index 5abd9909d..47fc1eefa 100644 --- a/client-programs/pkg/cmd/cluster_portal_open_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_open_cmd.go @@ -8,7 +8,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -54,12 +54,12 @@ func (o *ClusterPortalOpenOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - config := portal.TrainingPortalOpenConfig{ + config := educatesResources.TrainingPortalOpenConfig{ Portal: o.Portal, Admin: o.Admin, } - manager := portal.NewPortalManager(dynamicClient) + manager := educatesResources.NewPortalManager(dynamicClient) targetUrl, err := manager.GetTrainingPortalBrowserUrl(&config) diff --git a/client-programs/pkg/cmd/cluster_portal_password_cmd.go b/client-programs/pkg/cmd/cluster_portal_password_cmd.go index 10f51f1b5..fcd690fea 100644 --- a/client-programs/pkg/cmd/cluster_portal_password_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_password_cmd.go @@ -5,7 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/portal" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -51,12 +51,12 @@ func (o *ClusterPortalPasswordOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - config := portal.TrainingPortalPasswordConfig{ + config := educatesResources.TrainingPortalPasswordConfig{ Portal: o.Portal, Admin: o.Admin, } - manager := portal.NewPortalManager(dynamicClient) + manager := educatesResources.NewPortalManager(dynamicClient) password, err := manager.GetTrainingPortalPassword(&config) diff --git a/client-programs/pkg/cmd/cluster_session_extend_cmd.go b/client-programs/pkg/cmd/cluster_session_extend_cmd.go index 5f60b729f..510567582 100644 --- a/client-programs/pkg/cmd/cluster_session_extend_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_extend_cmd.go @@ -5,7 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -36,8 +36,8 @@ func (o *ClusterSessionExtendOptions) Run() error { return err } - manager := sessions.NewSessionManager() - result, err := manager.ExtendSession(sessions.ExtendSessionConfig{ + manager := educatesResources.NewSessionManager() + result, err := manager.ExtendSession(educatesResources.ExtendSessionConfig{ ClusterConfig: clusterConfig, Portal: o.Portal, Name: o.Name, diff --git a/client-programs/pkg/cmd/cluster_session_list_cmd.go b/client-programs/pkg/cmd/cluster_session_list_cmd.go index 99ce16911..754abada2 100644 --- a/client-programs/pkg/cmd/cluster_session_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_list_cmd.go @@ -5,7 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -42,9 +42,9 @@ func (o *ClusterSessionListOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - manager := sessions.NewSessionManager() + manager := educatesResources.NewSessionManager() - list, err := manager.ListSessions(sessions.ListSessionsConfig{ + list, err := manager.ListSessions(educatesResources.ListSessionsConfig{ Client: dynamicClient, Portal: o.Portal, Environment: o.Environment, diff --git a/client-programs/pkg/cmd/cluster_session_status_cmd.go b/client-programs/pkg/cmd/cluster_session_status_cmd.go index eeccd9365..b8a60d8d1 100644 --- a/client-programs/pkg/cmd/cluster_session_status_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_status_cmd.go @@ -5,7 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -32,8 +32,8 @@ func (o *ClusterSessionStatusOptions) Run() error { clusterConfig := cluster.NewClusterConfig(o.Kubeconfig, o.Context) - manager := sessions.NewSessionManager() - result, err := manager.SessionStatus(sessions.SessionStatusConfig{ + manager := educatesResources.NewSessionManager() + result, err := manager.SessionStatus(educatesResources.SessionStatusConfig{ ClusterConfig: clusterConfig, Portal: o.Portal, Name: o.Name, diff --git a/client-programs/pkg/cmd/cluster_session_terminate_cmd.go b/client-programs/pkg/cmd/cluster_session_terminate_cmd.go index c3950e0e0..47c1bd3e2 100644 --- a/client-programs/pkg/cmd/cluster_session_terminate_cmd.go +++ b/client-programs/pkg/cmd/cluster_session_terminate_cmd.go @@ -5,7 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/sessions" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/spf13/cobra" ) @@ -32,8 +32,8 @@ func (o *ClusterSessionTerminateOptions) Run() error { clusterConfig := cluster.NewClusterConfig(o.Kubeconfig, o.Context) - manager := sessions.NewSessionManager() - result, err := manager.TerminateSession(sessions.TerminateSessionConfig{ + manager := educatesResources.NewSessionManager() + result, err := manager.TerminateSession(educatesResources.TerminateSessionConfig{ ClusterConfig: clusterConfig, Portal: o.Portal, Name: o.Name, diff --git a/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go b/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go index 9daf5f8ce..4cf8140ea 100644 --- a/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_delete_cmd.go @@ -4,7 +4,8 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -64,7 +65,7 @@ func (o *ClusterWorkshopDeleteOptions) Run() error { var workshop *unstructured.Unstructured - definitionConfig := workshops.WorkshopDefinitionConfig{ + definitionConfig := educates.WorkshopDefinitionConfig{ Name: o.Name, Path: path, Portal: o.Portal, @@ -73,7 +74,7 @@ func (o *ClusterWorkshopDeleteOptions) Run() error { DataValueFlags: o.DataValuesFlags, } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + if workshop, err = educates.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } @@ -92,10 +93,10 @@ func (o *ClusterWorkshopDeleteOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - manager := workshops.NewWorkshopManager(dynamicClient) + manager := educatesResources.NewWorkshopManager(dynamicClient) // Delete the deployed workshop from the Kubernetes cluster. - deleteConfig := workshops.DeleteWorkshopResourceConfig{ + deleteConfig := educatesResources.DeleteWorkshopResourceConfig{ Name: name, Alias: o.Alias, Portal: o.Portal, diff --git a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go index e7d654fe9..09539a61f 100644 --- a/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_deploy_cmd.go @@ -6,7 +6,8 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -74,7 +75,7 @@ func (o *ClusterWorkshopDeployOptions) Run() error { var workshop *unstructured.Unstructured - loadConfig := workshops.WorkshopDefinitionConfig{ + loadConfig := educates.WorkshopDefinitionConfig{ Name: o.Name, Path: path, Portal: o.Portal, @@ -83,7 +84,7 @@ func (o *ClusterWorkshopDeployOptions) Run() error { DataValueFlags: o.DataValuesFlags, } - if workshop, err = workshops.LoadWorkshopDefinition(&loadConfig); err != nil { + if workshop, err = educates.LoadWorkshopDefinition(&loadConfig); err != nil { return err } @@ -99,10 +100,10 @@ func (o *ClusterWorkshopDeployOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - manager := workshops.NewWorkshopManager(dynamicClient) + manager := educatesResources.NewWorkshopManager(dynamicClient) // Update the workshop resource in the Kubernetes cluster. - updateConfig := workshops.UpdateWorkshopResourceConfig{ + updateConfig := educatesResources.UpdateWorkshopResourceConfig{ Workshop: workshop, } @@ -116,7 +117,7 @@ func (o *ClusterWorkshopDeployOptions) Run() error { // Update the training portal, creating it if necessary. - deployConfig := workshops.DeployWorkshopConfig{ + deployConfig := educatesResources.DeployWorkshopConfig{ Workshop: workshop, Alias: o.Alias, Portal: o.Portal, @@ -139,7 +140,7 @@ func (o *ClusterWorkshopDeployOptions) Run() error { return err } - openBrowserConfig := workshops.OpenBrowserConfig{ + openBrowserConfig := educatesResources.OpenBrowserConfig{ Portal: o.Portal, } if o.OpenBrowser { diff --git a/client-programs/pkg/cmd/cluster_workshop_list_cmd.go b/client-programs/pkg/cmd/cluster_workshop_list_cmd.go index 4300f123a..0781bd0cc 100644 --- a/client-programs/pkg/cmd/cluster_workshop_list_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_list_cmd.go @@ -5,7 +5,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -48,9 +48,9 @@ func (o *ClusterWorkshopsListOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - manager := workshops.NewWorkshopManager(dynamicClient) + manager := educatesResources.NewWorkshopManager(dynamicClient) - list, err := manager.ListWorkshopResources(&workshops.ListWorkshopResourcesConfig{ + list, err := manager.ListWorkshopResources(&educatesResources.ListWorkshopResourcesConfig{ Portal: o.Portal, }) diff --git a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go index 9e1127147..012aaba28 100644 --- a/client-programs/pkg/cmd/cluster_workshop_request_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_request_cmd.go @@ -9,7 +9,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" educatesrestapi "github.com/educates/educates-training-platform/client-programs/pkg/educates/restapi" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" "github.com/educates/educates-training-platform/client-programs/pkg/utils" @@ -124,7 +124,7 @@ func (o *ClusterWorkshopRequestOptions) Run() error { var workshop *unstructured.Unstructured - definitionConfig := workshops.WorkshopDefinitionConfig{ + definitionConfig := educates.WorkshopDefinitionConfig{ Name: o.Name, Path: path, Portal: o.Portal, @@ -133,7 +133,7 @@ func (o *ClusterWorkshopRequestOptions) Run() error { DataValueFlags: o.DataValuesFlags, } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + if workshop, err = educates.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } diff --git a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go index 71d26c04d..4520b099d 100644 --- a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go @@ -12,7 +12,8 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/educates/educates-training-platform/client-programs/pkg/renderer" ) @@ -100,7 +101,7 @@ func (o *ClusterWorkshopServeOptions) Run() error { var workshop *unstructured.Unstructured - definitionConfig := workshops.WorkshopDefinitionConfig{ + definitionConfig := educates.WorkshopDefinitionConfig{ Name: name, Path: path, Portal: portal, @@ -108,7 +109,7 @@ func (o *ClusterWorkshopServeOptions) Run() error { WorkshopVersion: o.WorkshopVersion, DataValueFlags: o.DataValuesFlags, } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + if workshop, err = educates.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } @@ -157,9 +158,9 @@ func (o *ClusterWorkshopServeOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - manager := workshops.NewWorkshopManager(dynamicClient) + manager := educatesResources.NewWorkshopManager(dynamicClient) // Update the workshop resource in the Kubernetes cluster. - err = manager.UpdateWorkshopResource(&workshops.UpdateWorkshopResourceConfig{ + err = manager.UpdateWorkshopResource(&educatesResources.UpdateWorkshopResourceConfig{ Workshop: patchedWorkshop, }) @@ -178,8 +179,8 @@ func (o *ClusterWorkshopServeOptions) Run() error { if err == nil { // Update the workshop resource in the Kubernetes cluster. - manager := workshops.NewWorkshopManager(dynamicClient) - err = manager.UpdateWorkshopResource(&workshops.UpdateWorkshopResourceConfig{ + manager := educatesResources.NewWorkshopManager(dynamicClient) + err = manager.UpdateWorkshopResource(&educatesResources.UpdateWorkshopResourceConfig{ Workshop: workshop, }) if err != nil { diff --git a/client-programs/pkg/cmd/cluster_workshop_update_cmd.go b/client-programs/pkg/cmd/cluster_workshop_update_cmd.go index 15795fdbd..6b772b4ab 100644 --- a/client-programs/pkg/cmd/cluster_workshop_update_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_update_cmd.go @@ -6,7 +6,8 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/cluster" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" + educatesResources "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources" "github.com/pkg/errors" "github.com/spf13/cobra" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -57,7 +58,7 @@ func (o *ClusterWorkshopUpdateOptions) Run() error { var workshop *unstructured.Unstructured - definitionConfig := workshops.WorkshopDefinitionConfig{ + definitionConfig := educates.WorkshopDefinitionConfig{ Name: o.Name, Path: o.Path, Portal: o.Portal, @@ -66,7 +67,7 @@ func (o *ClusterWorkshopUpdateOptions) Run() error { DataValueFlags: o.DataValuesFlags, } - if workshop, err = workshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + if workshop, err = educates.LoadWorkshopDefinition(&definitionConfig); err != nil { return err } @@ -82,10 +83,10 @@ func (o *ClusterWorkshopUpdateOptions) Run() error { return errors.Wrapf(err, "unable to create Kubernetes client") } - manager := workshops.NewWorkshopManager(dynamicClient) + manager := educatesResources.NewWorkshopManager(dynamicClient) // Update the workshop resource in the Kubernetes cluster. - updateConfig := workshops.UpdateWorkshopResourceConfig{ + updateConfig := educatesResources.UpdateWorkshopResourceConfig{ Workshop: workshop, } diff --git a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go index 48fff07ca..5e306f760 100644 --- a/client-programs/pkg/cmd/docker_workshop_delete_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_delete_cmd.go @@ -4,7 +4,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/docker" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/spf13/cobra" ) @@ -43,7 +43,7 @@ func (o *DockerWorkshopDeleteOptions) Run(cmd *cobra.Command) error { // Load the workshop definition. The path can be a HTTP/HTTPS URL for a // local file system path for a directory or file. - workshop, err := workshops.LoadWorkshopDefinition(&workshops.WorkshopDefinitionConfig{ + workshop, err := educates.LoadWorkshopDefinition(&educates.WorkshopDefinitionConfig{ Name: o.Name, Path: path, Portal: constants.DefaultPortalName, diff --git a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go index 41ee0e235..1fc2196d7 100644 --- a/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_deploy_cmd.go @@ -61,7 +61,6 @@ func (o *DockerWorkshopDeployOptions) Run(cmd *cobra.Command) error { Host: o.Host, Port: o.Port, LocalRepository: o.LocalRepository, - DisableOpenBrowser: o.DisableOpenBrowser, ImageRepository: o.ImageRepository, ImageVersion: o.ImageVersion, WorkshopFile: o.WorkshopFile, diff --git a/client-programs/pkg/cmd/docker_workshop_logs.go b/client-programs/pkg/cmd/docker_workshop_logs.go index 8330d20e0..c41c20522 100644 --- a/client-programs/pkg/cmd/docker_workshop_logs.go +++ b/client-programs/pkg/cmd/docker_workshop_logs.go @@ -5,7 +5,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/pkg/errors" "github.com/spf13/cobra" ) @@ -51,7 +51,7 @@ func (o *DockerWorkshopLogsOptions) Run(cmd *cobra.Command) error { // Load the workshop definition. The path can be a HTTP/HTTPS URL for a // local file system path for a directory or file. - definitionConfig := workshops.WorkshopDefinitionConfig{ + definitionConfig := educates.WorkshopDefinitionConfig{ Name: o.Name, Path: path, Portal: constants.DefaultPortalName, @@ -59,7 +59,7 @@ func (o *DockerWorkshopLogsOptions) Run(cmd *cobra.Command) error { WorkshopVersion: o.WorkshopVersion, DataValueFlags: o.DataValuesFlags, } - workshop, err := workshops.LoadWorkshopDefinition(&definitionConfig) + workshop, err := educates.LoadWorkshopDefinition(&definitionConfig) if err != nil { return err } diff --git a/client-programs/pkg/cmd/docker_workshop_open_cmd.go b/client-programs/pkg/cmd/docker_workshop_open_cmd.go index b3158b9fc..0650f5025 100644 --- a/client-programs/pkg/cmd/docker_workshop_open_cmd.go +++ b/client-programs/pkg/cmd/docker_workshop_open_cmd.go @@ -8,7 +8,7 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -49,7 +49,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { // Load the workshop definition. The path can be a HTTP/HTTPS URL for a // local file system path for a directory or file. - definitionConfig := workshops.WorkshopDefinitionConfig{ + definitionConfig := educates.WorkshopDefinitionConfig{ Name: o.Name, Path: path, Portal: constants.DefaultPortalName, @@ -57,7 +57,7 @@ func (o *DockerWorkshopOpenOptions) Run() error { WorkshopVersion: o.WorkshopVersion, DataValueFlags: o.DataValuesFlags, } - workshop, err := workshops.LoadWorkshopDefinition(&definitionConfig) + workshop, err := educates.LoadWorkshopDefinition(&definitionConfig) if err != nil { return err } diff --git a/client-programs/pkg/cmd/educates_cmd_group.go b/client-programs/pkg/cmd/educates_cmd_group.go index 2b0d188f0..3b4c9c613 100644 --- a/client-programs/pkg/cmd/educates_cmd_group.go +++ b/client-programs/pkg/cmd/educates_cmd_group.go @@ -56,6 +56,7 @@ func (p *ProjectInfo) NewEducatesCmdGroup() *cobra.Command { overrideCommandName(p.NewClusterPortalPasswordCmd(), "view-credentials"), overrideCommandName(p.NewClusterPortalCreateCmd(), "create-portal"), + overrideCommandName(p.NewClusterPortalExportCmd(), "export-portal"), overrideCommandName(p.NewClusterPortalListCmd(), "list-portals"), overrideCommandName(p.NewClusterPortalDeleteCmd(), "delete-portal"), diff --git a/client-programs/pkg/cmd/workshop_export_cmd.go b/client-programs/pkg/cmd/workshop_export_cmd.go index 709431b8a..7c06bf482 100644 --- a/client-programs/pkg/cmd/workshop_export_cmd.go +++ b/client-programs/pkg/cmd/workshop_export_cmd.go @@ -6,7 +6,7 @@ import ( "path/filepath" yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/local/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -53,14 +53,14 @@ func (o *FilesExportOptions) Run(args []string) error { if err != nil || !fileInfo.IsDir() { return errors.New("workshop directory does not exist or path is not a directory") } - config := workshops.WorkshopExportConfig{ + config := educates.ExportWorkshopDefinitionConfig{ Repository: o.Repository, WorkshopFile: o.WorkshopFile, WorkshopVersion: o.WorkshopVersion, DataValuesFlags: o.DataValuesFlags, } - manager := workshops.NewWorkshopManager() + manager := educates.NewWorkshopDefinitionManager() workshop, err := manager.Export(directory, &config) if err != nil { diff --git a/client-programs/pkg/cmd/workshop_new_cmd.go b/client-programs/pkg/cmd/workshop_new_cmd.go index 050143ba2..1285ba85b 100644 --- a/client-programs/pkg/cmd/workshop_new_cmd.go +++ b/client-programs/pkg/cmd/workshop_new_cmd.go @@ -9,7 +9,7 @@ import ( "github.com/pkg/errors" "github.com/spf13/cobra" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/local/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/educates/educates-training-platform/client-programs/pkg/utils" ) @@ -130,8 +130,8 @@ func (p *ProjectInfo) NewWorkshopNewCmd() *cobra.Command { } } - manager := workshops.NewWorkshopManager() - err = manager.NewWorkshop(workshopDir, &workshops.WorkshopNewConfig{ + manager := educates.NewWorkshopDefinitionManager() + err = manager.New(workshopDir, &educates.NewWorkshopDefinitionConfig{ Template: o.Template, Name: name, Title: o.Title, diff --git a/client-programs/pkg/cmd/workshop_publish_cmd.go b/client-programs/pkg/cmd/workshop_publish_cmd.go index 77bfc717f..30e8afed5 100644 --- a/client-programs/pkg/cmd/workshop_publish_cmd.go +++ b/client-programs/pkg/cmd/workshop_publish_cmd.go @@ -7,7 +7,7 @@ import ( imgpkgcmd "carvel.dev/imgpkg/pkg/imgpkg/cmd" yttcmd "carvel.dev/ytt/pkg/cmd/template" - "github.com/educates/educates-training-platform/client-programs/pkg/educates/local/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "github.com/spf13/cobra" @@ -57,7 +57,7 @@ func (o *FilesPublishOptions) Run(args []string) error { return errors.New("workshop directory does not exist or path is not a directory") } - config := workshops.WorkshopPublishConfig{ + config := educates.PublishWorkshopDefinitionConfig{ Image: o.Image, Repository: o.Repository, WorkshopFile: o.WorkshopFile, @@ -67,7 +67,7 @@ func (o *FilesPublishOptions) Run(args []string) error { DataValuesFlags: o.DataValuesFlags, } - m := workshops.NewWorkshopManager() + m := educates.NewWorkshopDefinitionManager() return m.Publish(directory, &config) } diff --git a/client-programs/pkg/docker/extension_backend_api.go b/client-programs/pkg/docker/extension_backend_api.go index f4bbbb81e..9cf041f6a 100644 --- a/client-programs/pkg/docker/extension_backend_api.go +++ b/client-programs/pkg/docker/extension_backend_api.go @@ -72,7 +72,6 @@ func (b *DockerWorkshopsApi) DeployWorkshop(w http.ResponseWriter, r *http.Reque Host: "127.0.0.1", Port: uint(port), LocalRepository: "localhost:5001", - DisableOpenBrowser: false, ImageRepository: b.ImageRepository, ImageVersion: b.ImageVersion, Cluster: "", diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index 164522d7f..90e94ca68 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -26,7 +26,7 @@ import ( "github.com/docker/docker/api/types/volume" "github.com/docker/docker/client" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - eduk8sWorkshops "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "go.yaml.in/yaml/v2" @@ -115,7 +115,6 @@ type DockerWorkshopDeployConfig struct { Host string Port uint LocalRepository string - DisableOpenBrowser bool ImageRepository string ImageVersion string Cluster string @@ -347,7 +346,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s var workshop *unstructured.Unstructured - definitionConfig := eduk8sWorkshops.WorkshopDefinitionConfig{ + definitionConfig := educates.WorkshopDefinitionConfig{ Name: "", Path: o.Path, Portal: constants.DefaultPortalName, @@ -355,7 +354,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s WorkshopVersion: o.WorkshopVersion, DataValueFlags: o.DataValuesFlags, } - if workshop, err = eduk8sWorkshops.LoadWorkshopDefinition(&definitionConfig); err != nil { + if workshop, err = educates.LoadWorkshopDefinition(&definitionConfig); err != nil { return "", err } diff --git a/client-programs/pkg/educates/resources/portal/manager.go b/client-programs/pkg/educates/resources/trainingportal_manager.go similarity index 78% rename from client-programs/pkg/educates/resources/portal/manager.go rename to client-programs/pkg/educates/resources/trainingportal_manager.go index df2b45385..b77825222 100644 --- a/client-programs/pkg/educates/resources/portal/manager.go +++ b/client-programs/pkg/educates/resources/trainingportal_manager.go @@ -1,4 +1,4 @@ -package portal +package resources import ( "context" @@ -49,6 +49,10 @@ type TrainingPortalPasswordConfig struct { Admin bool } +type TrainingPortalExportConfig struct { + Portal string +} + func NewPortalManager(client dynamic.Interface) *PortalManager { return &PortalManager{client: client} } @@ -281,3 +285,54 @@ func (m *PortalManager) GetTrainingPortalPassword(cfg *TrainingPortalPasswordCon return password, nil } } + + +func (m *PortalManager) GetTrainingPortalYAMLDocumentsForExport(cfg *TrainingPortalExportConfig) ([]utils.ExportedYAMLDocument, error) { + trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) + trainingPortal, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) + if err != nil { + if k8serrors.IsNotFound(err) { + return nil, errors.Errorf("training portal %q does not exist", cfg.Portal) + } + return nil, errors.Wrapf(err, "unable to fetch training portal %q in cluster", cfg.Portal) + } + + workshopNames, err := ExtractWorkshopNamesFromTrainingPortalResource(trainingPortal) + if err != nil { + return nil, err + } + + documents := make([]utils.ExportedYAMLDocument, 0, len(workshopNames)+1) + + trainingPortalData, err := utils.RenderResourceAsYAMLDocument(utils.SanitizeTrainingPortalResourceForExport(utils.SanitizeResourceForExport(trainingPortal))) + if err != nil { + return nil, errors.Wrapf(err, "unable to generate YAML for training portal %q", trainingPortal.GetName()) + } + documents = append(documents, utils.ExportedYAMLDocument{ + Name: "trainingportal.yaml", + Data: trainingPortalData, + }) + + workshopsClient := m.client.Resource(educatesTypes.WorkshopResource) + + for _, name := range workshopNames { + workshop, err := workshopsClient.Get(context.TODO(), name, metav1.GetOptions{}) + if err != nil { + if k8serrors.IsNotFound(err) { + return nil, errors.Errorf("workshop %q referenced by training portal %q does not exist", name, cfg.Portal) + } + return nil, errors.Wrapf(err, "unable to fetch workshop %q in cluster", name) + } + + workshopData, err := utils.RenderResourceAsYAMLDocument(utils.SanitizeResourceForExport(workshop)) + if err != nil { + return nil, errors.Wrapf(err, "unable to generate YAML for workshop %q", name) + } + + documents = append(documents, utils.ExportedYAMLDocument{ + Name: fmt.Sprintf("%s.yaml", name), + Data: workshopData, + }) + } + return documents, nil +} diff --git a/client-programs/pkg/educates/resources/utils.go b/client-programs/pkg/educates/resources/utils.go new file mode 100644 index 000000000..84040ff9f --- /dev/null +++ b/client-programs/pkg/educates/resources/utils.go @@ -0,0 +1,38 @@ +package resources + +import ( + "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" +) + + +func ExtractWorkshopNamesFromTrainingPortalResource(trainingPortal *unstructured.Unstructured) ([]string, error) { + workshops, _, err := unstructured.NestedSlice(trainingPortal.Object, "spec", "workshops") + if err != nil { + return nil, errors.Wrap(err, "unable to retrieve workshops from training portal") + } + + names := []string{} + seen := map[string]struct{}{} + + for _, item := range workshops { + object, ok := item.(map[string]interface{}) + if !ok { + return nil, errors.Errorf("invalid workshop reference in training portal %q", trainingPortal.GetName()) + } + + name, ok := object["name"].(string) + if !ok || name == "" { + return nil, errors.Errorf("invalid workshop reference in training portal %q", trainingPortal.GetName()) + } + + if _, exists := seen[name]; exists { + continue + } + + seen[name] = struct{}{} + names = append(names, name) + } + + return names, nil +} diff --git a/client-programs/pkg/educates/resources/sessions/manager.go b/client-programs/pkg/educates/resources/workshop_sessions_manager.go similarity index 99% rename from client-programs/pkg/educates/resources/sessions/manager.go rename to client-programs/pkg/educates/resources/workshop_sessions_manager.go index e8bf970fb..3da400169 100644 --- a/client-programs/pkg/educates/resources/sessions/manager.go +++ b/client-programs/pkg/educates/resources/workshop_sessions_manager.go @@ -1,4 +1,4 @@ -package sessions +package resources import ( "context" diff --git a/client-programs/pkg/educates/resources/workshops/manager.go b/client-programs/pkg/educates/resources/workshops_manager.go similarity index 71% rename from client-programs/pkg/educates/resources/workshops/manager.go rename to client-programs/pkg/educates/resources/workshops_manager.go index 12607cb0d..02d663c1f 100644 --- a/client-programs/pkg/educates/resources/workshops/manager.go +++ b/client-programs/pkg/educates/resources/workshops_manager.go @@ -1,25 +1,17 @@ -package workshops +package resources import ( - "bytes" "context" - "crypto/sha1" "encoding/json" "fmt" "io" "net/http" "net/url" - "os" - "path/filepath" "strings" "time" - yttcmd "carvel.dev/ytt/pkg/cmd/template" - "carvel.dev/ytt/pkg/files" - "carvel.dev/ytt/pkg/yamlmeta" "github.com/educates/educates-training-platform/client-programs/pkg/constants" educatesTypes "github.com/educates/educates-training-platform/client-programs/pkg/educates/types" - "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/utils" // "github.com/educates/educates-training-platform/client-programs/pkg/workshops" @@ -28,10 +20,8 @@ import ( metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" "k8s.io/apimachinery/pkg/runtime" - "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/apimachinery/pkg/types" "k8s.io/client-go/dynamic" - "k8s.io/kubectl/pkg/scheme" ) type WorkshopManager struct { @@ -64,15 +54,6 @@ type UpdateWorkshopResourceConfig struct { Workshop *unstructured.Unstructured } -type WorkshopDefinitionConfig struct { - Name string - Path string - Portal string - WorkshopFile string - WorkshopVersion string - DataValueFlags yttcmd.DataValuesFlags -} - type ListWorkshopResourcesConfig struct { Portal string } @@ -548,180 +529,4 @@ func (m *WorkshopManager) OpenBrowser(o *OpenBrowserConfig) error { return utils.OpenBrowser(targetUrl) } -func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstructured, error) { - // Parse the workshop location so we can determine if it is a local file - // or accessible using a HTTP/HTTPS URL. - - var urlInfo *url.URL - var err error - - if urlInfo, err = url.Parse(o.Path); err != nil { - return nil, errors.Wrap(err, "unable to parse workshop location") - } - - // Check if file system path first (not HTTP/HTTPS) and if so normalize - // the path. If it the path references a directory, then extend the path - // so we look for the workshop file within that directory. - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - o.Path = filepath.Clean(o.Path) - - if o.Path, err = filepath.Abs(o.Path); err != nil { - return nil, errors.Wrap(err, "couldn't convert workshop location to absolute path") - } - - if !filepath.IsAbs(o.WorkshopFile) { - fileInfo, err := os.Stat(o.Path) - - if err != nil { - return nil, errors.Wrap(err, "couldn't test if workshop location is a directory") - } - - if fileInfo.IsDir() { - o.Path = filepath.Join(o.Path, o.WorkshopFile) - } - } else { - o.Path = o.WorkshopFile - } - } - - // Read in the workshop definition as raw data ready for parsing. - var workshopData []byte - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - if workshopData, err = os.ReadFile(o.Path); err != nil { - return nil, errors.Wrap(err, "couldn't read workshop definition data file") - } - } else { - var client http.Client - - resp, err := client.Get(o.Path) - - if err != nil { - return nil, errors.Wrap(err, "couldn't download workshop definition from host") - } - - defer resp.Body.Close() - - if resp.StatusCode != http.StatusOK { - return nil, errors.New("failed to download workshop definition from host") - } - - workshopData, err = io.ReadAll(resp.Body) - - if err != nil { - return nil, errors.Wrap(err, "failed to read workshop definition from host") - } - } - - // Process the workshop YAML data in case it contains ytt templating. - - if workshopData, err = ProcessWorkshopDefinition(workshopData, o.DataValueFlags); err != nil { - return nil, errors.Wrap(err, "unable to process workshop definition as template") - } - - // Parse the workshop definition. - - decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() - - workshop := &unstructured.Unstructured{} - - err = runtime.DecodeInto(decoder, workshopData, workshop) - - if err != nil { - return nil, errors.Wrap(err, "couldn't parse workshop definition") - } - - // Verify the type of resource definition. - - if workshop.GetAPIVersion() != constants.EducatesTrainingAPIGroupVersion || workshop.GetKind() != "Workshop" { - return nil, errors.New("invalid type for workshop definition") - } - - // Add annotations recording details about original workshop location. - - annotations := workshop.GetAnnotations() - - if annotations == nil { - annotations = map[string]string{} - } - - annotations[constants.EducatesWorkshopLabelAnnotationWorkshop] = workshop.GetName() - - if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { - annotations[constants.EducatesWorkshopLabelAnnotationSource] = fmt.Sprintf("file://%s", o.Path) - } else { - annotations[constants.EducatesWorkshopLabelAnnotationSource] = o.Path - } - - workshop.SetAnnotations(annotations) - - // Update the name for the workshop such that it incorporates a hash of - // the workshop location. - - if o.Name == "" { - o.Name = generateWorkshopName(o.Path, workshop, o.Portal) - } - - workshop.SetName(o.Name) - - // Insert workshop version property if not specified. - - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found && o.WorkshopVersion != "latest" { - unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") - } - - // Remove the publish section as will not be accurate after publising. - - unstructured.RemoveNestedField(workshop.Object, "spec", "publish") - - return workshop, nil -} - -func ProcessWorkshopDefinition(yamlData []byte, dataValueFlags yttcmd.DataValuesFlags) ([]byte, error) { - templatingOptions := yttcmd.NewOptions() - - templatingOptions.IgnoreUnknownComments = true - - templatingOptions.DataValuesFlags = dataValueFlags - - var filesToProcess []*files.File - - mainInputFile := files.MustNewFileFromSource(files.NewBytesSource("workshop.yaml", yamlData)) - - filesToProcess = append(filesToProcess, mainInputFile) - - output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logger.NewStdoutUI()) - - if output.Err != nil { - return []byte{}, fmt.Errorf("execution of ytt failed: %s", output.Err) - } - - if len(output.DocSet.Items) == 0 { - return []byte{}, nil - } - - var buf bytes.Buffer - yamlmeta.NewYAMLPrinter(&buf).Print(output.DocSet.Items[0]) - - return buf.Bytes(), nil -} - - - -func generateWorkshopName(path string, workshop *unstructured.Unstructured, portal string) string { - name := workshop.GetName() - - h := sha1.New() - - io.WriteString(h, path) - - hv := fmt.Sprintf("%x", h.Sum(nil)) - - name = fmt.Sprintf("%s--%s-%s", portal, name, hv[len(hv)-7:]) - - return name -} diff --git a/client-programs/pkg/educates/workshop_definition.go b/client-programs/pkg/educates/workshop_definition.go new file mode 100644 index 000000000..6744bf7ee --- /dev/null +++ b/client-programs/pkg/educates/workshop_definition.go @@ -0,0 +1,212 @@ +package educates + +import ( + "bytes" + "crypto/sha1" + "fmt" + "io" + "net/http" + "net/url" + "os" + "path/filepath" + + yttcmd "carvel.dev/ytt/pkg/cmd/template" + "carvel.dev/ytt/pkg/files" + "carvel.dev/ytt/pkg/yamlmeta" + "github.com/educates/educates-training-platform/client-programs/pkg/constants" + "github.com/educates/educates-training-platform/client-programs/pkg/logger" + "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/apis/meta/internalversion/scheme" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "k8s.io/apimachinery/pkg/runtime" + "k8s.io/apimachinery/pkg/runtime/serializer" +) + +type WorkshopDefinitionConfig struct { + Name string + Path string + Portal string + WorkshopFile string + WorkshopVersion string + DataValueFlags yttcmd.DataValuesFlags +} + + + +func LoadWorkshopDefinition(o *WorkshopDefinitionConfig) (*unstructured.Unstructured, error) { + // Parse the workshop location so we can determine if it is a local file + // or accessible using a HTTP/HTTPS URL. + + var urlInfo *url.URL + var err error + + if urlInfo, err = url.Parse(o.Path); err != nil { + return nil, errors.Wrap(err, "unable to parse workshop location") + } + + // Check if file system path first (not HTTP/HTTPS) and if so normalize + // the path. If it the path references a directory, then extend the path + // so we look for the workshop file within that directory. + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + o.Path = filepath.Clean(o.Path) + + if o.Path, err = filepath.Abs(o.Path); err != nil { + return nil, errors.Wrap(err, "couldn't convert workshop location to absolute path") + } + + if !filepath.IsAbs(o.WorkshopFile) { + fileInfo, err := os.Stat(o.Path) + + if err != nil { + return nil, errors.Wrap(err, "couldn't test if workshop location is a directory") + } + + if fileInfo.IsDir() { + o.Path = filepath.Join(o.Path, o.WorkshopFile) + } + } else { + o.Path = o.WorkshopFile + } + } + + // Read in the workshop definition as raw data ready for parsing. + var workshopData []byte + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + if workshopData, err = os.ReadFile(o.Path); err != nil { + return nil, errors.Wrap(err, "couldn't read workshop definition data file") + } + } else { + var client http.Client + + resp, err := client.Get(o.Path) + + if err != nil { + return nil, errors.Wrap(err, "couldn't download workshop definition from host") + } + + defer resp.Body.Close() + + if resp.StatusCode != http.StatusOK { + return nil, errors.New("failed to download workshop definition from host") + } + + workshopData, err = io.ReadAll(resp.Body) + + if err != nil { + return nil, errors.Wrap(err, "failed to read workshop definition from host") + } + } + + // Process the workshop YAML data in case it contains ytt templating. + + if workshopData, err = ProcessWorkshopDefinition(workshopData, o.DataValueFlags); err != nil { + return nil, errors.Wrap(err, "unable to process workshop definition as template") + } + + // Parse the workshop definition. + + decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() + + workshop := &unstructured.Unstructured{} + + err = runtime.DecodeInto(decoder, workshopData, workshop) + + if err != nil { + return nil, errors.Wrap(err, "couldn't parse workshop definition") + } + + // Verify the type of resource definition. + + if workshop.GetAPIVersion() != constants.EducatesTrainingAPIGroupVersion || workshop.GetKind() != "Workshop" { + return nil, errors.New("invalid type for workshop definition") + } + + // Add annotations recording details about original workshop location. + + annotations := workshop.GetAnnotations() + + if annotations == nil { + annotations = map[string]string{} + } + + annotations[constants.EducatesWorkshopLabelAnnotationWorkshop] = workshop.GetName() + + if urlInfo.Scheme != "http" && urlInfo.Scheme != "https" { + annotations[constants.EducatesWorkshopLabelAnnotationSource] = fmt.Sprintf("file://%s", o.Path) + } else { + annotations[constants.EducatesWorkshopLabelAnnotationSource] = o.Path + } + + workshop.SetAnnotations(annotations) + + // Update the name for the workshop such that it incorporates a hash of + // the workshop location. + + if o.Name == "" { + o.Name = generateWorkshopName(o.Path, workshop, o.Portal) + } + + workshop.SetName(o.Name) + + // Insert workshop version property if not specified. + + _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") + + if !found && o.WorkshopVersion != "latest" { + unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") + } + + // Remove the publish section as will not be accurate after publising. + + unstructured.RemoveNestedField(workshop.Object, "spec", "publish") + + return workshop, nil +} + +func ProcessWorkshopDefinition(yamlData []byte, dataValueFlags yttcmd.DataValuesFlags) ([]byte, error) { + templatingOptions := yttcmd.NewOptions() + + templatingOptions.IgnoreUnknownComments = true + + templatingOptions.DataValuesFlags = dataValueFlags + + var filesToProcess []*files.File + + mainInputFile := files.MustNewFileFromSource(files.NewBytesSource("workshop.yaml", yamlData)) + + filesToProcess = append(filesToProcess, mainInputFile) + + output := templatingOptions.RunWithFiles(yttcmd.Input{Files: filesToProcess}, logger.NewStdoutUI()) + + if output.Err != nil { + return []byte{}, fmt.Errorf("execution of ytt failed: %s", output.Err) + } + + if len(output.DocSet.Items) == 0 { + return []byte{}, nil + } + + var buf bytes.Buffer + + yamlmeta.NewYAMLPrinter(&buf).Print(output.DocSet.Items[0]) + + return buf.Bytes(), nil +} + + + +func generateWorkshopName(path string, workshop *unstructured.Unstructured, portal string) string { + name := workshop.GetName() + + h := sha1.New() + + io.WriteString(h, path) + + hv := fmt.Sprintf("%x", h.Sum(nil)) + + name = fmt.Sprintf("%s--%s-%s", portal, name, hv[len(hv)-7:]) + + return name +} diff --git a/client-programs/pkg/educates/local/workshops/manager.go b/client-programs/pkg/educates/workshop_definition_manager.go similarity index 92% rename from client-programs/pkg/educates/local/workshops/manager.go rename to client-programs/pkg/educates/workshop_definition_manager.go index b75d4dc64..0b91d4684 100644 --- a/client-programs/pkg/educates/local/workshops/manager.go +++ b/client-programs/pkg/educates/workshop_definition_manager.go @@ -1,4 +1,4 @@ -package workshops +package educates import ( "fmt" @@ -12,7 +12,6 @@ import ( yttcmd "carvel.dev/ytt/pkg/cmd/template" "github.com/educates/educates-training-platform/client-programs/pkg/constants" - eduk8sWorkshops "github.com/educates/educates-training-platform/client-programs/pkg/educates/resources/workshops" "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/templates" "github.com/pkg/errors" @@ -23,11 +22,11 @@ import ( "k8s.io/apimachinery/pkg/runtime/serializer" ) -type WorkshopManager struct { +type WorkshopDefinitionManager struct { } -type WorkshopNewConfig struct { +type NewWorkshopDefinitionConfig struct { Template string Name string Title string @@ -45,14 +44,14 @@ type WorkshopNewConfig struct { WithTerminal bool } -type WorkshopExportConfig struct { +type ExportWorkshopDefinitionConfig struct { Repository string WorkshopFile string WorkshopVersion string DataValuesFlags yttcmd.DataValuesFlags } -type WorkshopPublishConfig struct { +type PublishWorkshopDefinitionConfig struct { Image string Repository string WorkshopFile string @@ -62,11 +61,11 @@ type WorkshopPublishConfig struct { DataValuesFlags yttcmd.DataValuesFlags } -func NewWorkshopManager() *WorkshopManager { - return &WorkshopManager{} +func NewWorkshopDefinitionManager() *WorkshopDefinitionManager { + return &WorkshopDefinitionManager{} } -func (m *WorkshopManager) NewWorkshop(directory string,o *WorkshopNewConfig) error { +func (m *WorkshopDefinitionManager) New(directory string,o *NewWorkshopDefinitionConfig) error { var err error parameters := map[string]string{ @@ -99,7 +98,7 @@ func (m *WorkshopManager) NewWorkshop(directory string,o *WorkshopNewConfig) err return err } -func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) (string, error) { +func (m *WorkshopDefinitionManager) Export(directory string,o *ExportWorkshopDefinitionConfig) (string, error) { // If image name hasn't been supplied read workshop definition file and // try to work out image name to Export workshop as. @@ -118,7 +117,7 @@ func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) (stri // Process the workshop YAML data for ytt templating and data variables. - if workshopFileData, err = eduk8sWorkshops.ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { + if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { return "", errors.Wrap(err, "unable to process workshop definition as template") } @@ -162,7 +161,7 @@ func (m *WorkshopManager) Export(directory string,o *WorkshopExportConfig) (stri return string(workshopFileData), nil } -func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) error { +func (m *WorkshopDefinitionManager) Publish(directory string,o *PublishWorkshopDefinitionConfig) error { // If image name hasn't been supplied read workshop definition file and // try to work out image name to publish workshop as. @@ -190,7 +189,7 @@ func (m *WorkshopManager) Publish(directory string,o *WorkshopPublishConfig) err // Process the workshop YAML data for ytt templating and data variables. - if workshopFileData, err = eduk8sWorkshops.ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { + if workshopFileData, err = ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { return errors.Wrap(err, "unable to process workshop definition as template") } diff --git a/client-programs/pkg/utils/yaml_documents.go b/client-programs/pkg/utils/yaml_documents.go new file mode 100644 index 000000000..a03cedc23 --- /dev/null +++ b/client-programs/pkg/utils/yaml_documents.go @@ -0,0 +1,110 @@ +package utils + +import ( + "bytes" + "encoding/json" + "fmt" + "os" + "path/filepath" + + "github.com/pkg/errors" + "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" + "sigs.k8s.io/yaml" +) + +type ExportedYAMLDocument struct { + Name string + Data []byte +} + +func SanitizeResourceForExport(resource *unstructured.Unstructured) *unstructured.Unstructured { + exported := resource.DeepCopy() + + unstructured.RemoveNestedField(exported.Object, "status") + + metadata, found, _ := unstructured.NestedMap(exported.Object, "metadata") + if found { + if annotations, ok := metadata["annotations"].(map[string]interface{}); ok { + delete(annotations, "kopf.zalando.org/last-handled-configuration") + delete(annotations, "training.educates.dev/source") + delete(annotations, "training.educates.dev/workshop") + + if len(annotations) == 0 { + delete(metadata, "annotations") + } else { + metadata["annotations"] = annotations + } + } + + delete(metadata, "creationTimestamp") + delete(metadata, "deletionGracePeriodSeconds") + delete(metadata, "deletionTimestamp") + delete(metadata, "generateName") + delete(metadata, "generation") + delete(metadata, "managedFields") + delete(metadata, "resourceVersion") + delete(metadata, "selfLink") + delete(metadata, "uid") + + if len(metadata) == 0 { + unstructured.RemoveNestedField(exported.Object, "metadata") + } else { + unstructured.SetNestedMap(exported.Object, metadata, "metadata") + } + } + + return exported +} + +func SanitizeTrainingPortalResourceForExport(resource *unstructured.Unstructured) *unstructured.Unstructured { + exported := resource.DeepCopy() + + unstructured.RemoveNestedField(exported.Object, "spec", "portal", "password") + + return exported +} + +func RenderResourceAsYAMLDocument(resource *unstructured.Unstructured) ([]byte, error) { + jsonData, err := json.MarshalIndent(resource.Object, "", " ") + if err != nil { + return nil, err + } + + return yaml.JSONToYAML(jsonData) +} + +func PrintExportedDocuments(documents []ExportedYAMLDocument) error { + var output bytes.Buffer + + for i, doc := range documents { + if i != 0 { + output.WriteString("---\n") + } + output.Write(doc.Data) + if len(doc.Data) > 0 && doc.Data[len(doc.Data)-1] != '\n' { + output.WriteString("\n") + } + } + + fmt.Print(output.String()) + + return nil +} + +func WriteExportedDocuments(dir string, documents []ExportedYAMLDocument) error { + outputDirectory := filepath.Clean(dir) + + if err := os.MkdirAll(outputDirectory, os.ModePerm); err != nil { + return errors.Wrapf(err, "unable to create export directory %q", outputDirectory) + } + + for _, doc := range documents { + targetPath := filepath.Join(outputDirectory, doc.Name) + + if err := os.WriteFile(targetPath, doc.Data, 0644); err != nil { + return errors.Wrapf(err, "unable to write export file %q", targetPath) + } + } + + return nil +} diff --git a/docker-extension/Makefile b/docker-extension/Makefile index 13a0b878a..1b6e6a453 100644 --- a/docker-extension/Makefile +++ b/docker-extension/Makefile @@ -1,6 +1,10 @@ IMAGE_REPOSITORY = localhost:5001 PACKAGE_VERSION = latest +# Export variables to recursive make invocations and shell commands so +# env/CLI overrides are inherited consistently. +.EXPORT_ALL_VARIABLES: + # Create an alias for the image repository that sanitizes invalid characters # Docker Compose project names must consist only of lowercase alphanumeric characters, # hyphens, and underscores, and start with a letter or number @@ -8,8 +12,8 @@ IMAGE_ALIAS := $(shell echo $(IMAGE_REPOSITORY) | tr '[:upper:]' '[:lower:]' | s IMAGE = $(IMAGE_REPOSITORY)/educates-docker-extension:$(PACKAGE_VERSION) IMAGE_ALIAS_FULL = $(IMAGE_ALIAS)/educates-docker-extension:$(PACKAGE_VERSION) -UNAME_SYSTEM := $(shell uname -s | tr '[:upper:]' '[:lower:]') -UNAME_MACHINE := $(shell uname -m) +UNAME_SYSTEM ?= $(shell uname -s | tr '[:upper:]' '[:lower:]') +UNAME_MACHINE ?= $(shell uname -m) TARGET_SYSTEM = $(UNAME_SYSTEM) TARGET_MACHINE = $(UNAME_MACHINE) @@ -21,21 +25,23 @@ endif TARGET_PLATFORM = $(TARGET_SYSTEM)-$(TARGET_MACHINE) BUILDX_BUILDER = educates-multiarch-builder -# Platform configuration - can be overridden by BUILD_PLATFORMS env var or make parameter -ifeq ($(BUILD_PLATFORMS),) -# Default to current platform when BUILD_PLATFORMS is not set +TARGET_PLATFORMS ?= $(TARGET_PLATFORMS) + +# Platform configuration - can be overridden by TARGET_PLATFORMS env var or make parameter +ifeq ($(TARGET_PLATFORMS),) +# Default to current platform when TARGET_PLATFORMS is not set DOCKER_PLATFORM = linux/$(TARGET_MACHINE) MULTIARCH_PLATFORMS = linux/amd64,linux/arm64 else -# Use BUILD_PLATFORMS when set (allows for custom multiarch builds) -DOCKER_PLATFORM = $(BUILD_PLATFORMS) -MULTIARCH_PLATFORMS = $(BUILD_PLATFORMS) +# Use TARGET_PLATFORMS when set (allows for custom multiarch builds) +DOCKER_PLATFORM = $(TARGET_PLATFORMS) +MULTIARCH_PLATFORMS = $(TARGET_PLATFORMS) endif # Push/Load configuration - can be overridden by PUSH_IMAGES env var or make parameter ifeq ($(PUSH_IMAGES),false) # Load images locally when PUSH_IMAGES is not true (default) -DOCKER_BUILDER = +DOCKER_BUILDER = --builder ${BUILDX_BUILDER} --load MULTIARCH_PLATFORMS = $(DOCKER_PLATFORM) else # Push images to registry when PUSH_IMAGES is true @@ -46,9 +52,23 @@ INFO_COLOR = \033[0;36m NO_COLOR = \033[m DEV_UI_SOURCE?=http://localhost:3000 +print-vars: + @echo "--- Makefile Variables ---" + @echo "OS: $(UNAME_SYSTEM)" + @echo "Arch: $(UNAME_MACHINE)" + @echo "Shell: $(SHELL)" + @echo "TARGET_SYSTEM: $(TARGET_SYSTEM)" + @echo "TARGET_MACHINE: $(TARGET_MACHINE)" + @echo "TARGET_PLATFORM: $(TARGET_PLATFORM)" + @echo "DOCKER_PLATFORM: $(DOCKER_PLATFORM)" + @echo "MULTIARCH_PLATFORMS: $(MULTIARCH_PLATFORMS)" + @echo "DOCKER_BUILDER: $(DOCKER_BUILDER)" + @echo "PUSH_IMAGES: $(PUSH_IMAGES)" + + build-extension: setup-buildx ## Build service image to be deployed as a desktop extension docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ - $(if $(DOCKER_BUILDER),$(DOCKER_BUILDER)) \ + $(DOCKER_BUILDER) \ -t $(IMAGE) \ . @@ -68,10 +88,14 @@ install-extension: _ensure-alias-tag ## Install the extension update-extension: _ensure-alias-tag ## Update the extension docker extension update --force $(IMAGE_ALIAS_FULL) -setup-buildx: ## Create buildx builder for multi-arch build, if not exists +# builder management +setup-buildx: ## Setup builder for multiarch builds docker buildx create --name $(BUILDX_BUILDER) --driver docker-container --driver-opt default-load=true --driver-opt network=host --use || true docker buildx inspect $(BUILDX_BUILDER) --bootstrap +clean-buildx: ## Clean up builder + docker buildx rm $(BUILDX_BUILDER) || true + .PHONY: debug debug: _ensure-alias-tag ## Enable debug in the extension docker extension dev debug $(IMAGE_ALIAS_FULL) From 1fc6020055a78efdcadaddff4a504690ac44e811 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Sun, 15 Feb 2026 12:26:10 +0100 Subject: [PATCH 35/41] Fixup for exporting portal --- Makefile | 2 +- .../pkg/cmd/cluster_portal_export_cmd.go | 20 ++++++- .../resources/trainingportal_manager.go | 27 +++++---- .../educates/workshop_definition_manager.go | 43 +++++--------- client-programs/pkg/utils/yaml_documents.go | 57 +++++++++++++++++++ 5 files changed, 104 insertions(+), 45 deletions(-) diff --git a/Makefile b/Makefile index c72eed8ad..66af31751 100644 --- a/Makefile +++ b/Makefile @@ -163,7 +163,7 @@ endif TARGET_PLATFORM = $(TARGET_SYSTEM)-$(TARGET_MACHINE) BUILDX_BUILDER = educates-multiarch-builder -TARGET_PLATFORMS ?= $(TARGET_PLATFORMS) +TARGET_PLATFORMS := $(TARGET_PLATFORMS) # Platform configuration - can be overridden by TARGET_PLATFORMS env var or make parameter ifeq ($(TARGET_PLATFORMS),) diff --git a/client-programs/pkg/cmd/cluster_portal_export_cmd.go b/client-programs/pkg/cmd/cluster_portal_export_cmd.go index 2af2542c6..3dd421201 100644 --- a/client-programs/pkg/cmd/cluster_portal_export_cmd.go +++ b/client-programs/pkg/cmd/cluster_portal_export_cmd.go @@ -11,8 +11,10 @@ import ( type ClusterPortalExportOptions struct { KubeconfigOptions - Portal string - AsFiles string + Portal string + AsFiles string + Repository string + WorkshopVersion string } @@ -48,6 +50,8 @@ func (o *ClusterPortalExportOptions) Run() error { documents, err := manager.GetTrainingPortalYAMLDocumentsForExport(&educatesResources.TrainingPortalExportConfig{ Portal: o.Portal, + Repository: o.Repository, + WorkshopVersion: o.WorkshopVersion, }) if err != nil { return err @@ -98,6 +102,18 @@ func (p *ProjectInfo) NewClusterPortalExportCmd() *cobra.Command { "", "write YAML resources as files in target directory instead of stdout", ) + c.Flags().StringVar( + &o.Repository, + "image-repository", + "localhost:5001", + "the address of the image repository", + ) + c.Flags().StringVar( + &o.WorkshopVersion, + "workshop-version", + "latest", + "version of the workshop being published", + ) return c } diff --git a/client-programs/pkg/educates/resources/trainingportal_manager.go b/client-programs/pkg/educates/resources/trainingportal_manager.go index b77825222..98f25260c 100644 --- a/client-programs/pkg/educates/resources/trainingportal_manager.go +++ b/client-programs/pkg/educates/resources/trainingportal_manager.go @@ -21,15 +21,15 @@ type PortalManager struct { } type TrainingPortalCreateConfig struct { - Portal string - Hostname string - Repository string - Capacity uint - Password string - IsPasswordSet bool - ThemeName string - CookieDomain string - Labels []string + Portal string + Hostname string + Repository string + Capacity uint + Password string + IsPasswordSet bool + ThemeName string + CookieDomain string + Labels []string } type TrainingPortalDeleteConfig struct { @@ -51,6 +51,8 @@ type TrainingPortalPasswordConfig struct { type TrainingPortalExportConfig struct { Portal string + Repository string + WorkshopVersion string } func NewPortalManager(client dynamic.Interface) *PortalManager { @@ -194,7 +196,6 @@ func (m *PortalManager) DeleteTrainingPortal(cfg *TrainingPortalDeleteConfig) er return nil } - func (m *PortalManager) ListTrainingPortals(cfg *TrainingPortalListConfig) (string, error) { trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) @@ -286,7 +287,6 @@ func (m *PortalManager) GetTrainingPortalPassword(cfg *TrainingPortalPasswordCon } } - func (m *PortalManager) GetTrainingPortalYAMLDocumentsForExport(cfg *TrainingPortalExportConfig) ([]utils.ExportedYAMLDocument, error) { trainingPortalClient := m.client.Resource(educatesTypes.TrainingPortalResource) trainingPortal, err := trainingPortalClient.Get(context.TODO(), cfg.Portal, metav1.GetOptions{}) @@ -324,7 +324,10 @@ func (m *PortalManager) GetTrainingPortalYAMLDocumentsForExport(cfg *TrainingPor return nil, errors.Wrapf(err, "unable to fetch workshop %q in cluster", name) } - workshopData, err := utils.RenderResourceAsYAMLDocument(utils.SanitizeResourceForExport(workshop)) + workshopData, err := utils.RenderResourceAsYAMLDocument(utils.SanitizeWorkshopResourceForExport(utils.SanitizeResourceForExport(workshop), &utils.WorkshopResourceExportConfig{ + Repository: cfg.Repository, + WorkshopVersion: cfg.WorkshopVersion, + })) if err != nil { return nil, errors.Wrapf(err, "unable to generate YAML for workshop %q", name) } diff --git a/client-programs/pkg/educates/workshop_definition_manager.go b/client-programs/pkg/educates/workshop_definition_manager.go index 0b91d4684..79ab55ddf 100644 --- a/client-programs/pkg/educates/workshop_definition_manager.go +++ b/client-programs/pkg/educates/workshop_definition_manager.go @@ -14,6 +14,7 @@ import ( "github.com/educates/educates-training-platform/client-programs/pkg/constants" "github.com/educates/educates-training-platform/client-programs/pkg/logger" "github.com/educates/educates-training-platform/client-programs/pkg/templates" + "github.com/educates/educates-training-platform/client-programs/pkg/utils" "github.com/pkg/errors" "go.yaml.in/yaml/v2" "k8s.io/apimachinery/pkg/apis/meta/internalversion/scheme" @@ -23,7 +24,6 @@ import ( ) type WorkshopDefinitionManager struct { - } type NewWorkshopDefinitionConfig struct { @@ -65,7 +65,7 @@ func NewWorkshopDefinitionManager() *WorkshopDefinitionManager { return &WorkshopDefinitionManager{} } -func (m *WorkshopDefinitionManager) New(directory string,o *NewWorkshopDefinitionConfig) error { +func (m *WorkshopDefinitionManager) New(directory string, o *NewWorkshopDefinitionConfig) error { var err error parameters := map[string]string{ @@ -98,7 +98,7 @@ func (m *WorkshopDefinitionManager) New(directory string,o *NewWorkshopDefinitio return err } -func (m *WorkshopDefinitionManager) Export(directory string,o *ExportWorkshopDefinitionConfig) (string, error) { +func (m *WorkshopDefinitionManager) Export(directory string, o *ExportWorkshopDefinitionConfig) (string, error) { // If image name hasn't been supplied read workshop definition file and // try to work out image name to Export workshop as. @@ -121,9 +121,6 @@ func (m *WorkshopDefinitionManager) Export(directory string,o *ExportWorkshopDef return "", errors.Wrap(err, "unable to process workshop definition as template") } - workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(image_repository)", o.Repository)) - workshopFileData = []byte(strings.ReplaceAll(string(workshopFileData), "$(workshop_version)", o.WorkshopVersion)) - decoder := serializer.NewCodecFactory(scheme.Scheme).UniversalDecoder() workshop := &unstructured.Unstructured{} @@ -138,17 +135,10 @@ func (m *WorkshopDefinitionManager) Export(directory string,o *ExportWorkshopDef return "", errors.New("invalid type for workshop definition") } - // Insert workshop version property if not specified. - - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found && o.WorkshopVersion != "latest" { - unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") - } - - // Remove the publish section as will not be accurate after publising. - - unstructured.RemoveNestedField(workshop.Object, "spec", "publish") + workshop = utils.SanitizeWorkshopResourceForExport(workshop, &utils.WorkshopResourceExportConfig{ + Repository: o.Repository, + WorkshopVersion: o.WorkshopVersion, + }) // Export modified workshop definition file. @@ -161,7 +151,7 @@ func (m *WorkshopDefinitionManager) Export(directory string,o *ExportWorkshopDef return string(workshopFileData), nil } -func (m *WorkshopDefinitionManager) Publish(directory string,o *PublishWorkshopDefinitionConfig) error { +func (m *WorkshopDefinitionManager) Publish(directory string, o *PublishWorkshopDefinitionConfig) error { // If image name hasn't been supplied read workshop definition file and // try to work out image name to publish workshop as. @@ -206,7 +196,7 @@ func (m *WorkshopDefinitionManager) Publish(directory string,o *PublishWorkshopD return errors.Wrap(err, "couldn't parse workshop definition") } - // Extract vendir snippet describing subset of files to package up as the + // Extract vendir snippet describing subset of files to package up as the // workshop image. carvelUI := logger.NewCarvelUI() @@ -337,17 +327,10 @@ func (m *WorkshopDefinitionManager) Publish(directory string,o *PublishWorkshopD exportWorkshop := o.ExportWorkshop if exportWorkshop != "" { - // Insert workshop version property if not specified. - - _, found, _ := unstructured.NestedString(workshop.Object, "spec", "version") - - if !found && o.WorkshopVersion != "latest" { - unstructured.SetNestedField(workshop.Object, o.WorkshopVersion, "spec", "version") - } - - // Remove the publish section as will not be accurate after publising. - - unstructured.RemoveNestedField(workshop.Object, "spec", "publish") + workshop = utils.SanitizeWorkshopResourceForExport(workshop, &utils.WorkshopResourceExportConfig{ + Repository: o.Repository, + WorkshopVersion: o.WorkshopVersion, + }) workshopFileData, err = yaml.Marshal(&workshop.Object) diff --git a/client-programs/pkg/utils/yaml_documents.go b/client-programs/pkg/utils/yaml_documents.go index a03cedc23..0cd66e0bd 100644 --- a/client-programs/pkg/utils/yaml_documents.go +++ b/client-programs/pkg/utils/yaml_documents.go @@ -6,6 +6,7 @@ import ( "fmt" "os" "path/filepath" + "strings" "github.com/pkg/errors" "k8s.io/apimachinery/pkg/apis/meta/v1/unstructured" @@ -17,6 +18,11 @@ type ExportedYAMLDocument struct { Data []byte } +type WorkshopResourceExportConfig struct { + Repository string + WorkshopVersion string +} + func SanitizeResourceForExport(resource *unstructured.Unstructured) *unstructured.Unstructured { exported := resource.DeepCopy() @@ -64,6 +70,57 @@ func SanitizeTrainingPortalResourceForExport(resource *unstructured.Unstructured return exported } +func SanitizeWorkshopResourceForExport(resource *unstructured.Unstructured, cfg *WorkshopResourceExportConfig) *unstructured.Unstructured { + exported := resource.DeepCopy() + + repository := "" + workshopVersion := "latest" + + if cfg != nil { + repository = cfg.Repository + if cfg.WorkshopVersion != "" { + workshopVersion = cfg.WorkshopVersion + } + } + + exported.Object = replaceWorkshopExportVariables(exported.Object, repository, workshopVersion).(map[string]interface{}) + + _, found, _ := unstructured.NestedString(exported.Object, "spec", "version") + if !found && workshopVersion != "latest" { + unstructured.SetNestedField(exported.Object, workshopVersion, "spec", "version") + } + + unstructured.RemoveNestedField(exported.Object, "spec", "publish") + + return exported +} + +func replaceWorkshopExportVariables(value interface{}, repository string, workshopVersion string) interface{} { + switch typed := value.(type) { + case map[string]interface{}: + for key, nested := range typed { + typed[key] = replaceWorkshopExportVariables(nested, repository, workshopVersion) + } + return typed + case []interface{}: + for index, nested := range typed { + typed[index] = replaceWorkshopExportVariables(nested, repository, workshopVersion) + } + return typed + case string: + replaced := typed + if repository != "" { + replaced = strings.ReplaceAll(replaced, "$(image_repository)", repository) + } + if workshopVersion != "" { + replaced = strings.ReplaceAll(replaced, "$(workshop_version)", workshopVersion) + } + return replaced + default: + return value + } +} + func RenderResourceAsYAMLDocument(resource *unstructured.Unstructured) ([]byte, error) { jsonData, err := json.MarshalIndent(resource.Object, "", " ") if err != nil { From 864add2d71d8062487f4c4af17062f4f3e21a4c3 Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Mon, 23 Feb 2026 12:17:47 +0100 Subject: [PATCH 36/41] Adjust empty strings in PrintTable --- client-programs/pkg/utils/printer.go | 27 ++++++++++++++++++++------- 1 file changed, 20 insertions(+), 7 deletions(-) diff --git a/client-programs/pkg/utils/printer.go b/client-programs/pkg/utils/printer.go index abe9fc3f1..0c68c1c90 100644 --- a/client-programs/pkg/utils/printer.go +++ b/client-programs/pkg/utils/printer.go @@ -13,12 +13,13 @@ func PrintTable(headers []string, data [][]string) string { // Print headers fmt.Fprintln(w, strings.Join(headers, "\t")) - // Print data rows + // Print data rows (empty string cells are rendered as tab to preserve alignment) for i, row := range data { - if i < len(data) - 1 { - fmt.Fprintln(w, strings.Join(row, "\t")) - }else { - fmt.Fprint(w, strings.Join(row, "\t")) + parts := replaceEmptyStringsWithTabs(row) + if i < len(data)-1 { + fmt.Fprintln(w, strings.Join(parts, "\t")) + } else { + fmt.Fprint(w, strings.Join(parts, "\t")) } } @@ -32,9 +33,9 @@ func PrintKeyValuesTable(data [][]string) string { // Print data rows for i, row := range data { - if i < len(data) - 1 { + if i < len(data)-1 { fmt.Fprintf(w, "%s:\t%s\n", row[0], row[1]) - }else { + } else { fmt.Fprintf(w, "%s:\t%s", row[0], row[1]) } } @@ -42,3 +43,15 @@ func PrintKeyValuesTable(data [][]string) string { w.Flush() return buf.String() } + +func replaceEmptyStringsWithTabs(data []string) []string { + parts := make([]string, len(data)) + for j, cell := range data { + if cell == "" { + parts[j] = "\t" + } else { + parts[j] = cell + } + } + return parts +} From 03f677c634429e5f13f55a6fd38905e34e33691e Mon Sep 17 00:00:00 2001 From: Jorge Morales Pou Date: Sat, 11 Apr 2026 14:02:22 +0200 Subject: [PATCH 37/41] Adding some logging to the Docker extension and fixing makefiles --- Makefile | 64 +- client-programs/Dockerfile | 16 +- client-programs/go.mod | 177 +++-- client-programs/go.sum | 600 +++++++-------- .../pkg/cmd/cluster_workshop_serve_cmd.go | 38 +- .../pkg/cmd/docker_extension_backend_cmd.go | 12 +- .../pkg/cmd/workshop_render_cmd.go | 4 +- .../pkg/docker/extension_backend.go | 40 +- .../pkg/docker/workshop_manager.go | 42 +- client-programs/pkg/renderer/token.go | 54 ++ docker-extension/Dockerfile | 5 +- docker-extension/Makefile | 41 +- docker-extension/ui/src/views/App.tsx | 8 +- go.work.sum | 687 ++++++++++++++++-- node-ca-injector/Dockerfile | 2 +- node-ca-injector/go.mod | 2 +- node-ca-injector/node-ca-injector | Bin 45504978 -> 0 bytes 17 files changed, 1145 insertions(+), 647 deletions(-) create mode 100644 client-programs/pkg/renderer/token.go delete mode 100755 node-ca-injector/node-ca-injector diff --git a/Makefile b/Makefile index 66af31751..655d07824 100644 --- a/Makefile +++ b/Makefile @@ -11,23 +11,9 @@ # # The following parameters can be set via environment variables or make arguments: # -# PUSH_IMAGES -# Description: Controls whether images are pushed to registry or loaded locally -# Note: If PUSH_IMAGES is false, the images are loaded locally with --load -# and only one image is built for the current platform. -# Default: true (images are pushed to a registry) -# Values: true/false -# Examples: -# - Load locally: PUSH_IMAGES=false -# - Push to registry: PUSH_IMAGES=true (or omit) -# Usage: -# make build-all-images PUSH_IMAGES=false -# export PUSH_IMAGES=false && make build-all-images -# # TARGET_PLATFORMS # Description: Controls target platform(s) for Docker builds -# Default: Current platform (e.g., linux/amd64 on x86_64 systems) -# Note: If PUSH_IMAGES is false, TARGET_PLATFORMS is ignored. +# Default: linux/amd64,linux/arm64 # Examples: # - Single platform: TARGET_PLATFORMS=linux/arm64 # - Multi-platform: TARGET_PLATFORMS=linux/amd64,linux/arm64 @@ -143,7 +129,7 @@ PACKAGE_VERSION = latest RELEASE_VERSION = 0.0.1 # Export variables to recursive make invocations so CLI/env overrides -# (for example TARGET_PLATFORMS, PUSH_IMAGES, IMAGE_REPOSITORY) are inherited. +# (for example TARGET_PLATFORMS, IMAGE_REPOSITORY) are inherited. .EXPORT_ALL_VARIABLES: # Installer bundle image refs: default to same as build repo/version; override to use released images when developing installer @@ -167,24 +153,19 @@ TARGET_PLATFORMS := $(TARGET_PLATFORMS) # Platform configuration - can be overridden by TARGET_PLATFORMS env var or make parameter ifeq ($(TARGET_PLATFORMS),) -# Default to current platform when TARGET_PLATFORMS is not set -DOCKER_PLATFORM = linux/$(TARGET_MACHINE) +# Default to both platforms when TARGET_PLATFORMS is not set MULTIARCH_PLATFORMS = linux/amd64,linux/arm64 else # Use TARGET_PLATFORMS when set (allows for custom multiarch builds) -DOCKER_PLATFORM = $(TARGET_PLATFORMS) MULTIARCH_PLATFORMS = $(TARGET_PLATFORMS) endif -# Push/Load configuration - can be overridden by PUSH_IMAGES env var or make parameter -ifeq ($(PUSH_IMAGES),false) -# Load images locally when PUSH_IMAGES is not true (default) -DOCKER_BUILDER = --builder ${BUILDX_BUILDER} --load -MULTIARCH_PLATFORMS = $(DOCKER_PLATFORM) -else -# Push images to registry when PUSH_IMAGES is true DOCKER_BUILDER = --builder ${BUILDX_BUILDER} --push -endif + +# After pushing a multi-arch image, pull it so the local daemon cache is up to date. +define docker-pull-after-push + docker pull $(1) +endef print-vars: @echo "--- Makefile Variables ---" @@ -194,10 +175,8 @@ print-vars: @echo "TARGET_SYSTEM: $(TARGET_SYSTEM)" @echo "TARGET_MACHINE: $(TARGET_MACHINE)" @echo "TARGET_PLATFORM: $(TARGET_PLATFORM)" - @echo "DOCKER_PLATFORM: $(DOCKER_PLATFORM)" @echo "MULTIARCH_PLATFORMS: $(MULTIARCH_PLATFORMS)" @echo "DOCKER_BUILDER: $(DOCKER_BUILDER)" - @echo "PUSH_IMAGES: $(PUSH_IMAGES)" all: build-all-images # deploy-installer deploy-workshop @@ -220,18 +199,21 @@ build-session-manager: $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-session-manager:$(PACKAGE_VERSION) \ session-manager + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-session-manager:$(PACKAGE_VERSION)) build-training-portal: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-training-portal:$(PACKAGE_VERSION) \ training-portal + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-training-portal:$(PACKAGE_VERSION)) build-base-environment: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-base-environment:$(PACKAGE_VERSION) \ workshop-images/base-environment + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-base-environment:$(PACKAGE_VERSION)) build-jdk8-environment: build-base-environment docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ @@ -239,6 +221,7 @@ build-jdk8-environment: build-base-environment $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-jdk8-environment:$(PACKAGE_VERSION) \ workshop-images/jdk8-environment + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-jdk8-environment:$(PACKAGE_VERSION)) build-jdk11-environment: build-base-environment docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ @@ -246,6 +229,7 @@ build-jdk11-environment: build-base-environment --build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \ -t $(IMAGE_REPOSITORY)/educates-jdk11-environment:$(PACKAGE_VERSION) \ workshop-images/jdk11-environment + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-jdk11-environment:$(PACKAGE_VERSION)) build-jdk17-environment: build-base-environment docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ @@ -253,6 +237,7 @@ build-jdk17-environment: build-base-environment --build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \ -t $(IMAGE_REPOSITORY)/educates-jdk17-environment:$(PACKAGE_VERSION) \ workshop-images/jdk17-environment + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-jdk17-environment:$(PACKAGE_VERSION)) build-jdk21-environment: build-base-environment docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ @@ -260,6 +245,7 @@ build-jdk21-environment: build-base-environment --build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \ -t $(IMAGE_REPOSITORY)/educates-jdk21-environment:$(PACKAGE_VERSION) \ workshop-images/jdk21-environment + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-jdk21-environment:$(PACKAGE_VERSION)) build-conda-environment: build-base-environment docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ @@ -267,6 +253,7 @@ build-conda-environment: build-base-environment --build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \ -t $(IMAGE_REPOSITORY)/educates-conda-environment:$(PACKAGE_VERSION) \ workshop-images/conda-environment + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-conda-environment:$(PACKAGE_VERSION)) build-desktop-environment: build-base-environment docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ @@ -274,54 +261,63 @@ build-desktop-environment: build-base-environment --build-arg PACKAGE_VERSION=$(PACKAGE_VERSION) \ -t $(IMAGE_REPOSITORY)/educates-desktop-environment:$(PACKAGE_VERSION) \ workshop-images/desktop-environment + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-desktop-environment:$(PACKAGE_VERSION)) build-docker-registry: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-docker-registry:$(PACKAGE_VERSION) \ docker-registry + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-docker-registry:$(PACKAGE_VERSION)) build-pause-container: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-pause-container:$(PACKAGE_VERSION) \ pause-container + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-pause-container:$(PACKAGE_VERSION)) build-secrets-manager: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-secrets-manager:$(PACKAGE_VERSION) \ secrets-manager + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-secrets-manager:$(PACKAGE_VERSION)) build-tunnel-manager: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-tunnel-manager:$(PACKAGE_VERSION) \ tunnel-manager + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-tunnel-manager:$(PACKAGE_VERSION)) build-image-cache: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-image-cache:$(PACKAGE_VERSION) \ image-cache + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-image-cache:$(PACKAGE_VERSION)) build-assets-server: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-assets-server:$(PACKAGE_VERSION) \ assets-server + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-assets-server:$(PACKAGE_VERSION)) build-lookup-service: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-lookup-service:$(PACKAGE_VERSION) \ lookup-service + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-lookup-service:$(PACKAGE_VERSION)) build-node-ca-injector: docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-node-ca-injector:$(PACKAGE_VERSION) \ node-ca-injector + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-node-ca-injector:$(PACKAGE_VERSION)) verify-installer-config: ifneq ("$(wildcard developer-testing/educates-installer-values.yaml)","") @@ -373,15 +369,16 @@ client-programs-educates: mkdir client-programs/pkg/renderer/files mkdir -p client-programs/bin cp -rp workshop-images/base-environment/opt/eduk8s/etc/themes client-programs/pkg/renderer/files/ + (cd client-programs; go mod tidy) (cd client-programs; go build -gcflags=all="-N -l" -o bin/educates-$(TARGET_PLATFORM) cmd/educates/main.go) build-client-programs: client-programs-educates push-client-programs: build-client-programs - (cd client-programs; GOOS=linux GOARCH=amd64 go build -o bin/educates-linux-amd64 cmd/educates/main.go) - (cd client-programs; GOOS=linux GOARCH=arm64 go build -o bin/educates-linux-arm64 cmd/educates/main.go) - (cd client-programs; GOOS=darwin GOARCH=amd64 go build -o bin/educates-darwin-amd64 cmd/educates/main.go) - (cd client-programs; GOOS=darwin GOARCH=arm64 go build -o bin/educates-darwin-arm64 cmd/educates/main.go) + (cd client-programs; CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o bin/educates-linux-amd64 cmd/educates/main.go) + (cd client-programs; CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o bin/educates-linux-arm64 cmd/educates/main.go) + (cd client-programs; CGO_ENABLED=0 GOOS=darwin GOARCH=amd64 go build -o bin/educates-darwin-amd64 cmd/educates/main.go) + (cd client-programs; CGO_ENABLED=0 GOOS=darwin GOARCH=arm64 go build -o bin/educates-darwin-arm64 cmd/educates/main.go) imgpkg push -i $(IMAGE_REPOSITORY)/educates-client-programs:$(PACKAGE_VERSION) -f client-programs/bin build-cli-image: build-base-environment @@ -389,6 +386,7 @@ build-cli-image: build-base-environment $(DOCKER_BUILDER) \ -t $(IMAGE_REPOSITORY)/educates-cli:$(PACKAGE_VERSION) \ client-programs + $(call docker-pull-after-push,$(IMAGE_REPOSITORY)/educates-cli:$(PACKAGE_VERSION)) build-docker-extension : build-cli-image $(MAKE) -C docker-extension build-extension diff --git a/client-programs/Dockerfile b/client-programs/Dockerfile index 21654245d..9bfb445e1 100644 --- a/client-programs/Dockerfile +++ b/client-programs/Dockerfile @@ -1,11 +1,11 @@ ARG REPOSITORY=localhost:5001 ARG TAG=latest -# Add this stage before the builder stage -FROM ${REPOSITORY}/educates-base-environment:${TAG} AS themes-source +# Themes are not platform-dependent; always pull from the build host's platform +FROM --platform=$BUILDPLATFORM ${REPOSITORY}/educates-base-environment:${TAG} AS themes-source -# Multi-stage build for client-programs -FROM golang:1.25.6 AS builder +# Run the Go compiler on the build host platform and cross-compile via GOOS/GOARCH +FROM --platform=$BUILDPLATFORM golang:1.25.6 AS builder # Set working directory WORKDIR /src @@ -13,12 +13,6 @@ WORKDIR /src # Copy go mod files COPY go.mod go.sum ./ -# Tidy up dependencies -RUN go mod tidy - -# Download dependencies -RUN go mod download - # Copy source code COPY . . @@ -34,7 +28,7 @@ COPY --from=themes-source /opt/eduk8s/etc/themes pkg/renderer/files/ ARG TARGETOS ARG TARGETARCH -RUN GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build \ +RUN CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build \ -o bin/educates-${TARGETOS}-${TARGETARCH} \ cmd/educates/main.go diff --git a/client-programs/go.mod b/client-programs/go.mod index be50b85db..6cf25132f 100644 --- a/client-programs/go.mod +++ b/client-programs/go.mod @@ -9,7 +9,7 @@ require ( carvel.dev/vendir v0.44.0 carvel.dev/ytt v0.52.1 github.com/adrg/xdg v0.5.3 - github.com/compose-spec/compose-go/v2 v2.10.1 + github.com/compose-spec/compose-go/v2 v2.10.2 github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad // Docker packages must be kept aligned with docker/compose v5.0.1 requirements. This still relies on docker/docker v28.5.2 github.com/docker/docker v28.5.2+incompatible @@ -22,10 +22,10 @@ require ( github.com/spf13/cobra v1.10.2 golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 gopkg.in/yaml.v2 v2.4.0 - k8s.io/api v0.34.2 - k8s.io/apimachinery v0.34.2 + k8s.io/api v0.35.2 + k8s.io/apimachinery v0.35.2 k8s.io/cli-runtime v0.34.2 - k8s.io/client-go v0.34.2 + k8s.io/client-go v0.35.2 k8s.io/klog/v2 v2.130.1 // Keep kubectl aligned with DefaultKubernetesVersion in constants/kubernetes.go and k8s.io/api, k8s.io/apimachinery, k8s.io/cli-runtime, k8s.io/client-go, sigs.k8s.io/kind, sigs.k8s.io/controller-runtime k8s.io/kubectl v0.34.2 @@ -36,9 +36,8 @@ require ( require ( // Keep docker/cli aligned with docker/docker - see comment above - github.com/docker/cli v28.5.2+incompatible - // This still relies on docker/docker v28.5.2 so we need to align docker/docker and docker/cli to the same version - github.com/docker/compose/v5 v5.0.1 + github.com/docker/cli v29.4.0+incompatible + github.com/docker/compose/v5 v5.1.2 go.yaml.in/yaml/v2 v2.4.3 ) @@ -61,24 +60,23 @@ require ( github.com/Microsoft/go-winio v0.6.2 // indirect github.com/VividCortex/ewma v1.2.0 // indirect github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d // indirect - github.com/aws/aws-sdk-go-v2 v1.39.6 // indirect - github.com/aws/aws-sdk-go-v2/config v1.31.19 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.18.23 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13 // indirect - github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 // indirect + github.com/aws/aws-sdk-go-v2 v1.41.4 // indirect + github.com/aws/aws-sdk-go-v2/config v1.32.12 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.19.12 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 // indirect + github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 // indirect github.com/aws/aws-sdk-go-v2/service/ecr v1.51.3 // indirect github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.30.2 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.6 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.40.1 // indirect - github.com/aws/smithy-go v1.23.2 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.30.13 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 // indirect + github.com/aws/smithy-go v1.24.2 // indirect github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 // indirect - github.com/beorn7/perks v1.0.1 // indirect - github.com/blang/semver/v4 v4.0.0 // indirect github.com/bmatcuk/doublestar v1.3.4 // indirect github.com/buger/goterm v1.0.4 // indirect github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 // indirect @@ -90,14 +88,14 @@ require ( github.com/clipperhouse/uax29/v2 v2.3.0 // indirect github.com/containerd/console v1.0.5 // indirect github.com/containerd/containerd/api v1.10.0 // indirect - github.com/containerd/containerd/v2 v2.2.1-0.20251115011841-efd86f2b0bc2 // indirect + github.com/containerd/containerd/v2 v2.2.2 // indirect github.com/containerd/continuity v0.4.5 // indirect github.com/containerd/errdefs v1.0.0 // indirect github.com/containerd/errdefs/pkg v0.3.0 // indirect github.com/containerd/log v0.1.0 // indirect - github.com/containerd/platforms v1.0.0-rc.2 // indirect - github.com/containerd/stargz-snapshotter/estargz v0.18.1 // indirect - github.com/containerd/ttrpc v1.2.7 // indirect + github.com/containerd/platforms v1.0.0-rc.4 // indirect + github.com/containerd/stargz-snapshotter/estargz v0.18.2 // indirect + github.com/containerd/ttrpc v1.2.8 // indirect github.com/containerd/typeurl/v2 v2.2.3 // indirect github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef // indirect github.com/cppforlife/color v1.9.1-0.20200716202919-6706ac40b835 // indirect @@ -105,13 +103,9 @@ require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/dimchansky/utfbom v1.1.1 // indirect github.com/distribution/reference v0.6.0 // indirect - github.com/docker/buildx v0.30.1 // indirect - github.com/docker/cli v29.2.0+incompatible // indirect - github.com/docker/cli-docs-tool v0.11.0 // indirect + github.com/docker/buildx v0.33.0 // indirect github.com/docker/distribution v2.8.3+incompatible // indirect - github.com/docker/docker-credential-helpers v0.9.4 // indirect - github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c // indirect - github.com/docker/go-metrics v0.0.1 // indirect + github.com/docker/docker-credential-helpers v0.9.5 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 // indirect github.com/emicklei/go-restful/v3 v3.13.0 // indirect @@ -122,21 +116,21 @@ require ( github.com/fvbommel/sortorder v1.1.0 // indirect github.com/fxamacker/cbor/v2 v2.9.0 // indirect github.com/go-logr/stdr v1.2.2 // indirect - github.com/go-openapi/jsonpointer v0.22.1 // indirect - github.com/go-openapi/jsonreference v0.21.3 // indirect - github.com/go-openapi/swag v0.25.1 // indirect - github.com/go-openapi/swag/cmdutils v0.25.1 // indirect - github.com/go-openapi/swag/conv v0.25.1 // indirect - github.com/go-openapi/swag/fileutils v0.25.1 // indirect - github.com/go-openapi/swag/jsonname v0.25.1 // indirect - github.com/go-openapi/swag/jsonutils v0.25.1 // indirect - github.com/go-openapi/swag/loading v0.25.1 // indirect - github.com/go-openapi/swag/mangling v0.25.1 // indirect - github.com/go-openapi/swag/netutils v0.25.1 // indirect - github.com/go-openapi/swag/stringutils v0.25.1 // indirect - github.com/go-openapi/swag/typeutils v0.25.1 // indirect - github.com/go-openapi/swag/yamlutils v0.25.1 // indirect - github.com/go-viper/mapstructure/v2 v2.4.0 // indirect + github.com/go-openapi/jsonpointer v0.22.5 // indirect + github.com/go-openapi/jsonreference v0.21.5 // indirect + github.com/go-openapi/swag v0.25.4 // indirect + github.com/go-openapi/swag/cmdutils v0.25.4 // indirect + github.com/go-openapi/swag/conv v0.25.5 // indirect + github.com/go-openapi/swag/fileutils v0.25.5 // indirect + github.com/go-openapi/swag/jsonname v0.25.5 // indirect + github.com/go-openapi/swag/jsonutils v0.25.5 // indirect + github.com/go-openapi/swag/loading v0.25.5 // indirect + github.com/go-openapi/swag/mangling v0.25.5 // indirect + github.com/go-openapi/swag/netutils v0.25.4 // indirect + github.com/go-openapi/swag/stringutils v0.25.5 // indirect + github.com/go-openapi/swag/typeutils v0.25.5 // indirect + github.com/go-openapi/swag/yamlutils v0.25.5 // indirect + github.com/go-viper/mapstructure/v2 v2.5.0 // indirect github.com/gofrs/flock v0.13.0 // indirect github.com/gogo/protobuf v1.3.2 // indirect github.com/golang-jwt/jwt/v4 v4.5.2 // indirect @@ -144,17 +138,18 @@ require ( github.com/golang/protobuf v1.5.4 // indirect github.com/google/gnostic-models v0.7.0 // indirect github.com/google/go-cmp v0.7.0 // indirect - github.com/google/go-containerregistry v0.20.6 // indirect + github.com/google/go-containerregistry v0.20.7 // indirect github.com/google/go-github v17.0.0+incompatible // indirect github.com/google/go-querystring v1.1.0 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/uuid v1.6.0 // indirect - github.com/gorilla/mux v1.8.1 // indirect - github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 // indirect + github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect + github.com/hashicorp/go-cleanhttp v0.5.2 // indirect github.com/hashicorp/go-multierror v1.1.1 // indirect - github.com/hashicorp/go-version v1.8.0 // indirect - github.com/in-toto/in-toto-golang v0.9.0 // indirect + github.com/hashicorp/go-version v1.9.0 // indirect + github.com/in-toto/attestation v1.1.2 // indirect + github.com/in-toto/in-toto-golang v0.10.0 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf // indirect github.com/jonboulle/clockwork v0.5.0 // indirect @@ -162,20 +157,21 @@ require ( github.com/k14s/difflib v0.0.0-20240118055029-596a7a5585c3 // indirect github.com/k14s/starlark-go v0.0.0-20200720175618-3a5c849cc368 // indirect github.com/k14s/ytt v0.39.0 // indirect - github.com/klauspost/compress v1.18.1 // indirect + github.com/klauspost/compress v1.18.5 // indirect github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de // indirect github.com/mattn/go-colorable v0.1.14 // indirect github.com/mattn/go-isatty v0.0.20 // indirect github.com/mattn/go-runewidth v0.0.19 // indirect github.com/mattn/go-shellwords v1.0.12 // indirect - github.com/miekg/pkcs11 v1.1.1 // indirect github.com/mitchellh/go-wordwrap v1.0.1 // indirect github.com/mitchellh/hashstructure/v2 v2.0.2 // indirect - github.com/moby/buildkit v0.26.3 // indirect + github.com/moby/buildkit v0.29.0 // indirect github.com/moby/docker-image-spec v1.3.1 // indirect - github.com/moby/go-archive v0.1.0 // indirect + github.com/moby/go-archive v0.2.0 // indirect github.com/moby/locker v1.0.1 // indirect - github.com/moby/patternmatcher v0.6.0 // indirect + github.com/moby/moby/api v1.54.1 // indirect + github.com/moby/moby/client v0.4.0 // indirect + github.com/moby/patternmatcher v0.6.1 // indirect github.com/moby/spdystream v0.5.0 // indirect github.com/moby/sys/atomicwriter v0.1.0 // indirect github.com/moby/sys/capability v0.4.0 // indirect @@ -192,28 +188,25 @@ require ( github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.1 // indirect - github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11 // indirect github.com/otiai10/copy v1.14.1 // indirect github.com/otiai10/mint v1.6.3 // indirect github.com/pelletier/go-toml v1.9.5 // indirect + github.com/pelletier/go-toml/v2 v2.2.4 // indirect github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 // indirect - github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.23.2 // indirect - github.com/prometheus/client_model v0.6.2 // indirect github.com/prometheus/common v0.67.2 // indirect github.com/prometheus/procfs v0.19.2 // indirect github.com/russross/blackfriday/v2 v2.1.0 // indirect github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 // indirect - github.com/secure-systems-lab/go-securesystemslib v0.9.1 // indirect + github.com/secure-systems-lab/go-securesystemslib v0.10.0 // indirect github.com/shibumi/go-pathspec v1.3.0 // indirect - github.com/sirupsen/logrus v1.9.3 // indirect + github.com/sigstore/sigstore v1.10.4 // indirect + github.com/sigstore/sigstore-go v1.1.4 // indirect + github.com/sirupsen/logrus v1.9.4 // indirect github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 // indirect github.com/spf13/pflag v1.0.10 // indirect - github.com/stretchr/testify v1.11.1 // indirect - github.com/theupdateframework/notary v0.7.0 // indirect github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 // indirect github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 // indirect - github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f // indirect + github.com/tonistiigi/fsutil v0.0.0-20251211185533-a2aa163d723f // indirect github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0 // indirect github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea // indirect github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab // indirect @@ -226,42 +219,38 @@ require ( go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.63.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0 // indirect go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 // indirect - go.opentelemetry.io/otel v1.40.0 // indirect - go.opentelemetry.io/otel v1.39.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.39.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.38.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 // indirect - go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 // indirect - go.opentelemetry.io/otel/metric v1.39.0 // indirect - go.opentelemetry.io/otel/sdk v1.39.0 // indirect - go.opentelemetry.io/otel/sdk/metric v1.39.0 // indirect - go.opentelemetry.io/otel/trace v1.39.0 // indirect + go.opentelemetry.io/otel v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0 // indirect + go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0 // indirect + go.opentelemetry.io/otel/metric v1.42.0 // indirect + go.opentelemetry.io/otel/sdk v1.42.0 // indirect + go.opentelemetry.io/otel/sdk/metric v1.42.0 // indirect + go.opentelemetry.io/otel/trace v1.42.0 // indirect go.opentelemetry.io/proto/otlp v1.9.0 // indirect go.yaml.in/yaml/v3 v3.0.4 // indirect - go.yaml.in/yaml/v4 v4.0.0-rc.3 // indirect - golang.org/x/crypto v0.45.0 // indirect - golang.org/x/net v0.47.0 // indirect - golang.org/x/oauth2 v0.33.0 // indirect - golang.org/x/sync v0.19.0 // indirect - golang.org/x/sys v0.39.0 // indirect - golang.org/x/term v0.37.0 // indirect - golang.org/x/text v0.31.0 // indirect + go.yaml.in/yaml/v4 v4.0.0-rc.4 // indirect + golang.org/x/crypto v0.48.0 // indirect + golang.org/x/net v0.51.0 // indirect + golang.org/x/oauth2 v0.35.0 // indirect + golang.org/x/sync v0.20.0 // indirect + golang.org/x/sys v0.42.0 // indirect + golang.org/x/term v0.41.0 // indirect + golang.org/x/text v0.34.0 // indirect golang.org/x/time v0.14.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 // indirect - google.golang.org/grpc v1.77.0 // indirect - google.golang.org/protobuf v1.36.10 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 // indirect + google.golang.org/grpc v1.80.0 // indirect + google.golang.org/protobuf v1.36.11 // indirect gopkg.in/evanphx/json-patch.v4 v4.13.0 // indirect gopkg.in/inf.v0 v0.9.1 // indirect gopkg.in/ini.v1 v1.67.0 // indirect + gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect - k8s.io/apiextensions-apiserver v0.34.1 // indirect - k8s.io/apiserver v0.34.1 // indirect - k8s.io/component-base v0.34.2 // indirect - k8s.io/component-helpers v0.34.2 // indirect + gotest.tools/v3 v3.5.2 // indirect k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 // indirect - k8s.io/kubernetes v1.31.7 // indirect k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 // indirect sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 // indirect sigs.k8s.io/randfill v1.0.0 // indirect diff --git a/client-programs/go.sum b/client-programs/go.sum index 1c103c2bb..85b36bc27 100644 --- a/client-programs/go.sum +++ b/client-programs/go.sum @@ -12,6 +12,8 @@ carvel.dev/ytt v0.52.1 h1:I9rCwIunzClas2MH5nVGtCK5ujZdiGaqAfGol/wiRKQ= carvel.dev/ytt v0.52.1/go.mod h1:lzkMguCvSVvxT2My9RG3gRMgTws97NpNXufKZ6iiP5E= cloud.google.com/go/compute/metadata v0.9.0 h1:pDUj4QMoPejqq20dK0Pg2N4yG9zIkYGdBtwLoEkH9Zs= cloud.google.com/go/compute/metadata v0.9.0/go.mod h1:E0bWwX5wTnLPedCKqk3pJmVgCBSM6qQI1yTBdEb3C10= +cyphar.com/go-pathrs v0.2.1 h1:9nx1vOgwVvX1mNBWDu93+vaceedpbsDqo+XuBGL40b8= +cyphar.com/go-pathrs v0.2.1/go.mod h1:y8f1EMG7r+hCuFf/rXsKqMJrJAUoADZGNh5/vZPKcGc= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6 h1:He8afgbRMd7mFxO99hRNu+6tazq8nFF9lIwo9JFroBk= github.com/AdaLogics/go-fuzz-headers v0.0.0-20240806141605-e8a1dd7889d6/go.mod h1:8o94RPi1/7XTJvwPpRSzSUedZrtlirdB3r9Z20bi2f8= github.com/Azure/azure-sdk-for-go v68.0.0+incompatible h1:fcYLmCpyNYRnvJbPerq7U0hS+6+I79yEDJBqVNcqUzU= @@ -44,83 +46,74 @@ github.com/Azure/go-autorest/logger v0.2.2/go.mod h1:I5fg9K52o+iuydlWfa9T5K6WFos github.com/Azure/go-autorest/tracing v0.6.0/go.mod h1:+vhtPC754Xsa23ID7GlGsrdKBpUA79WCAKPPZVC2DeU= github.com/Azure/go-autorest/tracing v0.6.1 h1:YUMSrC/CeD1ZnnXcNYU4a/fzsO35u2Fsful9L/2nyR0= github.com/Azure/go-autorest/tracing v0.6.1/go.mod h1:/3EgjbsjraOqiicERAeu3m7/z0x1TzjQGAwDrJrXGkc= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.5.0 h1:W5quZX/G/csjUnuI8SUYlsHs9M38FC7znL0lIO+DvMg= github.com/BurntSushi/toml v1.5.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e h1:rd4bOvKmDIx0WeTv9Qz+hghsgyjikFiPrseXHlKepO0= github.com/DefangLabs/secret-detector v0.0.0-20250403165618-22662109213e/go.mod h1:blbwPQh4DTlCZEfk1BLU4oMIhLda2U+A840Uag9DsZw= github.com/MakeNowJust/heredoc v1.0.0 h1:cXCdzVdstXyiTqTvfqk9SDHpKNjxuom+DOlyEeQ4pzQ= github.com/MakeNowJust/heredoc v1.0.0/go.mod h1:mG5amYoWBHf8vpLOuehzbGGw0EHxpZZ6lCpQ4fNJ8LE= +github.com/Masterminds/semver/v3 v3.4.0 h1:Zog+i5UMtVoCU8oKka5P7i9q9HgrJeGzI9SA1Xbatp0= +github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= github.com/Microsoft/go-winio v0.6.2 h1:F2VQgta7ecxGYO8k3ZZz3RS8fVIXVxONVUPlNERoyfY= github.com/Microsoft/go-winio v0.6.2/go.mod h1:yd8OoFMLzJbo9gZq8j5qaps8bJ9aShtEA8Ipt1oGCvU= github.com/Microsoft/hcsshim v0.14.0-rc.1 h1:qAPXKwGOkVn8LlqgBN8GS0bxZ83hOJpcjxzmlQKxKsQ= github.com/Microsoft/hcsshim v0.14.0-rc.1/go.mod h1:hTKFGbnDtQb1wHiOWv4v0eN+7boSWAHyK/tNAaYZL0c= -github.com/Shopify/logrus-bugsnag v0.0.0-20170309145241-6dbc35f2c30d h1:hi6J4K6DKrR4/ljxn6SF6nURyu785wKMuQcjt7H3VCQ= -github.com/Shopify/logrus-bugsnag v0.0.0-20170309145241-6dbc35f2c30d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ= +github.com/ProtonMail/go-crypto v1.3.0 h1:ILq8+Sf5If5DCpHQp4PbZdS1J7HDFRXz/+xKBiRGFrw= +github.com/ProtonMail/go-crypto v1.3.0/go.mod h1:9whxjD8Rbs29b4XWbB8irEcE8KHMqaR2e7GWU1R+/PE= github.com/VividCortex/ewma v1.2.0 h1:f58SaIzcDXrSy3kWaHNvuJgJ3Nmz59Zji6XoJR/q1ow= github.com/VividCortex/ewma v1.2.0/go.mod h1:nz4BbCtbLyFDeC9SUHbtcT5644juEuWfUAUnGx7j5l4= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d h1:licZJFw2RwpHMqeKTCYkitsPqHNxTmd4SNR5r94FGM8= github.com/acarl005/stripansi v0.0.0-20180116102854-5a71ef0e047d/go.mod h1:asat636LX7Bqt5lYEZ27JNDcqxfjdBQuJ/MM4CN/Lzo= github.com/adrg/xdg v0.5.3 h1:xRnxJXne7+oWDatRhR1JLnvuccuIeCoBu2rtuLqQB78= github.com/adrg/xdg v0.5.3/go.mod h1:nlTsY+NNiCBGCK2tpm09vRqfVzrc2fLmXGpBLF0zlTQ= -github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= -github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= -github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092 h1:aM1rlcoLz8y5B2r4tTLMiVTrMtpfY0O8EScKJxaSaEc= -github.com/anchore/go-struct-converter v0.0.0-20221118182256-c68fdcfa2092/go.mod h1:rYqSE9HbjzpHTI74vwPvae4ZVYZd1lue2ta6xHPdblA= +github.com/anchore/go-struct-converter v0.1.0 h1:2rDRssAl6mgKBSLNiVCMADgZRhoqtw9dedlWa0OhD30= +github.com/anchore/go-struct-converter v0.1.0/go.mod h1:rYqSE9HbjzpHTI74vwPvae4ZVYZd1lue2ta6xHPdblA= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5 h1:0CwZNZbxp69SHPdPJAN/hZIm0C4OItdklCFmMRWYpio= github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs= -github.com/aws/aws-sdk-go-v2 v1.39.6 h1:2JrPCVgWJm7bm83BDwY5z8ietmeJUbh3O2ACnn+Xsqk= -github.com/aws/aws-sdk-go-v2 v1.39.6/go.mod h1:c9pm7VwuW0UPxAEYGyTmyurVcNrbF6Rt/wixFqDhcjE= -github.com/aws/aws-sdk-go-v2/config v1.31.19 h1:qdUtOw4JhZr2YcKO3g0ho/IcFXfXrrb8xlX05Y6EvSw= -github.com/aws/aws-sdk-go-v2/config v1.31.19/go.mod h1:tMJ8bur01t8eEm0atLadkIIFA154OJ4JCKZeQ+o+R7k= -github.com/aws/aws-sdk-go-v2/credentials v1.18.23 h1:IQILcxVgMO2BVLaJ2aAv21dKWvE1MduNrbvuK43XL2Q= -github.com/aws/aws-sdk-go-v2/credentials v1.18.23/go.mod h1:JRodHszhVdh5TPUknxDzJzrMiznG+M+FfR3WSWKgCI8= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13 h1:T1brd5dR3/fzNFAQch/iBKeX07/ffu/cLu+q+RuzEWk= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.13/go.mod h1:Peg/GBAQ6JDt+RoBf4meB1wylmAipb7Kg2ZFakZTlwk= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13 h1:a+8/MLcWlIxo1lF9xaGt3J/u3yOZx+CdSveSNwjhD40= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.13/go.mod h1:oGnKwIYZ4XttyU2JWxFrwvhF6YKiK/9/wmE3v3Iu9K8= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13 h1:HBSI2kDkMdWz4ZM7FjwE7e/pWDEZ+nR95x8Ztet1ooY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.13/go.mod h1:YE94ZoDArI7awZqJzBAZ3PDD2zSfuP7w6P2knOzIn8M= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4 h1:WKuaxf++XKWlHWu9ECbMlha8WOEGm0OUEZqm4K/Gcfk= -github.com/aws/aws-sdk-go-v2/internal/ini v1.8.4/go.mod h1:ZWy7j6v1vWGmPReu0iSGvRiise4YI5SkR3OHKTZ6Wuc= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2 h1:DklsrG3dyBCFEj5IhUbnKptjxatkF07cF2ak3yi77so= +github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= +github.com/aws/aws-sdk-go-v2 v1.41.4 h1:10f50G7WyU02T56ox1wWXq+zTX9I1zxG46HYuG1hH/k= +github.com/aws/aws-sdk-go-v2 v1.41.4/go.mod h1:mwsPRE8ceUUpiTgF7QmQIJ7lgsKUPQOUl3o72QBrE1o= +github.com/aws/aws-sdk-go-v2/config v1.32.12 h1:O3csC7HUGn2895eNrLytOJQdoL2xyJy0iYXhoZ1OmP0= +github.com/aws/aws-sdk-go-v2/config v1.32.12/go.mod h1:96zTvoOFR4FURjI+/5wY1vc1ABceROO4lWgWJuxgy0g= +github.com/aws/aws-sdk-go-v2/credentials v1.19.12 h1:oqtA6v+y5fZg//tcTWahyN9PEn5eDU/Wpvc2+kJ4aY8= +github.com/aws/aws-sdk-go-v2/credentials v1.19.12/go.mod h1:U3R1RtSHx6NB0DvEQFGyf/0sbrpJrluENHdPy1j/3TE= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20 h1:zOgq3uezl5nznfoK3ODuqbhVg1JzAGDUhXOsU0IDCAo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.20/go.mod h1:z/MVwUARehy6GAg/yQ1GO2IMl0k++cu1ohP9zo887wE= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20 h1:CNXO7mvgThFGqOFgbNAP2nol2qAWBOGfqR/7tQlvLmc= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.20/go.mod h1:oydPDJKcfMhgfcgBUZaG+toBbwy8yPWubJXBVERtI4o= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20 h1:tN6W/hg+pkM+tf9XDkWUbDEjGLb+raoBMFsTodcoYKw= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.20/go.mod h1:YJ898MhD067hSHA6xYCx5ts/jEd8BSOLtQDL3iZsvbc= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6 h1:qYQ4pzQ2Oz6WpQ8T3HvGHnZydA72MnLuFK9tJwmrbHw= +github.com/aws/aws-sdk-go-v2/internal/ini v1.8.6/go.mod h1:O3h0IK87yXci+kg6flUKzJnWeziQUKciKrLjcatSNcY= github.com/aws/aws-sdk-go-v2/service/ecr v1.51.3 h1:+0AhrMCsfRxzlojjbJBOOBO1Ka5t1VsF28g+eHYbyEI= github.com/aws/aws-sdk-go-v2/service/ecr v1.51.3/go.mod h1:1NVD1KuMjH2GqnPwMotPndQaT/MreKkWpjkF12d6oKU= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.3 h1:2Mfho1EDuk815vcGZbiGsOY6mMGPMCsJTx2dWZdWudI= github.com/aws/aws-sdk-go-v2/service/ecrpublic v1.38.3/go.mod h1:x7gU4CAyAz4BsM9hlRkhHiYw2GIr1QCmN45uwQw9l/E= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3 h1:x2Ibm/Af8Fi+BH+Hsn9TXGdT+hKbDd5XOTZxTMxDk7o= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.3/go.mod h1:IW1jwyrQgMdhisceG8fQLmQIydcT/jWY21rFhzgaKwo= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13 h1:kDqdFvMY4AtKoACfzIGD8A0+hbT41KTKF//gq7jITfM= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.13/go.mod h1:lmKuogqSU3HzQCwZ9ZtcqOc5XGMqtDK7OIc2+DxiUEg= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.2 h1:/p6MxkbQoCzaGQT3WO0JwG0FlQyG9RD8VmdmoKc5xqU= -github.com/aws/aws-sdk-go-v2/service/sso v1.30.2/go.mod h1:fKvyjJcz63iL/ftA6RaM8sRCtN4r4zl4tjL3qw5ec7k= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.6 h1:0dES42T2dhICCbVB3JSTTn7+Bz93wfJEK1b7jksZIyQ= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.6/go.mod h1:klO+ejMvYsB4QATfEOIXk8WAEwN4N0aBfJpvC+5SZBo= -github.com/aws/aws-sdk-go-v2/service/sts v1.40.1 h1:5sbIM57lHLaEaNWdIx23JH30LNBsSDkjN/QXGcRLAFc= -github.com/aws/aws-sdk-go-v2/service/sts v1.40.1/go.mod h1:E19xDjpzPZC7LS2knI9E6BaRFDK43Eul7vd6rSq2HWk= -github.com/aws/smithy-go v1.23.2 h1:Crv0eatJUQhaManss33hS5r40CG3ZFH+21XSkqMrIUM= -github.com/aws/smithy-go v1.23.2/go.mod h1:LEj2LM3rBRQJxPZTB4KuzZkaZYnZPnvgIhb4pu07mx0= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7 h1:5EniKhLZe4xzL7a+fU3C2tfUN4nWIqlLesfrjkuPFTY= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.7/go.mod h1:x0nZssQ3qZSnIcePWLvcoFisRXJzcTVvYpAAdYX8+GI= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20 h1:2HvVAIq+YqgGotK6EkMf+KIEqTISmTYh5zLpYyeTo1Y= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.20/go.mod h1:V4X406Y666khGa8ghKmphma/7C0DAtEQYhkq9z4vpbk= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.8 h1:0GFOLzEbOyZABS3PhYfBIx2rNBACYcKty+XGkTgw1ow= +github.com/aws/aws-sdk-go-v2/service/signin v1.0.8/go.mod h1:LXypKvk85AROkKhOG6/YEcHFPoX+prKTowKnVdcaIxE= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.13 h1:kiIDLZ005EcKomYYITtfsjn7dtOwHDOFy7IbPXKek2o= +github.com/aws/aws-sdk-go-v2/service/sso v1.30.13/go.mod h1:2h/xGEowcW/g38g06g3KpRWDlT+OTfxxI0o1KqayAB8= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17 h1:jzKAXIlhZhJbnYwHbvUQZEB8KfgAEuG0dc08Bkda7NU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.35.17/go.mod h1:Al9fFsXjv4KfbzQHGe6V4NZSZQXecFcvaIF4e70FoRA= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.9 h1:Cng+OOwCHmFljXIxpEVXAGMnBia8MSU6Ch5i9PgBkcU= +github.com/aws/aws-sdk-go-v2/service/sts v1.41.9/go.mod h1:LrlIndBDdjA/EeXeyNBle+gyCwTlizzW5ycgWnvIxkk= +github.com/aws/smithy-go v1.24.2 h1:FzA3bu/nt/vDvmnkg+R8Xl46gmzEDam6mZ1hzmwXFng= +github.com/aws/smithy-go v1.24.2/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0 h1:GOPttfOAf5qAgx7r6b+zCWZrvCsfKffkL4H6mSYx1kA= github.com/awslabs/amazon-ecr-credential-helper/ecr-login v0.11.0/go.mod h1:a2HN6+p7k0JLDO8514sMr0l4cnrR52z4sWoZ/Uc82ho= -github.com/beorn7/perks v0.0.0-20150223135152-b965b613227f/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= -github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM= github.com/beorn7/perks v1.0.1/go.mod h1:G2ZrVWU2WbWT9wwq4/hrbKbnv/1ERSJQ0ibhJ6rlkpw= -github.com/bitly/go-hostpool v0.1.0/go.mod h1:4gOCgp6+NZnVqlKyZ/iBZFTAJKembaVENUpMkpg42fw= -github.com/bitly/go-simplejson v0.5.0/go.mod h1:cXHtHw4XUPsvGaxgjIAn8PhEWG9NfngEKAMDJEczWVA= -github.com/blang/semver/v4 v4.0.0 h1:1PFHFE6yCCTv8C1TeyNNarDzntLi7wMI5i/pzqYIsAM= -github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= +github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= github.com/bmatcuk/doublestar v1.3.4 h1:gPypJ5xD31uhX6Tf54sDPUOBXTqKH4c9aPY66CyQrS0= github.com/bmatcuk/doublestar v1.3.4/go.mod h1:wiQtGV+rzVYxB7WIlirSN++5HPtPlXEo9MEoZQC/PmE= -github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/buger/goterm v1.0.4 h1:Z9YvGmOih81P0FbVtEYTFF6YsSgxSUKEhf/f9bTMXbY= github.com/buger/goterm v1.0.4/go.mod h1:HiFWV3xnkolgrBV3mY8m0X0Pumt4zg4QhbdOzQtB8tE= -github.com/bugsnag/bugsnag-go v1.0.5-0.20150529004307-13fd6b8acda0 h1:s7+5BfS4WFJoVF9pnB8kBk03S7pZXRdKamnV0FOl5Sc= -github.com/bugsnag/bugsnag-go v1.0.5-0.20150529004307-13fd6b8acda0/go.mod h1:2oa8nejYd4cQ/b0hMIopN0lCRxU0bueqREvZLWFrtK8= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b h1:otBG+dV+YK+Soembjv71DPz3uX/V/6MMlSyD9JBQ6kQ= -github.com/bugsnag/osext v0.0.0-20130617224835-0dd3f918b21b/go.mod h1:obH5gd0BsqsP2LwDJ9aOkm/6J86V6lyAXCoQWGw3K50= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0 h1:nvj0OLI3YqYXer/kZD8Ri1aaunCxIEsOst1BVJswV0o= -github.com/bugsnag/panicwrap v0.0.0-20151223152923-e2c28503fcd0/go.mod h1:D/8v3kj0zr8ZAKg1AQ6crr+5VwKN5eIywRkfhyM/+dE= github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4 h1:F4rZiMGZyC66j9VB7doVOE4tFHF1yNEihQlOuht4jmM= github.com/carvel-dev/semver/v4 v4.0.1-0.20240402203627-beb83fbf25e4/go.mod h1:4cFTBLAr/U11ykiEEQMccu4uJ1i0GS+atJmeETHCFtI= github.com/cenkalti/backoff/v5 v5.0.3 h1:ZN+IMa753KfX5hd8vVaMixjnqRZ3y8CuJKRKj1xcsSM= @@ -138,20 +131,20 @@ github.com/clipperhouse/stringish v0.1.1 h1:+NSqMOr3GR6k1FdRhhnXrLfztGzuG+VuFDfa github.com/clipperhouse/stringish v0.1.1/go.mod h1:v/WhFtE1q0ovMta2+m+UbpZ+2/HEXNWYXQgCt4hdOzA= github.com/clipperhouse/uax29/v2 v2.3.0 h1:SNdx9DVUqMoBuBoW3iLOj4FQv3dN5mDtuqwuhIGpJy4= github.com/clipperhouse/uax29/v2 v2.3.0/go.mod h1:Wn1g7MK6OoeDT0vL+Q0SQLDz/KpfsVRgg6W7ihQeh4g= -github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004 h1:lkAMpLVBDaj17e85keuznYcH5rqI438v41pKcBl4ZxQ= -github.com/cloudflare/cfssl v0.0.0-20180223231731-4e2dcbde5004/go.mod h1:yMWuSON2oQp+43nFtAV/uvKQIFpSPerB57DCt9t8sSA= +github.com/cloudflare/circl v1.6.3 h1:9GPOhQGF9MCYUeXyMYlqTR6a5gTrgR/fBLXvUgtVcg8= +github.com/cloudflare/circl v1.6.3/go.mod h1:2eXP6Qfat4O/Yhh8BznvKnJ+uzEoTQ6jVKJRn81BiS4= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb h1:EDmT6Q9Zs+SbUoc7Ik9EfrFqcylYqgPZ9ANSbTAntnE= github.com/codahale/rfc6979 v0.0.0-20141003034818-6a90f24967eb/go.mod h1:ZjrT6AXHbDs86ZSdt/osfBi5qfexBrKUdONk989Wnk4= -github.com/compose-spec/compose-go/v2 v2.10.1 h1:mFbXobojGRFIVi1UknrvaDAZ+PkJfyjqkA1yseh+vAU= -github.com/compose-spec/compose-go/v2 v2.10.1/go.mod h1:Ohac1SzhO/4fXXrzWIztIVB6ckmKBv1Nt5Z5mGVESUg= -github.com/containerd/cgroups/v3 v3.1.0 h1:azxYVj+91ZgSnIBp2eI3k9y2iYQSR/ZQIgh9vKO+HSY= -github.com/containerd/cgroups/v3 v3.1.0/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins= +github.com/compose-spec/compose-go/v2 v2.10.2 h1:USa1NUbDcl/cjb8T9iwnuFsnO79H+2ho2L5SjFKz3uI= +github.com/compose-spec/compose-go/v2 v2.10.2/go.mod h1:ZU6zlcweCZKyiB7BVfCizQT9XmkEIMFE+PRZydVcsZg= +github.com/containerd/cgroups/v3 v3.1.3 h1:eUNflyMddm18+yrDmZPn3jI7C5hJ9ahABE5q6dyLYXQ= +github.com/containerd/cgroups/v3 v3.1.3/go.mod h1:PKZ2AcWmSBsY/tJUVhtS/rluX0b1uq1GmPO1ElCmbOw= github.com/containerd/console v1.0.5 h1:R0ymNeydRqH2DmakFNdmjR2k0t7UPuiOV/N/27/qqsc= github.com/containerd/console v1.0.5/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= github.com/containerd/containerd/api v1.10.0 h1:5n0oHYVBwN4VhoX9fFykCV9dF1/BvAXeg2F8W6UYq1o= github.com/containerd/containerd/api v1.10.0/go.mod h1:NBm1OAk8ZL+LG8R0ceObGxT5hbUYj7CzTmR3xh0DlMM= -github.com/containerd/containerd/v2 v2.2.1-0.20251115011841-efd86f2b0bc2 h1:WcvXNS/OmpiitTVdzRAudKwvShKxcOP4Elf2FyxSoTg= -github.com/containerd/containerd/v2 v2.2.1-0.20251115011841-efd86f2b0bc2/go.mod h1:YCMjKjA4ZA7egdHNi3/93bJR1+2oniYlnS+c0N62HdE= +github.com/containerd/containerd/v2 v2.2.2 h1:mjVQdtfryzT7lOqs5EYUFZm8ioPVjOpkSoG1GJPxEMY= +github.com/containerd/containerd/v2 v2.2.2/go.mod h1:5Jhevmv6/2J+Iu/A2xXAdUIdI5Ah/hfyO7okJ4AFIdY= github.com/containerd/continuity v0.4.5 h1:ZRoN1sXq9u7V6QoHMcVWGhOwDFqZ4B9i5H6un1Wh0x4= github.com/containerd/continuity v0.4.5/go.mod h1:/lNJvtJKUQStBzpVQ1+rasXO1LAWtUQssk28EZvJ3nE= github.com/containerd/errdefs v1.0.0 h1:tg5yIfIlQIrxYtu9ajqY42W3lpS19XqdxRQeEwYG8PI= @@ -162,16 +155,16 @@ github.com/containerd/fifo v1.1.0 h1:4I2mbh5stb1u6ycIABlBw9zgtlK8viPI9QkQNRQEEmY github.com/containerd/fifo v1.1.0/go.mod h1:bmC4NWMbXlt2EZ0Hc7Fx7QzTFxgPID13eH0Qu+MAb2o= github.com/containerd/log v0.1.0 h1:TCJt7ioM2cr/tfR8GPbGf9/VRAX8D2B4PjzCpfX540I= github.com/containerd/log v0.1.0/go.mod h1:VRRf09a7mHDIRezVKTRCrOq78v577GXq3bSa3EhrzVo= -github.com/containerd/nydus-snapshotter v0.15.4 h1:l59kGRVMtwMLDLh322HsWhEsBCkRKMkGWYV5vBeLYCE= -github.com/containerd/nydus-snapshotter v0.15.4/go.mod h1:eRJqnxQDr48HNop15kZdLZpFF5B6vf6Q11Aq1K0E4Ms= -github.com/containerd/platforms v1.0.0-rc.2 h1:0SPgaNZPVWGEi4grZdV8VRYQn78y+nm6acgLGv/QzE4= -github.com/containerd/platforms v1.0.0-rc.2/go.mod h1:J71L7B+aiM5SdIEqmd9wp6THLVRzJGXfNuWCZCllLA4= +github.com/containerd/nydus-snapshotter v0.15.13 h1:z9yCiTPMxVBIZlHxOPinZXhly2MdcIqxk9VXPlHIOJY= +github.com/containerd/nydus-snapshotter v0.15.13/go.mod h1:t95dwCb4I0RE4n1iOk0sJCWosNoACA8daOXmU5A2VHI= +github.com/containerd/platforms v1.0.0-rc.4 h1:M42JrUT4zfZTqtkUwkr0GzmUWbfyO5VO0Q5b3op97T4= +github.com/containerd/platforms v1.0.0-rc.4/go.mod h1:lKlMXyLybmBedS/JJm11uDofzI8L2v0J2ZbYvNsbq1A= github.com/containerd/plugin v1.0.0 h1:c8Kf1TNl6+e2TtMHZt+39yAPDbouRH9WAToRjex483Y= github.com/containerd/plugin v1.0.0/go.mod h1:hQfJe5nmWfImiqT1q8Si3jLv3ynMUIBB47bQ+KexvO8= -github.com/containerd/stargz-snapshotter/estargz v0.18.1 h1:cy2/lpgBXDA3cDKSyEfNOFMA/c10O1axL69EU7iirO8= -github.com/containerd/stargz-snapshotter/estargz v0.18.1/go.mod h1:ALIEqa7B6oVDsrF37GkGN20SuvG/pIMm7FwP7ZmRb0Q= -github.com/containerd/ttrpc v1.2.7 h1:qIrroQvuOL9HQ1X6KHe2ohc7p+HP/0VE6XPU7elJRqQ= -github.com/containerd/ttrpc v1.2.7/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= +github.com/containerd/stargz-snapshotter/estargz v0.18.2 h1:yXkZFYIzz3eoLwlTUZKz2iQ4MrckBxJjkmD16ynUTrw= +github.com/containerd/stargz-snapshotter/estargz v0.18.2/go.mod h1:XyVU5tcJ3PRpkA9XS2T5us6Eg35yM0214Y+wvrZTBrY= +github.com/containerd/ttrpc v1.2.8 h1:xbVu6D4qF2jihdh9rDVOKqUMiFBQk6YctTdo1zk087Y= +github.com/containerd/ttrpc v1.2.8/go.mod h1:wyZW2K79t4Hfcxl+GUvkZqRBzJlqFFvgEeeWXa42tyE= github.com/containerd/typeurl/v2 v2.2.3 h1:yNA/94zxWdvYACdYO8zofhrTVuQY73fFU1y++dYSw40= github.com/containerd/typeurl/v2 v2.2.3/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= github.com/cppforlife/cobrautil v0.0.0-20221130162803-acdfead391ef h1:de10GNLe45JTMghl2qf9WH17H/BjGShK41X3vKAsPJA= @@ -183,51 +176,48 @@ github.com/cppforlife/go-cli-ui v0.0.0-20250603184554-47874c9078ad/go.mod h1:xZh github.com/cppforlife/go-patch v0.0.0-20240118020416-2147782e467b h1:+8LQctLhaj+63L/37l8IK/5Q3odN6RzWlglonUwrKok= github.com/cppforlife/go-patch v0.0.0-20240118020416-2147782e467b/go.mod h1:67a7aIi94FHDZdoeGSJRRFDp66l9MhaAG1yGxpUoFD8= github.com/cpuguy83/go-md2man/v2 v2.0.6/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= -github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= github.com/creack/pty v1.1.24 h1:bJrF4RRfyJnbTJqzRLHzcGaZK1NeM5kTC9jGgovnR1s= github.com/creack/pty v1.1.24/go.mod h1:08sCNb52WyoAwi2QDyzUCTgcvVFhUzewun7wtTfvcwE= +github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467 h1:uX1JmpONuD549D73r6cgnxyUu18Zb7yHAy5AYU0Pm4Q= +github.com/cyberphone/json-canonicalization v0.0.0-20241213102144-19d51d7fe467/go.mod h1:uzvlm1mxhHkdfqitSA92i7Se+S9ksOn3a3qmv/kyOCw= +github.com/cyphar/filepath-securejoin v0.6.0 h1:BtGB77njd6SVO6VztOHfPxKitJvd/VPT+OFBFMOi1Is= +github.com/cyphar/filepath-securejoin v0.6.0/go.mod h1:A8hd4EnAeyujCJRrICiOWqjS1AX0a9kM5XL+NwKoYSc= github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= -github.com/denisenkom/go-mssqldb v0.0.0-20191128021309-1d7a30a10f73/go.mod h1:xbL0rPBG9cCiLr28tMa8zpbdarY27NDyej4t/EjAShU= +github.com/digitorus/pkcs7 v0.0.0-20230818184609-3a137a874352 h1:ge14PCmCvPjpMQMIAH7uKg0lrtNSOdpYsRXlwk3QbaE= +github.com/digitorus/pkcs7 v0.0.0-20230818184609-3a137a874352/go.mod h1:SKVExuS+vpu2l9IoOc0RwqE7NYnb0JlcFHFnEJkVDzc= +github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7 h1:lxmTCgmHE1GUYL7P0MlNa00M67axePTq+9nBSGddR8I= +github.com/digitorus/timestamp v0.0.0-20231217203849-220c5c2851b7/go.mod h1:GvWntX9qiTlOud0WkQ6ewFm0LPy5JUR1Xo0Ngbd1w6Y= github.com/dimchansky/utfbom v1.1.1 h1:vV6w1AhK4VMnhBno/TPVCoK9U/LP0PkLCS9tbxHdi/U= github.com/dimchansky/utfbom v1.1.1/go.mod h1:SxdoEBH5qIqFocHMyGOXVAybYJdr71b1Q/j0mACtrfE= github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk= github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI= github.com/dlclark/regexp2 v1.11.0/go.mod h1:DHkYz0B9wPfa6wondMfaivmHpzrQ3v9q8cnmRbL6yW8= -github.com/docker/buildx v0.30.1 h1:3vthfaTQOLt5QfN2nl7rKuPLUvx69nL5ZikFIXp//c8= -github.com/docker/buildx v0.30.1/go.mod h1:8nwT0V6UNYNo9rXq6WO/BQd9KrJ0JYcY/QX6x0y1Oro= -github.com/docker/cli v29.2.0+incompatible h1:9oBd9+YM7rxjZLfyMGxjraKBKE4/nVyvVfN4qNl9XRM= -github.com/docker/cli v29.2.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/compose/v5 v5.0.1 h1:5yCjDJbwUqcuI+6WNFHNWz2/3vyBDsNnfe8LlFjyxEc= -github.com/docker/compose/v5 v5.0.1/go.mod h1:vuKBtnRuvsVIlYHzdPkF3SToljqR+pFJseO5lDBuF18= -github.com/docker/distribution v2.7.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/buildx v0.33.0 h1:xuZeuQe/C/2tvLDgiIA6+Ynq3FFWSfsGNWIHM3q1hD8= +github.com/docker/buildx v0.33.0/go.mod h1:7JVma62htERKE5iy5YD1q64PKiAHUzXuhSBd4oq3I74= +github.com/docker/cli v29.4.0+incompatible h1:+IjXULMetlvWJiuSI0Nbor36lcJ5BTcVpUmB21KBoVM= +github.com/docker/cli v29.4.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/compose/v5 v5.1.2 h1:HxtfGZA0DESw/+hvrNJDjM8VKmCond7OkmgVJCHku48= +github.com/docker/compose/v5 v5.1.2/go.mod h1:JJ2H+lRSugOH50/zxCbkBwN8jU91qDtRCp7gEHWZdgo= github.com/docker/distribution v2.8.3+incompatible h1:AtKxIZ36LoNK51+Z6RpzLpddBirtxJnzDrHLEKxTAYk= github.com/docker/distribution v2.8.3+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v28.5.2+incompatible h1:DBX0Y0zAjZbSrm1uzOkdr1onVghKaftjlSWt4AFexzM= github.com/docker/docker v28.5.2+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= -github.com/docker/docker-credential-helpers v0.9.4 h1:76ItO69/AP/V4yT9V4uuuItG0B1N8hvt0T0c0NN/DzI= -github.com/docker/docker-credential-helpers v0.9.4/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= -github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0= -github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= -github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/docker-credential-helpers v0.9.5 h1:EFNN8DHvaiK8zVqFA2DT6BjXE0GzfLOZ38ggPTKePkY= +github.com/docker/docker-credential-helpers v0.9.5/go.mod h1:v1S+hepowrQXITkEfw6o4+BMbGot02wiKpzWhGUZK6c= github.com/docker/go-connections v0.6.0 h1:LlMG9azAe1TqfR7sO+NJttz1gy6KO7VJBh+pMmjSD94= github.com/docker/go-connections v0.6.0/go.mod h1:AahvXYshr6JgfUJGdDCs2b5EZG/vmaMAntpSFH5BFKE= -github.com/docker/go-metrics v0.0.0-20180209012529-399ea8c73916/go.mod h1:/u0gXw0Gay3ceNrsHubL3BtdOL2fHf93USgMTe0W5dI= github.com/docker/go-metrics v0.0.1 h1:AgB/0SvBxihN0X8OR4SjsblXkbMvalQ8cjmtKQ2rQV8= github.com/docker/go-metrics v0.0.1/go.mod h1:cG1hvH2utMXtqgqqYE9plW6lDxS3/5ayHzueweSI3Vw= github.com/docker/go-units v0.5.0 h1:69rxXcBk27SvSaaxTtLh/8llcHD8vYHT7WSdRZ/jvr4= github.com/docker/go-units v0.5.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= -github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7 h1:UhxFibDNY/bfvqU5CAUmr9zpesgbU6SWc8/B4mflAE4= -github.com/docker/libtrust v0.0.0-20160708172513-aabc10ec26b7/go.mod h1:cyGadeNEkKy96OOhEzfZl+yxihPEzKnqJwvfuSUqbZE= -github.com/dvsekhvalnov/jose2go v0.0.0-20170216131308-f21a8cedbbae/go.mod h1:7BvyPhdbLxMXIYTFPLsyJRFMsKmOZnQmzh6Gb+uquuM= github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203 h1:XBBHcIb256gUJtLmY22n99HaZTz+r2Z51xUPi01m3wg= github.com/eiannone/keyboard v0.0.0-20220611211555-0d226195f203/go.mod h1:E1jcSv8FaEny+OP/5k9UxZVw9YFWGj7eI4KR/iOBqCg= github.com/emicklei/go-restful/v3 v3.13.0 h1:C4Bl2xDndpU6nJ4bc1jXd+uTmYPVUwkD6bFY/oTyCes= github.com/emicklei/go-restful/v3 v3.13.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= -github.com/erikstmartin/go-testdb v0.0.0-20160219214506-8d10e4a1bae5/go.mod h1:a2zkGnVExMxdzMo3M0Hi/3sEU+cWnZpSni0O6/Yb/P0= github.com/evanphx/json-patch/v5 v5.9.11 h1:/8HVnzMq13/3x9TPvjG08wUGqBTmZBsCWzjTM0wiaDU= github.com/evanphx/json-patch/v5 v5.9.11/go.mod h1:3j+LviiESTElxA4p3EMKAB9HXj3/XEtnUf6OZxqIQTM= github.com/fatih/color v1.18.0 h1:S8gINlzdQ840/4pfAwic/ZE0djQEH3wM94VfqLTZcOM= @@ -236,64 +226,71 @@ github.com/felixge/httpsnoop v1.0.4 h1:NFTV2Zj1bL4mc9sqWACXbQFVBBg2W3GPvqp8/ESS2 github.com/felixge/httpsnoop v1.0.4/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/fsnotify/fsevents v0.2.0 h1:BRlvlqjvNTfogHfeBOFvSC9N0Ddy+wzQCQukyoD7o/c= github.com/fsnotify/fsevents v0.2.0/go.mod h1:B3eEk39i4hz8y1zaWS/wPrAP4O6wkIl7HQwKBr1qH/w= -github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.9.0 h1:2Ml+OJNzbYCTzsxtv8vKSFD9PbJjmhYF14k/jKC7S9k= github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/fxamacker/cbor/v2 v2.9.0 h1:NpKPmjDBgUfBms6tr6JZkTHtfFGcMKsw3eGcmD/sapM= github.com/fxamacker/cbor/v2 v2.9.0/go.mod h1:vM4b+DJCtHn+zz7h3FFp/hDAI9WNWCsZj23V5ytsSxQ= -github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= -github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= -github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.3 h1:CjnDlHq8ikf6E492q6eKboGOC0T8CDaOvkHCIg8idEI= github.com/go-logr/logr v1.4.3/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= -github.com/go-openapi/jsonpointer v0.22.1 h1:sHYI1He3b9NqJ4wXLoJDKmUmHkWy/L7rtEo92JUxBNk= -github.com/go-openapi/jsonpointer v0.22.1/go.mod h1:pQT9OsLkfz1yWoMgYFy4x3U5GY5nUlsOn1qSBH5MkCM= -github.com/go-openapi/jsonreference v0.21.3 h1:96Dn+MRPa0nYAR8DR1E03SblB5FJvh7W6krPI0Z7qMc= -github.com/go-openapi/jsonreference v0.21.3/go.mod h1:RqkUP0MrLf37HqxZxrIAtTWW4ZJIK1VzduhXYBEeGc4= -github.com/go-openapi/swag v0.25.1 h1:6uwVsx+/OuvFVPqfQmOOPsqTcm5/GkBhNwLqIR916n8= -github.com/go-openapi/swag v0.25.1/go.mod h1:bzONdGlT0fkStgGPd3bhZf1MnuPkf2YAys6h+jZipOo= -github.com/go-openapi/swag/cmdutils v0.25.1 h1:nDke3nAFDArAa631aitksFGj2omusks88GF1VwdYqPY= -github.com/go-openapi/swag/cmdutils v0.25.1/go.mod h1:pdae/AFo6WxLl5L0rq87eRzVPm/XRHM3MoYgRMvG4A0= -github.com/go-openapi/swag/conv v0.25.1 h1:+9o8YUg6QuqqBM5X6rYL/p1dpWeZRhoIt9x7CCP+he0= -github.com/go-openapi/swag/conv v0.25.1/go.mod h1:Z1mFEGPfyIKPu0806khI3zF+/EUXde+fdeksUl2NiDs= -github.com/go-openapi/swag/fileutils v0.25.1 h1:rSRXapjQequt7kqalKXdcpIegIShhTPXx7yw0kek2uU= -github.com/go-openapi/swag/fileutils v0.25.1/go.mod h1:+NXtt5xNZZqmpIpjqcujqojGFek9/w55b3ecmOdtg8M= -github.com/go-openapi/swag/jsonname v0.25.1 h1:Sgx+qbwa4ej6AomWC6pEfXrA6uP2RkaNjA9BR8a1RJU= -github.com/go-openapi/swag/jsonname v0.25.1/go.mod h1:71Tekow6UOLBD3wS7XhdT98g5J5GR13NOTQ9/6Q11Zo= -github.com/go-openapi/swag/jsonutils v0.25.1 h1:AihLHaD0brrkJoMqEZOBNzTLnk81Kg9cWr+SPtxtgl8= -github.com/go-openapi/swag/jsonutils v0.25.1/go.mod h1:JpEkAjxQXpiaHmRO04N1zE4qbUEg3b7Udll7AMGTNOo= -github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.1 h1:DSQGcdB6G0N9c/KhtpYc71PzzGEIc/fZ1no35x4/XBY= -github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.1/go.mod h1:kjmweouyPwRUEYMSrbAidoLMGeJ5p6zdHi9BgZiqmsg= -github.com/go-openapi/swag/loading v0.25.1 h1:6OruqzjWoJyanZOim58iG2vj934TysYVptyaoXS24kw= -github.com/go-openapi/swag/loading v0.25.1/go.mod h1:xoIe2EG32NOYYbqxvXgPzne989bWvSNoWoyQVWEZicc= -github.com/go-openapi/swag/mangling v0.25.1 h1:XzILnLzhZPZNtmxKaz/2xIGPQsBsvmCjrJOWGNz/ync= -github.com/go-openapi/swag/mangling v0.25.1/go.mod h1:CdiMQ6pnfAgyQGSOIYnZkXvqhnnwOn997uXZMAd/7mQ= -github.com/go-openapi/swag/netutils v0.25.1 h1:2wFLYahe40tDUHfKT1GRC4rfa5T1B4GWZ+msEFA4Fl4= -github.com/go-openapi/swag/netutils v0.25.1/go.mod h1:CAkkvqnUJX8NV96tNhEQvKz8SQo2KF0f7LleiJwIeRE= -github.com/go-openapi/swag/stringutils v0.25.1 h1:Xasqgjvk30eUe8VKdmyzKtjkVjeiXx1Iz0zDfMNpPbw= -github.com/go-openapi/swag/stringutils v0.25.1/go.mod h1:JLdSAq5169HaiDUbTvArA2yQxmgn4D6h4A+4HqVvAYg= -github.com/go-openapi/swag/typeutils v0.25.1 h1:rD/9HsEQieewNt6/k+JBwkxuAHktFtH3I3ysiFZqukA= -github.com/go-openapi/swag/typeutils v0.25.1/go.mod h1:9McMC/oCdS4BKwk2shEB7x17P6HmMmA6dQRtAkSnNb8= -github.com/go-openapi/swag/yamlutils v0.25.1 h1:mry5ez8joJwzvMbaTGLhw8pXUnhDK91oSJLDPF1bmGk= -github.com/go-openapi/swag/yamlutils v0.25.1/go.mod h1:cm9ywbzncy3y6uPm/97ysW8+wZ09qsks+9RS8fLWKqg= -github.com/go-openapi/testify/v2 v2.0.2 h1:X999g3jeLcoY8qctY/c/Z8iBHTbwLz7R2WXd6Ub6wls= -github.com/go-openapi/testify/v2 v2.0.2/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= -github.com/go-sql-driver/mysql v1.3.0 h1:pgwjLi/dvffoP9aabwkT3AKpXQM93QARkjFhDDqC1UE= -github.com/go-sql-driver/mysql v1.3.0/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= -github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= +github.com/go-openapi/analysis v0.24.3 h1:a1hrvMr8X0Xt69KP5uVTu5jH62DscmDifrLzNglAayk= +github.com/go-openapi/analysis v0.24.3/go.mod h1:Nc+dWJ/FxZbhSow5Yh3ozg5CLJioB+XXT6MdLvJUsUw= +github.com/go-openapi/errors v0.22.7 h1:JLFBGC0Apwdzw3484MmBqspjPbwa2SHvpDm0u5aGhUA= +github.com/go-openapi/errors v0.22.7/go.mod h1://QW6SD9OsWtH6gHllUCddOXDL0tk0ZGNYHwsw4sW3w= +github.com/go-openapi/jsonpointer v0.22.5 h1:8on/0Yp4uTb9f4XvTrM2+1CPrV05QPZXu+rvu2o9jcA= +github.com/go-openapi/jsonpointer v0.22.5/go.mod h1:gyUR3sCvGSWchA2sUBJGluYMbe1zazrYWIkWPjjMUY0= +github.com/go-openapi/jsonreference v0.21.5 h1:6uCGVXU/aNF13AQNggxfysJ+5ZcU4nEAe+pJyVWRdiE= +github.com/go-openapi/jsonreference v0.21.5/go.mod h1:u25Bw85sX4E2jzFodh1FOKMTZLcfifd1Q+iKKOUxExw= +github.com/go-openapi/loads v0.23.3 h1:g5Xap1JfwKkUnZdn+S0L3SzBDpcTIYzZ5Qaag0YDkKQ= +github.com/go-openapi/loads v0.23.3/go.mod h1:NOH07zLajXo8y55hom0omlHWDVVvCwBM/S+csCK8LqA= +github.com/go-openapi/runtime v0.29.2 h1:UmwSGWNmWQqKm1c2MGgXVpC2FTGwPDQeUsBMufc5Yj0= +github.com/go-openapi/runtime v0.29.2/go.mod h1:biq5kJXRJKBJxTDJXAa00DOTa/anflQPhT0/wmjuy+0= +github.com/go-openapi/spec v0.22.4 h1:4pxGjipMKu0FzFiu/DPwN3CTBRlVM2yLf/YTWorYfDQ= +github.com/go-openapi/spec v0.22.4/go.mod h1:WQ6Ai0VPWMZgMT4XySjlRIE6GP1bGQOtEThn3gcWLtQ= +github.com/go-openapi/strfmt v0.26.1 h1:7zGCHji7zSYDC2tCXIusoxYQz/48jAf2q+sF6wXTG+c= +github.com/go-openapi/strfmt v0.26.1/go.mod h1:Zslk5VZPOISLwmWTMBIS7oiVFem1o1EI6zULY8Uer7Y= +github.com/go-openapi/swag v0.25.4 h1:OyUPUFYDPDBMkqyxOTkqDYFnrhuhi9NR6QVUvIochMU= +github.com/go-openapi/swag v0.25.4/go.mod h1:zNfJ9WZABGHCFg2RnY0S4IOkAcVTzJ6z2Bi+Q4i6qFQ= +github.com/go-openapi/swag/cmdutils v0.25.4 h1:8rYhB5n6WawR192/BfUu2iVlxqVR9aRgGJP6WaBoW+4= +github.com/go-openapi/swag/cmdutils v0.25.4/go.mod h1:pdae/AFo6WxLl5L0rq87eRzVPm/XRHM3MoYgRMvG4A0= +github.com/go-openapi/swag/conv v0.25.5 h1:wAXBYEXJjoKwE5+vc9YHhpQOFj2JYBMF2DUi+tGu97g= +github.com/go-openapi/swag/conv v0.25.5/go.mod h1:CuJ1eWvh1c4ORKx7unQnFGyvBbNlRKbnRyAvDvzWA4k= +github.com/go-openapi/swag/fileutils v0.25.5 h1:B6JTdOcs2c0dBIs9HnkyTW+5gC+8NIhVBUwERkFhMWk= +github.com/go-openapi/swag/fileutils v0.25.5/go.mod h1:V3cT9UdMQIaH4WiTrUc9EPtVA4txS0TOmRURmhGF4kc= +github.com/go-openapi/swag/jsonname v0.25.5 h1:8p150i44rv/Drip4vWI3kGi9+4W9TdI3US3uUYSFhSo= +github.com/go-openapi/swag/jsonname v0.25.5/go.mod h1:jNqqikyiAK56uS7n8sLkdaNY/uq6+D2m2LANat09pKU= +github.com/go-openapi/swag/jsonutils v0.25.5 h1:XUZF8awQr75MXeC+/iaw5usY/iM7nXPDwdG3Jbl9vYo= +github.com/go-openapi/swag/jsonutils v0.25.5/go.mod h1:48FXUaz8YsDAA9s5AnaUvAmry1UcLcNVWUjY42XkrN4= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.5 h1:SX6sE4FrGb4sEnnxbFL/25yZBb5Hcg1inLeErd86Y1U= +github.com/go-openapi/swag/jsonutils/fixtures_test v0.25.5/go.mod h1:/2KvOTrKWjVA5Xli3DZWdMCZDzz3uV/T7bXwrKWPquo= +github.com/go-openapi/swag/loading v0.25.5 h1:odQ/umlIZ1ZVRteI6ckSrvP6e2w9UTF5qgNdemJHjuU= +github.com/go-openapi/swag/loading v0.25.5/go.mod h1:I8A8RaaQ4DApxhPSWLNYWh9NvmX2YKMoB9nwvv6oW6g= +github.com/go-openapi/swag/mangling v0.25.5 h1:hyrnvbQRS7vKePQPHHDso+k6CGn5ZBs5232UqWZmJZw= +github.com/go-openapi/swag/mangling v0.25.5/go.mod h1:6hadXM/o312N/h98RwByLg088U61TPGiltQn71Iw0NY= +github.com/go-openapi/swag/netutils v0.25.4 h1:Gqe6K71bGRb3ZQLusdI8p/y1KLgV4M/k+/HzVSqT8H0= +github.com/go-openapi/swag/netutils v0.25.4/go.mod h1:m2W8dtdaoX7oj9rEttLyTeEFFEBvnAx9qHd5nJEBzYg= +github.com/go-openapi/swag/stringutils v0.25.5 h1:NVkoDOA8YBgtAR/zvCx5rhJKtZF3IzXcDdwOsYzrB6M= +github.com/go-openapi/swag/stringutils v0.25.5/go.mod h1:PKK8EZdu4QJq8iezt17HM8RXnLAzY7gW0O1KKarrZII= +github.com/go-openapi/swag/typeutils v0.25.5 h1:EFJ+PCga2HfHGdo8s8VJXEVbeXRCYwzzr9u4rJk7L7E= +github.com/go-openapi/swag/typeutils v0.25.5/go.mod h1:itmFmScAYE1bSD8C4rS0W+0InZUBrB2xSPbWt6DLGuc= +github.com/go-openapi/swag/yamlutils v0.25.5 h1:kASCIS+oIeoc55j28T4o8KwlV2S4ZLPT6G0iq2SSbVQ= +github.com/go-openapi/swag/yamlutils v0.25.5/go.mod h1:Gek1/SjjfbYvM+Iq4QGwa/2lEXde9n2j4a3wI3pNuOQ= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.0 h1:7SgOMTvJkM8yWrQlU8Jm18VeDPuAvB/xWrdxFJkoFag= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.0/go.mod h1:14iV8jyyQlinc9StD7w1xVPW3CO3q1Gj04Jy//Kw4VM= +github.com/go-openapi/testify/v2 v2.4.0 h1:8nsPrHVCWkQ4p8h1EsRVymA2XABB4OT40gcvAu+voFM= +github.com/go-openapi/testify/v2 v2.4.0/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= +github.com/go-openapi/validate v0.25.2 h1:12NsfLAwGegqbGWr2CnvT65X/Q2USJipmJ9b7xDJZz0= +github.com/go-openapi/validate v0.25.2/go.mod h1:Pgl1LpPPGFnZ+ys4/hTlDiRYQdI1ocKypgE+8Q8BLfY= github.com/go-task/slim-sprig/v3 v3.0.0 h1:sUs3vkvUymDpBKi3qH1YSqBQk9+9D/8M2mN1vB6EwHI= github.com/go-task/slim-sprig/v3 v3.0.0/go.mod h1:W848ghGpv3Qj3dhTPRyJypKRiqCdHZiAzKg9hl15HA8= -github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= -github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= +github.com/go-viper/mapstructure/v2 v2.5.0 h1:vM5IJoUAy3d7zRSVtIwQgBj7BiWtMPfmPEgAXnvj1Ro= +github.com/go-viper/mapstructure/v2 v2.5.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gofrs/flock v0.13.0 h1:95JolYOvGMqeH31+FC7D2+uULf6mG61mEZ/A8dRYMzw= github.com/gofrs/flock v0.13.0/go.mod h1:jxeyy9R1auM5S6JYDBhDt+E2TCo7DkratH4Pgi8P+Z0= -github.com/gogo/protobuf v1.0.0/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= -github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q= github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= github.com/golang-jwt/jwt/v4 v4.0.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= @@ -303,25 +300,19 @@ github.com/golang-jwt/jwt/v4 v4.5.2 h1:YtQM7lnr8iZ+j5q71MGKkNw9Mn7AjHM68uc9g5fXe github.com/golang-jwt/jwt/v4 v4.5.2/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w39/MY0Ch0= github.com/golang-jwt/jwt/v5 v5.3.0 h1:pv4AsKCKKZuqlgs5sUmn4x8UlGa0kEVt/puTpKx9vvo= github.com/golang-jwt/jwt/v5 v5.3.0/go.mod h1:fxCRLWMO43lRc8nhHWY6LGqRcf+1gQWArsqaEUEa5bE= -github.com/golang-sql/civil v0.0.0-20190719163853-cb61b32ac6fe/go.mod h1:8vg3r2VgvsThLBIFL93Qb5yWzgyZWhEmBwUJWevAkK0= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8 h1:f+oWsMOmNPc8JmEHVZIycC7hBoQxHH9pNKQORJNozsQ= github.com/golang/groupcache v0.0.0-20241129210726-2c02b8208cf8/go.mod h1:wcDNUvekVysuuOpQKo3191zZyTpiI6se1N1ULghS0sw= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.5.4 h1:i7eJL8qZTpSEXOPTxNKhASYpMn+8e5Q6AdndVa1dWek= github.com/golang/protobuf v1.5.4/go.mod h1:lnTiLA8Wa4RWRcIUkrtSVa5nRhsEGBg48fD6rSs7xps= -github.com/google/certificate-transparency-go v1.0.10-0.20180222191210-5ab67e519c93 h1:jc2UWq7CbdszqeH6qu1ougXMIUBfSy8Pbh/anURYbGI= -github.com/google/certificate-transparency-go v1.0.10-0.20180222191210-5ab67e519c93/go.mod h1:QeJfpSbVSfYc7RgB3gJFj9cbuQMMchQxrWXz8Ruopmg= +github.com/google/certificate-transparency-go v1.3.2 h1:9ahSNZF2o7SYMaKaXhAumVEzXB2QaayzII9C8rv7v+A= +github.com/google/certificate-transparency-go v1.3.2/go.mod h1:H5FpMUaGa5Ab2+KCYsxg6sELw3Flkl7pGZzWdBoYLXs= github.com/google/gnostic-models v0.7.0 h1:qwTtogB15McXDaNqTZdzPJRHvaVJlAl+HVQnLmJEJxo= github.com/google/gnostic-models v0.7.0/go.mod h1:whL5G0m6dmc5cPxKc5bdKdEN3UjI7OUGxBlw57miDrQ= -github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.7.0 h1:wk8382ETsv4JYUZwIsn6YpYiWiBsYLSJiTsyBybVuN8= github.com/google/go-cmp v0.7.0/go.mod h1:pXiqmnSA92OHEEa9HXL2W4E7lf9JzCmGVUdgjX3N/iU= -github.com/google/go-containerregistry v0.20.6 h1:cvWX87UxxLgaH76b4hIvya6Dzz9qHB31qAwjAohdSTU= -github.com/google/go-containerregistry v0.20.6/go.mod h1:T0x8MuoAoKX/873bkeSfLD2FAkwCDf9/HZgsFJ02E2Y= +github.com/google/go-containerregistry v0.20.7 h1:24VGNpS0IwrOZ2ms2P1QE3Xa5X9p4phx0aUgzYzHW6I= +github.com/google/go-containerregistry v0.20.7/go.mod h1:Lx5LCZQjLH1QBaMPeGwsME9biPeo1lPx6lbGj/UmzgM= github.com/google/go-github v17.0.0+incompatible h1:N0LgJ1j65A7kfXrZnUDaYCs/Sf4rEjNlfyDHW9dolSY= github.com/google/go-github v17.0.0+incompatible/go.mod h1:zLgOLi98H3fifZn+44m+umXrS52loVEgC2AApnigrVQ= github.com/google/go-querystring v1.1.0 h1:AnCroh3fv4ZBgVIf1Iwtovgjaw/GiKJo8M8yD/fhyJ8= @@ -335,47 +326,35 @@ github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaU github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/gorilla/mux v1.7.0/go.mod h1:1lud6UwP+6orDFRuTfBEV8e9/aOM/c4fVVCaMa2zaAs= github.com/gorilla/mux v1.8.1 h1:TuBL49tXwgrFYWhqrNgrUNEY92u81SPhu7sTdzQEiWY= github.com/gorilla/mux v1.8.1/go.mod h1:AKf9I4AEqPTmMytcMc0KkNouC66V3BtZ4qD5fmWSiMQ= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674 h1:JeSE6pjso5THxAzdVpqr6/geYxZytqFMBCOtn/ujyeo= github.com/gorilla/websocket v1.5.4-0.20250319132907-e064f32e3674/go.mod h1:r4w70xmWCQKmi1ONH4KIaBptdivuRPyosB9RmPlGEwA= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3 h1:NmZ1PKzSTQbuGHw9DGPFomqkkLWMC+vZCkfs+FHv1Vg= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.3/go.mod h1:zQrxl1YP88HQlA6i9c63DSVPFklWpGX4OWAc9bFuaH4= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed h1:5upAirOpQc1Q53c0bnx2ufif5kANL7bfZWcc6VJWJd8= -github.com/hailocab/go-hostpool v0.0.0-20160125115350-e80d13ce29ed/go.mod h1:tMWxXQ9wFIaZeTI9F+hmhFiGpFmhOHzyShyFUhRm0H4= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0 h1:HWRh5R2+9EifMyIHV7ZV+MIZqgz+PMpZ14Jynv3O2Zs= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.28.0/go.mod h1:JfhWUomR1baixubs02l85lZYYOm7LV6om4ceouMv45c= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= +github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= +github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo= github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM= -github.com/hashicorp/go-version v1.8.0 h1:KAkNb1HAiZd1ukkxDFGmokVZe1Xy9HG6NUp+bPle2i4= -github.com/hashicorp/go-version v1.8.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= -github.com/in-toto/in-toto-golang v0.9.0 h1:tHny7ac4KgtsfrG6ybU8gVOZux2H8jN05AXJ9EBM1XU= -github.com/in-toto/in-toto-golang v0.9.0/go.mod h1:xsBVrVsHNsB61++S6Dy2vWosKhuA3lUTQd+eF9HdeMo= -github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/hashicorp/go-version v1.9.0 h1:CeOIz6k+LoN3qX9Z0tyQrPtiB1DFYRPfCIBtaXPSCnA= +github.com/hashicorp/go-version v1.9.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= +github.com/in-toto/attestation v1.1.2 h1:MBFn6lsMq6dptQZJBhalXTcWMb/aJy3V+GX3VYj/V1E= +github.com/in-toto/attestation v1.1.2/go.mod h1:gYFddHMZj3DiQ0b62ltNi1Vj5rC879bTmBbrv9CRHpM= +github.com/in-toto/in-toto-golang v0.10.0 h1:+s2eZQSK3WmWfYV85qXVSBfqgawi/5L02MaqA4o/tpM= +github.com/in-toto/in-toto-golang v0.10.0/go.mod h1:wjT4RiyFlLWCmLUJjwB8oZcjaq7HA390aMJcD3xXgmg= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf h1:FtEj8sfIcaaBfAKrE1Cwb61YDtYq9JxChK1c7AKce7s= github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf/go.mod h1:yrqSXGoD/4EKfF26AOGzscPOgTTJcyAwM2rpixWT+t4= -github.com/jinzhu/gorm v0.0.0-20170222002820-5409931a1bb8 h1:CZkYfurY6KGhVtlalI4QwQ6T0Cu6iuY3e0x5RLu96WE= -github.com/jinzhu/gorm v0.0.0-20170222002820-5409931a1bb8/go.mod h1:Vla75njaFJ8clLU1W44h34PjIkijhjHIYnZxMqCdxqo= -github.com/jinzhu/inflection v0.0.0-20170102125226-1c35d901db3d h1:jRQLvyVGL+iVtDElaEIDdKwpPqUIZJfzkNLV34htpEc= -github.com/jinzhu/inflection v0.0.0-20170102125226-1c35d901db3d/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= -github.com/jinzhu/now v1.1.1/go.mod h1:d3SSVoowX0Lcu0IBviAWJpolVfI5UJVZZ7cO71lE/z8= github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0= github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4= github.com/jonboulle/clockwork v0.5.0 h1:Hyh9A8u51kptdkR+cqRpT1EebBwTn1oK9YfGYbdFz6I= github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= -github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= -github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= github.com/json-iterator/go v1.1.12 h1:PV8peI4a0ysnczrg+LtxykD8LfKY9ML6u2jnxaEnrnM= github.com/json-iterator/go v1.1.12/go.mod h1:e30LSqwooZae/UwlEbR2852Gd8hjQvJoHmT4TnhNGBo= -github.com/juju/loggo v0.0.0-20190526231331-6e530bcce5d8/go.mod h1:vgyd7OREkbtVEN/8IXZe5Ooef3LQePvuBm9UWj6ZL8U= -github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/k14s/difflib v0.0.0-20240118055029-596a7a5585c3 h1:q2ikACDbDDbyUcN9JkDcNMGhIx1EBRkctAsPZMr35qM= github.com/k14s/difflib v0.0.0-20240118055029-596a7a5585c3/go.mod h1:B0xN2MiNBGWOWi9CcfAo9LBI8IU4J1utlbOIJCsmKr4= github.com/k14s/starlark-go v0.0.0-20200720175618-3a5c849cc368 h1:4bcRTTSx+LKSxMWibIwzHnDNmaN1x52oEpvnjCy+8vk= @@ -384,28 +363,16 @@ github.com/k14s/ytt v0.39.0 h1:SSdF030TVUBTP9lGge51v5GLgUjgu49B7l/YPzzrm8g= github.com/k14s/ytt v0.39.0/go.mod h1:JLCkplRQQm6X+4FqgAYrwvDtVxzMCZxe88bH1kr4bgQ= github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/klauspost/compress v1.18.1 h1:bcSGx7UbpBqMChDtsF28Lw6v/G94LPrrbMbdC3JH2co= -github.com/klauspost/compress v1.18.1/go.mod h1:ZQFFVG+MdnR0P+l6wpXgIL4NTtwiKIdBnrBd8Nrxr+0= -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/klauspost/compress v1.18.5 h1:/h1gH5Ce+VWNLSWqPzOVn6XBO+vJbCNGvjoaGBFW2IE= +github.com/klauspost/compress v1.18.5/go.mod h1:cwPg85FWrGar70rWktvGQj8/hthj3wpl0PGDogxkrSQ= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8 h1:AkaSdXYQOWeaO3neb8EM634ahkXXe3jYbVh/F9lq+GI= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= -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/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc= -github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= -github.com/lib/pq v0.0.0-20150723085316-0dad96c0b94f/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de h1:9TO3cAIGXtEhnIaL+V+BEER86oLrvS+kWobKpbJuye0= github.com/liggitt/tabwriter v0.0.0-20181228230101-89fcab3d43de/go.mod h1:zAbeS9B/r2mtpb6U+EI2rYA5OAXxsYw6wTamcNW+zcE= -github.com/magiconair/properties v1.5.3/go.mod h1:PppfXfuXeibc/6YijjN8zIbojt8czPbwD3XqdrwzmxQ= -github.com/magiconair/properties v1.8.9 h1:nWcCbLq1N2v/cpNsy5WvQ37Fb+YElfq20WJ/a8RkpQM= -github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.14 h1:9A9LHSqF/7dyVVX6g0U9cwm9pG3kP9gSzcuIPHPsaIE= github.com/mattn/go-colorable v0.1.14/go.mod h1:6LmQG8QLFO4G5z1gPvYEzlUgJ2wF+stgPZH1UqBm1s8= @@ -417,30 +384,28 @@ github.com/mattn/go-runewidth v0.0.19 h1:v++JhqYnZuu5jSKrk9RbgF5v4CGUjqRfBm05byF github.com/mattn/go-runewidth v0.0.19/go.mod h1:XBkDxAl56ILZc9knddidhrOlY5R/pDhgLpndooCuJAs= github.com/mattn/go-shellwords v1.0.12 h1:M2zGm7EW6UQJvDeQxo4T51eKPurbeFbe8WtebGE2xrk= github.com/mattn/go-shellwords v1.0.12/go.mod h1:EZzvwXDESEeg03EKmM+RmDnNOPKG4lLtQsUlTZDWQ8Y= -github.com/mattn/go-sqlite3 v1.6.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= -github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= -github.com/miekg/pkcs11 v1.0.2/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= -github.com/miekg/pkcs11 v1.1.1 h1:Ugu9pdy6vAYku5DEpVWVFPYnzV+bxB+iRdbuFSu7TvU= -github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0= github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0= github.com/mitchellh/hashstructure/v2 v2.0.2 h1:vGKWl0YJqUNxE8d+h8f6NJLcCJrgbhC4NcD46KavDd4= github.com/mitchellh/hashstructure/v2 v2.0.2/go.mod h1:MG3aRVU/N29oo/V/IhBX8GR/zz4kQkprJgF2EVszyDE= -github.com/mitchellh/mapstructure v0.0.0-20150613213606-2caf8efc9366/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= -github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/moby/buildkit v0.26.3 h1:D+ruZVAk/3ipRq5XRxBH9/DIFpRjSlTtMbghT5gQP9g= -github.com/moby/buildkit v0.26.3/go.mod h1:4T4wJzQS4kYWIfFRjsbJry4QoxDBjK+UGOEOs1izL7w= +github.com/moby/buildkit v0.29.0 h1:wxLEFbCOJntEDjSNNN2YWd8zxltZxT5muDQ0LzpbtpU= +github.com/moby/buildkit v0.29.0/go.mod h1:Dmv2FeDe34t75QuzeU87rBoZpAAkcpT5zeu4hXzmASc= github.com/moby/docker-image-spec v1.3.1 h1:jMKff3w6PgbfSa69GfNg+zN/XLhfXJGnEx3Nl2EsFP0= github.com/moby/docker-image-spec v1.3.1/go.mod h1:eKmb5VW8vQEh/BAr2yvVNvuiJuY6UIocYsFu/DxxRpo= -github.com/moby/go-archive v0.1.0 h1:Kk/5rdW/g+H8NHdJW2gsXyZ7UnzvJNOy6VKJqueWdcQ= -github.com/moby/go-archive v0.1.0/go.mod h1:G9B+YoujNohJmrIYFBpSd54GTUB4lt9S+xVQvsJyFuo= +github.com/moby/go-archive v0.2.0 h1:zg5QDUM2mi0JIM9fdQZWC7U8+2ZfixfTYoHL7rWUcP8= +github.com/moby/go-archive v0.2.0/go.mod h1:mNeivT14o8xU+5q1YnNrkQVpK+dnNe/K6fHqnTg4qPU= github.com/moby/locker v1.0.1 h1:fOXqR41zeveg4fFODix+1Ch4mj/gT0NE1XJbp/epuBg= github.com/moby/locker v1.0.1/go.mod h1:S7SDdo5zpBK84bzzVlKr2V0hz+7x9hWbYC/kq7oQppc= -github.com/moby/patternmatcher v0.6.0 h1:GmP9lR19aU5GqSSFko+5pRqHi+Ohk1O69aFiKkVGiPk= -github.com/moby/patternmatcher v0.6.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= +github.com/moby/moby/api v1.54.1 h1:TqVzuJkOLsgLDDwNLmYqACUuTehOHRGKiPhvH8V3Nn4= +github.com/moby/moby/api v1.54.1/go.mod h1:+RQ6wluLwtYaTd1WnPLykIDPekkuyD/ROWQClE83pzs= +github.com/moby/moby/client v0.4.0 h1:S+2XegzHQrrvTCvF6s5HFzcrywWQmuVnhOXe2kiWjIw= +github.com/moby/moby/client v0.4.0/go.mod h1:QWPbvWchQbxBNdaLSpoKpCdf5E+WxFAgNHogCWDoa7g= +github.com/moby/patternmatcher v0.6.1 h1:qlhtafmr6kgMIJjKJMDmMWq7WLkKIo23hsrpR3x084U= +github.com/moby/patternmatcher v0.6.1/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= +github.com/moby/policy-helpers v0.0.0-20260324161837-b7c0b994300b h1:lvBBM2ACrsG5/O1G1caEwlh0XeqA89IQK3xq0Sh/5NI= +github.com/moby/policy-helpers v0.0.0-20260324161837-b7c0b994300b/go.mod h1:Cbc1brDwYl1K294MmZB+6WhQR9Tr24hfhgSGND4UlL0= github.com/moby/spdystream v0.5.0 h1:7r0J1Si3QO/kjRitvSLVVFUjxMEb/YLj6S9FF62JBCU= github.com/moby/spdystream v0.5.0/go.mod h1:xBAYlnt/ay+11ShkdFKNAG7LsyK/tmNBVvVOwrfMgdI= github.com/moby/sys/atomicwriter v0.1.0 h1:kw5D/EqkBwsBFi0ss9v1VG3wIkVhzGvLklJ+w3A14Sw= @@ -464,8 +429,6 @@ github.com/moby/term v0.5.2/go.mod h1:d3djjFCrjnB+fl8NJux+EJzu0msscUP+f8it8hPkFL github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd h1:TRLaZ9cD/w8PVh93nsPXa1VrQ6jlwL5oN8l14QlcNfg= github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/modern-go/reflect2 v1.0.2/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee h1:W5t00kpgFdJifH4BDsTlE89Zl93FEloxaWZfGcifgq8= github.com/modern-go/reflect2 v1.0.3-0.20250322232337-35a7c28c31ee/go.mod h1:yWuevngMOJpCy52FWWMvUC8ws7m/LJsjYzDa0/r8luk= @@ -473,46 +436,39 @@ github.com/morikuni/aec v1.1.0 h1:vBBl0pUnvi/Je71dsRrhMBtreIqNMYErSAbEeb8jrXQ= github.com/morikuni/aec v1.1.0/go.mod h1:xDRgiq/iw5l+zkao76YTKzKttOp2cwPEne25HDkJnBw= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822 h1:C3w9PqII01/Oq1c1nUAm88MOHcQC9l5mIlSMApZMrHA= github.com/munnerz/goautoneg v0.0.0-20191010083416-a7dc8b61c822/go.mod h1:+n7T8mK8HuQTcFwEeznm/DIxMOiR9yIdICNftLE1DvQ= -github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f h1:y5//uYreIhSUg3J1GEMiLbxo1LJaP8RfCpH6pymGZus= github.com/mxk/go-flowrate v0.0.0-20140419014527-cca7078d478f/go.mod h1:ZdcZmHo+o7JKHSa8/e818NopupXU1YMK5fe1lsApnBw= -github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= github.com/nxadm/tail v1.4.8 h1:nPr65rt6Y5JFSKQO7qToXr7pePgD6Gwiw05lkbyAQTE= github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= -github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= -github.com/onsi/ginkgo v1.12.0/go.mod h1:oUhWkIvk5aDxtKvDDuw8gItl8pKl42LzjC9KZE0HfGg= +github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= +github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= +github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= github.com/onsi/ginkgo v1.16.4 h1:29JGrr5oVBm5ulCWet69zQkzWipVXIol6ygQUe/EzNc= github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= -github.com/onsi/ginkgo/v2 v2.23.0 h1:FA1xjp8ieYDzlgS5ABTpdUDB7wtngggONc8a7ku2NqQ= -github.com/onsi/ginkgo/v2 v2.23.0/go.mod h1:zXTP6xIp3U8aVuXN8ENK9IXRaTjFnpVB9mGmaSRvxnM= -github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= -github.com/onsi/gomega v1.9.0/go.mod h1:Ho0h+IUsWyvy1OpqCwxlQ/21gkhVunqlU8fDGcoTdcA= -github.com/onsi/gomega v1.36.2 h1:koNYke6TVk6ZmnyHrCXba/T/MoLBXFjeC1PtvYgw0A8= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= -github.com/opencontainers/go-digest v0.0.0-20170106003457-a6d0ee40d420/go.mod h1:cMLVZDEM3+U2I4VmLI6N8jQYUd2OVphdqWwCJHrFt2s= +github.com/onsi/ginkgo/v2 v2.27.2 h1:LzwLj0b89qtIy6SSASkzlNvX6WktqurSHwkk2ipF/Ns= +github.com/onsi/ginkgo/v2 v2.27.2/go.mod h1:ArE1D/XhNXBXCBkKOLkbsb2c81dQHCRcF5zwn/ykDRo= +github.com/onsi/gomega v1.38.2 h1:eZCjf2xjZAqe+LeWvKb5weQ+NcPwX84kqJ0cZNxok2A= +github.com/onsi/gomega v1.38.2/go.mod h1:W2MJcYxRGV63b418Ai34Ud0hEdTVXq9NW9+Sx6uXf3k= github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8Oi/yOhh5U= github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= -github.com/opencontainers/image-spec v1.0.1/go.mod h1:BtxoFyWECRxE4U/7sNtV5W15zMzWCbyJoFRP3s7yZA0= github.com/opencontainers/image-spec v1.1.1 h1:y0fUlFfIZhPF1W537XOLg0/fcx6zcHCJwooC2xJA040= github.com/opencontainers/image-spec v1.1.1/go.mod h1:qpqAh3Dmcf36wStyyWU+kCeDgrGnAve2nCC8+7h8Q0M= github.com/opencontainers/runtime-spec v1.3.0 h1:YZupQUdctfhpZy3TM39nN9Ika5CBWT5diQ8ibYCRkxg= github.com/opencontainers/runtime-spec v1.3.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= -github.com/opencontainers/selinux v1.12.0 h1:6n5JV4Cf+4y0KNXW48TLj5DwfXpvWlxXplUkdTrmPb8= -github.com/opencontainers/selinux v1.12.0/go.mod h1:BTPX+bjVbWGXw7ZZWUbdENt8w0htPSrlgOOysQaU62U= -github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11 h1:eTNDkNRNV5lZvUbVM9Nop0lBcljSnA8rZX6yQPZ0ZnU= -github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11/go.mod h1:EmVJt97N+pfWFsli/ipXTBZqSG5F5KGQhm3c3IsGq1o= -github.com/opentracing/opentracing-go v1.1.0 h1:pWlfV3Bxv7k65HYwkikxat0+s3pV4bsqf19k25Ur8rU= -github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opencontainers/selinux v1.13.1 h1:A8nNeceYngH9Ow++M+VVEwJVpdFmrlxsN22F+ISDCJE= +github.com/opencontainers/selinux v1.13.1/go.mod h1:S10WXZ/osk2kWOYKy1x2f/eXF5ZHJoUs8UU/2caNRbg= github.com/otiai10/copy v1.14.1 h1:5/7E6qsUMBaH5AnQ0sSLzzTg1oTECmcCmT6lvF45Na8= github.com/otiai10/copy v1.14.1/go.mod h1:oQwrEDDOci3IM8dJF0d8+jnbfPDllW6vUjNc3DoZm9I= github.com/otiai10/mint v1.6.3 h1:87qsV/aw1F5as1eH1zS/yqHY85ANKVMgkDrf9rcxbQs= github.com/otiai10/mint v1.6.3/go.mod h1:MJm72SBthJjz8qhefc4z1PYEieWmy8Bku7CjcAqyUSM= +github.com/package-url/packageurl-go v0.1.1 h1:KTRE0bK3sKbFKAk3yy63DpeskU7Cvs/x/Da5l+RtzyU= +github.com/package-url/packageurl-go v0.1.1/go.mod h1:uQd4a7Rh3ZsVg5j0lNyAfyxIeGde9yrlhjF78GzeW0c= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= +github.com/pelletier/go-toml/v2 v2.2.4 h1:mye9XuhQ6gvn5h28+VilKrrPoQVanw5PMw/TB0t5Ec4= +github.com/pelletier/go-toml/v2 v2.2.4/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5 h1:Ii+DKncOVM8Cu1Hc+ETb5K+23HdAMvESYE3ZJ5b5cMI= github.com/phayes/freeport v0.0.0-20220201140144-74d24b5ae9f5/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= -github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4= github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10 h1:GFCKgmp0tecUJ0sJuv4pzYCqS9+RGSn52M3FUwPs+uo= @@ -520,26 +476,12 @@ github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1 github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= -github.com/prometheus/client_golang v0.9.0-pre1.0.20180209125602-c332b6f63c06/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= -github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= -github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.23.2 h1:Je96obch5RDVy3FDMndoUsjAhG5Edi49h0RJWRi/o0o= github.com/prometheus/client_golang v1.23.2/go.mod h1:Tb1a6LWHB3/SPIzCoaDXI4I8UHKeFTEQ1YCr+0Gyqmg= -github.com/prometheus/client_model v0.0.0-20171117100541-99fa1f4be8e5/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= -github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.6.2 h1:oBsgwpGs7iVziMvrGhE53c/GrLUsZdHnqNwqPLxwZyk= github.com/prometheus/client_model v0.6.2/go.mod h1:y3m2F6Gdpfy6Ut/GBsUqTWZqCUvMVzSfMLjcu6wAwpE= -github.com/prometheus/common v0.0.0-20180110214958-89604d197083/go.mod h1:daVV7qP5qjZbuso7PdcryaAu0sAZbrN9i7WWcTMWvro= -github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= -github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.67.2 h1:PcBAckGFTIHt2+L3I33uNRTlKTplNzFctXcWhPyAEN8= github.com/prometheus/common v0.67.2/go.mod h1:63W3KZb1JOKgcjlIr64WW/LvFGAqKPj0atm+knVGEko= -github.com/prometheus/procfs v0.0.0-20180125133057-cb4147076ac7/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= -github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= -github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= github.com/prometheus/procfs v0.19.2 h1:zUMhqEW66Ex7OXIiDkll3tl9a1ZdilUOd/F6ZXw4Vws= github.com/prometheus/procfs v0.19.2/go.mod h1:M0aotyiemPhBCM0z5w87kL22CxfcH05ZpYlu+b4J7mw= github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ= @@ -548,70 +490,63 @@ github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+xZwwfKHgph2lxBw= github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU= -github.com/secure-systems-lab/go-securesystemslib v0.9.1 h1:nZZaNz4DiERIQguNy0cL5qTdn9lR8XKHf4RUyG1Sx3g= -github.com/secure-systems-lab/go-securesystemslib v0.9.1/go.mod h1:np53YzT0zXGMv6x4iEWc9Z59uR+x+ndLwCLqPYpLXVU= +github.com/secure-systems-lab/go-securesystemslib v0.10.0 h1:l+H5ErcW0PAehBNrBxoGv1jjNpGYdZ9RcheFkB2WI14= +github.com/secure-systems-lab/go-securesystemslib v0.10.0/go.mod h1:MRKONWmRoFzPNQ9USRF9i1mc7MvAVvF1LlW8X5VWDvk= github.com/shibumi/go-pathspec v1.3.0 h1:QUyMZhFo0Md5B8zV8x2tesohbb5kfbpTi9rBnKh5dkI= github.com/shibumi/go-pathspec v1.3.0/go.mod h1:Xutfslp817l2I1cZvgcfeMQJG5QnU2lh5tVaaMCl3jE= -github.com/sirupsen/logrus v1.0.6/go.mod h1:pMByvHTf9Beacp5x1UXfOR9xyW/9antXMhjMPG0dEzc= -github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= -github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q= -github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ= -github.com/sirupsen/logrus v1.9.3/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sigstore/protobuf-specs v0.5.0 h1:F8YTI65xOHw70NrvPwJ5PhAzsvTnuJMGLkA4FIkofAY= +github.com/sigstore/protobuf-specs v0.5.0/go.mod h1:+gXR+38nIa2oEupqDdzg4qSBT0Os+sP7oYv6alWewWc= +github.com/sigstore/rekor v1.5.0 h1:rL7SghHd5HLCtsCrxw0yQg+NczGvM75EjSPPWuGjaiQ= +github.com/sigstore/rekor v1.5.0/go.mod h1:D7JoVCUkxwQOpPDNYeu+CE8zeBC18Y5uDo6tF8s2rcQ= +github.com/sigstore/rekor-tiles/v2 v2.0.1 h1:1Wfz15oSRNGF5Dzb0lWn5W8+lfO50ork4PGIfEKjZeo= +github.com/sigstore/rekor-tiles/v2 v2.0.1/go.mod h1:Pjsbhzj5hc3MKY8FfVTYHBUHQEnP0ozC4huatu4x7OU= +github.com/sigstore/sigstore v1.10.4 h1:ytOmxMgLdcUed3w1SbbZOgcxqwMG61lh1TmZLN+WeZE= +github.com/sigstore/sigstore v1.10.4/go.mod h1:tDiyrdOref3q6qJxm2G+JHghqfmvifB7hw+EReAfnbI= +github.com/sigstore/sigstore-go v1.1.4 h1:wTTsgCHOfqiEzVyBYA6mDczGtBkN7cM8mPpjJj5QvMg= +github.com/sigstore/sigstore-go v1.1.4/go.mod h1:2U/mQOT9cjjxrtIUeKDVhL+sHBKsnWddn8URlswdBsg= +github.com/sigstore/timestamp-authority/v2 v2.0.3 h1:sRyYNtdED/ttLCMdaYnwpf0zre1A9chvjTnCmWWxN8Y= +github.com/sigstore/timestamp-authority/v2 v2.0.3/go.mod h1:mDaHxkt3HmZYoIlwYj4QWo0RUr7VjYU52aVO5f5Qb3I= +github.com/sirupsen/logrus v1.9.4 h1:TsZE7l11zFCLZnZ+teH4Umoq5BhEIfIzfRDZ1Uzql2w= +github.com/sirupsen/logrus v1.9.4/go.mod h1:ftWc9WdOfJ0a92nsE2jF5u5ZwH8Bv2zdeOC42RjbV2g= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA= github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog= -github.com/spdx/tools-golang v0.5.5 h1:61c0KLfAcNqAjlg6UNMdkwpMernhw3zVRwDZ2x9XOmk= -github.com/spdx/tools-golang v0.5.5/go.mod h1:MVIsXx8ZZzaRWNQpUDhC4Dud34edUYJYecciXgrw5vE= -github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY= -github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v0.0.0-20150508191742-4d07383ffe94/go.mod h1:r2rcYCSwa1IExKTDiTfzaxqT2FNHs8hODu4LnUfgKEg= -github.com/spf13/cast v1.3.1 h1:nFm6S0SMdyzrzcmThSipiEubIDy8WEXKNZ0UOgiRpng= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v0.0.1/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spdx/tools-golang v0.5.7 h1:+sWcKGnhwp3vLdMqPcLdA6QK679vd86cK9hQWH3AwCg= +github.com/spdx/tools-golang v0.5.7/go.mod h1:jg7w0LOpoNAw6OxKEzCoqPC2GCTj45LyTlVmXubDsYw= github.com/spf13/cobra v1.10.2 h1:DMTTonx5m65Ic0GOoRY2c16WCbHxOOw6xxezuLaBpcU= github.com/spf13/cobra v1.10.2/go.mod h1:7C1pvHqHw5A4vrJfjNwvOdzYu0Gml16OCs2GRiTUUS4= -github.com/spf13/jwalterweatherman v0.0.0-20141219030609-3d60171a6431/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= -github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.0/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.9/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/pflag v1.0.10 h1:4EBh2KAYBwaONj6b2Ye1GiHfwjqyROoF4RwYO+vPwFk= github.com/spf13/pflag v1.0.10/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v0.0.0-20150530192845-be5ff3e4840c/go.mod h1:A8kyI5cUJhb8N+3pkfONlcEcZbueH6nhAm0Fq7SrnBM= -github.com/spf13/viper v1.8.1 h1:Kq1fyeebqsBfbjZj4EL7gj2IO0mMaiyjYUWcUsl2O44= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE= github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo= github.com/stretchr/objx v0.5.2 h1:xuMeJ0Sdp5ZMRXx/aWO6RZxdr3beISkG5/G/aIRr3pY= github.com/stretchr/objx v0.5.2/go.mod h1:FRsXN1f5AsAjCGJKqEizvkpNtU+EGNCLh3NxZ/8L+MA= -github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI= -github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= -github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= github.com/stretchr/testify v1.8.2/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/subosito/gotenv v1.2.0 h1:Slr1R9HxAlEKefgq5jn9U+DnETlIUa6HfgEzj0g5d7s= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c= -github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= +github.com/theupdateframework/go-tuf v0.7.0 h1:CqbQFrWo1ae3/I0UCblSbczevCCbS31Qvs5LdxRWqRI= +github.com/theupdateframework/go-tuf/v2 v2.4.1 h1:K6ewW064rKZCPkRo1W/CTbTtm/+IB4+coG1iNURAGCw= +github.com/theupdateframework/go-tuf/v2 v2.4.1/go.mod h1:Nex2enPVYDFCklrnbTzl3OVwD7fgIAj0J5++z/rvCj8= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375 h1:QB54BJwA6x8QU9nHY3xJSZR2kX9bgpZekRKGkLTmEXA= github.com/tilt-dev/fsnotify v1.4.8-0.20220602155310-fff9c274a375/go.mod h1:xRroudyp5iVtxKqZCrA6n2TLFRBf8bmnjr1UD4x+z7g= github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323 h1:r0p7fK56l8WPequOaR3i9LBqfPtEdXIQbUTzT55iqT4= github.com/tonistiigi/dchapes-mode v0.0.0-20250318174251-73d941a28323/go.mod h1:3Iuxbr0P7D3zUzBMAZB+ois3h/et0shEz0qApgHYGpY= -github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f h1:MoxeMfHAe5Qj/ySSBfL8A7l1V+hxuluj8owsIEEZipI= -github.com/tonistiigi/fsutil v0.0.0-20250605211040-586307ad452f/go.mod h1:BKdcez7BiVtBvIcef90ZPc6ebqIWr4JWD7+EvLm6J98= +github.com/tonistiigi/fsutil v0.0.0-20251211185533-a2aa163d723f h1:Z4NEQ86qFl1mHuCu9gwcE+EYCwDKfXAYXZbdIXyxmEA= +github.com/tonistiigi/fsutil v0.0.0-20251211185533-a2aa163d723f/go.mod h1:BKdcez7BiVtBvIcef90ZPc6ebqIWr4JWD7+EvLm6J98= github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0 h1:2f304B10LaZdB8kkVEaoXvAMVan2tl9AiK4G0odjQtE= github.com/tonistiigi/go-csvvalue v0.0.0-20240814133006-030d3b2625d0/go.mod h1:278M4p8WsNh3n4a1eqiFcV2FGk7wE5fwUpUom9mK9lE= github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea h1:SXhTLE6pb6eld/v/cCndK0AMpt1wiVFb/YYmqB3/QG0= github.com/tonistiigi/units v0.0.0-20180711220420-6950e57a87ea/go.mod h1:WPnis/6cRcDZSUvVmezrxJPkiO87ThFYsoUiMwWNDJk= github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab h1:H6aJ0yKQ0gF49Qb2z5hI1UHxSQt4JMyxebFR15KnApw= github.com/tonistiigi/vt100 v0.0.0-20240514184818-90bafcd6abab/go.mod h1:ulncasL3N9uLrVann0m+CDlJKWsIAP34MPcOJF6VRvc= +github.com/transparency-dev/formats v0.0.0-20251017110053-404c0d5b696c h1:5a2XDQ2LiAUV+/RjckMyq9sXudfrPSuCY4FuPC1NyAw= +github.com/transparency-dev/formats v0.0.0-20251017110053-404c0d5b696c/go.mod h1:g85IafeFJZLxlzZCDRu4JLpfS7HKzR+Hw9qRh3bVzDI= +github.com/transparency-dev/merkle v0.0.2 h1:Q9nBoQcZcgPamMkGn7ghV8XiTZ/kRxn1yCG81+twTK4= +github.com/transparency-dev/merkle v0.0.2/go.mod h1:pqSy+OXefQ1EDUVmAJ8MUhHB9TXGuzVAT58PqBoHz1A= github.com/vbatts/tar-split v0.12.2 h1:w/Y6tjxpeiFMR47yzZPlPj/FcPLpXbTUi/9H7d3CPa4= github.com/vbatts/tar-split v0.12.2/go.mod h1:eF6B6i6ftWQcDqEn3/iGFRFRo8cBIMSJVOpnNdfTMFA= github.com/vito/go-interact v1.0.2 h1:viJuANio3WH9utUG4rKbJC9V3JR5JgYNS+i0efeA+GU= @@ -635,32 +570,26 @@ go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0. go.opentelemetry.io/contrib/instrumentation/net/http/httptrace/otelhttptrace v0.63.0/go.mod h1:rjbQTDEPQymPE0YnRQp9/NuPwwtL0sesz/fnqRW/v84= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0 h1:RbKq8BG0FI8OiXhBfcRtqqHcZcka+gU3cskNuf05R18= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.63.0/go.mod h1:h06DGIukJOevXaj/xrNjhi/2098RZzcLTbc0jDAUbsg= -go.opentelemetry.io/otel v1.43.0 h1:mYIM03dnh5zfN7HautFE4ieIig9amkNANT+xcVxAj9I= -go.opentelemetry.io/otel v1.43.0/go.mod h1:JuG+u74mvjvcm8vj8pI5XiHy1zDeoCS2LB1spIq7Ay0= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0 h1:GqRJVj7UmLjCVyVJ3ZFLdPRmhDUp2zFmQe3RHIOsw24= -go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.38.0/go.mod h1:ri3aaHSmCTVYu2AWv44YMauwAQc0aqI9gHKIcSbI1pU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0 h1:lwI4Dc5leUqENgGuQImwLo4WnuXFPetmPpkLi2IrX54= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.38.0/go.mod h1:Kz/oCE7z5wuyhPxsXDuaPteSWqjSBD5YaSdbxZYGbGk= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0 h1:aTL7F04bJHUlztTsNGJ2l+6he8c+y/b//eR0jjjemT4= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.38.0/go.mod h1:kldtb7jDTeol0l3ewcmd8SDvx3EmIE7lyvqbasU3QC4= -go.opentelemetry.io/otel/metric v1.39.0 h1:d1UzonvEZriVfpNKEVmHXbdf909uGTOQjA0HF0Ls5Q0= -go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= -go.opentelemetry.io/otel/sdk v1.39.0 h1:nMLYcjVsvdui1B/4FRkwjzoRVsMK8uL/cj0OyhKzt18= -go.opentelemetry.io/otel/sdk v1.39.0/go.mod h1:vDojkC4/jsTJsE+kh+LXYQlbL8CgrEcwmt1ENZszdJE= -go.opentelemetry.io/otel/sdk/metric v1.39.0 h1:cXMVVFVgsIf2YL6QkRF4Urbr/aMInf+2WKg+sEJTtB8= -go.opentelemetry.io/otel/sdk/metric v1.39.0/go.mod h1:xq9HEVH7qeX69/JnwEfp6fVq5wosJsY1mt4lLfYdVew= -go.opentelemetry.io/otel/trace v1.39.0 h1:2d2vfpEDmCJ5zVYz7ijaJdOF59xLomrvj7bjt6/qCJI= -go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0 h1:wpMfgF8E1rkrT1Z6meFh1NDtownE9Ii3n3X2GJYjsaU= -go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= -go.opentelemetry.io/otel/metric v1.43.0 h1:d7638QeInOnuwOONPp4JAOGfbCEpYb+K6DVWvdxGzgM= -go.opentelemetry.io/otel/metric v1.43.0/go.mod h1:RDnPtIxvqlgO8GRW18W6Z/4P462ldprJtfxHxyKd2PY= -go.opentelemetry.io/otel/sdk v1.43.0 h1:pi5mE86i5rTeLXqoF/hhiBtUNcrAGHLKQdhg4h4V9Dg= -go.opentelemetry.io/otel/sdk v1.43.0/go.mod h1:P+IkVU3iWukmiit/Yf9AWvpyRDlUeBaRg6Y+C58QHzg= -go.opentelemetry.io/otel/sdk/metric v1.43.0 h1:S88dyqXjJkuBNLeMcVPRFXpRw2fuwdvfCGLEo89fDkw= -go.opentelemetry.io/otel/sdk/metric v1.43.0/go.mod h1:C/RJtwSEJ5hzTiUz5pXF1kILHStzb9zFlIEe85bhj6A= -go.opentelemetry.io/otel/trace v1.43.0 h1:BkNrHpup+4k4w+ZZ86CZoHHEkohws8AY+WTX09nk+3A= -go.opentelemetry.io/otel/trace v1.43.0/go.mod h1:/QJhyVBUUswCphDVxq+8mld+AvhXZLhe+8WVFxiFff0= +go.opentelemetry.io/otel v1.42.0 h1:lSQGzTgVR3+sgJDAU/7/ZMjN9Z+vUip7leaqBKy4sho= +go.opentelemetry.io/otel v1.42.0/go.mod h1:lJNsdRMxCUIWuMlVJWzecSMuNjE7dOYyWlqOXWkdqCc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0 h1:MdKucPl/HbzckWWEisiNqMPhRrAOQX8r4jTuGr636gk= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.42.0/go.mod h1:RolT8tWtfHcjajEH5wFIZ4Dgh5jpPdFXYV9pTAk/qjc= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.42.0 h1:H7O6RlGOMTizyl3R08Kn5pdM06bnH8oscSj7o11tmLA= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.42.0/go.mod h1:mBFWu/WOVDkWWsR7Tx7h6EpQB8wsv7P0Yrh0Pb7othc= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0 h1:THuZiwpQZuHPul65w4WcwEnkX2QIuMT+UFoOrygtoJw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.42.0/go.mod h1:J2pvYM5NGHofZ2/Ru6zw/TNWnEQp5crgyDeSrYpXkAw= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0 h1:zWWrB1U6nqhS/k6zYB74CjRpuiitRtLLi68VcgmOEto= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.42.0/go.mod h1:2qXPNBX1OVRC0IwOnfo1ljoid+RD0QK3443EaqVlsOU= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0 h1:uLXP+3mghfMf7XmV4PkGfFhFKuNWoCvvx5wP/wOXo0o= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.42.0/go.mod h1:v0Tj04armyT59mnURNUJf7RCKcKzq+lgJs6QSjHjaTc= +go.opentelemetry.io/otel/metric v1.42.0 h1:2jXG+3oZLNXEPfNmnpxKDeZsFI5o4J+nz6xUlaFdF/4= +go.opentelemetry.io/otel/metric v1.42.0/go.mod h1:RlUN/7vTU7Ao/diDkEpQpnz3/92J9ko05BIwxYa2SSI= +go.opentelemetry.io/otel/sdk v1.42.0 h1:LyC8+jqk6UJwdrI/8VydAq/hvkFKNHZVIWuslJXYsDo= +go.opentelemetry.io/otel/sdk v1.42.0/go.mod h1:rGHCAxd9DAph0joO4W6OPwxjNTYWghRWmkHuGbayMts= +go.opentelemetry.io/otel/sdk/metric v1.42.0 h1:D/1QR46Clz6ajyZ3G8SgNlTJKBdGp84q9RKCAZ3YGuA= +go.opentelemetry.io/otel/sdk/metric v1.42.0/go.mod h1:Ua6AAlDKdZ7tdvaQKfSmnFTdHx37+J4ba8MwVCYM5hc= +go.opentelemetry.io/otel/trace v1.42.0 h1:OUCgIPt+mzOnaUTpOQcBiM/PLQ/Op7oq6g4LenLmOYY= +go.opentelemetry.io/otel/trace v1.42.0/go.mod h1:f3K9S+IFqnumBkKhRJMeaZeNk9epyhnCmQh/EysQCdc= go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= go.uber.org/goleak v1.3.0 h1:2K3zAYmnTNqV73imy9J1T3WC+gmCePx2hEGkimedGto= @@ -671,32 +600,25 @@ go.yaml.in/yaml/v2 v2.4.3 h1:6gvOSjQoTB3vt1l+CU+tSyi/HOjfOjRLJ4YwYZGwRO0= go.yaml.in/yaml/v2 v2.4.3/go.mod h1:zSxWcmIDjOzPXpjlTTbAsKokqkDNAVtZO0WOMiT90s8= go.yaml.in/yaml/v3 v3.0.4 h1:tfq32ie2Jv2UxXFdLJdh3jXuOzWiL1fo0bu/FbuKpbc= go.yaml.in/yaml/v3 v3.0.4/go.mod h1:DhzuOOF2ATzADvBadXxruRBLzYTpT36CKvDb3+aBEFg= -go.yaml.in/yaml/v4 v4.0.0-rc.3 h1:3h1fjsh1CTAPjW7q/EMe+C8shx5d8ctzZTrLcs/j8Go= -go.yaml.in/yaml/v4 v4.0.0-rc.3/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= -golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= +go.yaml.in/yaml/v4 v4.0.0-rc.4 h1:UP4+v6fFrBIb1l934bDl//mmnoIZEDK0idg1+AIvX5U= +go.yaml.in/yaml/v4 v4.0.0-rc.4/go.mod h1:aZqd9kCMsGL7AuUv/m/PvWLdg5sjJsZ4oHDEnfPPfY0= golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= -golang.org/x/crypto v0.0.0-20190325154230-a5d413f7728c/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= -golang.org/x/crypto v0.0.0-20201117144127-c1f2f97bffc9/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= -golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= -golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= +golang.org/x/crypto v0.48.0 h1:/VRzVqiRSggnhY7gNRxPauEQ5Drw9haKdM0jqfcCFts= +golang.org/x/crypto v0.48.0/go.mod h1:r0kV5h3qnFPlQnBSrULhlsRfryS2pmewsg+XfMgkVos= golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546 h1:mgKeJMpvi0yx/sU5GsxQ7p6s2wtOnGAHZWCHUM4KGzY= golang.org/x/exp v0.0.0-20251023183803-a4bb9ffd2546/go.mod h1:j/pmGrbnkbPtQfxEe5D0VQhZC6qKbfKifgD0oM7sR70= golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= -golang.org/x/mod v0.29.0 h1:HV8lRxZC4l2cr3Zq1LvtOsi/ThTgWnUk/y64QSs8GwA= -golang.org/x/mod v0.29.0/go.mod h1:NyhrlYXJ2H4eJiRy/WDBO6HMqZQ6q9nk4JzS3NuCK+w= -golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/mod v0.33.0 h1:tHFzIWbBifEmbwtGz65eaWyGiGZatSrT9prnU8DbVL8= +golang.org/x/mod v0.33.0/go.mod h1:swjeQEj+6r7fODbD2cqrnje9PnziFuw4bmLbBZFrQ5w= golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= -golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= @@ -705,27 +627,22 @@ golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qx golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg= -golang.org/x/net v0.48.0 h1:zyQRTTrjc33Lhh0fBgT/H3oZq9WuvRR5gPC70xpDiQU= -golang.org/x/net v0.48.0/go.mod h1:+ndRgGjkh8FGtu1w1FGbEC31if4VrNVMuKTgcAAnQRY= -golang.org/x/oauth2 v0.34.0 h1:hqK/t4AKgbqWkdkcAeI8XLmbK+4m4G5YeQRrmiotGlw= -golang.org/x/oauth2 v0.34.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/net v0.51.0 h1:94R/GTO7mt3/4wIKpcR5gkGmRLOuE/2hNGeWq/GBIFo= +golang.org/x/net v0.51.0/go.mod h1:aamm+2QF5ogm02fjy5Bb7CQ0WMt1/WVM7FtyaTLlA9Y= +golang.org/x/oauth2 v0.35.0 h1:Mv2mzuHuZuY2+bkyWXIHMfhNdJAdwW3FuWeCPYN5GVQ= +golang.org/x/oauth2 v0.35.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.19.0 h1:vV+1eWNmZ5geRlYjzm2adRgW2/mcpevXNg50YZtPCE4= -golang.org/x/sync v0.19.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= -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-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sync v0.20.0 h1:e0PTpb7pjO8GAtTs2dQ6jYa5BWYlMuX047Dco/pItO4= +golang.org/x/sync v0.20.0/go.mod h1:9xrNwdLfx4jkKbNva9FpL6vEN7evnE43NNNJQ2LF3+0= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191002063906-3421d5a6bb1c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191120155948-bd437916bb0e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210331175145-43e1dd70ce54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -734,7 +651,6 @@ golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/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-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -748,8 +664,8 @@ golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k= golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo= golang.org/x/term v0.15.0/go.mod h1:BDl952bC7+uMoWR75FIrCDx79TPU9oHkTZ9yRbYOrX0= -golang.org/x/term v0.38.0 h1:PQ5pkm/rLO6HnxFR7N2lJHOZX6Kez5Y1gDSJla6jo7Q= -golang.org/x/term v0.38.0/go.mod h1:bSEAKrOT1W+VSu9TSCMtoGEOUcKxOKgl3LE5QEF/xVg= +golang.org/x/term v0.41.0 h1:QCgPso/Q3RTJx2Th4bDLqML4W6iJiaXFq2/ftQF13YU= +golang.org/x/term v0.41.0/go.mod h1:3pfBgksrReYfZ5lvYM0kSO0LIkAl4Yl2bXOkKP7Ec2A= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -757,8 +673,8 @@ golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -golang.org/x/text v0.32.0 h1:ZD01bjUt1FQ9WJ0ClOL5vxgxOI/sVCNgX1YtKwcY0mU= -golang.org/x/text v0.32.0/go.mod h1:o/rUWzghvpD5TXrTIBuJU77MTaN0ljMWE47kxGJQ7jY= +golang.org/x/text v0.34.0 h1:oL/Qq0Kdaqxa1KbNeMKwQq0reLCCaFtqu2eNuSeNHbk= +golang.org/x/text v0.34.0/go.mod h1:homfLqTYRFyVYemLBFl5GgL/DWEiH5wcsQ5gSh1yziA= golang.org/x/time v0.14.0 h1:MRx4UaLrDotUKUdCIqzPC48t1Y9hANFKIRpNx+Te8PI= golang.org/x/time v0.14.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= @@ -767,49 +683,33 @@ golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roY golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= -golang.org/x/tools v0.39.0 h1:ik4ho21kwuQln40uelmciQPp9SipgNDdrafrYA4TmQQ= -golang.org/x/tools v0.39.0/go.mod h1:JnefbkDPyD8UU2kI5fuf8ZX4/yUeh9W877ZeBONxUqQ= +golang.org/x/tools v0.41.0 h1:a9b8iMweWG+S0OBnlU36rzLp20z1Rp10w+IY2czHTQc= +golang.org/x/tools v0.41.0/go.mod h1:XSY6eDqxVNiYgezAVqqCeihT4j1U2CCsqvH3WhQpnlg= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -gonum.org/v1/gonum v0.16.0 h1:5+ul4Swaf3ESvrOnidPp4GZbzf0mxVQpDCYUQE7OJfk= -gonum.org/v1/gonum v0.16.0/go.mod h1:fef3am4MQ93R2HHpKnLk4/Tbh/s0+wqD5nfa6Pnwy4E= -google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217 h1:fCvbg86sFXwdrl5LgVcTEvNC+2txB5mgROGmRL5mrls= -google.golang.org/genproto/googleapis/api v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:+rXWjjaukWZun3mLfjmVnQi18E1AsFbDN9QdJ5YXLto= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217 h1:gRkg/vSppuSQoDjxyiGfN4Upv/h/DQmIR10ZU8dh4Ww= -google.golang.org/genproto/googleapis/rpc v0.0.0-20251202230838-ff82c1b0f217/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= -google.golang.org/grpc v1.79.3 h1:sybAEdRIEtvcD68Gx7dmnwjZKlyfuc61Dyo9pGXXkKE= -google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= -google.golang.org/grpc v1.0.5/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= -google.golang.org/grpc v1.77.0 h1:wVVY6/8cGA6vvffn+wWK5ToddbgdU3d8MNENr4evgXM= -google.golang.org/grpc v1.77.0/go.mod h1:z0BY1iVj0q8E1uSQCjL9cppRj+gnZjzDnzV0dHhrNig= -google.golang.org/protobuf v1.36.10 h1:AYd7cD/uASjIL6Q9LiTjz8JLcrh/88q5UObnmY3aOOE= -google.golang.org/protobuf v1.36.10/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= -gopkg.in/airbrake/gobrake.v2 v2.0.9/go.mod h1:/h5ZAUhDkGaJfjzjKLSjv6zCL6O0LLBxU4K+aSYdM/U= -gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/cenkalti/backoff.v2 v2.2.1 h1:eJ9UAg01/HIHG987TwxvnzK2MgxXq97YY6rYDpY9aII= -gopkg.in/cenkalti/backoff.v2 v2.2.1/go.mod h1:S0QdOvT2AlerfSBkp0O+dk+bbIMaNbEmVk876gPCthU= +gonum.org/v1/gonum v0.17.0 h1:VbpOemQlsSMrYmn7T2OUvQ4dqxQXU+ouZFQsZOx50z4= +gonum.org/v1/gonum v0.17.0/go.mod h1:El3tOrEuMpv2UdMrbNlKEh9vd86bmQ6vqIcDwxEOc1E= +google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57 h1:JLQynH/LBHfCTSbDWl+py8C+Rg/k1OVH3xfcaiANuF0= +google.golang.org/genproto/googleapis/api v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:kSJwQxqmFXeo79zOmbrALdflXQeAYcUbgS7PbpMknCY= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57 h1:mWPCjDEyshlQYzBpMNHaEof6UX1PmHcaUODUywQ0uac= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260209200024-4cfbd4190f57/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/grpc v1.80.0 h1:Xr6m2WmWZLETvUNvIUmeD5OAagMw3FiKmMlTdViWsHM= +google.golang.org/grpc v1.80.0/go.mod h1:ho/dLnxwi3EDJA4Zghp7k2Ec1+c2jqup0bFkw07bwF4= +google.golang.org/protobuf v1.36.11 h1:fV6ZwhNocDyBLK0dj+fg8ektcVegBBuEolpbTQyBNVE= +google.golang.org/protobuf v1.36.11/go.mod h1:HTf+CrKn2C3g5S8VImy6tdcUvCska2kB7j23XfzDpco= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/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/evanphx/json-patch.v4 v4.13.0 h1:czT3CmqEaQ1aanPc5SdlgQrrEIb8w/wwCvWWnfEbYzo= gopkg.in/evanphx/json-patch.v4 v4.13.0/go.mod h1:p8EYWUEYMpynmqDbY58zCKCFZw8pRWMG4EsWvDvM72M= -gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= -gopkg.in/gemnasium/logrus-airbrake-hook.v2 v2.1.2/go.mod h1:Xk6kEKp8OKb+X14hQBKWaSkCsqBpgog8nAV2xsGOxlo= gopkg.in/inf.v0 v0.9.1 h1:73M5CoZyi3ZLMOyDlQh031Cx6N9NDJ2Vvfl76EDAgDc= gopkg.in/inf.v0 v0.9.1/go.mod h1:cWUDdTG/fYaXco+Dcufb5Vnc6Gp2YChqWtbxRZE0mXw= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.1 h1:d4KQkxAaAiRY2h5Zqis161Pv91A37uZyJOx73duwUwM= -gopkg.in/rethinkdb/rethinkdb-go.v6 v6.2.1/go.mod h1:WbjuEoo1oadwzQ4apSDU+JTvmllEHtsNHS6y7vFc7iw= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 h1:uRGJdciOHaEIrze2W8Q3AKkepLTh2hOroT7a+7czfdQ= gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7/go.mod h1:dt/ZhP58zS4L8KSrWDmTeBkI65Dw0HsyUHuEVlX15mw= -gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= -gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= @@ -817,32 +717,24 @@ gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= gotest.tools/v3 v3.5.2 h1:7koQfIKdy+I8UTetycgUqXWSDwpgv193Ka+qRsmBY8Q= gotest.tools/v3 v3.5.2/go.mod h1:LtdLGcnqToBH83WByAAi/wiwSFCArdFIUV/xxN4pcjA= -k8s.io/api v0.34.2 h1:fsSUNZhV+bnL6Aqrp6O7lMTy6o5x2C4XLjnh//8SLYY= -k8s.io/api v0.34.2/go.mod h1:MMBPaWlED2a8w4RSeanD76f7opUoypY8TFYkSM+3XHw= -k8s.io/apiextensions-apiserver v0.34.1 h1:NNPBva8FNAPt1iSVwIE0FsdrVriRXMsaWFMqJbII2CI= -k8s.io/apiextensions-apiserver v0.34.1/go.mod h1:hP9Rld3zF5Ay2Of3BeEpLAToP+l4s5UlxiHfqRaRcMc= -k8s.io/apimachinery v0.34.2 h1:zQ12Uk3eMHPxrsbUJgNF8bTauTVR2WgqJsTmwTE/NW4= -k8s.io/apimachinery v0.34.2/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= -k8s.io/apiserver v0.34.1 h1:U3JBGdgANK3dfFcyknWde1G6X1F4bg7PXuvlqt8lITA= -k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= +k8s.io/api v0.35.2 h1:tW7mWc2RpxW7HS4CoRXhtYHSzme1PN1UjGHJ1bdrtdw= +k8s.io/api v0.35.2/go.mod h1:7AJfqGoAZcwSFhOjcGM7WV05QxMMgUaChNfLTXDRE60= +k8s.io/apimachinery v0.35.2 h1:NqsM/mmZA7sHW02JZ9RTtk3wInRgbVxL8MPfzSANAK8= +k8s.io/apimachinery v0.35.2/go.mod h1:jQCgFZFR1F4Ik7hvr2g84RTJSZegBc8yHgFWKn//hns= k8s.io/cli-runtime v0.34.2 h1:cct1GEuWc3IyVT8MSCoIWzRGw9HJ/C5rgP32H60H6aE= k8s.io/cli-runtime v0.34.2/go.mod h1:X13tsrYexYUCIq8MarCBy8lrm0k0weFPTpcaNo7lms4= -k8s.io/client-go v0.34.2 h1:Co6XiknN+uUZqiddlfAjT68184/37PS4QAzYvQvDR8M= -k8s.io/client-go v0.34.2/go.mod h1:2VYDl1XXJsdcAxw7BenFslRQX28Dxz91U9MWKjX97fE= -k8s.io/component-base v0.34.2 h1:HQRqK9x2sSAsd8+R4xxRirlTjowsg6fWCPwWYeSvogQ= -k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= -k8s.io/component-helpers v0.34.2 h1:RIUGDdU+QFzeVKLZ9f05sXTNAtJrRJ3bnbMLrogCrvM= -k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= +k8s.io/client-go v0.35.2 h1:YUfPefdGJA4aljDdayAXkc98DnPkIetMl4PrKX97W9o= +k8s.io/client-go v0.35.2/go.mod h1:4QqEwh4oQpeK8AaefZ0jwTFJw/9kIjdQi0jpKeYvz7g= k8s.io/klog/v2 v2.130.1 h1:n9Xl7H1Xvksem4KFG4PYbdQCQxqc/tTUyrgXaOhHSzk= k8s.io/klog/v2 v2.130.1/go.mod h1:3Jpz1GvMt720eyJH1ckRHK1EDfpxISzJ7I9OYgaDtPE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912 h1:Y3gxNAuB0OBLImH611+UDZcmKS3g6CthxToOb37KgwE= k8s.io/kube-openapi v0.0.0-20250910181357-589584f1c912/go.mod h1:kdmbQkyfwUagLfXIad1y2TdrjPFWp2Q89B3qkRwf/pQ= k8s.io/kubectl v0.34.2 h1:+fWGrVlDONMUmmQLDaGkQ9i91oszjjRAa94cr37hzqA= k8s.io/kubectl v0.34.2/go.mod h1:X2KTOdtZZNrTWmUD4oHApJ836pevSl+zvC5sI6oO2YQ= -k8s.io/kubernetes v1.31.7 h1:3uCu7kNQxNBVbbqqe0pPjbW+h8L9aT01rD0bg+NdS5I= -k8s.io/kubernetes v1.31.7/go.mod h1:9xmT2buyTYj8TRKwRae7FcuY8k5+xlxv7VivvO0KKfs= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4 h1:SjGebBtkBqHFOli+05xYbK8YF1Dzkbzn+gDM4X9T4Ck= k8s.io/utils v0.0.0-20251002143259-bc988d571ff4/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +pgregory.net/rapid v1.2.0 h1:keKAYRcjm+e1F0oAuU5F5+YPAWcyxNNRK2wud503Gnk= +pgregory.net/rapid v1.2.0/go.mod h1:PY5XlDGj0+V1FCq0o192FdRhpKHGTRIWBgqjDBTrq04= sigs.k8s.io/controller-runtime v0.22.4 h1:GEjV7KV3TY8e+tJ2LCTxUTanW4z/FmNB7l327UfMq9A= sigs.k8s.io/controller-runtime v0.22.4/go.mod h1:+QX1XUpTXN4mLoblf4tqr5CQcyHPAki2HLXqQMY6vh8= sigs.k8s.io/json v0.0.0-20250730193827-2d320260d730 h1:IpInykpT6ceI+QxKBbEflcR5EXP7sU1kvOlxwZh5txg= diff --git a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go index 4520b099d..59d9b0768 100644 --- a/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go +++ b/client-programs/pkg/cmd/cluster_workshop_serve_cmd.go @@ -102,12 +102,12 @@ func (o *ClusterWorkshopServeOptions) Run() error { var workshop *unstructured.Unstructured definitionConfig := educates.WorkshopDefinitionConfig{ - Name: name, - Path: path, - Portal: portal, - WorkshopFile: o.WorkshopFile, + Name: name, + Path: path, + Portal: portal, + WorkshopFile: o.WorkshopFile, WorkshopVersion: o.WorkshopVersion, - DataValueFlags: o.DataValuesFlags, + DataValueFlags: o.DataValuesFlags, } if workshop, err = educates.LoadWorkshopDefinition(&definitionConfig); err != nil { return err @@ -194,16 +194,16 @@ func (o *ClusterWorkshopServeOptions) Run() error { // Run the proxy server and Hugo server. return renderer.RunHugoServer(&renderer.RunHugoServerConfig{ WorkshopRoot: path, - Kubeconfig: o.Kubeconfig, - Context: o.Context, - Workshop: name, - Portal: portal, - LocalHost: o.LocalHost, - LocalPort: o.LocalPort, - HugoPort: o.HugoPort, - Token: token, - Files: o.Files, - CleanupFunc: cleanupFunc, + Kubeconfig: o.Kubeconfig, + Context: o.Context, + Workshop: name, + Portal: portal, + LocalHost: o.LocalHost, + LocalPort: o.LocalPort, + HugoPort: o.HugoPort, + Token: token, + Files: o.Files, + CleanupFunc: cleanupFunc, }) } @@ -211,10 +211,10 @@ func (p *ProjectInfo) NewClusterWorkshopServeCmd() *cobra.Command { var o ClusterWorkshopServeOptions var c = &cobra.Command{ - Args: cobra.NoArgs, - Use: "serve", - Short: "Serve workshop from local system", - RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, + Args: cobra.NoArgs, + Use: "serve", + Short: "Serve workshop from local system", + RunE: func(_ *cobra.Command, _ []string) error { return o.Run() }, Example: clusterWorkshopServeExample, } diff --git a/client-programs/pkg/cmd/docker_extension_backend_cmd.go b/client-programs/pkg/cmd/docker_extension_backend_cmd.go index 19d42d188..99269619e 100644 --- a/client-programs/pkg/cmd/docker_extension_backend_cmd.go +++ b/client-programs/pkg/cmd/docker_extension_backend_cmd.go @@ -1,6 +1,9 @@ package cmd import ( + "fmt" + "os" + "github.com/educates/educates-training-platform/client-programs/pkg/docker" "github.com/spf13/cobra" ) @@ -21,11 +24,16 @@ func (p *ProjectInfo) NewDockerExtensionBackendCmd() *cobra.Command { Args: cobra.NoArgs, Use: "backend", Short: "Docker desktop extension backend", - RunE: func(_ *cobra.Command, _ []string) error { + RunE: func(_ *cobra.Command, _ []string) error { + fmt.Fprintf(os.Stdout, "starting extension backend version=%s imageRepository=%s socket=%s\n", p.Version, p.ImageRepository, o.Socket) dockerExtensionBackend := docker.NewDockerExtensionBackend(p.Version, p.ImageRepository) - return dockerExtensionBackend.Run(&docker.DockerExtensionBackendConfig{ + err := dockerExtensionBackend.Run(&docker.DockerExtensionBackendConfig{ Socket: o.Socket, }) + if err != nil { + fmt.Fprintf(os.Stdout, "extension backend exited with error: %v\n", err) + } + return err }, Example: dockerExtensionBackendExample, } diff --git a/client-programs/pkg/cmd/workshop_render_cmd.go b/client-programs/pkg/cmd/workshop_render_cmd.go index 4ec572df1..c511789ef 100644 --- a/client-programs/pkg/cmd/workshop_render_cmd.go +++ b/client-programs/pkg/cmd/workshop_render_cmd.go @@ -15,8 +15,8 @@ import ( "k8s.io/apimachinery/pkg/runtime/serializer" "k8s.io/kubectl/pkg/scheme" + "github.com/educates/educates-training-platform/client-programs/pkg/educates" "github.com/educates/educates-training-platform/client-programs/pkg/renderer" - "github.com/educates/educates-training-platform/client-programs/pkg/workshops" ) func createZIPFile(tempDir string, outputFile string) error { @@ -129,7 +129,7 @@ func (o *FilesRenderOptions) Render(directory string, outputFile string) error { // Process the workshop YAML data for ytt templating and data variables. - if workshopFileData, err = workshops.ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { + if workshopFileData, err = educates.ProcessWorkshopDefinition(workshopFileData, o.DataValuesFlags); err != nil { return errors.Wrap(err, "unable to process workshop definition as template") } diff --git a/client-programs/pkg/docker/extension_backend.go b/client-programs/pkg/docker/extension_backend.go index c4b4cb797..186b4d6c4 100644 --- a/client-programs/pkg/docker/extension_backend.go +++ b/client-programs/pkg/docker/extension_backend.go @@ -1,8 +1,10 @@ package docker import ( + "bytes" "context" "fmt" + "io" "net" "net/http" "os" @@ -49,7 +51,7 @@ func (b *DockerExtensionBackend) Run(config *DockerExtensionBackendConfig) error router.HandleFunc("/workshop/delete", b.Api.DeleteWorkshop) server := http.Server{ - Handler: router, + Handler: loggingMiddleware(router), } // The socket string can either be of the form host:nnn, or it can be a file @@ -101,3 +103,39 @@ func (b *DockerExtensionBackend) Run(config *DockerExtensionBackendConfig) error return nil } + +// responseRecorder captures the status code and body written by a handler. +type responseRecorder struct { + http.ResponseWriter + status int + body bytes.Buffer +} + +func (rr *responseRecorder) WriteHeader(code int) { + rr.status = code + rr.ResponseWriter.WriteHeader(code) +} + +func (rr *responseRecorder) Write(b []byte) (int, error) { + rr.body.Write(b) + return rr.ResponseWriter.Write(b) +} + +func loggingMiddleware(next http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + if r.URL.Path != "/workshop/deploy" { + next.ServeHTTP(w, r) + return + } + + // Log request body without consuming it. + reqBody, _ := io.ReadAll(r.Body) + r.Body = io.NopCloser(bytes.NewReader(reqBody)) + fmt.Fprintf(os.Stdout, "deploy request params=%s query=%s\n", reqBody, r.URL.RawQuery) + + rr := &responseRecorder{ResponseWriter: w, status: http.StatusOK} + next.ServeHTTP(rr, r) + + fmt.Fprintf(os.Stdout, "deploy response status=%d body=%s\n", rr.status, rr.body.String()) + }) +} diff --git a/client-programs/pkg/docker/workshop_manager.go b/client-programs/pkg/docker/workshop_manager.go index 90e94ca68..144976f65 100644 --- a/client-programs/pkg/docker/workshop_manager.go +++ b/client-programs/pkg/docker/workshop_manager.go @@ -111,22 +111,21 @@ type DockerWorkshopDetails struct { } type DockerWorkshopDeployConfig struct { - Path string - Host string - Port uint - LocalRepository string - ImageRepository string - ImageVersion string - Cluster string - KubeConfig string - Assets string - WorkshopFile string - WorkshopImage string - WorkshopVersion string - DataValuesFlags yttcmd.DataValuesFlags + Path string + Host string + Port uint + LocalRepository string + ImageRepository string + ImageVersion string + Cluster string + KubeConfig string + Assets string + WorkshopFile string + WorkshopImage string + WorkshopVersion string + DataValuesFlags yttcmd.DataValuesFlags } - func (m *DockerWorkshopsManager) WorkshopStatus(name string) (DockerWorkshopDetails, bool) { workshops, err := m.ListWorkshops() @@ -296,7 +295,6 @@ func getContainerScriptTemplate() (*template.Template, error) { return containerScriptTemplateCached, containerScriptTemplateErr } - // isDockerSocketEnabled checks if Docker socket is enabled in the workshop spec. func isDockerSocketEnabled(workshop *unstructured.Unstructured) bool { dockerEnabled, found, _ := unstructured.NestedBool( @@ -347,12 +345,12 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s var workshop *unstructured.Unstructured definitionConfig := educates.WorkshopDefinitionConfig{ - Name: "", - Path: o.Path, - Portal: constants.DefaultPortalName, - WorkshopFile: o.WorkshopFile, + Name: "", + Path: o.Path, + Portal: constants.DefaultPortalName, + WorkshopFile: o.WorkshopFile, WorkshopVersion: o.WorkshopVersion, - DataValueFlags: o.DataValuesFlags, + DataValueFlags: o.DataValuesFlags, } if workshop, err = educates.LoadWorkshopDefinition(&definitionConfig); err != nil { return "", err @@ -398,6 +396,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s registryInfo, err := cli.ContainerInspect(ctx, constants.EducatesRegistryContainer) + // TODO: Try to fix this instead of erroring if err == nil { educatesNetwork, exists := registryInfo.NetworkSettings.Networks[constants.EducatesNetworkName] @@ -632,7 +631,7 @@ func (m *DockerWorkshopsManager) DeployWorkshop(o *DockerWorkshopDeployConfig, s Create: api.CreateOptions{ Recreate: api.RecreateDiverged, RecreateDependencies: api.RecreateDiverged, - RemoveOrphans: false, + RemoveOrphans: false, }, Start: api.StartOptions{}, }) @@ -715,7 +714,6 @@ func (m *DockerWorkshopsManager) DeleteWorkshop(name string, stdout io.Writer, s return nil } - func generateWorkshopConfig(workshop *unstructured.Unstructured) (string, error) { workshopTitle, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "title") workshopDescription, _, _ := unstructured.NestedFieldNoCopy(workshop.Object, "spec", "description") diff --git a/client-programs/pkg/renderer/token.go b/client-programs/pkg/renderer/token.go new file mode 100644 index 000000000..044e55bd8 --- /dev/null +++ b/client-programs/pkg/renderer/token.go @@ -0,0 +1,54 @@ +package renderer + +import ( + "os" + "path" + + "github.com/educates/educates-training-platform/client-programs/pkg/utils" + "github.com/pkg/errors" +) + +func GenerateAccessToken(refresh bool) (string, error) { + configFileDir := utils.GetEducatesHomeDir() + accessTokenFile := path.Join(configFileDir, "live-reload-token.dat") + + err := os.MkdirAll(configFileDir, os.ModePerm) + + if err != nil { + return "", errors.Wrapf(err, "unable to create config directory") + } + + var accessToken string + + if refresh { + accessToken = utils.RandomPassword(32) + + err := os.WriteFile(accessTokenFile, []byte(accessToken), 0644) + + if err != nil { + return "", err + } + } else { + if _, err := os.Stat(accessTokenFile); err == nil { + accessTokenBytes, err := os.ReadFile(accessTokenFile) + + if err != nil { + return "", err + } + + accessToken = string(accessTokenBytes) + } else if os.IsNotExist(err) { + accessToken = utils.RandomPassword(32) + + err = os.WriteFile(accessTokenFile, []byte(accessToken), 0644) + + if err != nil { + return "", err + } + } else { + return "", err + } + } + + return accessToken, nil +} diff --git a/docker-extension/Dockerfile b/docker-extension/Dockerfile index ace68179d..3ff7f441a 100644 --- a/docker-extension/Dockerfile +++ b/docker-extension/Dockerfile @@ -4,7 +4,7 @@ ARG TAG=latest FROM ${REPOSITORY}/${CLI_IMAGE_NAME}:${TAG} AS client-programs -FROM node:24 AS client-builder +FROM --platform=$BUILDPLATFORM node:24-trixie AS client-builder WORKDIR /ui # cache packages in layer COPY ui/package.json /ui/package.json @@ -41,7 +41,8 @@ echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | tee /etc/apt/sources.list.d/docker.list > /dev/null && \ apt-get update && \ -apt-get install -y containerd.io docker-ce docker-ce-cli docker-compose-plugin +apt-get install -y containerd.io docker-ce docker-ce-cli docker-compose-plugin && \ +rm -rf /var/lib/apt/lists/* EOF COPY --from=client-programs /educates /educates diff --git a/docker-extension/Makefile b/docker-extension/Makefile index 1b6e6a453..b1536a79b 100644 --- a/docker-extension/Makefile +++ b/docker-extension/Makefile @@ -1,9 +1,5 @@ -IMAGE_REPOSITORY = localhost:5001 -PACKAGE_VERSION = latest - -# Export variables to recursive make invocations and shell commands so -# env/CLI overrides are inherited consistently. -.EXPORT_ALL_VARIABLES: +IMAGE_REPOSITORY ?= localhost:5001 +PACKAGE_VERSION ?= latest # Create an alias for the image repository that sanitizes invalid characters # Docker Compose project names must consist only of lowercase alphanumeric characters, @@ -23,30 +19,20 @@ TARGET_MACHINE = amd64 endif TARGET_PLATFORM = $(TARGET_SYSTEM)-$(TARGET_MACHINE) -BUILDX_BUILDER = educates-multiarch-builder +BUILDX_BUILDER ?= educates-multiarch-builder -TARGET_PLATFORMS ?= $(TARGET_PLATFORMS) +TARGET_PLATFORMS ?= # Platform configuration - can be overridden by TARGET_PLATFORMS env var or make parameter ifeq ($(TARGET_PLATFORMS),) -# Default to current platform when TARGET_PLATFORMS is not set -DOCKER_PLATFORM = linux/$(TARGET_MACHINE) +# Default to both platforms when TARGET_PLATFORMS is not set MULTIARCH_PLATFORMS = linux/amd64,linux/arm64 else # Use TARGET_PLATFORMS when set (allows for custom multiarch builds) -DOCKER_PLATFORM = $(TARGET_PLATFORMS) MULTIARCH_PLATFORMS = $(TARGET_PLATFORMS) endif -# Push/Load configuration - can be overridden by PUSH_IMAGES env var or make parameter -ifeq ($(PUSH_IMAGES),false) -# Load images locally when PUSH_IMAGES is not true (default) -DOCKER_BUILDER = --builder ${BUILDX_BUILDER} --load -MULTIARCH_PLATFORMS = $(DOCKER_PLATFORM) -else -# Push images to registry when PUSH_IMAGES is true DOCKER_BUILDER = --builder ${BUILDX_BUILDER} --push -endif INFO_COLOR = \033[0;36m NO_COLOR = \033[m @@ -60,26 +46,25 @@ print-vars: @echo "TARGET_SYSTEM: $(TARGET_SYSTEM)" @echo "TARGET_MACHINE: $(TARGET_MACHINE)" @echo "TARGET_PLATFORM: $(TARGET_PLATFORM)" - @echo "DOCKER_PLATFORM: $(DOCKER_PLATFORM)" @echo "MULTIARCH_PLATFORMS: $(MULTIARCH_PLATFORMS)" @echo "DOCKER_BUILDER: $(DOCKER_BUILDER)" - @echo "PUSH_IMAGES: $(PUSH_IMAGES)" build-extension: setup-buildx ## Build service image to be deployed as a desktop extension - docker build --progress plain --platform $(MULTIARCH_PLATFORMS) \ + docker build --pull --progress plain --platform $(MULTIARCH_PLATFORMS) \ $(DOCKER_BUILDER) \ -t $(IMAGE) \ . + docker pull $(IMAGE) -# Internal target to ensure alias tag exists when repository has invalid characters +# Internal target to ensure alias tag is always up to date after a build+push+pull. +# The inspect-then-tag guard was intentionally removed: if the alias already exists +# but points to the old digest, the guard would skip the retag and leave a stale image. .PHONY: _ensure-alias-tag _ensure-alias-tag: build-extension @if [ "$(IMAGE)" != "$(IMAGE_ALIAS_FULL)" ]; then \ - if ! docker image inspect $(IMAGE_ALIAS_FULL) >/dev/null 2>&1; then \ - echo "Tagging image with alias: $(IMAGE_ALIAS_FULL)"; \ - docker tag $(IMAGE) $(IMAGE_ALIAS_FULL) || true; \ - fi; \ + echo "Tagging $(IMAGE) as $(IMAGE_ALIAS_FULL)"; \ + docker tag $(IMAGE) $(IMAGE_ALIAS_FULL); \ fi install-extension: _ensure-alias-tag ## Install the extension @@ -109,7 +94,7 @@ dev-enable: source debug .PHONY: dev-reset dev-reset: ## Reset development status of the extension - docker extension dev reset educates-docker-extension:$(PACKAGE_VERSION) + docker extension dev reset $(IMAGE_ALIAS_FULL) help: ## Show this help @echo Please specify a build target. The choices are: diff --git a/docker-extension/ui/src/views/App.tsx b/docker-extension/ui/src/views/App.tsx index df35278e0..785ec07a0 100644 --- a/docker-extension/ui/src/views/App.tsx +++ b/docker-extension/ui/src/views/App.tsx @@ -84,9 +84,11 @@ export function App() { const start = async () => { if (isValidURL(url)) { console.log("start"); + const wholeUrl = "/workshop/deploy?url=" + encodeURIComponent(url) + "&port=" + port; + console.log(wholeUrl); setQueryingBackend(true); ddClient.extension.vm?.service - ?.get("/workshop/deploy?url=" + encodeURIComponent(url) + "&port=" + port) + ?.get(wholeUrl) .then((result: unknown) => { const _ = result as DeployResponse; setQueryingBackend(false); @@ -104,8 +106,10 @@ export function App() { const stop = async (name: string) => { console.log("stop: " + name); + const wholeUrl = "/workshop/delete?name=" + name; + console.log(wholeUrl); ddClient.extension.vm?.service - ?.get("/workshop/delete?name=" + name) + ?.get(wholeUrl) .then((result: unknown) => { const _ = result as DeleteResponse; list(); diff --git a/go.work.sum b/go.work.sum index e539e7b86..74c454b27 100644 --- a/go.work.sum +++ b/go.work.sum @@ -1,7 +1,6 @@ bitbucket.org/bertimus9/systemstat v0.5.0/go.mod h1:EkUWPp8lKFPMXP8vnbpT5JDI0W/sTiLZAvN8ONWErHY= -cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= -cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= -github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= +buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go v1.36.6-20250425153114-8976f5be98c1.1/go.mod h1:avRlCjnFzl98VPaeCtJ24RrV/wwHFzB8sWXhj26+n/U= +buf.build/go/protovalidate v0.12.0/go.mod h1:q3PFfbzI05LeqxSwq+begW2syjy2Z6hLxZSkP1OH/D0= carvel.dev/imgpkg v0.44.0 h1:5f7LZKn8MALx2xldwNXm5TD6vn9NDQuHJs8Nag2Fr0Y= carvel.dev/kapp v0.59.2/go.mod h1:HAeURGw65eT00APPvnOQ8uDx5yvdrro2vtH5VYF1Zz0= carvel.dev/ytt v0.47.0/go.mod h1:Xarf0th61vX6VY07l3KBSi3uaMCQ2UyPPiCPiaVpHME= @@ -10,6 +9,8 @@ cel.dev/expr v0.18.0 h1:CJ6drgk+Hf96lkLikr4rFf19WrU0BOWEihyZnI2TAzo= cel.dev/expr v0.18.0/go.mod h1:MrpN08Q+lEBs+bGYdLxxHkZoUSsCp0nSKTs0nTymJgw= cel.dev/expr v0.24.0 h1:56OvJKSH3hDGL0ml5uSxZmz3/3Pq4tJ+fb1unVLAFcY= cel.dev/expr v0.24.0/go.mod h1:hLPLo1W4QUmuYdA72RBX06QTs6MXw941piREPl3Yfiw= +cel.dev/expr v0.25.1/go.mod h1:hrXvqGP6G6gyx8UAHSHJ5RGk//1Oj5nXQ2NI02Nrsg4= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= @@ -72,6 +73,7 @@ cloud.google.com/go/cloudtasks v1.12.2/go.mod h1:A7nYkjNlW2gUoROg1kvJrQGhJP/38Ua cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= cloud.google.com/go/compute v1.19.3/go.mod h1:qxvISKp/gYnXkSAD1ppcSOveRAmzxicEv/JlizULFrI= cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= +cloud.google.com/go/compute v1.23.4 h1:EBT9Nw4q3zyE7G45Wvv3MzolIrCJEuHys5muLY0wvAw= cloud.google.com/go/compute v1.25.1 h1:ZRpHJedLtTpKgr3RV1Fx23NuaAEN1Zfx9hw1u4aJdjU= cloud.google.com/go/compute v1.25.1/go.mod h1:oopOIR53ly6viBYxaDhBfJwzUAxf1zE//uf3IB011ls= cloud.google.com/go/compute v1.27.4 h1:XM8ulx6crjdl09XBfji7viFgZOEQuIxBwKmjRH9Rtmc= @@ -79,6 +81,7 @@ cloud.google.com/go/compute v1.27.4/go.mod h1:7JZS+h21ERAGHOy5qb7+EPyXlQwzshzrx1 cloud.google.com/go/compute/metadata v0.3.0/go.mod h1:zFmK7XCadkQkj6TtorcaGlCW1hT1fIilQDwofLpJ20k= cloud.google.com/go/compute/metadata v0.6.0 h1:A6hENjEsCDtC1k8byVsgwvVcioamEHvZ4j01OwKxG9I= cloud.google.com/go/compute/metadata v0.6.0/go.mod h1:FjyFAW1MW0C203CEOMDTu3Dk1FlqW3Rga40jzHL4hfg= +cloud.google.com/go/compute/metadata v0.7.0/go.mod h1:j5MvL9PprKL39t166CoB1uVHfQMs4tFQZZcKwksXUjo= cloud.google.com/go/contactcenterinsights v1.11.1/go.mod h1:FeNP3Kg8iteKM80lMwSk3zZZKVxr+PGnAId6soKuXwE= cloud.google.com/go/container v1.26.1/go.mod h1:5smONjPRUxeEpDG7bMKWfDL4sauswqEtnBK1/KKpR04= cloud.google.com/go/containeranalysis v0.11.1/go.mod h1:rYlUOM7nem1OJMKwE1SadufX0JP3wnXj844EtZAwWLY= @@ -179,12 +182,16 @@ cloud.google.com/go/webrisk v1.9.2/go.mod h1:pY9kfDgAqxUpDBOrG4w8deLfhvJmejKB0qd cloud.google.com/go/websecurityscanner v1.6.2/go.mod h1:7YgjuU5tun7Eg2kpKgGnDuEOXWIrh8x8lWrJT4zfmas= cloud.google.com/go/workflows v1.12.1/go.mod h1:5A95OhD/edtOhQd/O741NSfIMezNTbCwLM1P1tBRGHM= dario.cat/mergo v1.0.2/go.mod h1:E/hbnu0NxMFBjpMIE34DRGLWqDy0g5FuKDhCb31ngxA= +filippo.io/edwards25519 v1.1.0 h1:FNf4tywRC1HmFuKW5xopWpigGjJKiJSV0Cqo0cJWDaA= +filippo.io/edwards25519 v1.1.0/go.mod h1:BxyFTGdWcka3PhytdK4V28tE5sGfRvvvRV7EaN4VDT4= github.com/AlecAivazis/survey/v2 v2.3.7/go.mod h1:xUTIdE4KCOIjsBAE1JYsUPoCqYdZ1reCfTwbto0Fduo= github.com/Azure/azure-sdk-for-go v46.4.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go v55.0.0+incompatible h1:L4/vUGbg1Xkw5L20LZD+hJI5I+ibWSytqQ68lTCfLwY= github.com/Azure/azure-sdk-for-go v55.0.0+incompatible/go.mod h1:9XXNKU+eRnpl9moKnB4QOLf1HestfXbmab5FXxiDBjc= github.com/Azure/azure-sdk-for-go/sdk/azcore v1.18.2/go.mod h1:QyVsSSN64v5TGltphKLQ2sQxe4OBQg0J1eKRcVBnfgE= +github.com/Azure/azure-sdk-for-go/sdk/azcore v1.20.0/go.mod h1:YD5h/ldMsG0XiIw7PdyNhLxaM317eFh5yNLccNfGdyw= github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.11.0/go.mod h1:okZ+ZURbArNdlJ+ptXoyHNuOETzOl1Oww19rm8I2WLA= +github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.13.1/go.mod h1:IYus9qsFobWIc2YVwe/WPjcnyCkPKtnHAqUYeebc8z0= github.com/Azure/azure-sdk-for-go/sdk/internal v1.11.2/go.mod h1:XtLgD3ZD34DAaVIIAyG3objl5DynM3CQ/vMcbBNJZGI= github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v1.5.0/go.mod h1:PXe2h+LKcWTX9afWdZoHyODqR4fBa5boUM/8uJfZ0Jo= github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1/go.mod h1:xomTg63KZ2rFqZQzSB4Vz2SUXa1BpHTVz9L5PTmPC4E= @@ -203,69 +210,193 @@ github.com/Azure/go-autorest/autorest/azure/cli v0.4.1 h1:jwcD1wURu0+hKceV04MubZ github.com/Azure/go-autorest/autorest/azure/cli v0.4.1/go.mod h1:JfDgiIO1/RPu6z42AdQTyjOoCM2MFhLqSBDvMEkDgcg= github.com/Azure/go-autorest/logger v0.2.0/go.mod h1:T9E3cAhj2VqvPOtCYAvby9aBXkZmbF5NWuPV8+WeEW8= github.com/AzureAD/microsoft-authentication-library-for-go v1.4.2/go.mod h1:wP83P5OoQ5p6ip3ScPr0BAq0BvuPAvacpEuSzyouqAI= +github.com/AzureAD/microsoft-authentication-library-for-go v1.6.0/go.mod h1:HKpQxkWaGLJ+D/5H8QRpyQXA1eKjxkFlOMwck5+33Jk= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/BurntSushi/toml v1.2.1/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= github.com/BurntSushi/toml v1.3.2/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho= github.com/GoogleCloudPlatform/k8s-cloud-provider v1.18.1-0.20220218231025-f11817397a1b/go.mod h1:FNj4KYEAAHfYu68kRYolGoxkaJn+6mdEsaM12VTwuI0= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.25.0/go.mod h1:obipzmGjfSjam60XLwGfqUkJsfiheAl+TUjG+4yzyPM= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.29.0/go.mod h1:Cz6ft6Dkn3Et6l2v2a9/RpN7epQ1GtDlO6lj8bEcOvw= -github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.30.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= +github.com/GoogleCloudPlatform/opentelemetry-operations-go/detectors/gcp v1.31.0/go.mod h1:P4WPRUkOhJC13W//jWpyfJNDAIpvRbAUIYLX/4jtlE0= github.com/JeffAshton/win_pdh v0.0.0-20161109143554-76bb4ee9f0ab/go.mod h1:3VYc5hodBMJ5+l/7J4xAyMeuM2PNuepvHlGs8yilUCA= -github.com/Masterminds/semver/v3 v3.4.0/go.mod h1:4V+yj/TJE1HU9XfppCwVMZq3I84lprf4nC11bSS5beM= +github.com/Microsoft/cosesign1go v1.4.0/go.mod h1:1La/HcGw19rRLhPW0S6u55K6LKfti+GQSgGCtrfhVe8= +github.com/Microsoft/didx509go v0.0.3/go.mod h1:wWt+iQsLzn3011+VfESzznLIp/Owhuj7rLF7yLglYbk= github.com/Microsoft/go-winio v0.4.21/go.mod h1:JPGBdM1cNvN/6ISo+n8V5iA4v8pBzdOpzfwIujj1a84= +github.com/Microsoft/go-winio v0.5.2/go.mod h1:WpS1mjBmmwHBEWmogvA2mj8546UReBk4v8QkMxJ6pZY= github.com/Microsoft/hcsshim v0.8.25/go.mod h1:4zegtUJth7lAvFyc6cH2gGQ5B3OFQim01nnU2M8jKDg= +github.com/Microsoft/hcsshim v0.13.0/go.mod h1:9KWJ/8DgU+QzYGupX4tzMhRQE8h6w90lH6HAaclpEok= github.com/Microsoft/hnslib v0.0.8/go.mod h1:EYveQJlhKh2obmEIRB3uKN6dBd9pj1frPsrTGFppKuk= github.com/Microsoft/hnslib v0.1.1/go.mod h1:DRQR4IjLae6WHYVhW7uqe44hmFUiNhmaWA+jwMbz5tM= github.com/NYTimes/gziphandler v1.1.1/go.mod h1:n/CVRwUEOgIxrgPvAQhUUr9oeUtvrhMomdKFjzJNB0c= +github.com/OneOfOne/xxhash v1.2.8/go.mod h1:eZbhyaAYD41SGSSsnmcpxVoRiQ/MPUTjUdIIOT9Um7Q= github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0= github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE= +github.com/StackExchange/wmi v0.0.0-20190523213315-cbe66965904d/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558= +github.com/agnivade/levenshtein v1.2.0/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU= +github.com/agnivade/levenshtein v1.2.1/go.mod h1:QVVI16kDrtSuwcpd0p1+xMC6Z/VfhtCyDIjcwga4/DU= +github.com/akavel/rsrc v0.10.2/go.mod h1:uLoCtb9J+EyAqh+26kdrTgmzRBFPGOolLWKpdxkKq+c= github.com/alecthomas/kingpin/v2 v2.4.0/go.mod h1:0gyi0zQnjuFk8xrkNKamJoyUo382HRL7ATRpFZCw6tE= +github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= +github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= github.com/alecthomas/units v0.0.0-20240927000941-0f3dac36c52b/go.mod h1:fvzegU4vN3H1qMT+8wDmzjAcDONcgo2/SZ/TyfdUOFs= +github.com/alexflint/go-filemutex v1.3.0/go.mod h1:U0+VA/i30mGBlLCrFPGtTe9y6wGQfNAWPBTekHQ+c8A= github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= github.com/antlr/antlr4/runtime/Go/antlr v1.4.10/go.mod h1:F7bn7fEU90QkQ3tnmaTx3LTKLEDqnwWODIYppRQ5hnY= +github.com/antlr/antlr4/runtime/Go/antlr/v4 v4.0.0-20230305170008-8188dc5388df/go.mod h1:pSwJ0fSY5KhvocuWSx4fz3BA8OrA1bQn+K1Eli3BRwM= +github.com/antlr4-go/antlr/v4 v4.13.0/go.mod h1:pfChB/xh/Unjila75QW7+VU4TSnWnnk9UTnmpPaOR2g= +github.com/apparentlymart/go-cidr v1.0.1/go.mod h1:EBcsNrHc3zQeuaeCeCtQruQm+n9/YjEn/vI25Lg7Gwc= +github.com/apparentlymart/go-textseg/v15 v15.0.0/go.mod h1:K8XmNZdhEBkdlyDdvbmmsvpAG721bKi0joRfFdHIWJ4= +github.com/arbovm/levenshtein v0.0.0-20160628152529-48b4e1c0c4d0/go.mod h1:t2tdKJDJF9BV14lnkjHmOQgcvEKgtqs5a1N3LNdJhGE= github.com/armon/circbuf v0.0.0-20190214190532-5111143e8da2/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY= github.com/aws/aws-lambda-go v1.41.0/go.mod h1:jwFe2KmMsHmffA1X2R09hH6lFzJQxzI8qK17ewzbQMM= -github.com/blang/semver v3.5.1+incompatible h1:cQNTCjp13qL8KC3Nbxr/y2Bqb63oX6wdnnjpJbkM4JQ= -github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnwebNt5EWlYSAyrTnjyyk= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.0/go.mod h1:/mXlTIVG9jbxkqDnr5UQNQxW1HRYxeGklkM9vAFeabg= +github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.7.5/go.mod h1:nVUlMLVV8ycXSb7mSkcNu9e3v/1TJq2RTlrPwhYWr5c= +github.com/aws/aws-sdk-go-v2/feature/s3/manager v1.17.10/go.mod h1:3HKuexPDcwLWPaqpW2UR/9n8N/u/3CKcGAzSs8p8u8g= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.4/go.mod h1:SPBBhkJxjcrzJBc+qY85e83MQ2q3qdra8fghhkkyrJg= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.12/go.mod h1:i+6vTU3xziikTY3vcox23X8pPGW5X3wVgd1VZ7ha+x8= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.8.4/go.mod h1:b17At0o8inygF+c6FOD3rNyYZufPw62o9XJbSfQPgbo= +github.com/aws/aws-sdk-go-v2/service/internal/checksum v1.9.3/go.mod h1:JLuCKu5VfiLBBBl/5IzZILU7rxS0koQpHzMOCzycOJU= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.4/go.mod h1:DnbBOv4FlIXHj2/xmrUQYtawRFC9L9ZmQPz+DBc6X5I= +github.com/aws/aws-sdk-go-v2/service/internal/s3shared v1.19.12/go.mod h1:XEttbEr5yqsw8ebi7vlDoGJJjMXRez4/s9pibpJyL5s= +github.com/aws/aws-sdk-go-v2/service/s3 v1.87.1/go.mod h1:w5PC+6GHLkvMJKasYGVloB3TduOtROEMqm15HSuIbw4= +github.com/aws/aws-sdk-go-v2/service/s3 v1.89.1/go.mod h1:MbKLznDKpf7PnSonNRUVYZzfP0CeLkRIUexeblgKcU4= +github.com/aymanbagabas/go-osc52/v2 v2.0.1/go.mod h1:uYgXzlJ7ZpABp8OJ+exZzJJhRNQ2ASbcXHWsFqH8hp8= +github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= +github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= +github.com/blang/semver/v4 v4.0.0/go.mod h1:IbckMUScFkM3pff0VJDNKRiT6TG/YpiHIM2yvyW5YoQ= +github.com/buger/jsonparser v1.1.1/go.mod h1:6RYKKt7H4d4+iWqouImQ9R2FZql3VbhNgx27UK13J/0= +github.com/bytecodealliance/wasmtime-go/v37 v37.0.0/go.mod h1:Pf1l2JCTUFMnOqDIwkjzx1qfVJ09xbaXETKgRVE4jZ0= +github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= github.com/chai2010/gettext-go v1.0.2/go.mod h1:y+wnP2cHYaVj19NZhYKAwEMH2CI1gNHeQQ+5AjwawxA= +github.com/charmbracelet/colorprofile v0.3.1/go.mod h1:/GkGusxNs8VB/RSOh3fu0TJmQ4ICMMPApIIVn0KszZ0= +github.com/charmbracelet/lipgloss v1.1.0/go.mod h1:/6Q8FR2o+kj8rz4Dq0zQc3vYf7X+B0binUUBwA0aL30= +github.com/charmbracelet/x/ansi v0.9.2/go.mod h1:3RQDQ6lDnROptfpWuUVIUG64bD2g2BgntdxH0Ya5TeE= +github.com/charmbracelet/x/cellbuf v0.0.13/go.mod h1:xe0nKWGd3eJgtqZRaN9RjMtK7xUYchjzPr7q6kcvCCs= +github.com/charmbracelet/x/term v0.2.1/go.mod h1:oQ4enTYFV7QN4m0i9mzHrViD7TQKvNEEkHUMCmsxdUg= +github.com/checkpoint-restore/checkpointctl v1.4.0/go.mod h1:ynQ52zQBazgcTZuxpwTFzRinIcAf0haDTC1X1LA/FKA= +github.com/checkpoint-restore/go-criu/v5 v5.3.0/go.mod h1:E/eQpaFtUKGOOSEBZgmKAcn+zUUwWxqcaKZlF54wK8E= +github.com/checkpoint-restore/go-criu/v7 v7.2.0/go.mod h1:u0LCWLg0w4yqqu14aXhiB4YD3a1qd8EcCEg7vda5dwo= +github.com/chzyer/logex v1.2.1/go.mod h1:JLbx6lG2kDbNRFnfkgvh4eRJRPX1QCoOIWomwysCBrQ= github.com/chzyer/readline v1.5.1/go.mod h1:Eh+b79XXUwfKfcPLepksvw2tcLE/Ct21YObkaSkeBlk= +github.com/chzyer/test v1.0.0/go.mod h1:2JlltgoNkt4TW/z9V/IzDdFaMTM2JPIi26O1pF38GC8= +github.com/cilium/ebpf v0.16.0/go.mod h1:L7u2Blt2jMM/vLAVgjxluxtBKlz3/GWjB0dMOEngfwE= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/clipperhouse/uax29/v2 v2.2.0/go.mod h1:EFJ2TJMRUaplDxHKj1qAEhCtQPW2tJSwu5BF98AuoVM= +github.com/cloudflare/circl v1.6.0/go.mod h1:uddAzsPgqdMAYatqJ0lsjX1oECcQLIlRpzZh3pJrofs= +github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= +github.com/cncf/xds/go v0.0.0-20251022180443-0feb69152e9f/go.mod h1:HlzOvOjVBOfTGSRXRyY0OiCS/3J1akRGQQpRO/7zyF4= github.com/cncf/xds/go v0.0.0-20251210132809-ee656c7534f5/go.mod h1:KdCmV+x/BuvyMxRnYBlmVaq4OLiKW6iRQfvC62cvdkI= +github.com/compose-spec/compose-go/v2 v2.9.1/go.mod h1:Oky9AZGTRB4E+0VbTPZTUu4Kp+oEMMuwZXZtPPVT1iE= github.com/container-storage-interface/spec v1.9.0/go.mod h1:ZfDu+3ZRyeVqxZM0Ds19MVLkN2d1XJ5MAfi1L3VjlT0= +github.com/containerd/accelerated-container-image v1.3.0/go.mod h1:EvKVWor6ZQNUyYp0MZm5hw4k21ropuz7EegM+m/Jb/Q= +github.com/containerd/btrfs/v2 v2.0.0/go.mod h1:swkD/7j9HApWpzl8OHfrHNxppPd9l44DFZdF94BUj9k= +github.com/containerd/cgroups v1.1.0/go.mod h1:6ppBcbh/NOOUU+dMKrykgaBnK9lCIBxHqJDGwsa1mIw= +github.com/containerd/cgroups/v3 v3.0.3/go.mod h1:8HBe7V3aWGLFPd/k03swSIsGjZhHI2WzJmticMgVuz0= +github.com/containerd/cgroups/v3 v3.0.5/go.mod h1:SA5DLYnXO8pTGYiAHXz94qvLQTKfVM5GEVisn4jpins= +github.com/containerd/cgroups/v3 v3.1.2/go.mod h1:PKZ2AcWmSBsY/tJUVhtS/rluX0b1uq1GmPO1ElCmbOw= +github.com/containerd/console v1.0.4/go.mod h1:YynlIjWYF8myEu6sdkwKIvGQq+cOckRm6So2avqoYAk= +github.com/containerd/containerd v1.7.23 h1:H2CClyUkmpKAGlhQp95g2WXHfLYc7whAuvZGBNYOOwQ= github.com/containerd/containerd/api v1.8.0/go.mod h1:dFv4lt6S20wTu/hMcP4350RL87qPWLVa/OHOwmmdnYc= +github.com/containerd/containerd/api v1.9.0/go.mod h1:GhghKFmTR3hNtyznBoQ0EMWr9ju5AqHjcZPsSpTKutI= +github.com/containerd/containerd/v2 v2.1.2/go.mod h1:8C5QV9djwsYDNhxfTCFjWtTBZrqjditQ4/ghHSYjnHM= +github.com/containerd/containerd/v2 v2.1.4/go.mod h1:8C5QV9djwsYDNhxfTCFjWtTBZrqjditQ4/ghHSYjnHM= +github.com/containerd/continuity v0.4.1/go.mod h1:F6PTNCKepoxEaXLQp3wDAjygEnImnZ/7o4JzpodfroQ= +github.com/containerd/errdefs v0.3.0/go.mod h1:+YBYIdtsnF4Iw6nWZhJcqGSg/dwvV7tyJ/kCkyJ2k+M= +github.com/containerd/fuse-overlayfs-snapshotter/v2 v2.1.6/go.mod h1:Mau9LZ7ZnyKCIgcNT7sMG5fjaZ9YCOHU5RuolUikhBQ= +github.com/containerd/fuse-overlayfs-snapshotter/v2 v2.1.7/go.mod h1:gzkTvoDZmX6hLuNn6qQ8s3wkTJ+Va9SbT76v07GzVK0= +github.com/containerd/go-cni v1.1.13/go.mod h1:nTieub0XDRmvCZ9VI/SBG6PyqT95N4FIhxsauF1vSBI= +github.com/containerd/go-runc v1.1.0/go.mod h1:xJv2hFF7GvHtTJd9JqTS2UVxMkULUYw4JN5XAUZqH5U= +github.com/containerd/imgcrypt/v2 v2.0.1/go.mod h1:/qIJL8nxzdzMA2n5iYyyuIY36KfoVQWmgTWdfVtyebM= +github.com/containerd/nri v0.10.0/go.mod h1:5VyvLa/4uL8FjyO8nis1UjbCutXDpngil17KvBSL6BU= +github.com/containerd/nri v0.11.0/go.mod h1:bjGTLdUA58WgghKHg8azFMGXr05n1wDHrt3NSVBHiGI= +github.com/containerd/otelttrpc v0.1.0/go.mod h1:XhoA2VvaGPW1clB2ULwrBZfXVuEWuyOd2NUD1IM0yTg= +github.com/containerd/platforms v1.0.0-rc.1/go.mod h1:J71L7B+aiM5SdIEqmd9wp6THLVRzJGXfNuWCZCllLA4= +github.com/containerd/protobuild v0.3.0/go.mod h1:5mNMFKKAwCIAkFBPiOdtRx2KiQlyEJeMXnL5R1DsWu8= +github.com/containerd/stargz-snapshotter v0.17.0 h1:djNS4KU8ztFhLdEDZ1bsfzOiYuVHT6TgSU5qwRk+cNc= +github.com/containerd/stargz-snapshotter v0.17.0/go.mod h1:ySEul1ck7jCE4jqsuFCo8FFLrHU20UWQeI9g7mdsanI= +github.com/containerd/stargz-snapshotter v0.18.2 h1:Ev/sxfQUjwzJQ9eqy3XzttcQ3osMIqkQgMYlcET+10M= +github.com/containerd/stargz-snapshotter v0.18.2/go.mod h1:iS0a4lgCFjGbdBJNrm1jwvaMFGGnQ6PZ5Sd09i060h8= +github.com/containerd/stargz-snapshotter/estargz v0.14.3/go.mod h1:KY//uOCIkSuNAHhJogcZtrNHdKrA99/FCCRjE3HD36o= +github.com/containerd/ttrpc v1.2.5/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= github.com/containerd/ttrpc v1.2.6/go.mod h1:YCXHsb32f+Sq5/72xHubdiJRQY9inL4a4ZQrAbN1q9o= +github.com/containerd/typeurl/v2 v2.1.1/go.mod h1:IDp2JFvbwZ31H8dQbEIY7sDl2L3o3HZj1hsSQlywkQ0= +github.com/containerd/typeurl/v2 v2.2.0/go.mod h1:8XOOxnyatxSWuG8OfsZXVnAF4iZfedjS/8UHSPJnX4g= github.com/containerd/typeurl/v2 v2.2.2/go.mod h1:95ljDnPfD3bAbDJRugOiShd/DlAAsxGtUBhJxIn7SCk= github.com/containerd/zfs/v2 v2.0.0-rc.0/go.mod h1:g36g/XCEGDRxUXIFdM3oWAEvmTvhfz/eKWElqg4Secw= +github.com/containerd/zfs/v2 v2.0.0/go.mod h1:fnUDKF98iYuQqLvNdoXs9MXjtfhRWp1nxSgRf7VZH8s= github.com/containernetworking/cni v1.3.0/go.mod h1:Bs8glZjjFfGPHMw6hQu82RUgEPNGEaBb9KS5KtNMnJ4= github.com/containernetworking/plugins v1.9.0/go.mod h1:JG3BxoJifxxHBhG3hFyxyhid7JgRVBu/wtooGEvWf1c= +github.com/containernetworking/plugins v1.9.1/go.mod h1:fj7kS55qg3o/RgS+WGsF3+ZxwIImMPusQZKzBpcSr4c= github.com/containers/ocicrypt v1.2.1/go.mod h1:aD0AAqfMp0MtwqWgHM1bUwe1anx0VazI108CRrSKINQ= github.com/coredns/caddy v1.1.1/go.mod h1:A6ntJQlAWuQfFlsd9hvigKbo2WS0VUs2l1e2F+BawD4= +github.com/coredns/corefile-migration v1.0.23/go.mod h1:8HyMhuyzx9RLZp8cRc9Uf3ECpEAafHOFxQWUPqktMQI= github.com/coredns/corefile-migration v1.0.26/go.mod h1:56DPqONc3njpVPsdilEnfijCwNGC3/kTJLl7i7SPavY= +github.com/coreos/go-iptables v0.8.0/go.mod h1:Qe8Bv2Xik5FyTXwgIbLAnv2sWSBmvWdFETJConOQ//Q= github.com/coreos/go-oidc v2.3.0+incompatible/go.mod h1:CgnwVTmzoESiwO9qyAFEMiHoZ1nMCKZlZ9V6mm3/LKc= -github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/coreos/go-oidc/v3 v3.17.0/go.mod h1:wqPbKFrVnE90vty060SB40FCJ8fTHTxSwyXJqZH+sI8= github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= github.com/coreos/go-semver v0.3.1 h1:yi21YpKnrx1gt5R+la8n5WgS0kCrsPp33dmEyHReZr4= github.com/coreos/go-semver v0.3.1/go.mod h1:irMmmIw/7yzSRPWryHsK7EYSg09caPQL03VsM8rvUec= github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= github.com/coreos/go-systemd/v22 v22.4.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= +github.com/coreos/go-systemd/v22 v22.6.0/go.mod h1:iG+pp635Fo7ZmV/j14KUcmEyWF+0X7Lua8rrTWzYgWU= +github.com/coreos/go-systemd/v22 v22.7.0/go.mod h1:xNUYtjHu2EDXbsxz1i41wouACIwT7Ybq9o0BQhMwD0w= github.com/cppforlife/cobrautil v0.0.0-20221021151949-d60711905d65/go.mod h1:2w+qxVu2KSGW78Ex/XaIqfh/OvBgjEsmN53S4T8vEyA= github.com/cppforlife/go-cli-ui v0.0.0-20220425131040-94f26b16bc14/go.mod h1:AlgTssDlstr4mf92TR4DPITLfl5+7wEY4cKStCmeeto= github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.4/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.5/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= github.com/cpuguy83/go-md2man/v2 v2.0.7/go.mod h1:oOW0eioCTA6cOiMLiUPZOpcVxMig6NIQQ7OS05n1F4g= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/creack/pty v1.1.18/go.mod h1:MOBLtS5ELjhRRrroQr9kyvTxUAFNvYEK993ew/Vr4O4= github.com/cyphar/filepath-securejoin v0.2.4/go.mod h1:aPGpWjXOXUn2NCNjFvBE6aRxGGx79pTxQpKOJNYHHl4= github.com/cyphar/filepath-securejoin v0.3.4/go.mod h1:8s/MCNJREmFK0H02MF6Ihv1nakJe4L/w3WZLHNkvlYM= github.com/cyphar/filepath-securejoin v0.4.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= +github.com/cyphar/filepath-securejoin v0.5.1/go.mod h1:Sdj7gXlvMcPZsbhwhQ33GguGLDGQL7h7bg04C/+u9jI= github.com/danieljoos/wincred v1.2.3/go.mod h1:6qqX0WNrS4RzPZ1tnroDzq9kY3fu1KwE7MRLQK4X0bs= +github.com/daviddengcn/go-colortext v1.0.0/go.mod h1:zDqEI5NVUop5QPpVJUxE9UO10hRnmkD5G4Pmri9+m4c= +github.com/decred/dcrd/crypto/blake256 v1.0.1/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/crypto/blake256 v1.1.0/go.mod h1:2OfgNZ5wDpcsFmHmCK5gZTPcCXqlm2ArzUIkw9czNJo= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.2.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40= +github.com/dgraph-io/badger/v4 v4.8.0/go.mod h1:U6on6e8k/RTbUWxqKR0MvugJuVmkxSNc79ap4917h4w= +github.com/dgraph-io/ristretto/v2 v2.2.0/go.mod h1:RZrm63UmcBAaYWC1DotLYBmTvgkrs0+XhBd7Npn7/zI= +github.com/dgryski/trifles v0.0.0-20230903005119-f50d829f2e54/go.mod h1:if7Fbed8SFyPtHLHbg49SI7NAdJiC5WIA09pe59rfAA= +github.com/digitorus/pkcs7 v0.0.0-20230713084857-e76b763bdc49/go.mod h1:SKVExuS+vpu2l9IoOc0RwqE7NYnb0JlcFHFnEJkVDzc= +github.com/distribution/reference v0.5.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E= +github.com/docker/cli v24.0.0+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v28.5.2+incompatible h1:XmG99IHcBmIAoC1PPg9eLBZPlTrNUAijsHLm8PjhBlg= +github.com/docker/cli v28.5.2+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.0.3+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli v29.3.1+incompatible h1:M04FDj2TRehDacrosh7Vlkgc7AuQoWloQkf1PA5hmoI= +github.com/docker/cli v29.3.1+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= +github.com/docker/cli-docs-tool v0.11.0 h1:7d8QARFb7QEobizqxmEM7fOteZEHwH/zWgHQtHZEcfE= +github.com/docker/cli-docs-tool v0.11.0/go.mod h1:ma8BKiisUo8D6W05XEYIh3oa1UbgrZhi1nowyKFJa8Q= +github.com/docker/compose/v5 v5.0.2 h1:OTBsvKsim2rVNUBrb9pP5byiGG5trTt+uO3qr6WIQYo= +github.com/docker/compose/v5 v5.0.2/go.mod h1:MbI7iBpjcgTN27JC4cYYR1mmfmaWEqEgqKKfbEGFK1c= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/docker v24.0.0+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker-credential-helpers v0.7.0/go.mod h1:rETQfLdHNT3foU5kuNkFR1R1V12OJRRO5lzt2D1b5X0= +github.com/docker/docker-credential-helpers v0.9.3/go.mod h1:x+4Gbw9aGmChi3qTLZj8Dfn0TD20M/fuWy0E5+WDeCo= +github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c h1:lzqkGL9b3znc+ZUgi7FlLnqjQhcXxkNM/quxIjBVMD0= +github.com/docker/go v1.5.1-1.0.20160303222718-d30aec9fd63c/go.mod h1:CADgU4DSXK5QUlFslkQu2yW2TKzFZcXq/leZfM0UH5Q= +github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= +github.com/docker/go-connections v0.5.0/go.mod h1:ov60Kzw0kKElRwhNs9UlUHAE/F9Fe6GLaXnqyDdmEXc= +github.com/docker/go-events v0.0.0-20190806004212-e31b211e4f1c/go.mod h1:Uw6UezgYA44ePAFQYUehOuCzmy5zmg/+nl2ZfMWGkpA= github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/emicklei/go-restful v2.16.0+incompatible h1:rgqiKNjTnFQA6kkhFe16D8epTksy9HQ1MyrbDXSdYhM= github.com/emicklei/go-restful v2.16.0+incompatible/go.mod h1:otzb+WCGbkyDHkqmQmT5YD2WR4BBwUdeQoFo8l/7tVs= -github.com/envoyproxy/go-control-plane v0.14.0/go.mod h1:NcS5X47pLl/hfqxU70yPwL9ZMkUlwlKxtAohpi2wBEU= -github.com/envoyproxy/go-control-plane/envoy v1.36.0/go.mod h1:ty89S1YCCVruQAm9OtKeEkQLTb+Lkz0k8v9W0Oxsv98= github.com/emicklei/go-restful/v3 v3.8.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/emicklei/go-restful/v3 v3.11.0 h1:rAQeMHw1c7zTmncogyy8VvRZwtkmkZ4FxERmMY4rD+g= github.com/emicklei/go-restful/v3 v3.11.0/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= +github.com/emicklei/go-restful/v3 v3.12.2/go.mod h1:6n3XBCmQQb25CM2LCACGz8ukIrRry+4bhvbpWn3mrbc= github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= @@ -277,37 +408,46 @@ github.com/envoyproxy/go-control-plane v0.12.0/go.mod h1:ZBTaoJ23lqITozF0M6G4/Ir github.com/envoyproxy/go-control-plane v0.13.0/go.mod h1:GRaKG3dwvFoTg4nj7aXdZnvMg4d7nvT/wl9WgVXn3Q8= github.com/envoyproxy/go-control-plane v0.13.4/go.mod h1:kDfuBlDVsSj2MjrLEtRWtHlsWIFcGyB2RMO44Dc5GZA= github.com/envoyproxy/go-control-plane v0.13.5-0.20251024222203-75eaa193e329/go.mod h1:Alz8LEClvR7xKsrq3qzoc4N0guvVNSS8KmSChGYr9hs= +github.com/envoyproxy/go-control-plane v0.14.0/go.mod h1:NcS5X47pLl/hfqxU70yPwL9ZMkUlwlKxtAohpi2wBEU= github.com/envoyproxy/go-control-plane/envoy v1.32.4/go.mod h1:Gzjc5k8JcJswLjAx1Zm+wSYE20UrLtt7JZMWiWQXQEw= github.com/envoyproxy/go-control-plane/envoy v1.35.0/go.mod h1:09qwbGVuSWWAyN5t/b3iyVfz5+z8QWGrzkoqm/8SbEs= +github.com/envoyproxy/go-control-plane/envoy v1.36.0/go.mod h1:ty89S1YCCVruQAm9OtKeEkQLTb+Lkz0k8v9W0Oxsv98= github.com/envoyproxy/go-control-plane/ratelimit v0.1.0/go.mod h1:Wk+tMFAFbCXaJPzVVHnPgRKdUdwW/KdbRt94AzgRee4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/envoyproxy/protoc-gen-validate v1.2.1/go.mod h1:d/C80l/jxXLdfEIhX1W2TmLfsJ31lvEjwamM4DxlWXU= github.com/envoyproxy/protoc-gen-validate v1.3.0/go.mod h1:HvYl7zwPa5mffgyeTUHA9zHIH36nmrm7oCbo4YKoSWA= github.com/euank/go-kmsg-parser v2.0.0+incompatible/go.mod h1:MhmAMZ8V4CYH4ybgdRwPr2TU5ThnS43puaKEMpja1uw= github.com/exponent-io/jsonpath v0.0.0-20210407135951-1de76d718b3f/go.mod h1:OSYXu++VVOHnXeitef/D8n/6y4QV8uLHSFXX4NeXMGc= github.com/fatih/camelcase v1.0.0/go.mod h1:yN2Sb0lFhZJUdVvtELVWefmrXpuZESvPmqwoZc+/fpc= -github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= -github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= -github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= -github.com/fsnotify/fsnotify v1.9.0/go.mod h1:8jBTzvmWwFyi3Pb8djgCCO5IBqzKJ/Jwo8TRcHyHii0= -github.com/fvbommel/sortorder v1.1.0 h1:fUmoe+HLsBTctBDoaBwpQo5N+nrCp8g/BjKb/6ZQmYw= -github.com/fvbommel/sortorder v1.1.0/go.mod h1:uk88iVf1ovNn1iLfgUVU2F9o5eO30ui720w+kxuqRs0= github.com/fatih/color v1.15.0/go.mod h1:0h5ZqXfHYED7Bhv2ZJamyIOUej9KtShiJESRwBDUSsw= github.com/felixge/fgprof v0.9.3/go.mod h1:RdbpDgzqYVh/T9fPELJyV7EYJuHB55UTEULNun8eiPw= github.com/felixge/httpsnoop v1.0.1/go.mod h1:m8KPJKqk1gH5J9DgRY2ASl2lWCfGKXixSwevea8zH2U= github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/form3tech-oss/jwt-go v3.2.3+incompatible h1:7ZaBxOI7TMoYBfyA3cQHErNNyAWIKUMIwqxEtgHOs5c= github.com/form3tech-oss/jwt-go v3.2.3+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= +github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/foxcpp/go-mockdns v1.1.0/go.mod h1:IhLeSFGed3mJIAXPH2aiRQB+kqz7oqu8ld2qVbOu7Wk= +github.com/fxamacker/cbor/v2 v2.5.0/go.mod h1:TA1xS00nchWmaBnEIxPSE5oHLuJBAVvqrtAnWBwBCVo= github.com/fxamacker/cbor/v2 v2.6.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= +github.com/fxamacker/cbor/v2 v2.7.0/go.mod h1:pxXPTn3joSm21Gbwsv0w9OSA2y1HFR9qXEeXQVeNoDQ= github.com/getkin/kin-openapi v0.76.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/getkin/kin-openapi v0.81.0/go.mod h1:660oXbgy5JFMKreazJaQTw7o+X00qeSyhcnluiMv+Xg= github.com/ghodss/yaml v0.0.0-20150909031657-73d445a93680/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= github.com/ghodss/yaml v1.0.0 h1:wQHKEahhL6wmXdzwWG11gIVCkOv05bNOh+Rxn0yngAk= +github.com/gkampitakis/ciinfo v0.3.2/go.mod h1:1NIwaOcFChN4fa/B0hEBdAb6npDlFL8Bwx4dfRLRqAo= +github.com/gkampitakis/go-diff v1.3.2/go.mod h1:LLgOrpqleQe26cte8s36HTWcTmMEur6OPYerdAAS9tk= +github.com/gkampitakis/go-snaps v0.5.15/go.mod h1:HNpx/9GoKisdhw9AFOBT1N7DBs9DiHo/hGheFGBZ+mc= github.com/go-errors/errors v1.4.2/go.mod h1:sIVyrIiJhuEF+Pj9Ebtd6P/rEYROXFi3BopGUQ5a5Og= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +github.com/go-ini/ini v1.67.0/go.mod h1:ByCAeIL28uOIIG0E3PJtZPDL8WnHpFKFOtgjp+3Ies8= github.com/go-jose/go-jose/v3 v3.0.0/go.mod h1:RNkWWRld676jZEYoV3+XK8L2ZnNSvIsxFMht0mSX+u8= github.com/go-jose/go-jose/v4 v4.1.2/go.mod h1:22cg9HWM1pOlnRiY+9cQYJ9XHmya1bYW8OeDM6Ku6Oo= github.com/go-jose/go-jose/v4 v4.1.3/go.mod h1:x4oUasVrzR7071A4TnHLGSPpNOm2a21K9Kf04k1rs08= +github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.2.1/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= +github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= +github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.1/go.mod h1:WYhtIu8zTZfxdn5+rREduYbwxfcBr/Vr6KEVveWlfTs= github.com/go-logr/logr v0.1.0/go.mod h1:ixOQHD9gLJUVQQ2ZOR7zLEifBX6tGkNJF4QyIY7sIas= github.com/go-logr/logr v0.2.0/go.mod h1:z6/tIYblkpsD+a4lm/fGIIU9mZ+XfAiaFtq7xTgseGU= @@ -316,120 +456,239 @@ github.com/go-logr/logr v1.2.3/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbV github.com/go-logr/logr v1.2.4/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= github.com/go-logr/logr v1.4.1 h1:pKouT5E8xu9zeFC39JXRDukb6JFQPXM5p5I91188VAQ= github.com/go-logr/logr v1.4.1/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-logr/zapr v1.2.3 h1:a9vnzlIBPQBBkeaR9IuMUfmVOrQlkoC4YfPoFkX3T7A= github.com/go-logr/zapr v1.2.3/go.mod h1:eIauM6P8qSvTw5o2ez6UEAfGjQKrxQTl5EoK+Qa2oG4= github.com/go-logr/zapr v1.2.4/go.mod h1:FyHWQIzQORZ0QVE1BtVHv3cKtNLuXsbNLtpuhNapBOA= -github.com/go-logr/logr v1.4.2/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0= github.com/go-openapi/jsonpointer v0.0.0-20160704185906-46af16f9f7b1/go.mod h1:+35s3my2LFTysnkMfxsJBAMHj/DoqoB9knIWoYG/Vk0= github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg= github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/jsonpointer v0.19.6/go.mod h1:osyAmYz/mB/C3I+WsTTSgw1ONzaLJoLCyoi6/zppojs= github.com/go-openapi/jsonpointer v0.21.0/go.mod h1:IUyH9l/+uyhIYQ/PXVA41Rexl+kOkAPDdXEYns6fzUY= github.com/go-openapi/jsonreference v0.0.0-20160704190145-13c6e3589ad9/go.mod h1:W3Z9FmVs9qj+KR4zFKmDPGiLdk1D9Rlm7cyMvf57TTg= github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc= github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8= github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg= github.com/go-openapi/jsonreference v0.20.1/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= +github.com/go-openapi/jsonreference v0.20.2/go.mod h1:Bl1zwGIM8/wsvqjsOQLJ/SH+En5Ap4rVB5KVcIDZG2k= github.com/go-openapi/spec v0.0.0-20160808142527-6aced65f8501/go.mod h1:J8+jY1nAiCcj+friV/PDoE1/3eeccG9LYBs0tYvLOWc= github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo= github.com/go-openapi/swag v0.0.0-20160704191624-1d0bd113de87/go.mod h1:DXUve3Dpr1UfpPtxFw+EFuQ41HhCWZfha5jSVRG7C7I= github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ= +github.com/go-openapi/swag v0.22.3/go.mod h1:UzaqsxGiab7freDnrUUra0MwWfN/q7tE4j+VcZ0yl14= github.com/go-openapi/swag v0.23.0/go.mod h1:esZ8ITTYEsH1V2trKHjAN8Ai7xHb8RV+YSZ577vPjgQ= +github.com/go-openapi/swag/conv v0.25.4/go.mod h1:3LXfie/lwoAv0NHoEuY1hjoFAYkvlqI/Bn5EQDD3PPU= +github.com/go-openapi/swag/fileutils v0.25.4/go.mod h1:cdOT/PKbwcysVQ9Tpr0q20lQKH7MGhOEb6EwmHOirUk= +github.com/go-openapi/swag/jsonname v0.25.4/go.mod h1:GPVEk9CWVhNvWhZgrnvRA6utbAltopbKwDu8mXNUMag= +github.com/go-openapi/swag/jsonutils v0.25.4/go.mod h1:7OYGXpvVFPn4PpaSdPHJBtF0iGnbEaTk8AvBkoWnaAY= +github.com/go-openapi/swag/loading v0.25.4/go.mod h1:rpUM1ZiyEP9+mNLIQUdMiD7dCETXvkkC30z53i+ftTE= +github.com/go-openapi/swag/mangling v0.25.4/go.mod h1:6dxwu6QyORHpIIApsdZgb6wBk/DPU15MdyYj/ikn0Hg= +github.com/go-openapi/swag/stringutils v0.25.4/go.mod h1:GTsRvhJW5xM5gkgiFe0fV3PUlFm0dr8vki6/VSRaZK0= +github.com/go-openapi/swag/typeutils v0.25.4/go.mod h1:Ou7g//Wx8tTLS9vG0UmzfCsjZjKhpjxayRKTHXf2pTE= +github.com/go-openapi/swag/yamlutils v0.25.4/go.mod h1:MNzq1ulQu+yd8Kl7wPOut/YHAAU/H6hL91fF+E2RFwc= +github.com/go-openapi/testify/enable/yaml/v2 v2.4.1/go.mod h1:r7dwsujEHawapMsxA69i+XMGZrQ5tRauhLAjV/sxg3Q= +github.com/go-openapi/testify/v2 v2.4.1/go.mod h1:HCPmvFFnheKK2BuwSA0TbbdxJ3I16pjwMkYkP4Ywn54= +github.com/go-rod/rod v0.116.2/go.mod h1:H+CMO9SCNc2TJ2WfrG+pKhITz57uGNYU43qYHh438Mg= +github.com/go-sql-driver/mysql v1.9.3 h1:U/N249h2WzJ3Ukj8SowVFjdtZKfu9vlLZxjPXV1aweo= +github.com/go-sql-driver/mysql v1.9.3/go.mod h1:qn46aNg1333BRMNU69Lq93t8du/dwxI64Gl8i5p1WMU= +github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY= github.com/go-task/slim-sprig v0.0.0-20210107165309-348f09dbbbc0/go.mod h1:fyg7847qk6SyHyPtNmDHnmrv/HOrqktSC+C9fM+CJOE= github.com/go-task/slim-sprig v0.0.0-20230315185526-52ccab3ef572/go.mod h1:9Pwr4B2jHnOSGXyyzV8ROjYa2ojvAY6HCGYYfMoC3Ls= -github.com/go-viper/mapstructure/v2 v2.4.0 h1:EBsztssimR/CONLSZZ04E8qAkxNYq4Qp9LvH92wZUgs= -github.com/go-viper/mapstructure/v2 v2.4.0/go.mod h1:oJDH3BJKyqBA2TXFhDsKDGDTlndYOZ6rGS0BRZIxGhM= github.com/gobuffalo/flect v0.2.3/go.mod h1:vmkQwuZYhN5Pc4ljYQZzP+1sq+NEkK+lh20jmEmX3jc= +github.com/gobwas/glob v0.2.3/go.mod h1:d3Ez4x06l9bZtSvzIay5+Yzi0fmZzPgnTbPcKjJAkT8= +github.com/goccy/go-json v0.10.2/go.mod h1:6MelG93GURQebXPDq3khkgXZkazVtN9CRI+MGFi0w8I= +github.com/goccy/go-json v0.10.5/go.mod h1:oq7eo15ShAhp70Anwd5lgX2pLfOS3QCiwU/PULtXL6M= +github.com/goccy/go-yaml v1.18.0/go.mod h1:XBurs7gK8ATbW4ZPGKgcbrY1Br56PdM69F7LkFRi1kA= +github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= github.com/golang-jwt/jwt/v5 v5.2.2/go.mod h1:pqrtFR0X4osieyHYxtmOUWsAWrfe1Q5UVIyoH402zdk= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= github.com/golang/glog v1.2.5/go.mod h1:6AhwSGph0fcJtXVM/PEHPqZlFeoLxhs7/t5UDAwmO+w= +github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v0.0.0-20161109072736-4bd1920723d7/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= +github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= +github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= +github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= +github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= +github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= +github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= +github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v1.0.0/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/google/btree v1.0.1/go.mod h1:xXMiIv4Fb/0kKde4SpL7qlzvu5cMJDRkFDxJfI9uaxA= github.com/google/cadvisor v0.49.0/go.mod h1:s6Fqwb2KiWG6leCegVhw4KW40tf9f7m+SF1aXiE8Wsk= github.com/google/cadvisor v0.49.2/go.mod h1:s6Fqwb2KiWG6leCegVhw4KW40tf9f7m+SF1aXiE8Wsk= github.com/google/cadvisor v0.51.0/go.mod h1:czGE/c/P/i0QFpVNKTFrIEzord9Y10YfpwuaSWXELc0= github.com/google/cadvisor v0.52.1/go.mod h1:OAhPcx1nOm5YwMh/JhpUOMKyv1YKLRtS9KgzWPndHmA= +github.com/google/cel-go v0.25.0/go.mod h1:hjEb6r5SuOSlhCHmFoLzu8HGCERvIsDAbxDAyNU/MmI= +github.com/google/cel-go v0.26.0/go.mod h1:A9O8OU9rdvrK5MQyrqfIxo1a0u4g3sF8KB6PUIaryMM= +github.com/google/certtostore v1.0.6/go.mod h1:2N0ZPLkGvQWhYvXaiBGq02r71fnSLfq78VKIWQHr1wo= +github.com/google/deck v0.0.0-20230104221208-105ad94aa8ae/go.mod h1:DoDv8G58DuLNZF0KysYn0bA/6ZWhmRW3fZE2VnGEH0w= +github.com/google/flatbuffers v25.2.10+incompatible/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= github.com/google/gnostic v0.5.7-v3refs/go.mod h1:73MKFl6jIHelAJNaBGFzt3SPtZULs9dYrGFt8OiIsHQ= +github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M= +github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU= +github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= +github.com/google/go-containerregistry v0.20.1/go.mod h1:YCMFNQeeXeLF+dnhhWkqDItx/JSkH01j1Kis4PsjzFI= +github.com/google/go-dap v0.12.0/go.mod h1:tNjCASCm5cqePi/RVXXWEVqtnNLV1KTWtYOqu6rZNzc= +github.com/google/go-dap v0.12.1-0.20250904181021-d7a2259b058b/go.mod h1:tNjCASCm5cqePi/RVXXWEVqtnNLV1KTWtYOqu6rZNzc= +github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8IQu3XUZ8Nc/bM9CCZFOyjUNOSygVozoDg= +github.com/google/pprof v0.0.0-20250403155104-27863c87afa6/go.mod h1:boTsfXsheKC2y+lKOCMpSfarhxDeIzfZG1jqGcPl3cA= +github.com/google/trillian v1.7.2/go.mod h1:mfQJW4qRH6/ilABtPYNBerVJAJ/upxHLX81zxNQw05s= +github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/grafana/regexp v0.0.0-20240518133315-a468a5bfb3bc/go.mod h1:+JKpmjMGhpgPL+rXZ5nsZieVzvarn86asRlBg4uNGnk= github.com/gregjones/httpcache v0.0.0-20190611155906-901d90724c79/go.mod h1:FecbI9+v66THATjSRHfNgh1IVFe/9kFxbXtjV0ctIMA= +github.com/grpc-ecosystem/go-grpc-middleware v1.3.0/go.mod h1:z0ButlSOZa5vEBq9m2m2hlwIgKw+rp3sdCBRoJY+30Y= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.0.1/go.mod h1:lXGCsh6c22WGtjr+qGHj1otzZpV/1kwTMAqkwZsnWRU= github.com/grpc-ecosystem/go-grpc-middleware/providers/prometheus v1.1.0/go.mod h1:hM2alZsMUni80N33RBe6J0e423LB+odMj7d3EMP9l20= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.1.0/go.mod h1:XKMd7iuf/RGPSMJ/U4HP0zS2Z9Fh8Ps9a+6X26m/tmI= github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.0/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc= +github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.3/go.mod h1:NbCUVmiS4foBGBHOYlCT25+YmGpJ32dZPi75pGEUpj4= +github.com/grpc-ecosystem/go-grpc-prometheus v1.2.0/go.mod h1:8NvIoxWQoOIhqOTXgfV/d3M/q6VIi02HzZEHgUlZvzk= github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo= github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4ZsPv9hVvWI6+ch50m39Pf2Ks= github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= github.com/grpc-ecosystem/grpc-gateway/v2 v2.24.0/go.mod h1:qztMSjm835F2bXf+5HKAPIS5qsmQDqZna/PgVt4rWtI= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.1/go.mod h1:tIxuGz/9mpox++sgp9fJjHO0+q1X9/UOWd798aAm22M= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.2/go.mod h1:pkJQ2tZHJ0aFOVEEot6oZmaVEZcRme73eIFmhiVuRWs= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.27.7/go.mod h1:lW34nIZuQ8UDPdkon5fmfp2l3+ZkQ2me/+oecHYLOII= github.com/hanwen/go-fuse/v2 v2.8.0/go.mod h1:yE6D2PqWwm3CbYRxFXV9xUd8Md5d6NG0WBs5spCswmI= -github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= +github.com/hanwen/go-fuse/v2 v2.9.0/go.mod h1:yE6D2PqWwm3CbYRxFXV9xUd8Md5d6NG0WBs5spCswmI= github.com/hashicorp/go-cty-funcs v0.0.0-20250818135842-6aab67130928/go.mod h1:YC9ASYt9Z9sQEAtzCe+yaAzi3E7wcxfRphDXtwZoWC0= github.com/hashicorp/go-immutable-radix/v2 v2.1.0/go.mod h1:hgdqLXA4f6NIjRVisM1TJ9aOJVNRqKZj+xDGF6m7PBw= github.com/hashicorp/go-retryablehttp v0.7.8/go.mod h1:rjiScheydd+CxvumBsIrFKlx3iS0jrZ7LvzFGFmuKbw= github.com/hashicorp/go-version v1.2.1/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go-version v1.6.0 h1:feTTfFNnjP967rlCxM/I9g701jU+RN74YKx2mOkIeek= github.com/hashicorp/go-version v1.6.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= -github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/hashicorp/golang-lru/v2 v2.0.7/go.mod h1:QeFd9opnmA6QUJc5vARoKUSoFhyfM2/ZepoAG6RGpeM= +github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/hcl/v2 v2.24.0/go.mod h1:oGoO1FIQYfn/AgyOhlg9qLC6/nOJPX3qGbkZpYAcqfM= github.com/hiddeco/sshsig v0.2.0/go.mod h1:nJc98aGgiH6Yql2doqH4CTBVHexQA40Q+hMMLHP4EqE= +github.com/huandu/go-assert v1.1.5/go.mod h1:yOLvuqZwmcHIC5rIzrBhT7D3Q9c3GFnd0JrPVhn/06U= +github.com/huandu/go-clone v1.7.3/go.mod h1:ReGivhG6op3GYr+UY3lS6mxjKp7MIGTknuU5TbTVaXE= +github.com/huandu/go-sqlbuilder v1.37.0/go.mod h1:zdONH67liL+/TvoUMwnZP/sUYGSSvHh9psLe/HpXn8E= +github.com/huandu/xstrings v1.4.0/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= +github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/ianlancetaylor/demangle v0.0.0-20250417193237-f615e6bd150b/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/imdario/mergo v0.3.12/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH0dnCYA= +github.com/insomniacslk/dhcp v0.0.0-20240829085014-a3a4c1f04475/go.mod h1:KclMyHxX06VrVr0DJmeFSUb1ankt7xTfoOA35pCkoic= github.com/intel/goresctrl v0.10.0/go.mod h1:1S8GDqL46GuKb525bxNhIEEkhf4rhVcbSf9DuKhp7mw= github.com/ishidawataru/sctp v0.0.0-20230406120618-7ff4192f6ff2/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= github.com/ishidawataru/sctp v0.0.0-20250521072954-ae8eb7fa7995/go.mod h1:co9pwDoBCm1kGxawmb4sPq0cSIOOWNPT4KnHotMP1Zg= +github.com/jackc/pgpassfile v1.0.0/go.mod h1:CEx0iS5ambNFdcRtxPj5JhEz+xB6uRky5eyVu/W2HEg= +github.com/jackc/pgservicefile v0.0.0-20240606120523-5a60cdf6a761/go.mod h1:5TJZWKEWniPve33vlWYSoGYefn3gLQRzjfDlhSJ9ZKM= +github.com/jackc/pgx/v5 v5.7.5/go.mod h1:aruU7o91Tc2q2cFp5h4uP3f6ztExVpyVv88Xl/8Vl8M= +github.com/jackc/puddle/v2 v2.2.2/go.mod h1:vriiEXHvEE654aYKXXjOvZM39qJ0q+azkZFrfEOc3H4= +github.com/jedisct1/go-minisign v0.0.0-20211028175153-1c139d1cc84b/go.mod h1:hQmNrgofl+IY/8L+n20H6E6PWBBTokdsv+q49j0QhsU= github.com/jessevdk/go-flags v1.6.1/go.mod h1:Mk8T1hIAWpOiJiHa9rJASDK2UGWji0EuPGBnNLMooyc= -github.com/jonboulle/clockwork v0.5.0/go.mod h1:3mZlmanh0g2NDKO5TWZVJAfofYk64M7XN3SzBPjZF60= github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= github.com/jonboulle/clockwork v0.2.2/go.mod h1:Pkfl5aHPm1nk2H9h0bjmnJD/BcgbGXUBGnn1kMkgxc8= github.com/jonboulle/clockwork v0.4.0/go.mod h1:xgRqUGwRcjKCO1vbZUEtSLrqKoPSsUpK7fnezOII0kc= +github.com/josephspurrier/goversioninfo v1.5.0/go.mod h1:6MoTvFZ6GKJkzcdLnU5T/RGYUbHQbKpYeNP0AgQLd2o= github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y= +github.com/josharian/native v1.1.0/go.mod h1:7X/raswPFr05uY3HiLlYeyQntB6OO7E/d2Cu7qoaN2w= +github.com/joshdk/go-junit v1.0.0/go.mod h1:TiiV0PqkaNfFXjEiyjWM3XXrhVyCa1K4Zfga6W52ung= github.com/jpillora/backoff v1.0.0/go.mod h1:J/6gKK9jxlEcS3zixgDgUAsiuZ7yrSoa/FX5e0EB2j4= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/json-iterator/go v1.1.7/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= github.com/julienschmidt/httprouter v1.3.0/go.mod h1:JR6WtHb+2LUe8TCKY3cZOxFyyO8IZAc4RVcycCCAKdM= github.com/k14s/semver/v4 v4.0.1-0.20210701191048-266d47ac6115/go.mod h1:mGrnmO5qnhJIaSiwMo05cvRL6Ww9ccYbTgNFcm6RHZQ= github.com/karrick/godirwalk v1.17.0/go.mod h1:j4mkqPuvaLI8mp1DroR3P6ad7cyYd4c1qeJ3RV7ULlk= github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51/go.mod h1:CzGEWj7cYgsdH8dAjBGEr58BoE7ScuLd+fwFZ44+/x8= github.com/keybase/go-keychain v0.0.1/go.mod h1:PdEILRW3i9D8JcdM+FmY6RwkHGnhHxXwkPPMeUgOK1k= github.com/kisielk/errcheck v1.8.0/go.mod h1:1kLL+jV4e+CFfueBmI1dSK2ADDyQnlrnrY/FqKluHJQ= +github.com/klauspost/compress v1.18.0/go.mod h1:2Pp+KzxcywXVXMr50+X0Q/Lsb43OQHYWRCY2AiWywWQ= +github.com/klauspost/compress v1.18.2/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/klauspost/compress v1.18.3/go.mod h1:R0h/fSBs8DE4ENlcrlib3PsXS61voFxhIs2DeRhCvJ4= +github.com/knqyf263/go-plugin v0.9.0/go.mod h1:2z5lCO1/pez6qGo8CvCxSlBFSEat4MEp1DrnA+f7w8Q= +github.com/konsorten/go-windows-terminal-sequences v1.0.1/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/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= +github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= +github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= +github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y= +github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU= +github.com/lestrrat-go/blackmagic v1.0.4/go.mod h1:6AWFyKNNj0zEXQYfTMPfZrAXUWUfTIZ5ECEUEJaijtw= +github.com/lestrrat-go/dsig v1.0.0/go.mod h1:dEgoOYYEJvW6XGbLasr8TFcAxoWrKlbQvmJgCR0qkDo= +github.com/lestrrat-go/dsig-secp256k1 v1.0.0/go.mod h1:CxUgAhssb8FToqbL8NjSPoGQlnO4w3LG1P0qPWQm/NU= +github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E= +github.com/lestrrat-go/httprc/v3 v3.0.1/go.mod h1:2uAvmbXE4Xq8kAUjVrZOq1tZVYYYs5iP62Cmtru00xk= +github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4= +github.com/lestrrat-go/jwx v1.2.29/go.mod h1:hU8k2l6WF0ncx20uQdOmik/Gjg6E3/wIRtXSNFeZuB8= +github.com/lestrrat-go/jwx/v3 v3.0.11/go.mod h1:XSOAh2SiXm0QgRe3DulLZLyt+wUuEdFo81zuKTLcvgQ= +github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I= +github.com/lestrrat-go/option/v2 v2.0.0/go.mod h1:oSySsmzMoR0iRzCDCaUfsCzxQHUEuhOViQObyy7S6Vg= +github.com/letsencrypt/boulder v0.20251110.0/go.mod h1:ogKCJQwll82m7OVHWyTuf8eeFCjuzdRQlgnZcCl0V+8= github.com/libopenstorage/openstorage v1.0.0/go.mod h1:Sp1sIObHjat1BeXhfMqLZ14wnOzEhNx2YQedreMcUyc= +github.com/linuxkit/virtsock v0.0.0-20201010232012-f8cee7dfc7a3/go.mod h1:3r6x7q95whyfWQpmGZTu3gk3v2YkMi05HEzl7Tf7YEo= github.com/lithammer/dedent v1.1.0/go.mod h1:jrXYCQtgg0nJiN+StA2KgR7w6CiQNv9Fd/Z9BP0jIOc= +github.com/lucasb-eyer/go-colorful v1.2.0/go.mod h1:R4dSotOR9KMtayYi1e77YzuveK+i7ruzyGqttikkLy0= github.com/magefile/mage v1.14.0/go.mod h1:z5UZb/iS3GoOSn0JgWuiw7dxlurVYTu+/jHXqQg881A= github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= github.com/magiconair/properties v1.8.9/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mailru/easyjson v0.0.0-20160728113105-d5b7844b561a/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc= github.com/mailru/easyjson v0.7.0/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs= github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc= +github.com/mailru/easyjson v0.9.0/go.mod h1:1+xMtQp2MRNVL/V1bOzuP3aP8VNwRW55fQUto+XFtTU= +github.com/maruel/natural v1.1.1/go.mod h1:v+Rfd79xlw1AgVBjbO0BEQmptqb5HvL/k9GRHB7ZKEg= +github.com/mattn/go-colorable v0.1.13/go.mod h1:7S9/ev0klgBDR4GtXTXX8a3vIGJpMovkB8vQcUbaXHg= +github.com/mattn/go-isatty v0.0.16/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.17/go.mod h1:kYGgaQfpe5nmfYZH+SKPsOc2e4SrIfOl2e/yFXSvRLM= github.com/mattn/go-isatty v0.0.19/go.mod h1:W+V8PltTTMOvKvAeJH7IuucS94S2C6jfK/D7dTCTo3Y= +github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= github.com/mattn/go-runewidth v0.0.14/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/mattn/go-runewidth v0.0.16/go.mod h1:Jdepj2loyihRzMpdS35Xk/zdY8IAYHsh153qUoGf23w= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/matttproud/golang_protobuf_extensions v1.0.4/go.mod h1:BSXmuO+STAnVfrANrmjBb36TMTDstsz7MSK+HVaYKv4= github.com/maxbrunsfeld/counterfeiter/v6 v6.11.2/go.mod h1:VzB2VoMh1Y32/QqDfg9ZJYHj99oM4LiGtqPZydTiQSQ= +github.com/mdlayher/packet v1.1.2/go.mod h1:GEu1+n9sG5VtiRE4SydOmX5GTwyyYlteZiFU+x0kew4= github.com/mdlayher/socket v0.5.1/go.mod h1:TjPLHI1UgwEv5J1B5q0zTZq12A/6H7nKmtTanQE37IQ= github.com/mdlayher/vsock v1.2.1/go.mod h1:NRfCibel++DgeMD8z/hP+PPTjlNJsdPOmxcnENvE+SE= +github.com/mfridman/tparse v0.18.0/go.mod h1:gEvqZTuCgEhPbYk/2lS3Kcxg1GmTxxU7kTC8DvP0i/A= github.com/mgutz/ansi v0.0.0-20170206155736-9520e82c474b/go.mod h1:01TrycV0kFyexm33Z7vhZRXopbI8J3TDReVlkTgMUxE= +github.com/miekg/dns v1.1.57/go.mod h1:uqRjCRUuEAA6qsOiJvDd+CFo/vW+y5WR6SNmHE55hZk= +github.com/miekg/pkcs11 v1.1.1/go.mod h1:XsNlhZGX73bx86s2hdc/FuaLm2CPZJemRLMA+WTFxgs= github.com/mistifyio/go-zfs v2.1.2-0.20190413222219-f784269be439+incompatible/go.mod h1:8AuVvqP/mXw1px98n46wfvcGfQ4ci2FwoAjKYxuo3Z4= github.com/mistifyio/go-zfs/v3 v3.0.1/go.mod h1:CzVgeB0RvF2EGzQnytKVvVSDwmKJXxkOTUGbNrTja/k= github.com/mitchellh/go-ps v1.0.0/go.mod h1:J4lOc8z8yJs6vUwklHw2XEIiT4z4C40KtWVN3nvg8Pg= @@ -437,31 +696,42 @@ github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RR github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= github.com/moby/ipvs v1.1.0/go.mod h1:4VJMWuf098bsUMmZEiD4Tjk/O7mOn3l1PTD3s4OoYAs= github.com/moby/moby v27.1.1+incompatible/go.mod h1:fDXVQ6+S340veQPv35CzDahGBmHsiclFwfEygB/TWMc= +github.com/moby/moby/api v1.54.0/go.mod h1:8mb+ReTlisw4pS6BRzCMts5M49W5M7bKt1cJy/YbAqc= +github.com/moby/moby/client v0.3.0/go.mod h1:HJgFbJRvogDQjbM8fqc1MCEm4mIAGMLjXbgwoZp6jCQ= +github.com/moby/patternmatcher v0.5.0/go.mod h1:hDPoyOpDY7OrrMDLaYoY3hf52gNCR/YOUYxkhApJIxc= github.com/moby/policy-helpers v0.0.0-20251105011237-bcaa71c99f14/go.mod h1:HJfK0E8dR+Jpk5anJ3oADg2dRSom1gJK17sqEiiMS7w= github.com/moby/profiles/seccomp v0.1.0/go.mod h1:Kqk57vxH6/wuOc5bmqRiSXJ6iEz8Pvo3LQRkv0ytFWs= github.com/moby/sys/mount v0.3.4/go.mod h1:KcQJMbQdJHPlq5lcYT+/CjatWM4PuxKe+XLSVS4J6Os= github.com/moby/sys/mountinfo v0.6.2/go.mod h1:IJb6JQeOklcdMU9F5xQ8ZALD+CUr5VlGpwtX+VE0rpI= -github.com/moby/sys/mountinfo v0.7.2/go.mod h1:1YOa8w8Ih7uW0wALDUgT1dTTSBrZ+HiBLGws92L2RU4= -github.com/moby/sys/sequential v0.6.0/go.mod h1:uyv8EUTrca5PnDsdMGXhZe6CCe8U/UiTWd+lL+7b/Ko= -github.com/moby/sys/userns v0.1.0/go.mod h1:IHUYgu/kao6N8YZlp9Cf444ySSvCmDlmzUcYfDHOl28= +github.com/moby/sys/reexec v0.1.0/go.mod h1:EqjBg8F3X7iZe5pU6nRZnYCMUTXoxsjiIfHup5wYIN8= github.com/moby/term v0.0.0-20221205130635-1aeaba878587/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/moby/term v0.5.0/go.mod h1:8FzsFHVUBGZdbDsJw/ot+X+d5HLUbvklYLJ9uGfcI3Y= github.com/modern-go/reflect2 v0.0.0-20180320133207-05fbef0ca5da/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= github.com/mohae/deepcopy v0.0.0-20170603005431-491d3605edfb/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/mohae/deepcopy v0.0.0-20170929034955-c48cc78d4826/go.mod h1:TaXosZuwdSHYgviHp1DAtfrULt5eUgsSMsZf+YrPgl8= github.com/monochromegane/go-gitignore v0.0.0-20200626010858-205db1a8cc00/go.mod h1:Pm3mSP3c5uWn86xMLZ5Sa7JB9GsEZySvHYXCTK4E9q4= +github.com/morikuni/aec v1.0.0/go.mod h1:BbKIizmSmc5MMPqRYbxO4ZU0S0+P200+tUnFx7PXmsc= github.com/mrunalp/fileutils v0.5.1/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2QJNHXfbSQ= +github.com/muesli/termenv v0.16.0/go.mod h1:ZRfOIKPFDYQoDFF4Olj7/QJbW60Ol/kL1pU3VfY/Cnk= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/networkplumbing/go-nft v0.4.0/go.mod h1:HnnM+tYvlGAsMU7yoYwXEVLLiDW9gdMmb5HoGcwpuQs= +github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/errors v1.1.0/go.mod h1:ppzxA5jBKcO1vIpCXQ9ZqgDh8iwODz6OXIGKU8r5m4Y= +github.com/olekukonko/ll v0.0.9/go.mod h1:En+sEW0JNETl26+K8eZ6/W4UQ7CYSrrgg/EdIYT2H8g= +github.com/olekukonko/tablewriter v1.1.0/go.mod h1:5c+EBPeSqvXnLLgkm9isDdzR3wjfBkHR9Nhfp3NWrzo= github.com/onsi/ginkgo v0.0.0-20170829012221-11459a886d9c/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= github.com/onsi/ginkgo v1.14.0/go.mod h1:iSB4RoI2tjJc9BBv4NKIKWKya62Rps+oPG/Lv9klQyY= github.com/onsi/ginkgo/v2 v2.0.0/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= github.com/onsi/ginkgo/v2 v2.1.4/go.mod h1:um6tUpWM/cxCK3/FK8BXqEiUMUwRgSM4JXG47RKZmLU= github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= -github.com/onsi/ginkgo/v2 v2.19.0/go.mod h1:rlwLi9PilAFJ8jCg9UE1QP6VBpd6/xj3SRC0d6TU0To= github.com/onsi/ginkgo/v2 v2.20.1/go.mod h1:lG9ey2Z29hR41WMVthyJBGUBcBhGOtoPF2VFMvBXFCI= github.com/onsi/ginkgo/v2 v2.21.0/go.mod h1:7Du3c42kxCUegi0IImZ1wUQzMBVecgIHjR1C+NkhLQo= github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= -github.com/onsi/ginkgo/v2 v2.22.1/go.mod h1:S6aTpoRsSq2cZOd+pssHAlKW/Q/jZt6cPrPlnj4a1xM= +github.com/onsi/ginkgo/v2 v2.25.1/go.mod h1:ppTWQ1dh9KM/F1XgpeRqelR+zHVwV81DGRSDnFxK7Sk= github.com/onsi/gomega v0.0.0-20170829124025-dcabb60a477c/go.mod h1:C1qb7wdrVGGVU+Z6iS04AVkA3Q65CEZX59MT0QO5uiA= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.18.1/go.mod h1:0q+aL8jAiMXy9hbwj2mr5GziHiwhAIQpFmmtT5hitRs= @@ -469,21 +739,40 @@ github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9 github.com/onsi/gomega v1.27.10/go.mod h1:RsS8tutOdbdgzbPtzzATp12yT7kM5I5aElG3evPbQ0M= github.com/onsi/gomega v1.33.1/go.mod h1:U4R44UsT+9eLIaYRB2a5qajjtQYn0hauxvRm16AVYg0= github.com/onsi/gomega v1.34.2/go.mod h1:v1xfxRgk0KIsG+QOdm7p8UosrOzPYRo60fd3B/1Dukc= -github.com/onsi/gomega v1.36.2/go.mod h1:DdwyADRjrc825LhMEkD76cHR5+pUnjhUN8GlHlRPHzY= +github.com/onsi/gomega v1.38.1/go.mod h1:LfcV8wZLvwcYRwPiJysphKAEsmcFnLMK/9c+PjvlX8g= +github.com/open-policy-agent/opa v0.70.0/go.mod h1:Y/nm5NY0BX0BqjBriKUiV81sCl8XOjjvqQG7dXrggtI= +github.com/open-policy-agent/opa v1.10.1/go.mod h1:7uPI3iRpOalJ0BhK6s1JALWPU9HvaV1XeBSSMZnr/PM= github.com/opencontainers/cgroups v0.0.1/go.mod h1:s8lktyhlGUqM7OSRL5P7eAW6Wb+kWPNvt4qvVfzA5vs= +github.com/opencontainers/image-spec v1.1.0/go.mod h1:W4s4sFTMaBeK1BQLXbG4AdM2szdn85PY75RI83NrTrM= +github.com/opencontainers/runc v1.1.13/go.mod h1:R016aXacfp/gwQBYw2FDGa9m+n6atbLWrYY8hNMT/sA= +github.com/opencontainers/runc v1.2.3/go.mod h1:nSxcWUydXrsBZVYNSkTjoQ/N6rcyTtn+1SD5D4+kRIM= github.com/opencontainers/runtime-spec v1.2.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-spec v1.2.1/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= +github.com/opencontainers/runtime-tools v0.9.1-0.20251114084447-edf4cb3d2116/go.mod h1:DKDEfzxvRkoQ6n9TGhxQgg2IM1lY4aM0eaQP4e3oElw= github.com/opencontainers/selinux v1.11.1/go.mod h1:E5dMC3VPuVvVHDYmi78qvhJp8+M586T4DlDRYpFkyec= +github.com/opencontainers/selinux v1.13.0/go.mod h1:XxWTed+A/s5NNq4GmYScVy+9jzXhGBVEOAyucdRUY8s= +github.com/openshift/build-machinery-go v0.0.0-20230824093055-6a18da01283c/go.mod h1:b1BuldmJlbA/xYtdZvKi+7j5YGB44qJUJDZ9zwiNCfE= github.com/openshift/build-machinery-go v0.0.0-20240613134303-8359781da660/go.mod h1:8jcm8UPtg2mCAsxfqKil1xrmRMI3a+XU2TZ9fF8A7TE= +github.com/openshift/crd-schema-checker v0.0.0-20240404194209-35a9033b1d11/go.mod h1:EmVJt97N+pfWFsli/ipXTBZqSG5F5KGQhm3c3IsGq1o= +github.com/openshift/generic-admission-server v1.14.1-0.20231020105858-8dcc3c9b298f/go.mod h1:/CLsleDcQ6AFTGKJe9VL3Y4rB9DqX3fQwQv47q2/ZJc= github.com/openshift/generic-admission-server v1.14.1-0.20240926143655-a882ebf9df19/go.mod h1:eNpBvr/3zce6zLOeCtBw48xbCp8SLAmQqu/rb7vFE9Y= +github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= +github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/peterbourgon/diskv v2.0.1+incompatible/go.mod h1:uqqh8zWWbv1HBMNONnaR/tNboyR3/BZd58JJSHlUSCU= -github.com/planetscale/vtprotobuf v0.6.1-0.20240319094008-0393e58bdf10/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= +github.com/peterh/liner v1.2.2/go.mod h1:xFwJyiKIXJZUKItq5dGHZSTBRAuG/CpeNpWLyiNRNwI= +github.com/petermattis/goid v0.0.0-20240813172612-4fcff4a6cae7/go.mod h1:pxMtw7cyUw6B2bRH0ZBANSPg+AoSud1I1iyJHI69jH4= +github.com/pierrec/lz4/v4 v4.1.21/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= +github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c/go.mod h1:7rwL4CYBLnjLxUqIJNnCWiEdr3bn6IUYi15bNlnbCCU= +github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= +github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= +github.com/pkg/profile v1.7.0/go.mod h1:8Uer0jas47ZQMJ7VD+OHknK4YDY07LPUC6dEvqDjvNo= +github.com/planetscale/vtprotobuf v0.6.0/go.mod h1:t/avpk3KcrXxUnYOhZhMXJlSEyie6gQbtLq5NM3loB8= github.com/pquerna/cachecontrol v0.1.0/go.mod h1:NrUG3Z7Rdu85UNR3vm7SOsl1nFIeSiQnrHV5K9mBcUI= -github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= -github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= -github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= -github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= +github.com/prashantv/gostub v1.1.0/go.mod h1:A5zLQHz7ieHGG7is6LLXLz7I8+3LZzsrV0P1IAHhP5U= +github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= +github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= +github.com/prometheus/client_golang v1.1.0/go.mod h1:I1FGZT9+L76gKKOs5djB6ezCbFQP1xR9D75/vuwEF3g= github.com/prometheus/client_golang v1.14.0/go.mod h1:8vpkKitgIVNcqrRBWh1C4TIUQgYNtG/XQE4E/Zae36Y= github.com/prometheus/client_golang v1.15.1 h1:8tXpTmJbyH5lydzFPoxSIJ0J46jdh3tylbvM1xCv0LI= github.com/prometheus/client_golang v1.15.1/go.mod h1:e9yaBhRPU2pPNsZwE+JdQl0KEt1N9XgF6zxWmaC0xOk= @@ -491,111 +780,170 @@ github.com/prometheus/client_golang v1.18.0/go.mod h1:T+GXkCk5wSJyOqMIzVgvvjFDlk github.com/prometheus/client_golang v1.19.1 h1:wZWJDwK+NameRJuPGDhlnFgx8e8HN3XHQeLaYJFJBOE= github.com/prometheus/client_golang v1.19.1/go.mod h1:mP78NwGzrVks5S2H6ab8+ZZGJLZUq1hoULYBAYBw1Ho= github.com/prometheus/client_golang v1.20.4/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.22.0/go.mod h1:R7ljNsLXhuQXYZYtw6GAE9AZg8Y7vEW5scdCXrWRXC0= +github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910/go.mod h1:MbSGuTsp3dbXC40dX6PRTWyKYBIrTGTE9sqQNg2J8bo= +github.com/prometheus/client_model v0.0.0-20190129233127-fd36f4220a90/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= github.com/prometheus/client_model v0.3.0/go.mod h1:LDGWKZIo7rky3hgvBe+caln+Dr3dPggB5dvjtD7w9+w= github.com/prometheus/client_model v0.5.0/go.mod h1:dTiFglRmd66nLR9Pv9f0mZi7B7fk5Pm3gvsjB5tr+kI= +github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= +github.com/prometheus/common v0.4.1/go.mod h1:TNfzLD0ON7rHzMJeJkieUDPYmFC7Snx/y86RQel1bk4= +github.com/prometheus/common v0.6.0/go.mod h1:eBmuwkDJBwy6iBfxCBob6t6dR6ENT/y+J+Zk0j9GMYc= github.com/prometheus/common v0.37.0/go.mod h1:phzohg0JFMnBEFGxTDbfu3QyL5GI8gTQJFhYO5B3mfA= github.com/prometheus/common v0.42.0 h1:EKsfXEYo4JpWMHH5cg+KOUWeuJSov1Id8zGR8eeI1YM= github.com/prometheus/common v0.42.0/go.mod h1:xBwqVerjNdUDjgODMpudtOMwlOwf2SaTr1yjz4b7Zbc= github.com/prometheus/common v0.45.0/go.mod h1:YJmSTw9BoKxJplESWWxlbyttQR4uaEcGyv9MZjVOJsY= github.com/prometheus/common v0.55.0 h1:KEi6DK7lXW/m7Ig5i47x0vRzuBsHuvJdi5ee6Y3G1dc= github.com/prometheus/common v0.55.0/go.mod h1:2SECS4xJG1kd8XF9IcM1gMX6510RAEL65zxzNImwdc8= -github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= github.com/prometheus/common v0.62.0/go.mod h1:vyBcEuLSvWos9B1+CyL7JZ2up+uFzXhkqml0W5zIY1I= github.com/prometheus/common v0.66.1/go.mod h1:gcaUsgf3KfRSwHY4dIMXLPV0K/Wg1oZ8+SbZk/HH/dA= +github.com/prometheus/otlptranslator v0.0.2/go.mod h1:P8AwMgdD7XEr6QRUJ2QWLpiAZTgTE2UYgjlu3svompI= +github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk= +github.com/prometheus/procfs v0.0.2/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA= +github.com/prometheus/procfs v0.0.3/go.mod h1:4A/X28fw3Fc593LaREMrKMqOKvUAntwMDaekg4FpcdQ= +github.com/prometheus/procfs v0.6.0/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1xBZuNvfVA= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/procfs v0.9.0 h1:wzCHvIvM5SxWqYvwgVL7yJY8Lz3PKn49KQtpgMYJfhI= github.com/prometheus/procfs v0.9.0/go.mod h1:+pB4zwohETzFnmlpe6yd2lSc+0/46IYZRB/chUwxUZY= github.com/prometheus/procfs v0.10.1/go.mod h1:nwNm2aOCAYw8uTR/9bWRREkZFxAUcWzPHWJq+XBB/FM= +github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/prometheus/procfs v0.16.1/go.mod h1:teAbpZRB1iIAJYREa1LsoWUXykVXA1KlTmWl8x/U+Is= +github.com/prometheus/procfs v0.17.0/go.mod h1:oPQLaDAMRbA+u8H5Pbfq+dl3VDAvHxMUOVhe0wYB2zw= +github.com/rcrowley/go-metrics v0.0.0-20200313005456-10cdbea86bc0/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= +github.com/rcrowley/go-metrics v0.0.0-20250401214520-65e299d6c5c9/go.mod h1:bCqnVzQkZxMG4s8nGwiZ5l3QUCyqpo9Y+/ZMZ9VjZe4= github.com/remyoudompheng/bigfft v0.0.0-20170806203942-52369c62f446/go.mod h1:uYEyJGbgTkfkS4+E/PavXkNJcbFIpEtjt2B0KDQ5+9M= +github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc= github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUcx88= github.com/robfig/cron/v3 v3.0.1/go.mod h1:eQICP3HwyT7UooqI/z+Ov+PtYAWygg1TEWWzGIFLtro= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/rogpeppe/go-internal v1.10.0/go.mod h1:UQnix2H7Ngw/k4C5ijL5+65zddjncjaFoBhdsK/akog= github.com/rogpeppe/go-internal v1.12.0/go.mod h1:E+RYuTGaKKdloAfM02xzb0FW3Paa99yedzYV+kq4uf4= +github.com/rogpeppe/go-internal v1.13.1/go.mod h1:uMEvuHeurkdAXX61udpOXGD/AzZDWNMNyH2VO9fmH0o= github.com/russross/blackfriday v1.6.0 h1:KqfZb0pUVN2lYqZUYRddxF4OR8ZMURnJIG5Y3VRLtww= github.com/russross/blackfriday v1.6.0/go.mod h1:ti0ldHuxg49ri4ksnFxlkCfN+hvslNlmVHqNRXXJNAY= +github.com/safchain/ethtool v0.6.2/go.mod h1:VS7cn+bP3Px3rIq55xImBiZGHVLNyBh5dqG6dDQy8+I= +github.com/sagikazarmark/locafero v0.11.0/go.mod h1:nVIGvgyzw595SUSUE6tvCp3YYTeHs15MvlmU87WwIik= github.com/santhosh-tekuri/jsonschema/v5 v5.3.1/go.mod h1:uToXkOrWAZ6/Oc07xWQrPOhJotwFIyu2bBVN41fcDUY= github.com/sasha-s/go-deadlock v0.3.5/go.mod h1:bugP6EGbdGYObIlx7pUZtWqlvo8k9H6vCBBsiChJQ5U= +github.com/sassoftware/relic v7.2.1+incompatible/go.mod h1:CWfAxv73/iLZ17rbyhIEq3K9hs5w6FpNMdUT//qR+zk= github.com/seccomp/libseccomp-golang v0.10.0/go.mod h1:JA8cRccbGaA1s33RQf7Y1+q9gHmZX1yB/z9WDN1C6fg= +github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs= +github.com/sergi/go-diff v1.4.0/go.mod h1:A0bzQcvG0E7Rwjx0REVgAGH58e96+X0MeOfepqsbeW4= github.com/serialx/hashring v0.0.0-20200727003509-22c0c7ab6b1b/go.mod h1:/yeG0My1xr/u+HZrFQ1tOQQQQrOawfyMUH13ai5brBc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE= github.com/sirupsen/logrus v1.7.0/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= +github.com/sirupsen/logrus v1.8.1/go.mod h1:yWOB1SBYBC5VeMP7gHvWumXLIWorT60ONWic61uBYv0= github.com/sirupsen/logrus v1.9.0/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/sirupsen/logrus v1.9.1/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= +github.com/sirupsen/logrus v1.9.4-0.20230606125235-dd1b4c2e81af/go.mod h1:naHLuLoDiP4jHNo9R0sCBMtWGeIprob74mVsIT4qYEQ= github.com/smallstep/pkcs7 v0.1.1/go.mod h1:dL6j5AIz9GHjVEBTXtW+QliALcgM19RtXaTeyxI+AfA= github.com/soheilhy/cmux v0.1.5/go.mod h1:T7TcVDs9LWfQgPlPsdngu6I6QIoyIFZDDC6sNE1GqG0= +github.com/sourcegraph/conc v0.3.1-0.20240121214520-5f936abd7ae8/go.mod h1:3n1Cwaq1E1/1lhQhtRK2ts/ZwZEhjcQeJQ1RuC6Q/8U= +github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= +github.com/spf13/afero v1.15.0/go.mod h1:NC2ByUVxtQs4b3sIUphxK0NioZnmxgyCrfzeuq8lxMg= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= -github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= +github.com/spf13/cast v1.10.0/go.mod h1:jNfB8QC9IA6ZuY2ZjDp0KtFO2LZZlg4S/7bzP6qqeHo= github.com/spf13/cobra v1.2.0/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/cobra v1.8.1/go.mod h1:wHxEcudfqmLYa8iTfL+OuZPbBZkmvliBWKIezN3kD9Y= github.com/spf13/cobra v1.10.1 h1:lJeBwCfmrnXthfAupyUTzJ/J4Nc1RsHC/mSRU2dll/s= github.com/spf13/cobra v1.10.1/go.mod h1:7SmJGaTHFVBY0jW4NXGluQoLvhqFQM+6XSKD+P4XaB0= +github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= github.com/spf13/pflag v0.0.0-20170130214245-9ff6c6923cff/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/pflag v1.0.6/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= +github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= +github.com/spf13/viper v1.21.0/go.mod h1:P0lhsswPGWD/1lZJ9ny3fYnVqxiegrlNrEmgLjbTCAY= github.com/spiffe/go-spiffe/v2 v2.5.0/go.mod h1:P+NxobPc6wXhVtINNtFjNWGBTreew1GBUCwT2wPmb7g= github.com/spiffe/go-spiffe/v2 v2.6.0/go.mod h1:gm2SeUoMZEtpnzPNs2Csc0D/gX33k1xIx7lEzqblHEs= github.com/stefanberger/go-pkcs11uri v0.0.0-20230803200340-78284954bff6/go.mod h1:39R/xuhNgVhi+K0/zst4TLrJrVmbm6LVgl4A0+ZFS5M= github.com/stoewer/go-strcase v1.2.0/go.mod h1:IBiWB2sKIp3wVVQ3Y035++gc+knqhUQag1KpM8ahLw8= github.com/stoewer/go-strcase v1.3.0 h1:g0eASXYtp+yvN9fK8sH94oCIk0fau9uV1/ZdJ0AVEzs= github.com/stoewer/go-strcase v1.3.0/go.mod h1:fAH5hQ5pehh+j3nZfvwdk2RgEgQjAoM8wodgtPmh1xo= +github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= github.com/stretchr/testify v0.0.0-20151208002404-e3a8ff8ce365/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4= +github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA= +github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= +github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/stretchr/testify v1.11.1 h1:7s2iGBzp5EwR7/aIZr8ao5+dra3wiQyKjjFuvgVKu7U= -github.com/stretchr/testify v1.11.1/go.mod h1:wZwfW3scLgRK+23gO65QZefKpKQRnfz6sD981Nm4B6U= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= -github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= +github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= +github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= github.com/syndtr/gocapability v0.0.0-20200815063812-42c35b437635/go.mod h1:hkRG7XYTFWNJGYcbNJQlaLq0fg1yr4J4t/NcTQtrfww= +github.com/syndtr/goleveldb v1.0.1-0.20220721030215-126854af5e6d/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= +github.com/tchap/go-patricia/v2 v2.3.2/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= github.com/tchap/go-patricia/v2 v2.3.3/go.mod h1:VZRHKAb53DLaG+nA9EaYYiaEx6YztwDlLElMsnSHD4k= github.com/tetratelabs/wazero v1.9.0/go.mod h1:TSbcXCfFP0L2FGkRPxHphadXPjo1T6W+CseNNY7EkjM= +github.com/tetratelabs/wazero v1.10.1/go.mod h1:DRm5twOQ5Gr1AoEdSi0CLjDQF1J9ZAuyqFIjl1KKfQU= +github.com/theupdateframework/go-tuf v0.7.0/go.mod h1:uEB7WSY+7ZIugK6R1hiBMBjQftaFzn7ZCDJcp1tCUug= +github.com/theupdateframework/notary v0.7.0 h1:QyagRZ7wlSpjT5N2qQAh/pN+DVqgekv4DzbAiAiEL3c= +github.com/theupdateframework/notary v0.7.0/go.mod h1:c9DRxcmhHmVLDay4/2fUYdISnHqbFDGRSlXPO0AhYWw= +github.com/tidwall/gjson v1.14.2/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/gjson v1.18.0/go.mod h1:/wbyibRr2FHMks5tjHJ5F8dMZh3AcwJEMf5vlfC0lxk= +github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JTxsfmM= +github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= +github.com/tidwall/sjson v1.2.5/go.mod h1:Fvgq9kS/6ociJEDnK0Fk1cpYF4FIW6ZF7LAe+6jwd28= +github.com/tink-crypto/tink-go/v2 v2.5.0/go.mod h1:2WbBA6pfNsAfBwDCggboaHeB2X29wkU8XHtGwh2YIk8= +github.com/titanous/rocacheck v0.0.0-20171023193734-afe73141d399/go.mod h1:LdwHTNJT99C5fTAzDz0ud328OgXz+gierycbcIx2fRs= github.com/tmc/grpc-websocket-proxy v0.0.0-20220101234140-673ab2c3ae75/go.mod h1:KO6IkyS8Y3j8OdNO85qEYBsRPuteD+YciPomcXdrMnk= github.com/tonistiigi/go-actions-cache v0.0.0-20250626083717-378c5ed1ddd9/go.mod h1:cD0SB2270BYw6HYKriFn4H6NRLhGj6ytf48YTpsm8LY= +github.com/tonistiigi/go-actions-cache v0.0.0-20260120203934-54bc28c26fd2/go.mod h1:cD0SB2270BYw6HYKriFn4H6NRLhGj6ytf48YTpsm8LY= github.com/tonistiigi/go-archvariant v1.0.0/go.mod h1:TxFmO5VS6vMq2kvs3ht04iPXtu2rUT/erOnGFYfk5Ho= github.com/tonistiigi/jaeger-ui-rest v0.0.0-20250408171107-3dd17559e117/go.mod h1:3Ez1Paeg+0Ghu3KwpEGC1HgZ4CHDlg+Ez/5Baeomk54= +github.com/u-root/uio v0.0.0-20240224005618-d2acac8f3701/go.mod h1:P3a5rG4X7tI17Nn3aOIAYr5HbIMukwXG0urG0WuL8OA= github.com/urfave/cli v1.22.12/go.mod h1:sSBEIC79qR6OvcmsD4U3KABeOTxDqQtdDnaFuUN30b8= github.com/urfave/cli v1.22.15/go.mod h1:wSan1hmo5zeyLGBjRJbzRTNk8gwoYa2B9n4q9dmRIc0= github.com/urfave/cli v1.22.16/go.mod h1:EeJR6BKodywf4zciqrdw6hpCPk68JO9z5LazXZMn5Po= github.com/urfave/cli v1.22.17/go.mod h1:b0ht0aqgH/6pBYzzxURyrM4xXNgsoT/n2ZzwQiEhNVo= +github.com/urfave/cli/v2 v2.27.6/go.mod h1:3Sevf16NykTbInEnD0yKkjDAeZDS0A6bzhBH5hrMvTQ= github.com/urfave/cli/v2 v2.27.7/go.mod h1:CyNAG/xg+iAOg0N4MPGZqVmv2rCoP267496AOXUZjA4= +github.com/valyala/fastjson v1.6.4/go.mod h1:CLCAqky6SMuOcxStkYQvblddUtoRxhYMGLrsQns1aXY= github.com/vbatts/tar-split v0.11.3/go.mod h1:9QlHN18E+fEH7RdG+QAJJcuya3rqT7eXSTY7wGrAokY= github.com/vbatts/tar-split v0.11.6 h1:4SjTW5+PU11n6fZenf2IPoV8/tz3AaYHMWjf23envGs= github.com/vbatts/tar-split v0.11.6/go.mod h1:dqKNtesIOr2j2Qv3W/cHjnvk9I8+G7oAkFDFN6TCBEI= +github.com/vektah/gqlparser/v2 v2.5.30/go.mod h1:D1/VCZtV3LPnQrcPBeR/q5jkSQIPti0uYCP/RI0gIeo= +github.com/veraison/go-cose v1.1.0/go.mod h1:7ziE85vSq4ScFTg6wyoMXjucIGOf4JkFEZi/an96Ct4= +github.com/veraison/go-cose v1.3.0/go.mod h1:df09OV91aHoQWLmy1KsDdYiagtXgyAwAl8vFeFn1gMc= github.com/vishvananda/netlink v1.1.0/go.mod h1:cTgwzPIzzgDAYoQrMm0EdrjRUBkTqKYppBueQtXaqoE= github.com/vishvananda/netlink v1.3.1-0.20250206174618-62fb240731fa/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= +github.com/vishvananda/netlink v1.3.1-0.20250303224720-0e7078ed04c8/go.mod h1:i6NetklAujEcC6fK0JPjT8qSwWyO0HLn4UKG+hGqeJs= github.com/vishvananda/netlink v1.3.1/go.mod h1:ARtKouGSTGchR8aMwmkzC0qiNPrrWO5JS/XMVl45+b4= +github.com/vishvananda/netns v0.0.4/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= github.com/vishvananda/netns v0.0.5/go.mod h1:SpkAiCQRtJ6TvvxPnOSyH3BMl6unz3xZlaprSwhNNJM= -github.com/vito/go-interact v1.0.2 h1:viJuANio3WH9utUG4rKbJC9V3JR5JgYNS+i0efeA+GU= -github.com/vito/go-interact v1.0.2/go.mod h1:s+y0jK9Z2etBYt5ZM6+DhpOsE5C7NNGC3jrJvW0BBpc= github.com/vmware-tanzu/carvel-imgpkg v0.36.0 h1:ha5a3WUPaqpGlP+QRkKBA9WyT85vUPh7+57x94Cmj58= github.com/vmware-tanzu/carvel-imgpkg v0.36.0/go.mod h1:8HeIt+froyx7iRjyZ/4py2wFMPXEFNyWUNUTQgAjD8M= github.com/vmware-tanzu/carvel-imgpkg v0.38.2/go.mod h1:v9BcO1qfXwwIQFw2zmksdUkx8eI1e+/a0Md3xG2BzDE= github.com/xeipuuv/gojsonpointer v0.0.0-20180127040702-4e3ac2762d5f h1:J9EGpcZtP0E/raorCMxlFGSTBrsSlaDGf3jU/qvAE2c= -github.com/xhit/go-str2duration/v2 v2.1.0 h1:lxklc02Drh6ynqX+DdPyp5pCKLUQpRT8bp8Ydu2Bstc= -github.com/xhit/go-str2duration/v2 v2.1.0/go.mod h1:ohY8p+0f07DiV6Em5LKB0s2YpLtXVyJfNt1+BlmyAsU= -github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= -github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= -go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= +github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb/go.mod h1:N2zxlSyiKSe5eX1tZViRH5QA0qijqEDrYZiPEAiq3wU= +github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415/go.mod h1:GwrjFmJcFw6At/Gs6z4yjiIwzuJ1/+UwLxMQDVQXShQ= github.com/xiang90/probing v0.0.0-20221125231312-a49e3df8f510/go.mod h1:UETIi67q53MR2AWcXfiuqkDkRtnGDLqkBTpCHuJHxtU= github.com/xlab/treeprint v1.2.0/go.mod h1:gj5Gd3gPdKtR1ikdDK6fnFLdmIS0X30kTTuNd/WEJu0= +github.com/xo/terminfo v0.0.0-20220910002029-abceb7e1c41e/go.mod h1:RbqR21r5mrJuqunuUZ/Dhy/avygyECGrLceyNeo4LiM= github.com/xrash/smetrics v0.0.0-20240521201337-686a1a2994c1/go.mod h1:Ohn+xnUBiLI6FVj/9LpzZWtj1/D6lUovWYBkxHVV3aM= +github.com/yashtewari/glob-intersection v0.2.0/go.mod h1:LK7pIC3piUjovexikBbJ26Yml7g8xa5bsjfx2v1fwok= +github.com/ysmood/fetchup v0.2.3/go.mod h1:xhibcRKziSvol0H1/pj33dnKrYyI2ebIvz5cOOkYGns= +github.com/ysmood/goob v0.4.0/go.mod h1:u6yx7ZhS4Exf2MwciFr6nIM8knHQIE22lFpWHnfql18= +github.com/ysmood/got v0.40.0/go.mod h1:W7DdpuX6skL3NszLmAsC5hT7JAhuLZhByVzHTq874Qg= +github.com/ysmood/gson v0.7.3/go.mod h1:3Kzs5zDl21g5F/BlLTNcuAGAYLKt2lV5G8D1zF3RNmg= +github.com/ysmood/leakless v0.9.0/go.mod h1:R8iAXPRaG97QJwqxs74RdwzcRHT1SWCGTNqY8q0JvMQ= github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/zclconf/go-cty v1.17.0/go.mod h1:wqFzcImaLTI6A5HfsRwB0nj5n0MRZFwmey8YoFPPs3U= github.com/zeebo/errs v1.3.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= github.com/zeebo/errs v1.4.0/go.mod h1:sgbWHsvVuTPHcqJJGQ1WhI5KbWlHYz+2+2C/LSEtCw4= go.etcd.io/bbolt v1.3.8/go.mod h1:N9Mkw9X8x5fupy0IKsmuqVtoGDyxsaDlbk4Rd05IAQw= go.etcd.io/bbolt v1.3.11/go.mod h1:dksAq7YMXoljX0xu6VF5DMZGbhYYoLUalEiSySYAS4I= +go.etcd.io/bbolt v1.4.0/go.mod h1:AsD+OCi/qPN1giOX1aiLAha3o1U8rAz65bvN4j0sRuk= go.etcd.io/bbolt v1.4.2/go.mod h1:Is8rSHO/b4f3XigBC0lL0+4FwAQv3HXEEIgFMuKHceM= go.etcd.io/bbolt v1.4.3/go.mod h1:tKQlpPaYCVFctUIgFKFnAlvbmB3tpy1vkTnDWohtc0E= go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= @@ -622,21 +970,23 @@ go.etcd.io/etcd/client/v3 v3.6.4/go.mod h1:jaNNHCyg2FdALyKWnd7hxZXZxZANb0+KGY+YQ go.etcd.io/etcd/pkg/v3 v3.5.10/go.mod h1:TKTuCKKcF1zxmfKWDkfz5qqYaE3JncKKZPFf8c1nFUs= go.etcd.io/etcd/pkg/v3 v3.5.16/go.mod h1:+lutCZHG5MBBFI/U4eYT5yL7sJfnexsoM20Y0t2uNuY= go.etcd.io/etcd/pkg/v3 v3.6.4/go.mod h1:kKcYWP8gHuBRcteyv6MXWSN0+bVMnfgqiHueIZnKMtE= +go.etcd.io/etcd/raft/v3 v3.5.13/go.mod h1:uUFibGLn2Ksm2URMxN1fICGhk8Wu96EfDQyuLhAcAmw= go.etcd.io/etcd/server/v3 v3.6.4/go.mod h1:aYCL/h43yiONOv0QIR82kH/2xZ7m+IWYjzRmyQfnCAg= +go.etcd.io/gofail v0.2.0/go.mod h1:nL3ILMGfkXTekKI3clMBNazKnjUZjYLKmBHzsVAnC1o= go.etcd.io/raft/v3 v3.6.0/go.mod h1:nLvLevg6+xrVtHUmVaTcTz603gQPHfh7kUAwV6YpfGo= -go.opentelemetry.io/contrib/detectors/gcp v1.39.0/go.mod h1:t/OGqzHBa5v6RHZwrDBJ2OirWc+4q/w2fTbLZwAKjTk= -go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= -go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= +go.mongodb.org/mongo-driver v1.17.6/go.mod h1:Hy04i7O2kC4RS06ZrhPRqj/u4DTYkFDAAccj+rVKqgQ= go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= +go.opentelemetry.io/auto/sdk v1.1.0/go.mod h1:3wSPjt5PWp2RhlCcmmOial7AvC4DQqZb7a7wCow3W8A= go.opentelemetry.io/contrib v0.20.0 h1:ubFQUn0VCZ0gPwIoJfBJVpeBlyRMxu8Mm/huKWYd9p0= go.opentelemetry.io/contrib v0.20.0/go.mod h1:G/EtFaa6qaN7+LxqfIAT3GiZa7Wv5DTBUzl5H4LY0Kc= go.opentelemetry.io/contrib/detectors/gcp v1.34.0/go.mod h1:cV4BMFcscUR/ckqLkbfQmF0PRsq8w/lMGzdbCSveBHo= go.opentelemetry.io/contrib/detectors/gcp v1.36.0/go.mod h1:IbBN8uAIIx734PTonTPxAxnjc2pQTxWNkwfstZ+6H2k= go.opentelemetry.io/contrib/detectors/gcp v1.38.0/go.mod h1:SU+iU7nu5ud4oCb3LQOhIZ3nRLj6FNVrKgtflbaf2ts= +go.opentelemetry.io/contrib/detectors/gcp v1.39.0/go.mod h1:t/OGqzHBa5v6RHZwrDBJ2OirWc+4q/w2fTbLZwAKjTk= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.42.0/go.mod h1:XiglO+8SPMqM3Mqh5/rtxR1VHc63o8tb38QrU6tm4mU= go.opentelemetry.io/contrib/instrumentation/github.com/emicklei/go-restful/otelrestful v0.44.0/go.mod h1:uq8DrRaen3suIWTpdR/JNHCGpurSvMv9D5Nr5CU5TXc= go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc v0.20.0/go.mod h1:oVGt1LRbBOBq1A5BQLlUg9UaU/54aiHw8cgjV3aWZ/E= @@ -648,6 +998,7 @@ go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.20.0/go.mod h1: go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.35.1/go.mod h1:9NiG9I2aHTKkcxqCILhjtyNA1QEiCjdBACv4IvrFQ+c= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0 h1:yd02MEjBdJkG3uabWP9apV+OuWRIXGDuJEUJbOHmCFU= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.58.0/go.mod h1:umTcuxiv1n/s/S6/c2AT/g2CQ7u5C59sHDNmfSwgz7Q= +go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.60.0/go.mod h1:69uWxva0WgAA/4bu2Yy70SLDBwZXuQ6PbBpbsa5iZrQ= go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.61.0/go.mod h1:UHB22Z8QsdRDrnAtX4PntOl36ajSxcdUMt1sF7Y6E7Q= go.opentelemetry.io/otel v0.20.0/go.mod h1:Y3ugLH2oa81t5QO+Lty+zXf8zC9L26ax4Nzoxm/dooo= go.opentelemetry.io/otel v1.10.0/go.mod h1:NbvWjCthWHKBEUMpf0/v8ZRZlni86PpGFEMA9pnQSnQ= @@ -655,80 +1006,120 @@ go.opentelemetry.io/otel v1.19.0 h1:MuS/TNf4/j4IXsZuJegVzI1cwut7Qc00344rgH7p8bs= go.opentelemetry.io/otel v1.19.0/go.mod h1:i0QyjOq3UPoTzff0PJB2N66fb4S0+rSbSB15/oyH9fY= go.opentelemetry.io/otel v1.33.0 h1:/FerN9bax5LoK51X/sI0SVYrjSE0/yUL7DpxW4K3FWw= go.opentelemetry.io/otel v1.33.0/go.mod h1:SUUkR6csvUQl+yjReHu5uM3EtVV7MBm5FHKRlNx4I8I= +go.opentelemetry.io/otel v1.35.0/go.mod h1:UEqy8Zp11hpkUrL73gSlELM0DupHoiq72dR+Zqel/+Y= +go.opentelemetry.io/otel v1.36.0/go.mod h1:/TcFMXYjyRNh8khOAO9ybYkqaDBb/70aVwkNML4pP8E= go.opentelemetry.io/otel v1.38.0 h1:RkfdswUDRimDg0m2Az18RKOsnI8UDzppJAtj01/Ymk8= go.opentelemetry.io/otel v1.38.0/go.mod h1:zcmtmQ1+YmQM9wrNsTGV/q/uyusom3P8RxwExxkZhjM= +go.opentelemetry.io/otel v1.39.0/go.mod h1:kLlFTywNWrFyEdH0oj2xK0bFYZtHRYUdv1NklR/tgc8= go.opentelemetry.io/otel/exporters/jaeger v1.17.0/go.mod h1:nPCqOnEH9rNLKqH/+rrUjiMzHJdV1BlpKcTwRTyKkKI= go.opentelemetry.io/otel/exporters/otlp v0.20.0/go.mod h1:YIieizyaN77rtLJra0buKiNBOm9XQfkPEKBeuhoMwAM= go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.10.0/go.mod h1:78XhIg8Ht9vR4tbLNUhXsiOnE2HOuSeKAiAcoVQEpOY= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v1.40.0/go.mod h1:VL6EgVikRLcJa9ftukrHu/ZkkhFBSo1lzvdBC9CF1ss= +go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetrichttp v1.40.0/go.mod h1:eQqT90eR3X5Dbs1g9YSM30RavwLF725Ris5/XSXWvqE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.10.0/go.mod h1:Krqnjl22jUJ0HgMzw5eveuCvFDXY4nSYb4F8t5gdrag= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.19.0/go.mod h1:IPtUMKL4O3tH5y+iXVyAXqpAwMuzC1IrxVS81rummfE= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.33.0/go.mod h1:cpgtDBaqD/6ok/UG0jT15/uKjAY8mRA53diogHBg3UI= go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.34.0/go.mod h1:7Bept48yIeqxP2OZ9/AqIpYS94h2or0aB4FypJTc8ZM= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.35.0/go.mod h1:zjPK58DtkqQFn+YUMbx0M2XV3QgKU0gS9LeGohREyK4= +go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.40.0/go.mod h1:bTdK1nhqF76qiPoCCdyFIV+N/sRHYXYCTQc+3VCi3MI= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.10.0/go.mod h1:OfUCyyIiDvNXHWpcWgbF+MWvqPZiNa3YDEnivcnYsV0= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.19.0/go.mod h1:0+KuTDyKL4gjKCF75pHOX4wuzYDUZYfAQdSu43o+Z2I= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0 h1:qFffATk0X+HD+f1Z8lswGiOQYKHRlzfmdJm0wEaVrFA= go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.27.0/go.mod h1:MOiCmryaYtc+V0Ei+Tx9o5S1ZjA7kzLucuVuyzBZloQ= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.35.0/go.mod h1:LjReUci/F4BUyv+y4dwnq3h/26iNOeC3wAIqgvTIZVo= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc v1.40.0/go.mod h1:EtekO9DEJb4/jRyN4v4Qjc2yA7AtfCBuz2FynRUWTXs= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.33.0/go.mod h1:wAy0T/dUbs468uOlkT31xjvqQgEVXv58BRFWEgn5v/0= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.35.0/go.mod h1:u5BF1xyjstDowA1R5QAO9JHzqK+ublenEW/dyqTjBVk= +go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp v1.40.0/go.mod h1:khvBS2IggMFNwZK/6lEeHg/W57h/IX6J4URh57fuI40= go.opentelemetry.io/otel/exporters/prometheus v0.42.0/go.mod h1:f3bYiqNqhoPxkvI2LrXqQVC546K7BuRDL/kKuxkujhA= +go.opentelemetry.io/otel/exporters/prometheus v0.60.0/go.mod h1:hkd1EekxNo69PTV4OWFGZcKQiIqg0RfuWExcPKFvepk= go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.31.0/go.mod h1:fcwWuDuaObkkChiDlhEpSq9+X1C0omv+s5mBtToAQ64= +go.opentelemetry.io/otel/exporters/stdout/stdouttrace v1.38.0/go.mod h1:mgIOzS7iZeKJdeB8/NYHrJ48fdGc71Llo5bJ1J4DWUE= go.opentelemetry.io/otel/metric v0.20.0/go.mod h1:598I5tYlH1vzBjn+BTuhzTCSb/9debfNp6R3s7Pr1eU= go.opentelemetry.io/otel/metric v0.31.0/go.mod h1:ohmwj9KTSIeBnDBm/ZwH2PSZxZzoOaG2xZeekTRzL5A= go.opentelemetry.io/otel/metric v1.19.0 h1:aTzpGtV0ar9wlV4Sna9sdJyII5jTVJEvKETPiOKwvpE= go.opentelemetry.io/otel/metric v1.19.0/go.mod h1:L5rUsV9kM1IxCj1MmSdS+JQAcVm319EUrDVLrt7jqt8= go.opentelemetry.io/otel/metric v1.33.0 h1:r+JOocAyeRVXD8lZpjdQjzMadVZp2M4WmQ+5WtEnklQ= go.opentelemetry.io/otel/metric v1.33.0/go.mod h1:L9+Fyctbp6HFTddIxClbQkjtubW6O9QS3Ann/M82u6M= +go.opentelemetry.io/otel/metric v1.35.0/go.mod h1:nKVFgxBZ2fReX6IlyW28MgZojkoAkJGaE8CpgeAU3oE= +go.opentelemetry.io/otel/metric v1.36.0/go.mod h1:zC7Ks+yeyJt4xig9DEw9kuUFe5C3zLbVjV2PzT6qzbs= go.opentelemetry.io/otel/metric v1.38.0 h1:Kl6lzIYGAh5M159u9NgiRkmoMKjvbsKtYRwgfrA6WpA= go.opentelemetry.io/otel/metric v1.38.0/go.mod h1:kB5n/QoRM8YwmUahxvI3bO34eVtQf2i4utNVLr9gEmI= +go.opentelemetry.io/otel/metric v1.39.0/go.mod h1:jrZSWL33sD7bBxg1xjrqyDjnuzTUB0x1nBERXd7Ftcs= go.opentelemetry.io/otel/sdk v0.20.0/go.mod h1:g/IcepuwNsoiX5Byy2nNV0ySUF1em498m7hBWC279Yc= go.opentelemetry.io/otel/sdk v1.10.0/go.mod h1:vO06iKzD5baltJz1zarxMCNHFpUlUiOy4s65ECtn6kE= go.opentelemetry.io/otel/sdk v1.19.0 h1:6USY6zH+L8uMH8L3t1enZPR3WFEmSTADlqldyHtJi3o= go.opentelemetry.io/otel/sdk v1.19.0/go.mod h1:NedEbbS4w3C6zElbLdPJKOpJQOrGUJ+GfzpjUvI0v1A= go.opentelemetry.io/otel/sdk v1.24.0/go.mod h1:KVrIYw6tEubO9E96HQpcmpTKDVn9gdv35HoYiQWGDFg= go.opentelemetry.io/otel/sdk v1.33.0/go.mod h1:A1Q5oi7/9XaMlIWzPSxLRWOI8nG3FnzHJNbiENQuihM= +go.opentelemetry.io/otel/sdk v1.35.0/go.mod h1:+ga1bZliga3DxJ3CQGg3updiaAJoNECOgJREo9KHGQg= go.opentelemetry.io/otel/sdk v1.38.0 h1:l48sr5YbNf2hpCUj/FoGhW9yDkl+Ma+LrVl8qaM5b+E= go.opentelemetry.io/otel/sdk v1.38.0/go.mod h1:ghmNdGlVemJI3+ZB5iDEuk4bWA3GkTpW+DOoZMYBVVg= +go.opentelemetry.io/otel/sdk v1.40.0/go.mod h1:Ph7EFdYvxq72Y8Li9q8KebuYUr2KoeyHx0DRMKrYBUE= go.opentelemetry.io/otel/sdk/export/metric v0.20.0/go.mod h1:h7RBNMsDJ5pmI1zExLi+bJK+Dr8NQCh0qGhm1KDnNlE= go.opentelemetry.io/otel/sdk/metric v0.20.0/go.mod h1:knxiS8Xd4E/N+ZqKmUPf3gTTZ4/0TjTXukfxjzSTpHE= +go.opentelemetry.io/otel/sdk/metric v1.36.0/go.mod h1:qTNOhFDfKRwX0yXOqJYegL5WRaW376QbB7P4Pb0qva4= go.opentelemetry.io/otel/sdk/metric v1.38.0 h1:aSH66iL0aZqo//xXzQLYozmWrXxyFkBJ6qT5wthqPoM= go.opentelemetry.io/otel/sdk/metric v1.38.0/go.mod h1:dg9PBnW9XdQ1Hd6ZnRz689CbtrUp0wMMs9iPcgT9EZA= +go.opentelemetry.io/otel/sdk/metric v1.40.0/go.mod h1:4Z2bGMf0KSK3uRjlczMOeMhKU2rhUqdWNoKcYrtcBPg= go.opentelemetry.io/otel/trace v0.20.0/go.mod h1:6GjCW8zgDjwGHGa6GkyeB8+/5vjT16gUEi0Nf1iBdgw= go.opentelemetry.io/otel/trace v1.10.0/go.mod h1:Sij3YYczqAdz+EhmGhE6TpTxUO5/F/AzrK+kxfGqySM= go.opentelemetry.io/otel/trace v1.19.0 h1:DFVQmlVbfVeOuBRrwdtaehRrWiL1JoVs9CPIQ1Dzxpg= go.opentelemetry.io/otel/trace v1.19.0/go.mod h1:mfaSyvGyEJEI0nyV2I4qhNQnbBOUUmYZpYojqMnX2vo= go.opentelemetry.io/otel/trace v1.33.0 h1:cCJuF7LRjUFso9LPnEAHJDB2pqzp+hbO8eu1qqW2d/s= go.opentelemetry.io/otel/trace v1.33.0/go.mod h1:uIcdVUZMpTAmz0tI1z04GoVSezK37CbGV4fr1f2nBck= +go.opentelemetry.io/otel/trace v1.35.0/go.mod h1:WUk7DtFp1Aw2MkvqGdwiXYDZZNvA/1J8o6xRXLrIkyc= +go.opentelemetry.io/otel/trace v1.36.0/go.mod h1:gQ+OnDZzrybY4k4seLzPAWNwVBBVlF2szhehOBB/tGA= go.opentelemetry.io/otel/trace v1.38.0 h1:Fxk5bKrDZJUH+AMyyIXGcFAPah0oRcT+LuNtJrmcNLE= go.opentelemetry.io/otel/trace v1.38.0/go.mod h1:j1P9ivuFsTceSWe1oY+EeW3sc+Pp42sO++GHkg4wwhs= +go.opentelemetry.io/otel/trace v1.39.0/go.mod h1:88w4/PnZSazkGzz/w84VHpQafiU4EtqqlVdxWy+rNOA= go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI= go.opentelemetry.io/proto/otlp v0.19.0/go.mod h1:H7XAot3MsfNsj7EXtrA2q5xSNQ10UqI405h3+duxN4U= go.opentelemetry.io/proto/otlp v1.0.0/go.mod h1:Sy6pihPLfYHkr3NkUbEhGHFhINUSI/v80hjKIs5JXpM= go.opentelemetry.io/proto/otlp v1.4.0/go.mod h1:PPBWZIP98o2ElSqI35IHfu7hIhSwvc5N38Jw8pXuGFY= -go.opentelemetry.io/proto/otlp v1.9.0 h1:l706jCMITVouPOqEnii2fIAuO3IVGBRPV5ICjceRb/A= -go.opentelemetry.io/proto/otlp v1.9.0/go.mod h1:xE+Cx5E/eEHw+ISFkwPLwCZefwVjY+pqKg1qcK03+/4= +go.opentelemetry.io/proto/otlp v1.5.0/go.mod h1:keN8WnHxOy8PG0rQZjJJ5A2ebUoafqWp0eVQ4yIXvJ4= +go.opentelemetry.io/proto/otlp v1.7.1/go.mod h1:b2rVh6rfI/s2pHWNlB7ILJcRALpcNDzKhACevjI+ZnE= go.starlark.net v0.0.0-20230525235612-a134d8f9ddca/go.mod h1:jxU+3+j+71eXOW14274+SmmuW82qJzl6iZSeqEtTGds= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= -golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= -golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= go.uber.org/atomic v1.10.0/go.mod h1:LUxbIzbOniOlMKjJjyPfpl4v+PKK2cNJn91OQbhoJI0= +go.uber.org/automaxprocs v1.6.0/go.mod h1:ifeIMSnPZuznNm6jmdzmU3/bfk01Fe2fotchwEFJ8r8= +go.uber.org/goleak v1.1.12/go.mod h1:cwTWslyiVhfpKIDGSZEM2HlOvcqm+tG4zioyIeLoqMQ= +go.uber.org/mock v0.5.0/go.mod h1:ge71pBPLYDk7QIi1LupWxdAykm7KIEFchiOqd6z7qMM= go.uber.org/multierr v1.6.0 h1:y6IPFStTAIT5Ytl7/XYmHvzXQ7S3g/IeZW9hyZ5thw4= go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= +go.uber.org/multierr v1.10.0/go.mod h1:20+QtiLqy0Nd6FdQB9TLXag12DsQkrbs3htMFfDN80Y= go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= go.uber.org/zap v1.21.0/go.mod h1:wjWOCqI0f2ZZrJF/UufIOkiC8ii6tm1iqIsLo76RfJw= go.uber.org/zap v1.24.0/go.mod h1:2kMP+WWQ8aoFoedH3T2sq6iJ2yDWpHbP0f6MQbS9Gkg= go.uber.org/zap v1.26.0/go.mod h1:dtElttAiwGvoJ/vj4IwHBS/gXsEu/pZ50mUIRWuG0so= +go.uber.org/zap v1.27.1 h1:08RqriUEv8+ArZRYSTXy1LeBScaMpVSTBhCeaZYfMYc= +go.uber.org/zap v1.27.1/go.mod h1:GB2qFLM7cTU87MWRP2mPIjqfIDnGu+VIO4V/SdhGo2E= +go.yaml.in/yaml/v2 v2.4.2/go.mod h1:081UH+NErpNdqlCXm3TtEran0rJZGxAYx9hb/ELlsPU= go.yaml.in/yaml/v3 v3.0.3/go.mod h1:tBHosrYAkRZjRAOREWbDnBXUf08JOwYq++0QNwQiWzI= +golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20201002170205-7f63de1d35b0/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.13.0/go.mod h1:y6Z2r+Rw4iayiXXAIxJIDAJ1zMW4yaTpebo8fPOliYc= golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g= golang.org/x/crypto v0.16.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4= +golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU= golang.org/x/crypto v0.21.0 h1:X31++rzVUdKhX5sWmSOFZxx8UW/ldWx55cbf08iNAMA= +golang.org/x/crypto v0.21.0/go.mod h1:0BP7YvVV9gBbVKyeTG0Gyn+gZm94bibOW5BjDEYAOMs= +golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v8= +golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc= golang.org/x/crypto v0.40.0/go.mod h1:Qr1vMER5WyS2dfPHAlsOj01wgLbsyWtFn/aY+5+ZdxY= golang.org/x/crypto v0.41.0/go.mod h1:pO5AFd7FA68rFak7rOAGVuygIISepHftHnr8dr6+sUc= +golang.org/x/crypto v0.42.0/go.mod h1:4+rDnOTJhQCx2q7/j6rAN5XDw8kPjeaXEUR2eL94ix8= golang.org/x/crypto v0.44.0 h1:A97SsFvM3AIwEEmTBiaxPPTYpDC47w720rdiiUvgoAU= golang.org/x/crypto v0.44.0/go.mod h1:013i+Nw79BMiQiMsOPcVCB5ZIJbYkerPrGnOa00tvmc= +golang.org/x/crypto v0.46.0 h1:cKRW/pmt1pKAfetfu+RCEvjvZkA9RimPbh7bhFjGVBU= +golang.org/x/crypto v0.46.0/go.mod h1:Evb/oLKmMraqjZ2iQTwDwvCtJkczlDuTmdJXoZVzqU0= +golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190125153040-c74c464bbbf2/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190312203227-4b39c73a6495/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= @@ -736,6 +1127,14 @@ golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u0 golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= +golang.org/x/exp v0.0.0-20230515195305-f3d0a9c9a5cc/go.mod h1:V1LtkGg67GoY2N1AnLN78QLrzxkLyJw7RJb1gzOOz9w= +golang.org/x/exp v0.0.0-20240325151524-a685a6edb6d8/go.mod h1:CQ1k9gNrJ50XIzaKCRR2hssIjF07kZFEiieALBM/ARQ= +golang.org/x/exp v0.0.0-20241108190413-2d47ceb2692f/go.mod h1:D5SMRVC3C2/4+F/DB1wZsLRnSNimn2Sp/NPsCrsv8ak= +golang.org/x/exp v0.0.0-20250911091902-df9299821621/go.mod h1:TwQYMMnGpvZyc+JpB/UAuTNIsVJifOlSkrZkhcvpVUk= +golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs= golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= @@ -746,10 +1145,13 @@ golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzB golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= +golang.org/x/mod v0.5.1/go.mod h1:5OXOZSfqPIIbmVBIIKWRFfZjPR0E5r58TLhUjH0a2Ro= golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.9.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.10.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= +golang.org/x/mod v0.15.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.17.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.19.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= golang.org/x/mod v0.20.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c= @@ -758,9 +1160,15 @@ golang.org/x/mod v0.22.0/go.mod h1:6SkKJ3Xj0I0BrPOZoBy3bdMptDDU9oJrpohJ3eWZ1fY= golang.org/x/mod v0.24.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= -golang.org/x/mod v0.25.0/go.mod h1:IXM97Txy2VM4PJ3gI61r1YEk/gAj6zAHN3AdZt6S9Ww= -golang.org/x/mod v0.27.0/go.mod h1:rWI627Fq0DEoudcK+MBkNkCe0EetEaDSwJJkCcjpazc= +golang.org/x/mod v0.30.0/go.mod h1:lAsf5O2EvJeSFMiBxXDki7sCgAxEUcZHXoXMKT4GJKc= +golang.org/x/mod v0.32.0/go.mod h1:SgipZ/3h2Ci89DlEtEXWUk/HteuRin+HHhN+WbNhguU= golang.org/x/net v0.0.0-20170114055629-f2499483f923/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20181114220301-adae6a3d119a/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= +golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -785,13 +1193,17 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= golang.org/x/net v0.14.0/go.mod h1:PpSgVXXLK0OxS0F31C1/tv6XNguvCrnXIDrFMspZIUI= +golang.org/x/net v0.15.0/go.mod h1:idbUs1IY1+zTqbi8yxTbhexhEEk5ur9LInksu6HrEpk= golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.18.0/go.mod h1:/czyP5RqHAH4odGYxBJ1qz0+CE5WZ+2j1YgoEo8F2jQ= golang.org/x/net v0.19.0/go.mod h1:CfAk/cbD4CthTvqiEl8NpboMuiuOYsAr/7NOjZJtv1U= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= golang.org/x/net v0.23.0 h1:7EYJ93RZ9vYSZAIb2x3lnuvqO5zneoD6IvWjuhfxjTs= +golang.org/x/net v0.25.0/go.mod h1:JkAGAh7GEvH74S6FOH42FLoXpXbE/aqXSrIQjXgsiwM= golang.org/x/net v0.27.0 h1:5K3Njcw06/l2y9vpGCSdcxWOYHOUk3dVNGDXN+FvAys= golang.org/x/net v0.27.0/go.mod h1:dDi0PyhWNoiUOrAS8uXv/vnScO4wnHQO4mj9fn/RytE= golang.org/x/net v0.28.0/go.mod h1:yqtgsTWOOnlGLG9GFRrK3++bGOUEkNBoHZc8MEDWPNg= @@ -803,9 +1215,15 @@ golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4= golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0= golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k= golang.org/x/net v0.35.0/go.mod h1:EglIi67kWsHKlRzzVMUD93VMSWGFOMSZgxFjparz1Qk= +golang.org/x/net v0.38.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8= +golang.org/x/net v0.40.0/go.mod h1:y0hY0exeL2Pku80/zKK7tpntoX23cqL3Oa6njdgRtds= golang.org/x/net v0.43.0/go.mod h1:vhO1fvI4dGsIjh73sWfUVjj3N7CA9WkKJNQm2svM6Jg= +golang.org/x/net v0.44.0/go.mod h1:ECOoLqd5U3Lhyeyo/QDCEVQ4sNgYsqvCZ722XogGieY= golang.org/x/net v0.46.0/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= golang.org/x/net v0.46.1-0.20251013234738-63d1a5100f82/go.mod h1:Q9BGdFy1y4nkUwiLvT5qtyhAnEHgnQ/zd8PfU6nc210= +golang.org/x/net v0.47.0/go.mod h1:/jNxtkgq5yWUGYkaZGqo27cfGZ1c5Nen03aYrrKpVRU= +golang.org/x/net v0.49.0/go.mod h1:/ysNB2EvaqvesRkuLAyjI1ycPZlQHM3q01F02UY/MV8= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= @@ -821,6 +1239,9 @@ golang.org/x/oauth2 v0.25.0 h1:CY4y7XT9v0cRI9oupztF8AgiIu99L/ksR/Xp/6jrZ70= golang.org/x/oauth2 v0.25.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI= golang.org/x/oauth2 v0.30.0/go.mod h1:B++QgG3ZKulg6sRPGD/mqlHQs5rB3Ml9erfeDY7xKlU= golang.org/x/oauth2 v0.32.0/go.mod h1:lzm5WQJQwKZ3nwavOZ3IS5Aulzxi68dUSgRHujetwEA= +golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -830,18 +1251,27 @@ golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.4.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.6.0 h1:5BMeUDZ7vkXGfEr1x9B4bRcTH4lpkTkpdh0T/J+qjbQ= +golang.org/x/sync v0.6.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.7.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.8.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w= golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.14.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sync v0.16.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA= golang.org/x/sync v0.17.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sync v0.18.0 h1:kr88TuHDroi+UVf+0hZnirlk8o8T+4MrK6mr60WkH/I= golang.org/x/sync v0.18.0/go.mod h1:9KTHXmSnoGruLpwFjVSX0lNNA75CykiMECbovNTZqGI= golang.org/x/sys v0.0.0-20170830134202-bb24a47a89ea/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190801041406-cbf593c0f2f3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -870,43 +1300,66 @@ golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211019181941-9d821ace8654/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20211117180635-dee7805ff2e1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220325203850-36772127a21f/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220906165534-d0df966e6959/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.12.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.18.0 h1:DBdB3niSjOA/O0blCZBqDefyWNYveAYMNF1Wum0DYQ4= +golang.org/x/sys v0.18.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.20.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.22.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.23.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.24.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.25.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.26.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.33.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.34.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= golang.org/x/sys v0.35.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= +golang.org/x/sys v0.36.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.37.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= golang.org/x/sys v0.38.0 h1:3yZWxaJjBmCWXqhN1qh02AkOnCQ1poK6oF+a7xWL6Gc= golang.org/x/sys v0.38.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= -golang.org/x/sys v0.39.0 h1:CvCKL8MeisomCi6qNZ+wbb0DN9E5AATixKsvNtMoMFk= -golang.org/x/sys v0.39.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/sys v0.41.0/go.mod h1:OgkHotnGiDImocRcuBABYBEXf8A9a87e/uXjp9XT3ks= +golang.org/x/telemetry v0.0.0-20240228155512-f48c80bd79b2/go.mod h1:TeRTkGYfJXctD9OcfyVLyj2J3IxLnKwHJR8f4D8a3YE= golang.org/x/telemetry v0.0.0-20240521205824-bda55230c457/go.mod h1:pRgIJT+bRLFKnoM1ldnzKoxTIn14Yxz928LQRYYgIN0= golang.org/x/telemetry v0.0.0-20251008203120-078029d740a8/go.mod h1:Pi4ztBfryZoJEkyFTI5/Ocsu2jXyDr6iSdgJiYE/uwE= +golang.org/x/telemetry v0.0.0-20251111182119-bc8e575c7b54/go.mod h1:hKdjCMrbv9skySur+Nek8Hd0uJ0GuxJIoIX2payrIdQ= +golang.org/x/telemetry v0.0.0-20260109210033-bd525da824e2/go.mod h1:b7fPSJ0pKZ3ccUh8gnTONJxhn3c/PS6tyzQvyqw4iA8= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.12.0/go.mod h1:owVbMEjm3cBLCHdkQu9b1opXd4ETQWc3BhuQGKgXgvU= +golang.org/x/term v0.13.0/go.mod h1:LTmsnFJwVN6bCy1rVCoS+qHT1HhALEFxKncY3WNNh4U= +golang.org/x/term v0.14.0/go.mod h1:TySc+nGkYR6qt8km8wUhuFRTVSMIX3XPR58y2lC8vww= +golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk= golang.org/x/term v0.18.0 h1:FcHjZXDMxI8mM3nwhX9HlKop4C0YQvCVCdwYl2wOtE8= +golang.org/x/term v0.18.0/go.mod h1:ILwASektA3OnRv7amZ1xhE/KTR+u50pbXfZ03+6Nx58= +golang.org/x/term v0.20.0/go.mod h1:8UkIAJTvZgivsXaD6/pH6U9ecQzZ45awqEOzuCvwpFY= golang.org/x/term v0.25.0/go.mod h1:RPyXicDX+6vLxogjjRxjgD2TKtmAO6NZBsBRfrOLu7M= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= +golang.org/x/term v0.37.0/go.mod h1:5pB4lxRNYYVZuTLmy8oR2BH8dflOR+IbTYFD8fi3254= +golang.org/x/term v0.40.0/go.mod h1:w2P8uVp06p2iyKKuvXIm7N/y0UCRt3UfJTfZ7oOpglM= golang.org/x/text v0.0.0-20160726164857-2910a502d2bf/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -915,23 +1368,31 @@ golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.12.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.15.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/text v0.17.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.18.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.19.0/go.mod h1:BuEKDfySbSR4drPmRPG/7iBdf8hvFMuRexcpahXilzY= golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= +golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4= +golang.org/x/text v0.25.0/go.mod h1:WEdwpYrmk1qmdHvhkSTNPm3app7v4rsT8F2UD6+VHIA= golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= -golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= -golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY= -golang.org/x/text v0.28.0/go.mod h1:U8nCwOR8jO/marOQ0QbDiOngZVEBB7MAiitBuMjXiNU= +golang.org/x/text v0.29.0/go.mod h1:7MhJOA9CD2qZyOKYazxdYMF85OwPdEr9jTtBpO7ydH4= golang.org/x/text v0.30.0/go.mod h1:yDdHFIX9t+tORqspjENWgzaCVXgk0yYnYuSZ8UzzBVM= +golang.org/x/text v0.31.0/go.mod h1:tKRAlv61yKIjGGHX/4tP1LTbc13YSec1pxVEWXzfoeM= +golang.org/x/text v0.33.0/go.mod h1:LuMebE6+rBincTi9+xWTY8TztLzKHc/9C1uBCG27+q8= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20210723032227-1f47c861a9ac/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.3.0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.9.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM= +golang.org/x/time v0.11.0/go.mod h1:CDIdPxbZBQxdj6cxyCIdrNogrJKMJ7pr37NYpMcMDSg= +golang.org/x/time v0.13.0/go.mod h1:eL/Oa2bBBK0TkX57Fyni+NgnyQQN4LitPmob2Hjnqw4= golang.org/x/tools v0.0.0-20181011042414-1f849cf54d09/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190206041539-40960b6deb8e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY= +golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= @@ -969,15 +1430,20 @@ golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= +golang.org/x/tools v0.1.9/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= golang.org/x/tools v0.4.0/go.mod h1:UE5sM2OK9E/d67R0ANs2xJizIymRP5gJU295PvKXxjQ= golang.org/x/tools v0.9.1/go.mod h1:owI94Op576fPu3cIGQeHs3joujW/2Oc6MtlxbF5dfNc= golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= golang.org/x/tools v0.12.0/go.mod h1:Sc0INKfu04TlqNoRA1hgpFZbhYXHPr4V5DzpSBTPqQM= golang.org/x/tools v0.13.0/go.mod h1:HvlwmtVNQAhOuCjW7xxvovg8wbNq7LwfXh/k7wXUl58= +golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk= golang.org/x/tools v0.16.1/go.mod h1:kYVVN6I1mBNoB1OX+noeBjbRk4IUEPa7JJ+TJMEooJ0= golang.org/x/tools v0.21.1-0.20240508182429-e35e4ccd0d2d/go.mod h1:aiJjzUbINMkxbQROHiO6hDPo2LHcIPhhQsa9DLh0yGk= +golang.org/x/tools v0.22.0/go.mod h1:aCwcsjqvq7Yqt6TNyX7QMU2enbQ/Gt0bo6krSeEri+c= golang.org/x/tools v0.24.0/go.mod h1:YhNqVBIfWHdzvTLs0d8LCuMhkKUgSUKldakyV7W/WDQ= +golang.org/x/tools v0.26.0/go.mod h1:TPVVj70c7JJ3WCazhD8OdXcZg/og+b9+tH/KxylGwH0= golang.org/x/tools v0.28.0/go.mod h1:dcIOrVd3mfQKTgrDVQHqCPMWy6lnhfhtX3hLXYVLfRw= golang.org/x/tools v0.29.0/go.mod h1:KMQVMRsVxU6nHCFXrBPhDB8XncLNLM0lIy/F14RP588= golang.org/x/tools v0.30.0/go.mod h1:c347cR/OJfw5TI+GfX7RUPNMdDRRbjvYTS0jPyvsVtY= @@ -987,6 +1453,7 @@ golang.org/x/tools/go/expect v0.1.0-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/ golang.org/x/tools/go/expect v0.1.1-deprecated/go.mod h1:eihoPOH+FgIqa3FpoTwguz/bVUSGBlGQU67vpBeOrBY= golang.org/x/tools/go/packages/packagestest v0.1.1-deprecated/go.mod h1:RVAQXBGNv1ib0J382/DPCRS/BPnsGebyM1Gj5VSDpG8= golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +golang.org/x/xerrors v0.0.0-20240716161551-93cc26a95ae9/go.mod h1:NDW/Ps6MPRej6fsCIbMTohpP40sJ/P/vI1MoTEGwX90= gomodules.xyz/jsonpatch/v2 v2.2.0/go.mod h1:WXp+iVDkoLQqPudfQ9GBlwB2eZ5DKOnjQZCYdOS8GPY= gomodules.xyz/jsonpatch/v2 v2.3.0/go.mod h1:AH3dM2RI6uoBZxn3LVrfvJ3E0/9dG4cSrbuBJT4moAY= gonum.org/v1/gonum v0.0.0-20190331200053-3d26580ed485/go.mod h1:2ltnJ7xHfj0zHS40VVPYEAAMTa3ZGguvHGBSJeRWqE0= @@ -1014,9 +1481,14 @@ google.golang.org/api v0.149.0/go.mod h1:Mwn1B7JTXrzXtnvmzQE2BD6bYZQ8DShKZDZbeN9 google.golang.org/api v0.189.0/go.mod h1:FLWGJKb0hb+pU2j+rJqwbnsF+ym+fQs73rbJ+KAUgy8= google.golang.org/api v0.224.0/go.mod h1:3V39my2xAGkodXy0vEqcEtkqgw2GtrFL5WuBZlCTCOQ= google.golang.org/api v0.247.0/go.mod h1:r1qZOPmxXffXg6xS5uhx16Fa/UFY8QU/K4bfKrnvovM= +google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= +google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= +google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98 h1:Z0hjGZePRE0ZBWotvtrwxFNrNE9CUAGtplaDK5NNI/g= google.golang.org/genproto v0.0.0-20230711160842-782d3b101e98/go.mod h1:S7mY02OqCJTD0E1OiQy1F72PWFB4bZJ87cAtLPYgDR0= google.golang.org/genproto v0.0.0-20230803162519-f966b187b2e5/go.mod h1:oH/ZOT02u4kWEp7oYBGYFFkCdKS/uYR9Z7+0/xuuFp8= @@ -1029,31 +1501,52 @@ google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb h1:ITgPrl429bc6+2Z google.golang.org/genproto v0.0.0-20250303144028-a0af3efb3deb/go.mod h1:sAo5UzpjUwgFBCzupwhcLcxHVDK7vG5IqI30YnwX2eE= google.golang.org/genproto v0.0.0-20250603155806-513f23925822 h1:rHWScKit0gvAPuOnu87KpaYtjK5zBMLcULh7gxkCXu4= google.golang.org/genproto v0.0.0-20250603155806-513f23925822/go.mod h1:HubltRL7rMh0LfnQPkMH4NPDFEWp0jw3vixw7jEM53s= +google.golang.org/genproto v0.0.0-20251202230838-ff82c1b0f217 h1:GvESR9BIyHUahIb0NcTum6itIWtdoglGX+rnGxm2934= google.golang.org/genproto/googleapis/api v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:IBQ646DjkDkvUIsVq/cc03FUFQ9wbZu7yE396YcL870= google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7 h1:YcyjlL1PRr2Q17/I0dPk2JmYS5CDXfcdb2Z3YRioEbw= google.golang.org/genproto/googleapis/api v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:OCdP9MfskevB/rbYvHTsXTtKC+3bHWajPdoKgjcYkfo= google.golang.org/genproto/googleapis/api v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:qpvKtACPCQhAdu3PyQgV4l3LMXZEtft7y8QcarRsp9I= google.golang.org/genproto/googleapis/api v0.0.0-20241209162323-e6fa225c2576/go.mod h1:1R3kvZ1dtP3+4p4d3G8uJ8rFk/fWlScl38vanWACI08= +google.golang.org/genproto/googleapis/api v0.0.0-20250218202821-56aae31c358a/go.mod h1:3kWAYMk1I75K4vykHtKt2ycnOgpA6974V7bREqbsenU= +google.golang.org/genproto/googleapis/api v0.0.0-20250528174236-200df99c418a/go.mod h1:a77HrdMjoeKbnd2jmgcWdaS++ZLZAEq3orIOAEIKiVw= +google.golang.org/genproto/googleapis/api v0.0.0-20250825161204-c5933d9347a5/go.mod h1:j3QtIyytwqGr1JUDtYXwtMXWPKsEa5LtzIFN1Wn5WvE= google.golang.org/genproto/googleapis/api v0.0.0-20251022142026-3a174f9686a8/go.mod h1:fDMmzKV90WSg1NbozdqrE64fkuTv6mlq2zxo9ad+3yo= +google.golang.org/genproto/googleapis/api v0.0.0-20251029180050-ab9386a59fda/go.mod h1:fDMmzKV90WSg1NbozdqrE64fkuTv6mlq2zxo9ad+3yo= google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba h1:B14OtaXuMaCQsl2deSvNkyPKIzq3BjfxQp8d00QyWx4= google.golang.org/genproto/googleapis/api v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:G5IanEx8/PgI9w6CFcYQf7jMtHQhZruvfM1i3qOqk5U= +google.golang.org/genproto/googleapis/api v0.0.0-20260120221211-b8f7ae30c516/go.mod h1:p3MLuOwURrGBRoEyFHBT3GjUwaCQVKeNqqWxlcISGdw= +google.golang.org/genproto/googleapis/api v0.0.0-20260128011058-8636f8732409/go.mod h1:fl8J1IvUjCilwZzQowmw2b7HQB2eAuYBabMXzWurF+I= google.golang.org/genproto/googleapis/bytestream v0.0.0-20231030173426-d783a09b4405/go.mod h1:GRUCuLdzVqZte8+Dl/D4N25yLzcGqqWaYkeVOwulFqw= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230822172742-b8732ec3820d/go.mod h1:+Bk1OCOj40wS2hwAMA+aCW9ypzm63QTBBHp6lQ3p+9M= google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240401170217-c3f982113cda/go.mod h1:WtryC6hu0hhx87FDGxWCDptyssuo68sk10vYjF+T9fY= google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7 h1:2035KHhUv+EpyB+hWgJnaWKJOdX1E95w2S8Rr4uWKTs= google.golang.org/genproto/googleapis/rpc v0.0.0-20240826202546-f6391c0de4c7/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= google.golang.org/genproto/googleapis/rpc v0.0.0-20240903143218-8af14fe29dc1/go.mod h1:UqMtugtsSgubUsoxbuAoiCXvqvErP7Gf0so0mK9tHxU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241015192408-796eee8c2d53/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= +google.golang.org/genproto/googleapis/rpc v0.0.0-20241021214115-324edc3d5d38/go.mod h1:GX3210XPVPUjJbTUbvwI8f2IpZDMZuPJWDzDuebbviI= google.golang.org/genproto/googleapis/rpc v0.0.0-20241206012308-a4fef0638583/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= google.golang.org/genproto/googleapis/rpc v0.0.0-20241209162323-e6fa225c2576/go.mod h1:5uTbfoYQed2U9p3KIj2/Zzm02PYhndfdmML0qC3q3FU= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250218202821-56aae31c358a/go.mod h1:uRxBH1mhmO8PGhU89cMcHaXKZqO+OfakD8QQO0oYwlQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250528174236-200df99c418a/go.mod h1:qQ0YXyHHx3XkvlzUtpXDkS29lDSafHMZBAZDc03LQ3A= +google.golang.org/genproto/googleapis/rpc v0.0.0-20250825161204-c5933d9347a5/go.mod h1:M4/wBTSeyLxupu3W3tJtOgB14jILAS/XWPSSa3TAlJc= google.golang.org/genproto/googleapis/rpc v0.0.0-20251022142026-3a174f9686a8/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251029180050-ab9386a59fda/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/genproto/googleapis/rpc v0.0.0-20251103181224-f26f9409b101/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= google.golang.org/genproto/googleapis/rpc v0.0.0-20251111163417-95abcf5c77ba h1:UKgtfRM7Yh93Sya0Fo8ZzhDP4qBckrrxEr2oF5UIVb8= google.golang.org/genproto/googleapis/rpc v0.0.0-20251111163417-95abcf5c77ba/go.mod h1:7i2o+ce6H/6BluujYR+kqX3GKH+dChPTQU19wjRPiGk= +google.golang.org/genproto/googleapis/rpc v0.0.0-20251222181119-0a764e51fe1b/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260120221211-b8f7ae30c516/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260128011058-8636f8732409/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260203192932-546029d2fa20/go.mod h1:j9x/tPzZkyxcgEFkiKEEGxfvyumM01BEtsW8xzOahRQ= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= +google.golang.org/grpc v1.28.1/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= @@ -1065,13 +1558,32 @@ google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= +google.golang.org/grpc v1.58.2/go.mod h1:tgX3ZQDlNJGU96V6yHh1T/JeoBQ2TXdr43YbYSsCJk0= google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= google.golang.org/grpc v1.65.0 h1:bs/cUb4lp1G5iImFFd3u5ixQzweKizoZJAwBNLR42lc= google.golang.org/grpc v1.67.1/go.mod h1:1gLDyUQU7CTLJI90u3nXZ9ekeghjeM7pTDZlqFNg2AA= google.golang.org/grpc v1.68.1/go.mod h1:+q1XYFJjShcqn0QZHvCyeR4CXPA+llXIeUIfIe00waw= +google.golang.org/grpc v1.69.0/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.69.2/go.mod h1:vyjdE6jLBI76dgpDojsFGNaHlxdjXN9ghpnd2o7JGZ4= +google.golang.org/grpc v1.71.0/go.mod h1:H0GRtasmQOh9LkFoCPDu3ZrwUtD1YGE+b2vYBYd/8Ec= +google.golang.org/grpc v1.72.2/go.mod h1:wH5Aktxcg25y1I3w7H69nHfXdOG3UiadoBtjh3izSDM= +google.golang.org/grpc v1.74.2/go.mod h1:CtQ+BGjaAIXHs/5YS3i473GqwBBa1zGQNevxdeBEXrM= +google.golang.org/grpc v1.75.0/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= +google.golang.org/grpc v1.75.1/go.mod h1:JtPAzKiq4v1xcAB2hydNlWI2RnF85XXcV0mhKXr2ecQ= google.golang.org/grpc v1.76.0 h1:UnVkv1+uMLYXoIz6o7chp59WfQUYA2ex/BXQ9rHZu7A= google.golang.org/grpc v1.76.0/go.mod h1:Ju12QI8M6iQJtbcsV+awF5a4hfJMLi4X0JLo94ULZ6c= +google.golang.org/grpc v1.78.0/go.mod h1:I47qjTo4OKbMkjA/aOOwxDIiPSBofUtQUI5EfpWvW7U= +google.golang.org/grpc v1.79.1/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.79.2/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= +google.golang.org/grpc v1.79.3/go.mod h1:KmT0Kjez+0dde/v2j9vzwoAScgEPx/Bw1CYChhHLrHQ= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.5.1/go.mod h1:5KF+wpkbTSbGcR9zteSqZV6fqFOWBl4Yde8En8MryZA= +google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= +google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= +google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= +google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= +google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= +google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= @@ -1080,30 +1592,44 @@ google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.28.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= google.golang.org/protobuf v1.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= google.golang.org/protobuf v1.33.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.1/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= google.golang.org/protobuf v1.34.2/go.mod h1:qYOHts0dSfpeUzUFpOMr/WGzszTmLH+DiWniOlNbLDw= google.golang.org/protobuf v1.35.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.35.2/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= +google.golang.org/protobuf v1.36.0/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.36.1/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.36.3 h1:82DV7MYdb8anAVi3qge1wSnMDrnKK7ebr+I0hHRN1BU= google.golang.org/protobuf v1.36.3/go.mod h1:9fA7Ob0pmnwhb644+1+CVWFRbNajQ6iRojtC/QF5bRE= google.golang.org/protobuf v1.36.6/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= +google.golang.org/protobuf v1.36.7/go.mod h1:jduwjTPXsFjZGTmRluh+L6NjiWu7pchiJ2/5YcXBHnY= google.golang.org/protobuf v1.36.8/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +google.golang.org/protobuf v1.36.9/go.mod h1:fuxRtAxBytpl4zzqUh6/eyUujkJdNiuEkXntxiD/uRU= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/gcfg.v1 v1.2.3/go.mod h1:yesOnuUOFQAhST5vPY4nbZsb/huCgGGXlipJsBn0b3o= gopkg.in/go-jose/go-jose.v2 v2.6.3/go.mod h1:zzZDPkNNw/c9IE7Z9jr11mBZQhKQTMzoEEIoEdZlFBI= gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= +gopkg.in/ini.v1 v1.67.1 h1:tVBILHy0R6e4wkYOn3XmiITt/hEVH4TFMYvAX2Ytz6k= +gopkg.in/ini.v1 v1.67.1/go.mod h1:x/cyOwCgZqOkJoDIJ3c1KNHMo10+nLGAhh+kn3Zizss= gopkg.in/natefinch/lumberjack.v2 v2.2.1/go.mod h1:YD8tP3GAjkrDg1eZH7EGmyESg/lsYskCTPBJVb9jqSc= -k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608yqvg= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI= +gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= +gotest.tools v2.2.0+incompatible h1:VsBPFP1AI068pPrMxtb/S8Zkgf9xEmTLJjfM+P5UIEo= gotest.tools/v3 v3.0.3/go.mod h1:Z7Lb0S5l+klDB31fvDQX8ss/FlKDxtlFlw3Oa8Ymbl8= +gotest.tools/v3 v3.4.0/go.mod h1:CtbdzLSsqVhDgMtKsx03ird5YTGB3ar27v0u/yKBW5g= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= +k8s.io/api v0.34.1/go.mod h1:SB80FxFtXn5/gwzCoN6QCtPD7Vbu5w2n1S0J5gFfTYk= k8s.io/apiextensions-apiserver v0.25.0/go.mod h1:3pAjZiN4zw7R8aZC5gR0y3/vCkGlAjCazcg1me8iB/E= k8s.io/apiextensions-apiserver v0.27.7/go.mod h1:x0p+b5a955lfPz9gaDeBy43obM12s+N9dNHK6+dUL+g= k8s.io/apiextensions-apiserver v0.29.0/go.mod h1:TKmpy3bTS0mr9pylH0nOt/QzQRrW7/h7yLdRForMZwc= @@ -1111,12 +1637,15 @@ k8s.io/apiextensions-apiserver v0.31.2 h1:W8EwUb8+WXBLu56ser5IudT2cOho0gAKeTOnyw k8s.io/apiextensions-apiserver v0.32.1 h1:hjkALhRUeCariC8DiVmb5jj0VjIc1N0DREP32+6UXZw= k8s.io/apiextensions-apiserver v0.32.1/go.mod h1:sxWIGuGiYov7Io1fAS2X06NjMIk5CbRHc2StSmbaQto= k8s.io/apimachinery v0.24.3/go.mod h1:82Bi4sCzVBdpYjyI4jY6aHX+YCUchUIrZrXKedjd2UM= +k8s.io/apimachinery v0.34.1/go.mod h1:/GwIlEcWuTX9zKIg2mbw0LRFIsXwrfoVxn+ef0X13lw= k8s.io/apiserver v0.25.6/go.mod h1:IEp2B2/FvQ8GmdspscUoUS0iFF/GGc6NVrJ/cTM4OaA= k8s.io/apiserver v0.27.7/go.mod h1:OrLG9RwCOerutAlo8QJW5EHzUG9Dad7k6rgcDUNSO/w= k8s.io/apiserver v0.29.0/go.mod h1:31n78PsRKPmfpee7/l9NYEv67u6hOL6AfcE761HapDM= k8s.io/apiserver v0.31.2 h1:VUzOEUGRCDi6kX1OyQ801m4A7AUPglpsmGvdsekmcI4= k8s.io/apiserver v0.32.1 h1:oo0OozRos66WFq87Zc5tclUX2r0mymoVHRq8JmR7Aak= k8s.io/apiserver v0.32.1/go.mod h1:UcB9tWjBY7aryeI5zAgzVJB/6k7E97bkr1RgqDz0jPw= +k8s.io/apiserver v0.34.1/go.mod h1:eOOc9nrVqlBI1AFCvVzsob0OxtPZUCPiUJL45JOTBG0= +k8s.io/client-go v0.34.1/go.mod h1:kA8v0FP+tk6sZA0yKLRG67LWjqufAoSHA2xVGKw9Of8= k8s.io/code-generator v0.17.2/go.mod h1:DVmfPQgxQENqDIzVR2ddLXMH34qeszkKSdH/N+s+38s= k8s.io/code-generator v0.25.6/go.mod h1:aDxzxJynLKQkaa117y0FFcgZ5jG8+GobxZ2JUntmvKk= k8s.io/code-generator v0.27.7/go.mod h1:w1YF/xQcTg+d9Ag+04xuRqER+q8rDnJ70ynLql8/RLA= @@ -1126,8 +1655,11 @@ k8s.io/code-generator v0.34.1/go.mod h1:DeWjekbDnJWRwpw3s0Jat87c+e0TgkxoR4ar608y k8s.io/component-base v0.28.6 h1:G4T8VrcQ7xZou3by/fY5NU5mfxOBlWaivS2lPrEltAo= k8s.io/component-base v0.28.6/go.mod h1:Dg62OOG3ALu2P4nAG00UdsuHoNLQJ5VsUZKQlLDcS+E= k8s.io/component-base v0.29.0/go.mod h1:sADonFTQ9Zc9yFLghpDpmNXEdHyQmFIGbiuZbqAXQ1M= +k8s.io/component-base v0.34.2/go.mod h1:9xw2FHJavUHBFpiGkZoKuYZ5pdtLKe97DEByaA+hHbM= k8s.io/component-helpers v0.29.0/go.mod h1:j2coxVfmzTOXWSE6sta0MTgNSr572Dcx68F6DD+8fWc= +k8s.io/component-helpers v0.34.2/go.mod h1:pLi+GByuRTeFjjcezln8gHL7LcT6HImkwVQ3A2SQaEE= k8s.io/cri-api v0.34.1/go.mod h1:4qVUjidMg7/Z9YGZpqIDygbkPWkg3mkS1PvOx/kpHTE= +k8s.io/cri-api v0.35.0/go.mod h1:Cnt29u/tYl1Se1cBRL30uSZ/oJ5TaIp4sZm1xDLvcMc= k8s.io/gengo v0.0.0-20190128074634-0689ccc1d7d6/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20190822140433-26a664648505/go.mod h1:ezvh/TsK7cY6rbqRK0oQQ8IAqLxYwwyPxAX1Pzy0ii0= k8s.io/gengo v0.0.0-20210813121822-485abfe95c7c/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAEV2be7d5xI0vBa/VySYy3E= @@ -1135,24 +1667,29 @@ k8s.io/gengo v0.0.0-20220902162205-c0856e24416d/go.mod h1:FiNAH4ZV3gBg2Kwh89tzAE k8s.io/gengo/v2 v2.0.0-20250604051438-85fd79dbfd9f/go.mod h1:EJykeLsmFC60UQbYJezXkEsG2FLrt0GPNkU5iK5GWxU= k8s.io/klog v1.0.0 h1:Pt+yjF5aB1xDSVbau4VsWe+dQNzA0qv1LlXdC2dF6Q8= k8s.io/klog v1.0.0/go.mod h1:4Bi6QPql/J/LkTDqv7R/cd3hPo4k2DG6Ptcz060Ez5I= +k8s.io/klog/v2 v2.80.1/go.mod h1:y1WjHnz7Dj687irZUWR/WLkLc5N1YHtjLdmgWjndZn0= k8s.io/kms v0.34.1/go.mod h1:s1CFkLG7w9eaTYvctOxosx88fl4spqmixnNpys0JAtM= k8s.io/kube-aggregator v0.22.17/go.mod h1:J557nueFVurHA1JiDrxT1HlgygNQ+2exsTVUXiz2T7k= k8s.io/kube-openapi v0.0.0-20191107075043-30be4d16710a/go.mod h1:1TqjTSzOxsLGIKfj0lK8EeCP7K1iUG65v09OM0/WG5E= k8s.io/kube-openapi v0.0.0-20220328201542-3ee0da9b0b42/go.mod h1:Z/45zLw8lUo4wdiUkI+v/ImEGAvu3WatcZl3lPMR4Rk= k8s.io/kube-openapi v0.0.0-20231010175941-2dd684a91f00/go.mod h1:AsvuZPBlUDVuCdzJ87iajxtXuR9oktsTctW/R9wwouA= k8s.io/kubernetes v1.31.2 h1:VNSu4O7Xn5FFRsh9ePXyEPg6ucR21fOftarSdi053Gs= +k8s.io/kubernetes v1.31.7/go.mod h1:9xmT2buyTYj8TRKwRae7FcuY8k5+xlxv7VivvO0KKfs= k8s.io/metrics v0.29.0/go.mod h1:UCuTT4dC/x/x6ODSk87IWIZQnuAfcwxOjb1gjWJdjMA= k8s.io/metrics v0.30.3/go.mod h1:W06L2nXRhOwPkFYDJYWdEIS3u6JcJy3ebIPYbndRs6A= k8s.io/metrics v0.32.3/go.mod h1:9R1Wk5cb+qJpCQon9h52mgkVCcFeYxcY+YkumfwHVCU= k8s.io/metrics v0.34.2/go.mod h1:Ydulln+8uZZctUM8yrUQX4rfq/Ay6UzsuXf24QJ37Vc= +k8s.io/system-validators v1.8.0/go.mod h1:gP1Ky+R9wtrSiFbrpEPwWMeYz9yqyy1S/KOh0Vci7WI= k8s.io/system-validators v1.10.2/go.mod h1:awfSS706v9R12VC7u7K89FKfqVy44G+E0L1A0FX9Wmw= -sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= k8s.io/utils v0.0.0-20210802155522-efc7438f0176/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20220210201930-3a6ce19ff2f9/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA= k8s.io/utils v0.0.0-20230726121419-3b25d923346b/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= k8s.io/utils v0.0.0-20240711033017-18e509b52bc8/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= +k8s.io/utils v0.0.0-20250604170112-4c0f3b243397/go.mod h1:OLgZIPagt7ERELqWJFomSt595RzquPNLL48iOWgYOg0= kernel.org/pub/linux/libs/security/libcap/cap v1.2.76/go.mod h1:7V2BQeHnVAQwhCnCPJ977giCeGDiywVewWF+8vkpPlc= +kernel.org/pub/linux/libs/security/libcap/cap v1.2.77/go.mod h1:oV+IO8kGh0B7TxErbydDe2+BRmi9g/W0CkpVV+QBTJU= kernel.org/pub/linux/libs/security/libcap/psx v1.2.76/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24= +kernel.org/pub/linux/libs/security/libcap/psx v1.2.77/go.mod h1:+l6Ee2F59XiJ2I6WR5ObpC1utCQJZ/VLsEbQCD8RG24= modernc.org/cc v1.0.0/go.mod h1:1Sk4//wdnYJiUIxnW8ddKpaOJCF37yAdqYnkxUpaYxw= modernc.org/golex v1.0.0/go.mod h1:b/QX9oBD/LhixY6NDh+IdGv17hgB+51fET1i2kPSmvk= modernc.org/mathutil v1.0.0/go.mod h1:wU0vUrJsVWBZ4P6e7xtFJEhFSNsfRLJ8H458uRjg03k= @@ -1160,6 +1697,7 @@ modernc.org/strutil v1.0.0/go.mod h1:lstksw84oURvj9y3tn8lGvRxyRC1S2+g5uuIzNfIOBs modernc.org/xc v1.0.0/go.mod h1:mRNCo0bvLjGhHO9WsyuKVU4q0ceiDDDoEeWDJHrNx8I= mvdan.cc/sh/v3 v3.5.1/go.mod h1:1JcoyAKm1lZw/2bZje/iYKWicU/KMd0rsyJeKHnsK4E= mvdan.cc/sh/v3 v3.7.0/go.mod h1:K2gwkaesF/D7av7Kxl0HbF5kGOd2ArupNTX3X44+8l8= +oras.land/oras-go/v2 v2.6.0/go.mod h1:magiQDfG6H1O9APp+rOsvCPcW1GD2MM7vgnKY0Y+u1o= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= sigs.k8s.io/apiserver-network-proxy/konnectivity-client v0.0.35/go.mod h1:WxjusMwXlKzfAs4p9km6XJRndVt2FROgMVCE4cdohFo= @@ -1174,16 +1712,17 @@ sigs.k8s.io/controller-runtime v0.15.3/go.mod h1:kp4jckA4vTx281S/0Yk2LFEEQe67mjg sigs.k8s.io/controller-tools v0.7.0/go.mod h1:bpBAo0VcSDDLuWt47evLhMLPxRPxMDInTEH/YbdeMK0= sigs.k8s.io/json v0.0.0-20211208200746-9f7c6b3444d2/go.mod h1:B+TnT182UBxE84DiCz4CVE26eOSDAeYCpfDnC2kdKMY= sigs.k8s.io/json v0.0.0-20221116044647-bc3834ca7abd/go.mod h1:B8JuhiUyNFVKdsE8h686QcCxMaH6HrOAZj4vswFpcB0= +sigs.k8s.io/json v0.0.0-20241014173422-cfa47c3a1cc8/go.mod h1:mdzfpAEoE6DHQEN0uh9ZbOCuHbLK5wOm7dK4ctXE9Tg= sigs.k8s.io/kind v0.29.0 h1:3TpCsyh908IkXXpcSnsMjWdwdWjIl7o9IMZImZCWFnI= sigs.k8s.io/kind v0.29.0/go.mod h1:ldWQisw2NYyM6k64o/tkZng/1qQW7OlzcN5a8geJX3o= sigs.k8s.io/kind v0.30.0 h1:2Xi1KFEfSMm0XDcvKnUt15ZfgRPCT0OnCBbpgh8DztY= sigs.k8s.io/kind v0.30.0/go.mod h1:FSqriGaoTPruiXWfRnUXNykF8r2t+fHtK0P0m1AbGF8= sigs.k8s.io/knftables v0.0.14/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/knftables v0.0.17/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= +sigs.k8s.io/knftables v0.0.18/go.mod h1:f/5ZLKYEUPUhVjUCg6l80ACdL7CIIyeL0DxfgojGRTk= sigs.k8s.io/kustomize/api v0.20.1/go.mod h1:t6hUFxO+Ph0VxIk1sKp1WS0dOjbPCtLJ4p8aADLwqjM= sigs.k8s.io/kustomize/kustomize/v5 v5.7.1/go.mod h1:+5/SrBcJ4agx1SJknGuR/c9thwRSKLxnKoI5BzXFaLU= sigs.k8s.io/kustomize/kyaml v0.20.1/go.mod h1:0EmkQHRUsJxY8Ug9Niig1pUMSCGHxQ5RklbpV/Ri6po= -sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vtxXpaZnkPGWeqDfCps= sigs.k8s.io/randfill v0.0.0-20250304075658-069ef1bbf016/go.mod h1:XeLlZ/jmk4i1HRopwe7/aU3H5n1zNUcX6TM94b3QxOY= sigs.k8s.io/structured-merge-diff v0.0.0-20190525122527-15d366b2352e/go.mod h1:wWxsB5ozmmv/SG7nM11ayaAW51xMvak/t1r0CSlcokI= sigs.k8s.io/structured-merge-diff/v4 v4.0.2/go.mod h1:bJZC9H9iH24zzfZ/41RGcq60oK1F7G282QMXDPYydCw= @@ -1194,7 +1733,5 @@ sigs.k8s.io/structured-merge-diff/v4 v4.6.0/go.mod h1:dDy58f92j70zLsuZVuUX5Wp9vt sigs.k8s.io/structured-merge-diff/v6 v6.2.0/go.mod h1:M3W8sfWvn2HhQDIbGWj3S099YozAsymCo/wrT5ohRUE= sigs.k8s.io/yaml v1.1.0/go.mod h1:UJmg0vDUVViEyp3mgSv9WPwZCDxu4rQW1olrI1uml+o= sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= -sigs.k8s.io/yaml v1.6.0 h1:G8fkbMSAFqgEFgh4b1wmtzDnioxFCUgTZhlbj5P9QYs= -sigs.k8s.io/yaml v1.6.0/go.mod h1:796bPqUfzR/0jLAl6XjHl3Ck7MiyVv8dbTdyT3/pMf4= sigs.k8s.io/yaml v1.4.0/go.mod h1:Ejl7/uTz7PSA4eKMyQCUTnhZYNmLIl+5c2lQPGR2BPY= tags.cncf.io/container-device-interface/specs-go v1.1.0/go.mod h1:u86hoFWqnh3hWz3esofRFKbI261bUlvUfLKGrDhJkgQ= diff --git a/node-ca-injector/Dockerfile b/node-ca-injector/Dockerfile index 1632cfe59..6c7d08c7f 100644 --- a/node-ca-injector/Dockerfile +++ b/node-ca-injector/Dockerfile @@ -1,4 +1,4 @@ -FROM golang:1.24.10 AS builder +FROM golang:1.25.6 AS builder WORKDIR /src diff --git a/node-ca-injector/go.mod b/node-ca-injector/go.mod index 3ed2e956d..aa1c20c9e 100644 --- a/node-ca-injector/go.mod +++ b/node-ca-injector/go.mod @@ -1,6 +1,6 @@ module github.com/educates/educates-training-platform/node-ca-injector -go 1.24.10 +go 1.25.6 require ( k8s.io/api v0.34.2 diff --git a/node-ca-injector/node-ca-injector b/node-ca-injector/node-ca-injector deleted file mode 100755 index f90d30ffe69b529dfb9f19b078434df402acf84e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 45504978 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%0Avc^01%(x4xhM*VMDc_V=D&=*H)QU$UR^ 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

7=PB1{-<+n5 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%0AHk0ZFE0$uqbFS(Av?sn(Yy>vM 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 Y3vAVOUnzm7Z~T|v^)|4-{D8T3 zR!lYPY|?eW^VX`m!RB09eXoADG-1a~75j4QR@%Nqil0H;L~v%C zIShvJ5Blt_IoKfY=OyPWG6DGT7vtC4FfIYc7q#zy7}x9lVGBDf6MM#vN!xo*8s#G> zUx7LE+N<90eQOYmU$C@XYTFrRUlMll?|>qQn=Zr|dmOI(H(t|HV5^jt*sv?DH(vAaiwATA5-!oFNje z=R6DAp70JanmW!LWX&VWSr)6Hfhz2Vpw3g{EC%lx9B&^dE$`>|o-2^*)M? z{hZuSQOdJX=1#PVp93#m7AhP}JZc#HhJGqMe0k_J`19I=nxDU+AJuhr=S2MN&POh_ zY18K;2ER!s+U?jd$H7?)Tg=$E(}>eJahoyN38mO4k#b+?=UK_~t+aj(A0BAsdIk1! zE&6UgbEV(Z(=fTxk?k|W@d?W9Rh=qdSBz)c@~y-=aIUl77Ud#?xvyMQt&_{2RqTNE zmHH_1QhZV+dyQw}Q=rA0kdHhY-^Mu?^b;lS`jzY?Osc=P+kvUZfoWViObx&Uow)hN zf~l3hU6}qtFmbtP;5x` zW6Yc~CoQx1%~(|zOtPqye3v=nh+Bg<@t4*@<%38Ev9|nBgik#aCC&eji-3<9l;--Af)%+HMFwflsccIl z-xRrCH&zE^pdnj{1j9O+R%fs!^PGGA)ocVAdoIO@; z+chZu`QP0f4VwqZ-Fd5w@rVX>c6rPm&sKLlzzr-TLJ!+;n|)tC!HrBvhj*`FLmr$D zwkWb*^zlF%3|@Y^$}>0HJ^W-5Yf?PjD^Cr7rL9+3R;`KK4z0ky>gRm(OVoaLFmb`> zo73KRUAi*sHU&<6&51c?+x%uZ?YjG^J}$g1U+W*>jkLqf9mc5<(fd(ubI zBlza%0JR+@|FcwbQT7$G>Z5YC_m99%L3c}D+4SM;-*V>h?;X7S)JuC1or@n^o+tMs zD!w+9_+}8A(jHLZW)ZkS58vq5erhZB6YaB>{b_!K1GDd%@e^--x*EG#`_JxQkvjj9 zQ}cjD`!!6QZMVI5?>X`S+`W70@oYC=uaiAa-h90Xvdbb*Nqqd+_ux@t646_*-N*}) zER`*$x>@d;kZTinolZ2Y#ZI)(VZ;WTReNwh@xWd1L7A0_9hV(8wwH2P=dtF9Y%I$u zcFwX@4r|SRo$oj2FzaK|Tb0;;6Nrt=cH#LLb6i7Q|0FytTPHdTnTfqVet7M{wpkW+ zqS%*CZkKGA7Ubj_^vzmyidhFiKfVrbYSB~d!3bxt7djt%=4IOIZ!h%mhJ?<4AHI{E z7z;S9;iDbCuyfU3C#OfW9dYPjkV6Me4js6@pDTl0dMGyW@ua;dy3D}es3G^N3g1QX zNn=NG-M0DtO~jk9t?fF6uUzDbH-Q`3DMjdH#hccec$4aB5pP1CuW{l{!l7&f6PqNb zQTYRv@RVQ-Fh=R;N3({= zTCUa>g+u+hd@u$X5ra?dH3M5lEOKN-iz6ev_g8sj#3DyV=sB&)J&K%gWkd(L2l5I0 zux44XAmp|m%gbgz2W!dDi`r#98My5APWi4krqFa|*sR4dUqkz@4~DL@!iGjh6^BGG zG3;9RY`%{WkraQ5DTdzKR337%xk{xQ}-M;S9*LQ^H>|nyB zFPEPFf615cAXB~iP;-4fFkGm7IUoIpiH&;q=W6cpz4z5@GqHi=s$09)sbjiqOL=0_ zCplX;V0`0!HCqCb`CBdPFG6cLPp^=(V2v)R92E*+M^&$$8fxLJ(Dm%&-_vtbXy$<0 z6PL$(4WF7mw)fLVLwVvNZyyck>7#K}s0cYw{h3RMFW$3%Ts3*1jT1sMskP#B`pAyf zo=`u_cBHitoMyur85OE#U8s8F#i6mR7iBJ{jp3gRJvOZN#9J{NPQ}Yj8%39wq>R4Od_2ZL6i?J7%RIv_t&A8A}Z2UKzHq2NjoagwDtdNo+{>8SD@TTU`K~|R*Yy)~AHu*Syk;}Z>jN%Ba}Vc7n%|!e4P{+adt#IK{p|C+pD|i^rAFE{ z(8p?<2ERNwlm!j`9q+fJ+swRf$vT*Vx5J;Y=k*$AUcPM4i|POI{Lpy%U%~q+?^OPU zLr)`Zx_{WF`x({jb^Y@7p$*XF-=x1|IlMw{g@Loyh7&w(-81T{(0K4P-@xh6U)^OT z#CNt@wf@ka@7VF42^M=o(c_Op4>@Zt3uPBr;lm~eVMOSMJcA53{JV^}kK#Dl=oXE+ z>dEp%ko+HA8v`#Fpg&ZP!^9ie0#g$LGF~H=0sTdHUc z_e$1Fi(nH(w^;{+)F^7G>~46$>}Tg(RMw(e@Lkq@p*W;mX_MEFEfby6zn*<7uczT~ zM)xxrTGzquP`>sNY+YgzeKmR4QCC&D6)&(B(>{y*ijCzZ8(B+iy&n6+@prtsTRH2$ zrCqHTk*ndf>+d>(-Y=ltO!PNv70tn(+RahgMW>tfBAqLtoC@`k0qpv01t$5=^7|v$ zJKD1@|9c^Mw0Dn8o*x<4b3CJUJ*|i6oEF6dqT8rZ#QUskJ*2*5TPgNp%Y3_jlX9dU zQQjB6`NMpQ@1>83Zyj{=!hSi-)=N>W1G*|CJ=uDcIB^J z#k=waQr>Z4X5X)JvfG?`O*_1>d+IfL>nUzBw($q)OY17F8cQ`}sQ~xb%<-GaH(Vw= zBD3ksPgLsrJ=lh|Zco0JoA88(I0 zbeLRX3%S1sUHqFawZ}X$Ml+|hC!f0YX0>5G-MS1MRD**G_VPm`k1E&o7Ur4XF|NnC zUyI$*%ADGCKujH)GCnyuJUZi0HHop$>9Z*Gqn~59fMY`^^kw393&Axo=zQpQaNL27 z_)Yeqr_fA4xbBz$9NXGZtMKjRO zNoXhny(qrdiu`JWzB-|=xa?B+WF~vVf5Dt`Ucu8WOq%EQp58wN&0PsSUB&$$`-a%` zDV6N1_uG!-H>^Db^?YBF{Lg z^JxMDp`SrbqOUIc(R$cPp4VOpm!4ug7w5Sap1bE~sm`(Zw@sEsTp{Cqw!q=riR;Z^LtEN1~$nw=2-J?^4b`i zk;~BO3*>~_bL!?fy#TPSuuh> zu7{>Ld$MEibe@~RbHT)hH2Jr})DB3}Z#vDMyp4HYY0D7Nt}90*S0qPfLdX5dk^8{^ ztPhtXX09DMVrXC+KG4yV=a(a`k|Xd$+il=&C42&pbiyBb$dku(raXM(l_xDc)5^1l zja=~|S2EBq0h8n32@NFWi(A*%u3h2M#C-B#C0CX~2g@BgNTq=sLjxy2f(E`K8lWAo zyfQSve0XJ5c^?h9`YpHV74nm!{H5qNkDf3zfDD)X8m9Tr1_#o09(`fv|7y+{N#pmv z^_#TyH0+QB_8mB8?(blp;o~TL{DStK!}oFcUiq;b$ZN857qa0o;V>8e89UFona|ZA5KomI_W4_|>!fx8_M2?(9Uvxps?Z^|IQL_j?wi4VQAs6Ct z_D;lkr-gS6??}eOKkj+G!?|zskL{PffLxW2t9q8&`|14SH0p{hREM@ZwE-7~R|(#nCRl09*-A-#HJS{>>wA-2L3e=8VhK{oL`l zv9oFz!xrYho^fnr9CeK2K4|X_Xz)&QraQ5ngtPmI9kH*fu&128rq6h6m7~Ec$$cFVu4HY_)Yt?j_1k(U z{Wq|892^^7*sVRncK&_gA8miK?_NE8vIUs81rwKZj~q4p9`cfI?{0XJ{Steui$a<9 zy0)qBumu066If-7`^n$a_u>HiOjy_MtO+K@kvkQA8yP|0_PVudqjSbCzI_L@r~TJ2 zYcC}4%|UO^MV7PA)#&YM=Md^@Z;xN&?)Hq)Jk9IR3I;WYIh)Xim{yn##4-M&}`0ZCvWNj><=ne z!koA84L*EQNJ2X9AjgV*N^pYR2;UinI&fcIoK zxwM+}6}4Y4AK94G6oFQww*?aqzTVrQT*&nHFa41A-wV0z+xgLb=K}z<+wNG}jR1>c z2IT=)@7eW!D$#Y3>+N|L{zZ@O{EDxH>!)}xqcK>rZa8!^1$x5o&v-Og@~A%dS)p~T z2kx+ZD+ggmu2P;fc_7|-9`t?u9cRweM=Q87w!@Uv{)lI6UA(ebr@t@wKP{j4>0U}wn3ej8uSz*r58<^99>iVGt; zOn&269T>%PhTrC=!rQSj6_!EwmzUh1WlfouVcmYe{Miia1`B$e2aKZ4O0(WF^SonB z#l?&Zd~W&$KKJo)tC|QI7iHA1vx4XC!^KVdyr>pOA02pP%Iz+W9h|1Wry7IPsPkV) z?19+W*0RXdP#N^Q2wdh9gVEoAlXK@?H=OQ^{bZe$TsNGK?A7n-$X%@)t|O){8LGOD z_aH}mk>?A|p1GNcHGl4HAa1npZgOu+4etf_7o^i1yy>MmKfLz5k9An&Lm|H8LgmN7 zQy(T5uV>t9BZA#EoOh&0l-s=<*!2G5=9!7B$d4HtfIhM3Ox_DNR|c{Eb%(DF+0SGp zTHu*D@w_SE*IScJc-cW5WfC-o{@g0R7yY@_j;92gZe|ab=Bkac6u>X}@C!Iyu#-4T zVeLe7<{z|rK)BU<^-lC#6nOnsw7ZO4$t?Oazk4cP)^C5$$d`p%tH27m?$-Pk1>8~4!j!ocTZUYjEBV2*t;9x z>1FWri$gQ(k1k)<-S&R(fp~>=@KNlC7m*h!F%0IoQS-MDIdT(xj6D{wzzzU!o#_8` z8hRd>{j5F5@1VvT>(8Pa$>F|htg-3ZVrLE7&=R^;v~;p6m6rbar!-p1w`r-5N5K6y zV6gp~d-va}d??z{*q52_gZQ4+w3_dN^F$u|XS8qL!BJoQ(d(lX`ATH>Ji$KOe*Lqe z(vlb6OZpOWDctzvCS;R0U$ksXFkD8R&PD9~ke*+JJ)*f?3_YMrZp;8rGpv@MV1F8V zFu%c%e$R05vmSb`<|fq7>wb9g&8wC=ap=Z3`}PJZK7~MToPPi3W6dgE=@3Z;N_4*8+$qcum zW5xTDaaz-iRC5oV78FgJJQ}-}U!;ilSr0AXT+1yDI&VZilfAB=&szRwbcFcu2(??~ zPo&DB8Y73i?TJo)PwtFpqt6Bgr&kE4&c4kbgIjlg?e+F#eo7R(O1UE$!^^_cnKR<9 zT`yx3#E~;G#-#f{t|l%){6e)i`+SkB$tT5Ei-3E@U#rPk?YoB^$a%Xa?i@uoE3U41 z1nb9%U;hjF2Ry%?_{kpP`RmEKD#T8RffutEX(av=ZPn`id~i6D_rZ}pW+&Igv)+D2 zwRD{r)Cbqw?ft#EoK@nj=M`T?U)X&u@j!|49b=Oj=L9Q}g^hR=SOn*E;FNtQpLQ){ z3Ijz*-cZktcN83wf}c1{*>ZKl9&2?3>fy2Pf;+^3OD9hiK0ue zvFH=JpMpG05EK|b=uvV+fL-;$%7C|w{$hCpwFmMotL6I88fZRtBv}`#<410OukAni zot$dXtHxMByRzkX({~&iz^6rj$fy0L$wB+h`>fAHH{{ph8|H^1-%vf`Z|)D=?+a@j zjvo6|jJ7o2TCMf!@s`w`|qF;&r5oz`%_Gbpr}b>zgja}C17z|KSixzOaJO7;v?uFXEH zmRuWna~EryWpCXWif7-mzXiOwvf!J~*zdx3nl{W{@ftf;pgL~k1(5@k5h?ci9>Bk$sklzwu;W4Kp_&W;YuwZ8}TeL%`M zkZH%utV=k zCwI@Y{hac+o>$%w_K@mM@8x@+T$6s=ZPx(*6MKbSo^RP5EXnlBxAVl8{Zo-YtF@1Y zGj@XibYgdK&zU0Y@R=%W?ITN&W8YbH&d{@|bA{}S&w_4=pNnSMYs@-NEw%;gk)AGMZx z2f1d?s~bc1&b50@=iS`9|9W>mvw>%ry|;X= z<}w?c5<}iXTd02X&(&9K`a*Um*N1wM)xC!}_Xt}=wDI4L-5;0v9lU$q~jZ$G+g7jxTa z_J9;3TY~#%&$j1AdwCXVy&qg^KJ`gmrbG~&6|gTkh+Or)_vsINk2vjh?t9E(SuM60 zZOMj}oK{}B@;QT&i`Ilt&DWiMCx?-1BN@XW_7*aSf@v)TUGi!kjLYEk`bD9W}e)6|Ldl#2lC9LAU4`cw%ccc}`jrkIv`*&G2YB`iytu;6Kj0 z@WR%0hi?kClrvYeEa;rv8`^DAt^@aF!;60}$3JlW4YN-GdN1Uf#w$K41jl{3oY01` zk?Po+0Uab`nD*YAwp$Yom7F*Afp&o@LZ4?BCi^luZ?`0W+kErc?!$qKU;l29i$nXj z@VA})l=~f?aQR^qzFdlZ4)0J?!`@3%P#F3o^klc2w68bO&V}Y{DvgvP;Gx!)cp?A*bV@S3+ z^6j{M@8=x+Xie$^KB=zt=abGyR-j{NfU8*EEY@gehvncgL zmdQUu)+!zwoltww?MG)Bp~H{gJ*_-(w|oR-retFzyPSGC)59&u(a3#StdD1hmB(ozWJ*(qGE0GIZePxtO$>f)9Dh1Y*&kFWL%Y2U7^EA`nYAI#pkwDomxEW2!(h0JFR zx!bVanR{Ytr@N3RQRcpA5HS{XNhLm6v;v#C;0jZ-_}0SihFWOP=tXP^*(T;YdO+`$ zdG`Jr@#Uch;tFFTigb^l+_&e}wuAJJ_t|H7Heb*6*~YHDl+k3l^Nz2pd7r9z z$ItcVQ@HyTRuoAmT$0qM;;CPex4qj}(hI)UL8I%)U3Fvr1Hq-}b`kq~*Allchu*O( z!Y$L#o7j)Y;sb^7*);H8*tp{nYHHTU!F|Dc*`eb@OW2n#zuu?4(%_M^!4i_=u3f75 znq)*T`2qSqCV(8ohBkecmz!thA663=`ZLd%`{X~0SA`2>X92tNxuRxW$?y0M_Fe-s z9`bMP@mRP2VYqV+pluHxS8Qr5v>-coJ>%Tt?5%m!k=<=h-n{qzvmP1#s3XJmT=XgH z;8Dr$TkwHtOZ#gs`y1v0J#Op`@Zt8+G9o8zY!2|Rwp*A3i?#4IyjR#b8ruOo1^NFU znP(d+vpDOS>s8Fb8s|_pFo~k{#gE?5o9N;U~D@NkZL56n@pwsj@ zP`;q%;Ge*+$sJ@4e9jzHIdkCHsyBR}X9{)SGY6s_;a_xg7P<}w9ND(Jv_$r&P1p8( zXdJ6{lkb}y3@?ITWv{t({>|%k&QI+@^w$&{f0vm&&)4xk;>@j!gD5xIv?#la z_YSmz2knEA95`xlkyRf3Bm z#jfx6J5Me$>Zng2U4Z>(Y%FBX$J*~T6dtr`Flm?mD(B5nV%^q-KO^HN<{jAT(I@NsJgRC>x zj+7>TM(#=hK9_!19`W(My|${~RWJDxW8k3x_RLcFwTv@~BwHmf>u4jed{Ot0d4C+f zWG22kHsx_^;-%Cxuh~Cr<2lo>;9bPolB}DA)aGJfmMm{YukQ(dI<&{CeWVRL(%+afYqnfc*GPY9A?;6k8EN5)e z8*3O_>GI0%?`dq=R(Qtp0`yr$_xstlPLvM3llfJhZ7+Qt!)Ei=kNEkHa}A4FpkD%ba}weFX4RYcgizU@=IC{p)=4M z@p5!9dKkTvh&*W}9?^R9EPg{{5oCI_9GoJLU!F$13VX?WtykBeNAI;y2f4=Fdaq^j zT=cIuohba`Kc9K7@#Qnm&FDT;xccz+!k#a@=D%k1i7}iDSWxTVzO#1AiK?&t_)O_% zn$Hwo-pMmTo|(I?pr^K3`^dd*zV(;Xt>`Izt<1OM#PdJ>w=-++`t_Nz8_w{~^Lpns z|MP23sLjHQLMMC|{mU8OMX&OA+HMn@v#@7|-EL88yT7Gf#RA@`PCZ}mBJliPk@YHc zwQp7Vr6$I@B~C3+r}l+vkZO+H81BZDd(!PQ0b> znrfU54l4)aOI(ZIr5N*6t_=w*4)D2@=kmgeQ_oJhHq_KdEl;_2QCP8vbo}^MKL`G1 zycWy5cfas=W6C=hhYh{n!kMor*N250*#~7Uo*G)ip3fM#tJYq6`1+6k0zMsja&cER zkTWH)yNW#ZqFTX28+aJ7Q8lO?+t|UGz5bYK*Y9z28R0k4{NHEWcB-2bT-KZ9*VE-r zeii4ir{`BG2TFNQ+l?(T%B-X8#YSokWSThNQTXy`Wp?N&>;B{Y)bgyOKX}5dQEh`} zc>gf_Z7iON)>Ho^a&2g&?6fV+=QenT`O_LyOI?t4jTt43{rJ+CN)sE1!(OJfCU6pi z|L_gj_hE8Di2n~UdO-1V)i=UlA6~Fp>mYfdN7=_)%KoOp!`EQft=^ArCI`^2Ax2F9 zcr|C_+H3z#y(4$MmbkfM+sZ+@5C4CS$>SRmE|txVKN_tcqBF_fvN{HbcB)P;xml83 zn!8nxsZOqP=#q66OE^O7&JwSIwYZIgbhA$}p73^@|NS^oMU@(xu`4!*b#J}3$h8?);pjCliGBE#ex z#=!IE8Dmus@v-@O&(2p=3`1)_@ofXbar%;<9Nz}-?N+Xt-Of<8BRQCFB@(PNNT%v< zICIe3JA}1LyY_j@jv?Vj;p>V^LZxZ=y7~g}r8bQ$(72JWaqP#-hM#K~%N(vVb&@l> zqUZ^G&BNDJh`(D{@X63`rco#H{p=}``OKMQauM$`H=-3UzRjAf)-K?W)+6@%#fw>~ zJkok3STfb&6X`bnbN%@h*cjgWk7hqKwo+MX?TI5d)}DC(es>+u-j}TLlpVJ3y_ueHDzbL#s&ae1 zEZr{KL|^IW)B0K0bL(wMce>-9Lk-LK^OErk<^LObCEW<^DVCOseV%HSE_jJ|i?MxzGk}AElqeibp_a*HhO&f?s%&>vMgq@sgKn_@!vHv6t{q_NhKm zD|6ZgjkY5%#3!A|jz`~d^OhYS-IaUFHHAhc`{uhib#vjNrB^)iufKX5!UOA^p+Ugr z#hd0zZGPHm^L+7J+x|)JCu;>q%577e-0%;)7(=$@^x@3idyoarvYW00XKm2E@IW_tSO2BJAI_z2W}qNgQkRQA!kU2MAraM{aq3C_ z>z@-1l39zvr}7w8SDE#@1zIatzD5+fQ>;(1q!!*&UBut>j)^-#M_OOhyr^Bprd;|J ztZqM@E!Y&3X`Ayaa>-q9XMQ@ymWFR-y=gAzedPNFnE2+zaX}L&>qO=#FI75Rv8x#C zr|5Fl^z7P?t#?4rcLoz9HY6HmMiULoXs4aHbO-Hb=Ng;0Z=b68MDbw%U|{8Y5pjth zkV_(eWg=_z)?mR-Oow%>7%)y`-Dob)>wNh|sv&uGD!y)I?9vAjV2A?4c>1rVf1PX9 zg51QXkXYrMy(+XGpP|n3nY^3bmzIW~GyU0f zu!1YFtM{@>^YHzA^ve}D@o)@g+s8czMzxF`3IeWL=TJ_)>E4$vE z3+ZW{gS?J8X`MhDSKD|Q_pnd4mw|f;GEufgCU{W%Vg|75x9YJL5gSw7XH0=rQowmL z7Ig=0KDYhs2>1TL^OCd1w=TCz+%t2{o-5##9GFVX$oSgjLGH8P%FSU1rfcCLvz}4s z)MLN+m5dRDKK5YmU;N z`cm7%gKS34UB*V6Zk;vZ8~oyL+7PVZr5l;mC)ZzD+}+^Hbf4;G4YOg4u|DI<_5YIWAI5mM zl*1R(+0Q&9+`;&@{+%)07tR{xCnrnsW#|N)lu-wUxL!YFb!xlxGggiBmh+7BSRen{ z{=M=Q->FOW@1yfn=hf5_-M0k&Is?CB5BnXEaR>Gy^Jbg#o+g^}p7wBd!X#giwO7uZ zyT6P&%@*~KGgImx{}h=a|JTj8F>(sOXI;T{p--`I$=INr*(2Mkl{K&3tP%IuPE%hy zSxuF!U3uSoLT9Q_!*?a;sa(N%Dw8=+Wd}KJ7B=D@*(~JxMrQfY6ZY8Jo?tG~Kk{#0 z|0`m$^QiwizckVIgnTaOZ&qpI_uy(tW-#&Je3}}sJ8b!83Ad{6x`REtE~ zi>~o&!Te=Ve=fpAK+QZhB)_HxYx?PHtw}^@84c> zaP9ba+QZX&2eh>fTx_utvR`GlUO|o3$Zh=Q{qyf78_3${pfEO$y_al0>v8bEyO*qi z`kk@)HVj6t8Tp1k2wXEfd&xqdBM$1yzPK+`wVu6Xw|#IgSv|EEB8_%`O+rqtV+-m@*H`C@V;Pj4Q;^{ZR)k^$%>H=!t*|BQQH8kf^+WXGDdiM|XuXT>a zQ&geRgaB@aC9(_demVqlZaq&?Z%mvxGL0Km0Xw*Ob(Vjmjqe2(#c9y`Rl ze_Z>}8i^?>kG|B|JHGbI@S(^5?(_HDJ!tc+gPoHz!(G>Bh5vx8lN^~5@c4hO9-l|f z=;RqZH?B{q$|wupgbb<5GxpRz#Z-4Uw|u&oS}Vr2ICryU0T4<~L~`SpNw{@`H(J z5xSK%^|`=XjvmWcUfo^9-#FshoSRZ#!`g5ud>0$W8V|VM#h>gp|7Tb~9Y*~x-fes@ zdx~gI?L?m0@rZ3VrJfgXhW(Wh)G zhLv6z>OTU8ryLlfjC~BcEx@1brRTu8AAA<^SHn0<^_wxume+5=;U`DAh(CU>)I7*e z12^`4@Zd*Z6!JHX=Oe6xiXO!8E?v0zU6H2Gl|S^YOzUal{0CgxKu^P4mxlgxk(? ziq@AncvC$Jlf#59p))wDI7`^A4S2jCdUE|!e8d$0)Z|QE%9_JMWd0?L8<{U3RlnVF zJefCVbs_S< zg8kuZ6Al0Pd*h?-OY>3psTSHYt;;Yr>0_^t`WE>SAJa$e!`E|X93K@JqQGzu{o|wV zOY>3prTeJAqEC;HN}j?0%11T$e;pXSKB|0E*H8TrAJvS(^-=#j(yxzd;7<2Ze+ca7 z@lieelk`!ilh3vAb4fmmp=ZQP5BeNkmKRJ+arudui}-0xdy=0@K8&A+^}|oY9Dcf} ze|~zQ>ZAGTHSC59<|p~A%zf3z^I7|7=o;qlBYajf&tKI%%Qm|j`$YD@6lBIM>CX@N ztfuXy%xN6BF2H9s?U$*2=Xu4VT)*`^KC44Ns&z#F(EnWe`31ysdVE$>k05jT z*zUm4Kt1-_KCjQ3Aa7tSb{anG@sHuN?(_Prr)VS1XZ--(KKWS>y%K{Ly|$49CwoCL zl!|nEJ(Z+a&V=pP{>nA>S5m*5`nBZITljMs>@W8ZD#b3&X!?wNFtdJb>!ABxSnw?c z#|wfZn|dWK42}+Z&T|e_di{IZ7oDd6HP zFXE43@4DA)*z9%dC26qzqXV1j;~M=~|1nVts2>i;Ev z=JbP~FMyvQ_{qfIw&zDNJ;jEynwIv#VdG+q3x{JXeAS^BtzUR?vBon`+C%EvL%GKO zOXjy4+khHXTC3L@e!LvH4!>(3VH^IPYF4>1V69=a;XAkELw69v?WBIp-7mO!O6Jz5 z#0OQA30)zYy4ry?B|fNHOvoD9#|Hl0_FS%^F0gCs{FeuQJ6|Ui{-MAx*cGP}{DOVJ z6`VVSJsAPU4&d$tZoA%*aO-DnK{+IYh&u_-1Dj@l#5e?hZ!faP;Y~NbsT^A`+&Zh? zgew4t@2U6Ci?}c;leHnq%K47%SR%LFoN*m`g4|KmoO7 z1e^E!+t2f4o*5DZ&w2l!e?FglX6AYJW$m@sT6?Xv*Is)F`SV@kUF7>7^rel&FL#Y# z;7$qjW6?Rerdzunb>U6hP-Y!>;C1r={_7AhE3elM7j9Qy_Q->nXD)=#ICG)4HI64A zJv`o?A7rr8SKQd7?9DlLrgGI3V{f~^-SOJ;B)uPLESy-9ojbN*0c zOyXO2$Jlc8eBm0`>LKRGmOq*6!`06G7<*`#x%t^3+()0A=|jQI+z9`MrkuIaedjKp z$UfA32IJ3+>MV_K40Y!v-c&H56IuzS&3a$d|KrF+uZX`&Y5mUFS`9pY)Y=2@XS-I4PWbkzHnRcHIg?YpVu^CdoWmG0=NdzZWL-U`(z z7TeBOgm1b```;bkc#OTkDYa8?S+Dj2p7y$iZ*PIx>pF(^3Owy?8NR)*s=Y18(B3Fd zd!56#_jhWq^BCG2>uIlj`1Yo$z4l{h?wfADE&YcU*%gfBg2IgW? z?UY-*^Jw#WW{iQ>*?rtCmg+zn25696W5~e zrP#E75rGzt&TJuIKqzJ>|dRd48p*{AHdpqHp;$)P4ouWnT^Mb1}D)zpD;q(?;r8pZ+a_=Q`$~gxn+Iaf`EtirxGk=aQ7~ zb&YZ+u!muM;pjLn{ciZ5ChnJel|JRn^R1ht^JL40Jr~%r;fwU4?`I(!Mj;#AaY_c+ zvAo2Ip(APSv-6Pqu%~@yfAR|C$Q8>bNBSj4DDPeS_Mp!^v5GT(o&JLZrGbM_oENIw zv(&14;=)i}vv1t@_F((&Ib;R(du8y-?Ry&Ccb~T3jr5s!&A##W?=kN0Q|#X-y1zeT z{~quDo?!o;;Ql_%{#|7MUO77Sz@7)Kx;>rYgL_M79o)mb?qyzMt3!413(AA+@7E>6 z<-zVb<-wjS%Y(gFl?VH-DG%4?Ub&3Ppagy_UR;W(4jn?Ws_I}o16539GX1}tCy`Oww>tk)tXZ{UbPXB(Vj@Gsw z@>9fS_)_n`M@*-OAAatPdtl&1;(c_cjJu!M=ZjJ98gdYA#!r@wtAEeJl^b(n?|a)Z zCW>)O&L~e+GyZDYt1gCTmsZqOud?bAO?*CN)m4Gl515B+m_|E1s=IwPAJv>~8mgRs zh;p`V;l^Csuw=u(>)-_Eih3r%cY+Wv_* z`ho#yXFf4r0p?{gG}F#LZX7#Fd#L`0LUr1o^kaK#?{&9LOIw#V+Gkd5p0;hE9PlIh z$zjebm|yL24vx?GlI?PCKh4nQy2187ZSLi@X)}<14sFaww{>Z=-J#8Phc*KaZR)vb zGvLr>yF;7oR~y=FcW5)<(57T1{?ycRXcIUFX)_NTD2_PKrp>KOo&H6esw0}7CE7%$ z8h<%7=okI5zHEX1x{;*~;Gu-GcRJ%4w{;@?*yly&T!*|bwj5s>cS?7n)8MZF# zSFqM2%d+L!YveEcIC=Ie@l%8HjI~DcOLOd{59!I=<#3WC&&=HD*;t;5?lhly&;v4W za6YqS&0rm`teHKY`MdyGgYU^JYg!zbBx59NjGUp&KNWB$WE{DNE+|(nFy;MR-h7h1htm9j10UOZjZ91zo4v=mLfwTfT8{ z^)lHBSD#|*0^|}?{F-zDFRdk7Y+c}DXiVQHGC#y7a;7bFO;UWJcMhfNxU}b$wX@-m zFmt8zondG%yPert?HE~_H8&fbGQH0P>iV7!)D6lR6U$`FM8(&|JmXzxj~6>(ls#T@ zo*iwx1H@SzZM+k*;2dteabQRQ3p$v=`)n7E*GC=`9Dn{8I8w~ZvEV%$&;42TY}+n# zUHKtpBnQ54K66{Y$LA9MMVqlETX){f+1gkWa?m3K2K^W2EJS*}$$_scv-nzPeY5#m z&s@INdg6z#wf>YKWZGBQx{QC>M% z5C8lUKW`3vGrP8C=7zwJ9w3k6a|_TVYKXHIotEKm`6Yg0^p&kk!{Z~>@S*%XhUUPQ;F~+6-jU4YBW#Y0EMHQ(qyfq6Qu@N0H%$!%U4tr($2aMx= z`trh1?!qv{yDvEJGUU0_pUp#`HfN>1aA04hq>nTU*DFFP4tEavPla3W`9t!_wE4lI zzrdRAUxiE|ulZW#Vp3csV_7>Ey%k&z6j^Npg7Sn7~P*!$@3(6XxjO#<#U~t z)3xsK?f1;La+-P`v?A!xCXY{bZS@PB3utp?QZ?s3)wXzFpWRbKZQXpj@4Jim%^qVy z<$%@BqvXmfdvDFv%d6>YD4iSrY)eqr{T#%lC!Qk%m!9WZ1I97e1uh+rv~hcxaLb-2 zo7@@uV>W)%@_k?+H=2Rp?`GjQU8?*x|{sLo-SWq?<4+TU$Z~B zv&A3W^_V}n`*DA;|7m}4&mVnt0|UCNmiuo9@}dJ}_=&VPN{#_HCO_f7dDFj>x7GIN z+`MVPljAiO#(rrkh{iehyr;9gZf{q4-8+9QuY2R{(XH=177jk`tJ}1%B^=z}91gzs zNI3X@Q#km+21%<$FK=UCrs=D&>pBL3U?-=Tk>^}Rjg?tS=P-z}T;{E2ZZ z`F``Jvcc~^+*I#=-@If~v-{n*bW{7__ggpZaK7)km~n>jBb7n(_|Re(Tozq+zMbQQ zd7isR>kM~@&NBH;@*+{jyN5MwZ#aDL1Zz~&yJexa(Y0qCe5(+CbH;4$5~;~y9G6Ak zDZ4znZ_X9b_pal9x#t7XciMBK`?lmo-vghq6^c)p!#&!eRI(Aj5c^&|?4@acu5Wv& zZs%`9b-Vr;sw1RuCv+5+^+MDOQ7=TjP~DB5HOJM*c8$#3Ps*zb1?A_dK~CPq zxu4kMR?79OdxYU2D{jR}^a6i&X&DiFH^}^1(yR3-rIn|KPT>7wWhZeP7imn(N;QSvsHF~%E z>oVqiJvHc#@W-0l6c2x18o!cXRNN}j1_yy z({ek$aR&Rng|%ngqW0Xjs%gvH&OJwIr_j^JG^?P=Zlkb&;=zHramBO~Q>VRG7p9wO zYY+x}?i%O+hNdQ2fvz6-LVm3$2kGQ9#(o&bJZkN%h2O77XPIO9xnKUyd;I8c0|nOp z+bKUVK%Q^zB}kU$MDAoS_j>VE(hoiyn*;w>a^PcR0e+cz{*uzFYa-VtSfc;GN^Q*nY^~Smv{=w^*zHH3jLi9U**@HZun|TAgk{4nRPe0b)OH_ zosKTA`qNDPX}4?%l($uqU$a7eR$6V!HIQUa)#axaw{B&q&D_6O(D9AJaq4^83%){f zd5*29(>zS1zV2J>eLA!62UVXvAm!Xpe8p7y%_9~^JnODWHh!I)V8~dVk#OZ{``?@W z-c=>V0b8DGzZZGq*y4lov=_N1yYyOOjr4trpZE>@aq+8=dDqzUZSub$S9|1pywcsn zKQi}+bc?SVI(6QDp(8|eZd<;R zE5MPx_S=37-a^{FYvb_8|)ks_T3cniwcfH;xahPMR}|LZsIb2N_`17bh#&4OVhFs#*H#zs3< zB2GT!qruQ}957_}wQsJ&J15!WU2EYxI?8zOI*z{Nr}EBkN@HJ<&_CX>FaC9(boWF<+J*T&%^v5;{QYQEYNz8&%c`Q{?-qiXYcWOfPZ_P zvsl;cyik%MA>}%tooX*A}a-{o2&hR>YJ?8f1l_e(*&R4oG>6I0d6Vo}T>&l5k9vLBha(}0t|L5*0k`d|q4B|ED zH;2PP-HAGI*uSI-J1#%Zx{!VPw_hP%A+PrOnLA#<7tUGkJPUsY-^-CD1Ne4*e9ne9 z>am5Yp?hyEZjzV}bia+V?S~_zAU(X6|SMC*(djn|q1deZKwQ#-~{6 zE9|$(AN&=ApA-5M_-po}x7%Yr!O_*yIQk>`fOKDy$;X8a+=nf{6B~FJI_T~)?&n2s z+k+0e7k%>`4=!Vsq10RCYCOC4+?oH(*zr+3dk()(sQpI+mydJn-6`%hxCR`~0f%Ao zT7Beyd-6wj+>^upTZ^x-t7EBr4!OiI1X};8h&`)9Yer8Po$#hm>M<*?Yv;g!uj)6xo@ez;I%gbsCW0^F^NQ~??@l|?F%xF5-ky(c##MyA7apZH znOAUmhh=s7v9EOxz(nNfAY38F=mw!I+tN1F=Zi=KdDK#t^xW8t;S)vkv=j+NKMn_B;N z5#RJQ^m7jMbOp5kj(>EkXqkK{b1Ogc@6UnG-{AQPwcnmuZ;kF>$G+`uY?XJeB`3V; zck~goJ?Ut)JtIxq?-1v=*8{ue>d(y68T6O%pV0bQzUxe3oO?1K1I{Aj6L54T_8lYx zKiHp^fjTF+898X=U)c8lEt(+tmwDfNcRjqZ6yCTQIz-mU?o#}R^4XZ!eELhvnOu|0 zq?_}L{lK!@Kc=-3I(`y5R_=$hYUj_~%e(vF`<1yrdf*21gMRR{8ybI-IFXgyQ@xV$ zRC15?mEg3V&m{Itv+sodFrPO<|L=nTcl~3!-u&qPd(N>=Xp*k=_s~(Z&%b{e_lQ+m zC-i>@IlU5^yNb5Xf!8a!llvZD)58PPto=_QtDnsM(YDu1Mz<=*v`y#ZP2N|nB{qHA z_o__=zMrBC%J&#YX4`u?KKa26oj#X9E31Ytg$#4spJhb>v;v1k1|D=c+Yfbn86n1<3e$z?Ud^tOg+z9Tn;>H=S>3=D)hlU4FU`-v>`k%z8=~MdccEzi~ zGg@mq_@2R==$hiq6TG}Rp1Zba%k|go4?FsaxdUi?+CR^_6=Q7>Prmul!0JZM8_UYk zWy<8s51Rc9=1{&G<(rn@MttPzgcCVeZ)|k0P6#bHI{ctcsP#iS;eQb8qwn}AQ@Qdv zfq(g^$Qez(&dJzZ$Y^N7=3l3O&Z4_#zJ=rG_GQXHh{BeCemno%YwV}L@6XIX7n@3a zUTJ2$*^A7fViL0B_MUT|o173vud?;J82iQ>h>u^U_=c>ue(Kb**9YPx6-VZG;&HRe z{;N~=1D3Z4;(~jS1$IW>Wpq)!-XOi8{#+uWEc02fUk~e3y({Dw-bCh<@ z@V0Zc(++;lnj`F^{@C@D|0X(Oq$F;9!d5#SaYhd!mtakorMJ}hEr2og8 z+;%js`P!Fa+|qq6);%`Y%r^NIN6@bJr}S0a@u|#3mlZk9z|NV5=8WqZ{QtC5GYmW}X?Ql)96Zmo(}Eu_d2LoZk6V#n2_Eq5 zg$I51q6GLGoYQOVIsGTvHFL^4&8d&^mOOMqdQPv+P0iJumO4Df{=4C^$J}`x8F_*J zbVtch^ZEk^Zq5d;s;N3ZJs<4l+v6W;?h_*hG_pZ(r)hDOcRp&;?QE_2)8zDg5Ern< z+|lK<(`-c^GUFedkBoM{>a^1W?bh7l!oz$JW029#BUa>g+9^%*SVlW#X?XV4{KS?W zWR)BA+36K{o9r z+%r%^o(0|07e^OC*6fpiV7@;TT~2&|&$*!#duVU>K*O@*66{SkSY^NIMn^IErL7U@ zip0I6ujk_H(>*VfO?-pyI<{k<>@|6otrPIf)^Y8<4ez@NI#V1jHaX=7*Dedak zF00cS(Q_j&{fK*+8v>EL$~?J>#@M>li|^PtQq0N=jvgglN`LPD;cMnRU3&je`-YX| z4ZoXn^27=6-$nlLO78i)oX^Pt&NLN-f>TFvHsG*-|N61b5AWc!gU=1vr}&2U_woG| zbk$eDZzX4rMiTF${Py@>$&np!a%A83K%5wYIXr78F5qnJ#dhqYS1GGK%LKYypJV|# zljcn4B!vgr@L&8cx+ysChHmOr2VGG5+j{oVd#_O*dVkl;v`a1-v#+k4-8EKT(_?xD z%^Cj!b7HArsHK%DJD&+<~n9LixVGL_Cq%ljHYf?q$zq%@>X7>{t(LU*1E$ zsE>0aCD4^%cJ)f-#WTHmi&CiHR9{a?&;hO&?47k9^_IL}Plx6kYkTtLhw`eQRZEjiw}vGL)0@_W{>H&??Pmq2&=-HlFD zy>a=&G1g%1afayUM05-E<+k`7_MYd2+Dh18F1e&?Qydzbpu4jM<{14vbgSa?PL5ox zd4yJ+HOI`Oe8Ju5+|tE=OB|8DOD_vJxvyPbx6GNJ0w=D1$#Y}R?d=Q@Lz_1cP*cBo|BW~0qzi3QboBkV$I@wg15R7>>bfS339Gn zak6vJ!$wv_521%KKIfDBe@AuvAr4=Z>k}SP9sMI)SIzT>GH@LuH((t4m)-~8=={qO z_+EOP`2ILria|f(fs3GNeac2X!_fL|JomSrI|Qv?zt@qe(E1#YOtt+-PX7GKqWMhw zw9>NnFCtgNWadzJ5l(@IHO7UF+{I<(Hx=N|(H#Q$zWjSCt^EG)Fb8*Hv#ZSYl#!i2 zRQWtpKCi!@eS7(Db(cvqF~9P~*Fz^Y#n#-CyF$@J*cWDQ%%?Lq*rjG}kYPv6P1s7g zd{C#k!KPF^SN7bvcIipX&7fThFDM`Ldd6yG7&(|TWZ0m8$+l0$7x&={OZpWrRsUcO`Tt8Te^V^%gTMX#%mncYja5exppRU?M#ncWBnYIYo7Vc6>O}F*>cUD z%eDUnxCXAW+RPjxgWWlle9|0BJ`FjC7i7+1RQ%|f!y49#4rIILu#>ge%pr0VV^W4Y{;M45cNN$8fyhmr7 zBfZOx`^kYn*W7XRX5?qlBF!Tv!r^s@+A(1U)a`_;M~ zUH&q3QWJYvXf5f0f2C`dU2ZK2;cG9ev*n=f6o{1qr}0GvT7Qp^u=-Qn4Tp}lf!yMK z%zLbM%E8{TxlMwj7XQRu4-`;>3*^cQqZ@fA3*} zA-%v?fP5@CeAhkGEUW7k{+0XjGG9ScA@FrFj@^{$vPN`u9d4pbUe~3*Jg3aaCh4aA zChw&3Pv*7K24m8BKYMLm%^g*@7iNxWIJ__aZ@~LV*1#mPLoknG-*wbSD-GTm4|pGC z;MKY&TI+=uy2&%CSV7%?qvgW4>h*WpI(p{&bbP1%{J*2^ zI692lb?t-9ehXUv1|CIMhxt5Yz8AEn%%@~ap!Glbegyybr};m}(QyXtMf4JHzCXpJ zpd;>&!h05bn|A*d2kkii(56?s?K^hq$!_~&*gH6u_OU;m_S-Vr$5wf2i1t6)?Z7`o z``P(9UHD%Eejo4`quXZm0d4%#5Pfue`q;%7T>K2#KJYv3w-sY^WVFv1emq3`uMgAy zB4nf2KP~%{bBF9F2l^KyW9qT3I?;Jzto=#kazgT%GU(jUaoV5Z`Y!_L@XA-yuKM@_ zB&(%=)v(W~xVwycmNC5ptjBf9&EE1 zGW&?O(929)Mjx}=GIeHR+u?uUF21&mI{0D2=Q(xGOZ#AA_?)Yh)2Cr#QqmPi+L3w=^VB5*|mTgx>oQ%GkeHP9; z17{n1n{~OTaDN!O(+2!#d6QTZkllTZGw)w=O*_}q4)OXIUQK;t7oJWT&Np43TRgpm zc`8HCEJY8JU!w$HMS}kYRz5oI9rrY#&wk|)YZHDb&LyVqIE9?4=uwv=!`2jY7Y%T# zee8k@H%tnpE~bwXdDdlI(!?p|BCyS1Cifx zw{i@6l0MT0jPg&srBBBn@vM1PziAVnas1#N`o#bIbA2+8KQo`Y`_pggXUnvMyV5f4 zY!AOKGP&c^@zvU&bNT6U)82k(oeOg3F+@DubQetH}oL^hLnpoX?MXPQ}0 z{3IS=ty$~g0eH8q!`w@FN#s<~Gwq3<3!z>48@%*fNFSnS{9J9hKe3`ctikFtw;kFSCzq+Bv)2vh_{N+a{mrmr4V*!57^$ve6b9ieFylvzIH2x@ijc!@v69snhZj0oB z;P=RbZghs_(7GLq9_X(@XOH=uC-R z7V+uQ=O}&0Cp<#$pvzPA$#21UGT*c5aju6Rzxn@jdNec)%``%PqRk9CaAmS+z$=rr zr)Fq)W@ORjX&Rn}|0|n@r$LK@G8sDVUFgVJXxaEnPsya^6fpv#WzlZ{dUoM4Gz`6T zLX*oJdK3+R5_)_YU3EBm{4@O@A3YZQKc&Yz;18D$zpd}kT`ixIlRwla^!R;!I`p`N z@7eUYku$lj&F9ji8xOk3_;Azlps`A1A-v_rcPk!RF;I&0mc5{uFrAfC9(ToIDtCC2 zHKmVODA{6VtZ83Hrgo#F^kO&mAWvmG%8ra(W7~I%8+7MYao5^|iPMH+LlvLomA5aC z=KKX~uw?F)$iv=iIOD{c&)T=Ow&sVyB47UE2K3fG?9aPcYwyCo;cl3&S2^Psa)_yHL-x|do=aqSAhp~Hk})i98;Xm%jj3j z8*(Dw_&xg{;6eKrG32RYDiy!C1v|E?cIv_F$L2L@&DUKwE6@|RAcxO~UQ3E>8&+f0 zx-a;X27Z4A{3ebRSij^O+4UvtrG?l{{fwd3H>#;0953Sc3h?8~;3I7wJ0|w%wvDF@ zIz*;l#61INm#MXKn-o_XV*X5vj#N4<5t5(cG*h5@%x(kp}eEkuT9tA=+xg>Mg29zJHS61t7@hPnX`u^L#i5$ z9=+9tVFG(aRmg?wXrsh$MfH1LrMqWt+rGm8b&UTdhpyc5M~(k1eLqI5Uho%0*37YU z)5Y1dNsPR8ll<&eKUTh~QIY?}J0DxNCDw!ppTdVZPhYKg3+N=z&=&Frnezo;nh0Ks z@3*4F;if|P;@v)0s1N8bPV8UKNyIC8`e+!U4>wP-=uv&>b0U3|*yBzWHxbK0AH|+N z{!x8E+soKj=iT5KY6si@?BEy%+lR(Y`+TbX!lShR4{9I25uUv5Up?4<(O~<^Ibd)E z9~m6+DID!5c3?OheNpYh$Jy}D9HRX}_~AtZKc9mC_p}dPWZ>stUPjiy_gcdetjDY; z%V)>F*bI^ssAd+IBeMKK@V`kRhY zKY@NQWvKell-vJ0)#vw6{S#NP>C;2i2hVQ(2UMTmL)K>w^FF5j?MJC!0ge4-Y#M)q zNqr9g)JjJtkUtH6%XM*lh67CU>NmzPke{trw`MotF!681Mi(0KF^&n zx-aIq;BowIz;lGZP4K)8JUh=n5}u+@08exX{Ooh^gU&XHANkKphVjn{rYC@@a|oC| z>`CKj@IETyz;wUdvD`;>Oz=7WJ>VPCzbE*X1K%S!12&WG-uEY2G4(TDDLVL=}nyss*0<7(LZs*bb&b@;bz-Z`@W8~;D(e+qWp zaQ$EP3HraBJy@?k<;J_Y`eC(nY~)WI87jZ(72xZ5?z8>M=ZIHCX4F%6@IG6<4|kvK z7o9N-cmK*X_RzBT?~>SHvc1gy-Oa=>Stnq>g*KIz95i`T00!mD)hw%2&Yu2K={ceiDwZn-t=%U?(pX_Jr(C*;bPn^Kxr+#Qz&RCTku3 zRKel;TGyQxO2yPSu`O%xH>|}MI}w{pWd_$A#$wi-TdEKKnzG&eHfzo;6Aub^F8->) z-%H>x$7*;$ar%BM@j?wT2(rlrpMgI;^Mkt=!CfPIuVNdL;7sj`k8K*Z_mLWISKQfI zkukH;U9g+2TNJ-k5E;pD7oW?dD`K0gzWUPlFyng4h1Jm+rDJIB%fUftx!;^k{>~T4 zzX+^D;rsL0!><0~>RU#phK05kUsd+y2F=jlsktGm9xW^&b~?>BPy=f&IN^9K0hL+HnnUksd( zJHybrY?}^niytm^C;4v90!JnATImE|bQ!+i+ehU@MX#D`FD)ma<%A;(avWKZbYy{^ zPw>cs97h)DJ$mYlYo|lcz@YX-(>{1&+usdAYs^KGxvNB1lTN1ja&ys2HZ1eX0jKQG zpi7mjUPb;vbghK!ZtU<+L;DrCR2>|sCodoIM#K|xS28&X#|NVGPpaTE*S;?qInj+B zP;app_1or$ljLc)_p*JFzsE*T6gf17ZX07Bi{yJk=h9g84-IboB)kq@46pA5H(nlh z<1+-4=;LM1OS*K|P5%wU&_fh|t2cj)_BRGf`ETd$hZn7&cRuGMo4P%+Jurl9_s*wy za!|G-cXY-{?Hd_?5&Q|?x#yFRE1a3iiQq4ab`z7Sy+y4R-N2#!7FUj^^_4*DQs#TJ z^5Qe+%aP@?&}-z&&6w{Cn1>ng5%X=@V@w*`hozMFgBR#L_F^b#d{~Z)-EU zjH~as@x%uv99(VX5Z@2}=M&ej{irp>`HMfwk%gz8#(U!bs|af8C}9*7Aqjt(^Uf(QAG&rr`l-ntUYoJH<6A z-nD}N7ZtzXc&>>Z)b|C+b7kLelzqPz{?@a3hi0d`h=VB3C)SnURflp@2F^wo&Ji9s zuP|^f@W9y)T*VHY3xHF<4SWqg1K;FP4F;D-z*Tx)8m`9kj)ZH>rK$B^xW?qA2I>n3 zVG&;DIdGJDU{LI|e$N9(WeyA_4h)*lM7SbYaoT0u4Q@Kmi&S%Giorwa`A5P~dTDC8 z7lzV28#kRUZVCqBiI2SOIB>%`5aw=jU>MxgoS()`=MZqsxHR=GFI+Pmxcp~3w3Y9H zYtFI56>{LhA0hfbV$S@ZPs3I7`6Kal<)x{aUbwDw;0n8N<$2(`^uG_T77twh3yy@V z^3v3&yl_=Ia5cJc<$BkO|2&Ts7efkHpuCOH;3S;aVZy^AEz3&3m%1#9Ow^ zPBj*g~&sdL6n^}Xj>@1(x=ayxZ) zk36P+?2pX)^_xB#Ieh&edh1^@M1A1iOZ^u7`hEv~@0q{r)9~-BIb|sLZ`<@|>L+Q( ztv`5vmGQ~uWnMPUV;z%j`VHEXZ#ls`ovmA@`{Q0X+xVnat{T1PGvL{~9$c*bgRWVr zIn)(R>UULFAT?%)a`WGsmHIoCJJBikRv>k;@)00|YRG+1Oil(nxAd)>9+{h39Y9A2 zj3NdaUn}iyTv~ckWFCFE^YAG1sOR$=D^gR_?QX1U%o(!XJJsfC4ch|6YYt?z+cHeM z4_2hcdE0$(=yt#Bwj0W7xAf$p;ccl%9U_Lp!NbO?mZ97I2JIFxew~Fe<8L`RG9TP! zkH6-bid3K4!_TgARnO$4(zqlKBtEn)Z)3}H#u*xIQ|z0K&re6Hu_4u-=&HrRXH92C zYP+|+PH%fTtQn|)iO+5+bdEX-nO=9wzXDmRoZYVpQa5Lc^?@|_BiJyD^gFY zEt}3ZRwZ*%KlnL(Ut{zA?VMSy*q9qpJ0Y{@JuMPE0se=NeekCHEM5~znX(;r+4D>p z&gULkW^2XFvm)Z3sVbv0yhD|F`D|0>bCfC3-ceSWmyiz?RTCqUBPUa)Jl`&(@yT|r zlC2L+(u*f({;=6^Vw`$bV(-yyoQMDE0dg#d8npLvNu)D`5BpXtT6C)~T10G-+LDg8 zj5+kd%azopZYs7IpAUPwCB^m~9UZr-{yC9ns1Kan{LnY-?o(;cclg!SAN73Rp^DVS z-g!KfcUmQ!V{=!F@@%y$vJME9Cz|PQ_*AVe%(Bi5Z_EM80bE5G^a(Q2f zEv`MYt3$y?><_PxBDB0b`qnS(I1=?`(O2IP_QN#eA5Hf+KwkruR#5hh_Sp>nteKHG z_EPLbXt0LZ5z2_(;*>j;c?kI(8%@u!b&IdYe&gMTz~;X5!uFZ?LC1DZ`%`|mBenXE zL%>&<<-aWlF3qExuY4l?|C!hr&08G!&~a07?AK!O^;Qx;0R9}#8kjonx)LS^=~vV# zf&a>(s|xVPdghC83+1i>=fg;QP?{`0ZFY zo&V|~79oaB>&3~S|9~7wIwPSudxm}oeF)@1GUsC*I6C~5zY!en-|_yI{piLIy+-`6 zH=o?VHPFBgD@YvCR_lc^5ydI}>08|CgrQ;yKwpMJl z<(Fb<=2Th_DbBJ9KTZIjkn}gjZWK~S@P2qrHoe*X*WfFXJuKh;3UX&EFMiQxYYA}` zbBlVcC3o@pij~*&NP77`C<#!)4dk5!TM&j4&<-7XR*xN?I-023a4Rn;VSUJ^$s-V!sWhCgz@9x+xa&ST-wvrJpCVdNiwoD=JK_T zchPVTG`xUvuD{|naP5sRk-v2nbS1vVzmNhq&$6$X`pLHsIWi*cA9?FPQ>z7=cOSLf z<8zfi*5wDczeVKp^5z>@_cM43`L#x$$Tx@1_Er4uOxCx0t*K_7<}=QRNxmAsh}nGc1Pp=dWNqx=HXTGti2xD`Tg!TcjAp3%pXR4R4UnIrJ5~Yf1GnK`mSf_K&j9& z?X6uHG5WvqKwU}MdiIjokCW{UJSV+hlaq13Rz31cIjDM(mz`_Kxr4maKBRJ6byL@z z@oZGwr?3BB;#K3w&m{75!71FYP+T5eq}cjL3Zs23Bci)1k*$whZq9*}BilGr-PUtr z?h8F9&VFG%XNlI6zu*x5!|URz_1*KCifgrF=<`~A=*+Q7Uod{1FPI>QW0LXAFYq@hez%A5JUS}C z8ET6>F8;3WrckPJl)o!kMtlqRA5<&eiaE>1(eu!iaFj&u&p#;?z5cZFXbt1;UR@aN zZ5|O#GVWw$d64to!Q^#(=JQGJ$K*&p%hW%4J*byl2n;8Vj>a1O!T1V)Fu|Qn@hd}S zPvD}le#OGB5{)Mh3|#mDdVxEiasSD!3Fhq&2gJycs^Ist@OE{A3)_#QI znAbOPzNTsF>G(v& zx=PoG-L3WEOv4Ac;sf}!qh7pmN@U630V8@B{_CwvTc(?MUh_RU-P~VezL(B`4!Iw1 zEV)iNLzQ2QjRD?7cZx4tCjL0n9;5i;4bB8iD)2S+%wQiM`r5*MF^}Fd|6u+aW7Dp3 z;)BcC52+-kUHplT(H7@C z9Q(_I`9;K^)$pg{<;9FBkW<9h4dNHyTdba7tK8xj*p-=rO zEkl=jWT;o4znt?tUVT0R4;mT7zJPN6#KFyxvB8e64&5ZA&ofsOz{^thJFe&cBz>=a zWHxq*NAAOG?ma^R$slA(d}IOp^*O=rnw((I!kl1l^PK3;$1aQRz6v}P+vn@6372bbh4Rje_BXX!67{ zQS!eAd-DUqzLA08&K2bSJab&MzcCQpvmy}O+r(Yq4}KY0c3CvG;%Z>LGAbP10FK^S zi0t=`Vz0!`=^A5?R=Hh^l^cfVRnYz(|E%ER&xW?w`$jEZ23@_|SrOb94hM^J#w=!j zDL-=YW^i%d-$_`Mbfq3i3X=m@qS;2bWXuGW|!@+%B6}%s7+G;;q zTa?{PS=C*Gt=ykKE4X({MNoBGSljhHiCj~kg2~T!!5jwWW_Utl)ETHVfwLL9_rWic zNuuF}Jd0u5cwx^T%kjR?E}#AT$oAc{k2dZER|WRM0I+ue`v5SPcwjyQm=)_U9b7c- zh5b%qb#zD8PDhsaLF?~mjl3D!6n!Ei6P$r56fHyl-u>~UWIHsgGpAZ_b*{7sUg`pd zH`t^7xN!(3*^E1&-3nxBC3_^&vASxjXEqHCTzHV@U8jeF^&gSn2b-qrEc?6cn=W&1 zOZ7*#>gQqq2=IQ>%3hGo)ry@9k zKBUX(&&VU^zP7vJ7w>*=>}L8$hZ`8kC$%YeY0He~AWK5E|)wh;7LD8|UF-8@&>8e$6q%->{Z&J};6Iq!i-yT{Lp9%{GO;TGUZ4p_mN zz!=IQZ}I@XPsJ;=+c~pJkZW=F*-FTng&tsXXsy9^^^PNk{q6m&^2OxR@;>vfxo`g= zz2;`$@2b3eUjKsZB>Da%TZIq%o`YQSZ3K*;N-}mC&ows5gX_SNK245tKJNrqD%%H* zsjiE2;aBzCbzA3^ytt3^ZX))E+9l4X&BVcPw<219a=>Y+gV#hj$HY4(J97@k*mH?L zNbWJ8W#1cKZ0*07b`tE5?sWD@6Gq3j^`f*qwf(jhywvTtI44~H;BxXkao!FeRleh+ z3O!K5x#3svQPtp!MP|LN99q?i87GJMG}fj`yeq{NL&(sZ(#2A$V`1-rtiqi$H--{6aN4)RLD*{rcig|N;ZDUr3r`UZuQ7M zi$9nDra_Nhf0uP@=)oV)$@Fc-@}U{poS`=JvBzku2pc>GkGOtajm7=$ZGRUzCA{_k zccrGf;qhb`K9@e`*aw!$zc4lOkDTL=hmm`S1tz0 zVfX#=e_Uzaiw0+LcC)#|w`t&=&zakKY6BjKqchoUGz9Cn`j+eg zAN1Fz_5$~9IG{e)(5CtQrv1B|^+G;XY_T@^O#JK*%8pk(_2;c;emnJ+ky}*vGpODq zd@S1k1ditT;HeqnHR06 zyenC4MJ0#x*>6fPFTMg_wD(GUh^G+G2~5cw*|!Xp5SJI)RP+t@s93iKb#Td6>|UKg z(^>x2x46C++iqCXs5s*bBm0Bcf5_1|c2vnpr$uxwNc|Z801ox*?MHA42EY27N?b9v znmaD=a-sH5mNORZ#fGreOgq3)V&yye6g_r}?!a<*rk=C0-u;ZLJUrv_%Ob-sX@8VA z4i_9|_?E;oSJ0;T#poNIc7DIYN#cq0d1&otu$N)(p-G|}$R1)JD>YE&3l4yL-Tmyw z$9?OM+?V=bUbGXs>Aq3x9QT_POC}bzex5m;NBpf~VT;+nF>5Hi=HhuZc-A`SW53D8 z7c_H`{PMC7FVOt+UGpCcGv_*&N4wesO)SisgT>4N{jd8U%mMS`&Vg%JYYs|1bD(kH z7u#CH93-0<540hgu;rm`PvzE5oGIP0nZ1@TgXdgy#|;6Wxg+SY2IS*>Ye~9XHp3 zo4%GyqxKqw?~d~FkJ-Mlg4PvZwH^{)`oK#ccb%`i(n05vO0{AEjUMuA4(&c9*yRkL$OHe%Xg!wQxtdfj=pK zr8{Qz-=O<{@>?%I&T;nhqxZAIj1L$8`!L~b^%t1;-z3WVw`@-A8AB9g4K z?@IS&?6<|6E;TflF`oZQ-H)03KYjh!aFI6zF2wiRE1ctpm&M0J!LI(9tG{uFgyPB% z^Ql}rBjC9rbgbIn%cthh5;8es+^()L9-c%-mH*Bo_r`}(zjp4kQGBs2?=s_y&x4<| z|9m zkC^)xnvsK#F_#bWkMDTkI?d}y>@nRzlE=Son{~6Eb}zQtdf;R3@M;^l(Oy%?OE|@8sXos_=?r_#rm08bv+Rk(2;9TwjGizzPvzB(Vmg-sZaT^vpejlFr{fDb- zoU`s)dnJFSmDp>v=so#hVYCH$Jwg`WpO(cJ&OA~Uvvyt7b3bzRF?)}0J24UNZ{=Ld zMIQG&PK?S)IZ+oMJ@D0fWJgb9VYDaz%4qT`WC!vZy%#>_ejMF{(HV$HHEAoFMC$}Ic`#L5>dYcRJUtJzeFs3B1yYk?&tC4-qoZ>UzO3v>{FJo}w z?`16Z7`Q9TGlow;BRWUUXSHYa4CLGAJ?*CD8*u={YOC#TaMP0^<76ji;z=@W-XF^y z-6c1Y-PdP4eE|DL7k0ty!ao%3>^GzuPq3byU(nFjOs;}u$gkwJR%$+St(pADA$)Dk zw^&Oy!!O#)V7*K&<-ClsgEVjae?e=&3g)GWJ&cFAd-5bJI`0(Djj|u3d)Pm90efF7 zsEZDf#C}SSVQ(YUy4|b4gx~VZ(VaK5 zw+wt!PV+^%%Q=<2mK-baf9BYfv&$ZvpRs9NHRPi86C*b;FbX~&9UZ_QBj1PiLd|$S zW-KKcW1;=y9Ls{ivD|jlv8-e)MjpW*A3hiwj3r7w2)%>n81&$!U9)~ddlC3rGJ4>* z$Y^{vadZ}yH}r|z?bYRT5$a=y^jPd9q*Qt;YaN0Zn6;UnesI@&x|d9C%J(Bv~o z>%WR2(mtMi3i2%&J)SiYgFWW-_O*!v+dw}JUG){)tjF6$DE%r`h5EQ zbBObF(&@iW{#1L-wBxOW|7&T>yM7sbnEL7U@qsKHyS8(!;K&bUtbeM1ch-FqZhYIy zfE`POOr7h;{_Wm#ud#3Cm&yT8vIqb82W#K_N6J%;+>s`GxCB^KcK#m6=2czUyg&0T z8M0o$3aX77+NcK4`d-cV3eHnivZkF)d-S!cqT^(2GUhZNn~(T9#izuO9oQ_Ueie0! zLh0{u-ud_)mBP=x2tf~yytc@k~w&$Yj%kweVu&(eGeo;bRU z3x62+>sg!LKu-*j-#6AwydXZD*dtc(6=LqzR6#q$gOm{CmFR&7n?u2`a}H~b;>oI} zMaqe%_>-PL5(<8e=jHtWj(V{P@alNmH?bDn65mjlWM1%nEndU=r#YzNxqKHRnIpZg zVJ`IEeJ&c$VNNQUlMe7}{2ch4)~Nkz`oHkhNJ(MCwx7}ei+VDc&7yzVX{sX{ z(C0EUM`<{G{JxiZ4b|AzvpydI-c3>3`YF$FejC3@oHFcD)>Q)=w$$Qz{I-Cp2$)p= z$CO=D4UTS5-mxET`d`%l3D4vs_@Um-qwRvzBIU#%J;1vN&$8!m<*!q#AN0(jJAZaQ zr1XAR;wtnyWQgM928#Hc${sB9C;uvIB;`%xcX7ytA)dQ3 zMYQ=t#^uW3uB`Fx4?Fq$&HiROe}DMFP}KPQv8lsjI8)00u+BQlKRORMt4y5q$&v8D zUswA%AIJR6h#~*-ze4=1)^O%tu`COStzN&eIMR#Gi;WgB{u1JlH~&3xT)bDgWEo>e z7LQ_18mgG53!wqdn4Qi%#lnmk98BhW6>V9uOL%wNrV_owE|hHk9N+Jt?rDQ_YUdZ% z*vB*WS3L4_f7rh7?efLw@8PWb-kxSnc#$>XdFB(|TaFJOS@x`as(hawM@C2&oB&NR z-@#d@TQdToP;mZK`+UF7tKUAdVcRQv{<^v-VEua>zKT5$j4$GIfNwjT=N)=ZJJKP{ zx*5(jx^C=ga7_6mI)ce@qLWq*H%BQH0=2UGXnyNx)?#hY2%*24$wufv-d7^6$HM+tk;eJfO1j3#=bY*=}n|6}(@hvYg*p%XgKX`ue@wR($Cx zQ&v3nSV5?6=h^peBNv(3GkxroP;g+CZ%G61`p&s`+m?HuFlE=OFUt1qy>FZPDdG2e z$_gg%$5@q%BXg|MC2ak##HNXkONg_$b<=wjtcUcj6y2~UG%+&o@QzpGEy!;6A{sas zJL#cIqqF?hvx?OOcwVG3+{=dW=Bg4tY_=KvW;2rOnw7=o~{R;K(q<*uN zw|K47Ph4#~{rH@IDuKgppMCA4wNL!XQQsc{4|_`9_NXuXc%LQUm7E;w*)TS9k~Os( z{!vch&G>jr8t}`)vw8i0UCmlHU9o&x%Ut?UUCpD;0(|)^$l=9S%7?vU%eHY5;t*F= z{OPkM2J^=jIw3JH3CU{Ym3RK)i}5+HDvz=rrDCiBHoXU0JGj%q@>?^yd9PfK0h6PK z_JQ|N{1Nv4FZbz|;?EY%LSwR*q$lmf9SEC zxe7D?^WV95+w!xYF#7>(nJe}Z>Sn>W+8-#<+`*%jgFK2n%EE07+#UIB2)PBU+5Eky zIh0zt){5*!_kEJwm>S;GgKff_)gX z_je;WM?c^BycO(!+6wM|#tQD@oO*Y&m0EdWD0<%|<)Cq_5WCVZKEHolsBYtvE4L|@Me}Ob81Bi1t{!R_W6cnqEANi< zwOeDbEqfeYU3bPmK~5RBZNm%2 zcD(JnxzhhON_g=Qlr$+}ox-0`+N0*LWU&d788I&xC@k zm%*NMZQp)1YyFV29C(JLqfKcsahsq6OBH$&ouAmY-2;OoNl-Lw9)Db6nJVE^~|R zvh_z#mk;Wv6D8B2y)yQ9M0-8Z+-a24r{sfl@uB9X1b9_P@NTG`H#49AR~^`11Ge3K zzXCY>`7YR|MDBd}6=196`@+bIhx_ z+;6>tzBKMPk?%Wvqx*Lgw{d@YC>r^4dGsO1{ciY#=>Dt5MBi`ZKJS`PYTul%MBlsS zs^|xeeBUxQ`rh_&(GS4MzS3F2??UtMLL=V+mVI-+8ZG-A>lpefKKZtrp1N<_O*cGo zpe*M^6U%qvh)~_L=vDPOCoT3d#uHD)U+^Y)V?6uV+vXC+Rp&o&W@Hj=J@e+h+b($h zslmGAsCxmttG0xTvD7Wvgzn6oX$)VYjy|t&J}=|5Y$7@`K98|Eq14;x-H|t+II#c8 zHxImh@16ri9PGU34A5{;JnLRUPWjE`yyVjbu8F{)3Il3Ep z+K*h_^9XcHop+#tcV)*HVVB%!>raA3w!95fQR}pj`*(NQb`?6++{Adr3bLolT?XL)Ir$nS zdjx~_NTfrBfl>K{=VQM$cW^chd^KbH+{LHlk!-n}C}Zj}PSu;v?;`9E`7p3^o;_N9 z>1v-c^_{pZey4Rfa0U;_#&y>=ufIY2lz&BTNcL&nE5g5hHZ(XN*{ArOcHnJ+wq>i; z@;TeeX9+q9gsbdu4J;@j@w{2cPRzaM##u+KuDR4#b|9A+-)UwBY1%qjGvIOQ5> zat=DlPV{B&km`En@ZI;^&AGgRfVIDvewGu*BV0A|UAVf8Pj^g;Jrk~^t7XR#Nghf5 zDCW`~lkR~!gE387^xrck>5r0k(jj#Yz`Z*vhgd!J>Edt!I5c}_4i0xXI9v|Sv^TIG z9BOS_P8^ksL!C$L_TW&op|RTZ%_xF&;9p#V zpJ1+$AuZ*p_qKevns+8X(3E@GGIxHu@B5wiS}V=_*Dd2ubl)%LeHxDy2el_Dny~RY z+;11}&ij1)N{s6vjSGKzwm<)P#?ziX9%#H6*j;#^|CsU2FyqOFKMUR?#+UWp8Bf(P z<9W^a64Uwk5_9l(Vw1(Jga144;J3Et@4J87)W7`4fyX%SuX~fl5536ADd>+y-?zRO zM?Sl;Ly|Q%uI+f)ByC(jY#V{r>ydx;w9x=gdM>~pfZdp6O_Uue+7}Nzm3wG4YsPe! z)|D61+eeJ`(yWv6N0>XPGjkxiu~)?oow_l?9mCM;B7=|2^F@g=aB?N^%&^GcVDj6W zm^#TFtwWyJOc}E@UnXpoi0;ho3?ZecVqWdf?vd)?WPV3!w?kX9@F}i3fZAw&%x& zEy4KZM~^Xnb8i6aM4wrI1Nc*v6Il03_!tW$R^dvNwWGapC715aY(o|kpkgUfq1%#Xd9nNwP{ z<>o55D+{+em;U$=_$@5T)Suk_Ows%T)_LKRdpF)*PhNmai7VN$)85C|^IXo+^yD6V zzMgS~xlgwpU*cx??^5}g@n_1PYa#DXrEEL?XRTr0cWWtonf77cww848UFGA<)ulXB z%*rypZ(wb%NB2l_ZhWDY+m!^CKJK)A_Pk?a~IL3%EXDKolRUq`=h=kUt$d2 zavH-N;2j{QMq^OjdH8Q<%dgHDe0=XN)Ea5~DPB58*wn|J#N?{IWwdK>LM(3sKHUw( z-0FD=c7^GO=N*jW?*y-Wy#_|$CBF9ta7bHiYAcWUUNbh!O4r`-3wUwZSvlqdG8Tz`yr(kbds2R88P zEthxB>j$pC!7jH}ZHx`oZCGi~f!cKO=K3}@-!|XcbLhUm;TZ9{9C~WD{3iFrtF`lI zn!8Y)+!JL^?g?TOoB9g4V|p_&^7sz8W4dW4`kn4ok*?RrcllW5lfb|Koaj$*>6!RK zc5x53hj^%#wL<-|W}v_2wN9_F9)hl))4I`vebHz1MA3%sV9~ulURmIdQ8tNWw#wOb zorwdT`}4P6MJ$@#j=%L1z89fmx;9jIixrd}al6i zU;A5`@o7CR$j1Av)b8gwxAzSG)TfE#e4I71nKcsIF@Y`4*#*`O*(_dp2`-2&s5u)v zHHT6IqEBdG=OemfHPm(w_VgJmpFB|J8)58o`J!I}KhjB-hO^}#IWCP)-;VE6SwHyJ zr`ju{Z67pK2pzXVr)NN?YIiO7G3lM;P#LsZZkI{9Wp+cWXF#iz?JvikRM{~q3%zc} zk4$@mWk*1---cdQmi#tz3!&Fm=vDp9sKA3YqusjMZlYj*qda-!sJO>WZ zH}6yK`)=Tv1RS!p#WPbJ7?#0@-f{t8m=6pp$GS6@J=D5KfkEw;h$l@f%2|`>d@;jF-Oim56`PQ{s%62^Z!b39RVY~?K0K2-b};-~YhXQgN4upg8} z*GgOq&hYgqj$7xMDBE8J{uHyNeV4e}zm~nwZuX4v=dx!rUG0?MyLaowuc3`b?h!HL zpB@>{_~&7ZluSA`vW|QbKJIUcUjshucyNP{dBQ`Z9cS>gaKQJ;evA76nLmfu%o@^= zmtI3WG}vMCzn>L3d^USLoOdpXU1;KdTzs4Mud~}R_5f_$_vS2>wG4TaC|thV_ukYvFO$b0ypz*27$^XD;q!E~YRSlKb#<0 zS_9W0j(}NkZT=XzI);Ob`o{)W0efM#uWEz`u0hzryVfKZr-EN+Ep}HTziW`&^}b*~ zJf*!Ft<7G!YWshjb;d(;d+X65%h{K^27MQQq~>rZ{p_mYUgAp4zn}KdlNZ}_&OY4! zH_n9L;Y;Oe*n_>IxW@i^D>cu@-p$R>+?BSyA-<1a#e4YI@U?6Z+BWjwD(&U?`pYNF zpM)HMN7p3(y1HW$dexQeiI!T=lCL0xX0>PT;-ZN8i0cm7`to1{>v8;MXp?cv$E)vg ze08To$3NwBqKA&J)g1BOZO5G#BkO2Ow3~p3t7%j1jpcVSIZ4z;A2>)7+tR~#!zmT11@d-JB&V%nhZM z5cg6tmAk5P$x{jprakELKj_oTi;7b)@8BijSg{Gmi{rnY;lZ(oCyxoo(3}^?6Fv^d zw4VUSE`GeYzWfv5I_%=w1NZUb`qLg0IgBOR3S zzH|HcmU*5sAE%e>KlAwXlDmQTc=eLAavdGoPyTZ5DweKgWUQkjWy2U-irhv1y1LV= zz-V+OkM3x6Mr3dAQhP6Fp#ztGoAVmd7m?LzebLz8TWf~Vo#N~R4ypTi{6xLYe$MR& zqPx$vj34xCT^{=dpHXjfnD?`I&po8<3t7&ev1dB%c)h}lb>1d3UN7FsnzV&ByMTE+ zahOl@{|x`DIeSxo0(V`EjxL*FJsWGsAM{(+%eT^HRZsOhi{(r6q=9(S^~Y$1M( zdz<95^y8xn;G>#^kLpo;RQMu{k4m~-0{bb>dKhCpPGU#Of4LU<9;1yoZOE=Hh5xaI zR{f|wy;rXH7V~M=Ldt1gOF46&0ZR?<7Xl0V;WF#c>JHu;d(de+!F#PE-Mp92P-osx zY(2C(0Ur8TPx`=v_IACnBpKiQnV}T9bDr(KpK{Hd18AWR_Md!_an|(&I7~E`2P-Uc z>hV57JH-u(T@OSqfTnU3U(NYhK2z6mHdlE=*P(;Q(O(mf08_nvHuqQCv1NHy;-@|5 z`NaEKlkP%?XHE32^hNvfpas6isnbWF@fE;F*DLZ|V8a_H*Wb*cHTtGVVD1P^|lM8a^M%6)!;JCB$$EX646X9lr1} zU@Re*vFr*xAIzOZZmu=Fn?jBy<;soI=1ag)0UTl7fdm|n0>g4(=#f5iG4|`@hgSE4 z-y1ICA6PW!H~h9dwP;!e=P7-y?BQ>$87mv)woN@<@ZejFc{}xf>(BwbG={sn!Ugyi zu468)1sBa$%34MYO~V%=zdD1M*G3!XI)|{CGcEqhuuHBErG5;oYI8E@50bR0dwoP( z3E&B>p#J}*?rq?!tgd|j=bV#Q!mFTQQIil55iPc$aH@AWdBK3#YAe0A!=0NzK!WI4 zhnb4nn=Nbj#~=Jj_~Q!e z?M&7%ondRIjpM+TeN}e2gLd8nww&t*g*7g6^CW7#oiCOVzfj2j|7zkFYOqO_DVGj= z-ATkR%zT;nMxNWZXiUBFY|>+08g=tBEYlp#hi3R@WXPQk9aHx!e2XLJnrf{?z})rZ z3q8sB7wEh-I8-ibvlj$b?FBV=!in~3O^iWwe+@X%^LXeljlEzl=Xr8J@`jtxeRDVX z%zV3f&6{fNI=QODv#B#4S%MsSwMOTSu4CRfmjsPko~#?J&Ig}}K%)_O5*m-H?3Yvf+~s&l@^j`_t7YTKrvFWIK;JSf;-pr>CdHk@-%F`b9{ zKj>F|M(Eq@4;t-$J9aXk>;v-AOIwKRXvKHiPA(kzSVbf68T*gx_Z(b*oVh9UcslOI zj@ncMKi`H-MemQ6B6~MtOWMeJyJGluCVP{e@Lf7F;dRh&8F_*^_p-3IFtLfhe_A&< z6wp4Ql>G;BChZ#w{e!IRH*fI-j=YIIpnYZ_F^PDRSg~~FY+F~Z2_yzHpOMYrn`hm# z?dZ#gr7s`(1!u5;yB!{jY(|FA_SNid=As|JR|YRuPVT&W_@Elm$TDaIy1V|pI(z+_ zn~uHnNTOE1ubElS%VBr5x!~9roT}W7i08y z1J6%^N8>sUJc4B|u-pSICxB&0QG@qjP2v+7)g#0GI5AHqB_BGVAZuI5F&}=?=3JRXHZHS>a;r->nx&nS% z2Cd!a#L+tR5J_IIb1kz@SH96_oz4v;#-bY~ug^LUM8Y`YH+s)U6jm2<9tr#8MB16m z-Vpna*0=6%?w;ZtY;+=Uu+}L5U!;OF0h|lykpY|&(AkJTyUN6Jzi@tXFaOx~Qv2M4 z?4WtTr`%7;@SLj7Fz0jU;1fApot1JvH#*jnh~;_`@d6KLw>+H99R@r@!>!z<9vSUP zv`)3(w@vrpOS8+WPSZrY4!H(d1Bq8hUR|0FKG#{YeQYSQ{sj212*;{3L$PIyDeeum zzus9}{?|IcKGT#RqVn*~)-_s>(n1R+IqPVH->jptiG|>*5L=qZ$R(|*F=!)J!22nM zAALI_(elk&BRf zz`95A@8WRxi;{6;(3LI?cOM1zv4!MYE=-);)@A3nfQMtq;Yfiu^a5jQcu@2;J@h5u z_b~Q+@|g3tNB*t`=IA@nm_yTV5gXzDHtVcxX3W2GWwfR7jdA63C!g#L-ts4pjJxTn z(|HYRHZA=Kzxzv;lPmoOaCmt*T1EpcQVIB#v_oNw;faHKJ# zUs~NWF;N>pS8vHJGwoDP41|y86ee1>j6kowD13Yi?XaehQ~HILc!?iBH+il4mK{ae zi^H;PX|<2WNi2ula>Hqx-=pGUmqzd*}8SS2=SVutoEVbV%8A zzs20TzsI3>h}Psc_dvt-gB$jI^7pyE zK9irKY7lun?fs*4bJ-=^s)-XpKWt~b6VQFyry`??ZN75EnoaG?$hR}1dQ-B$qG=0q zftU)#M-1V<-Dc*bm9v1Ucq&4o5^v32p{G_yWkJ;3`2I2Zjz zX-oSZ>9`Sa{{XO(<0BEDj-I_ndqZF7s}s%MXhX{0hTRW-_SuTFDbFO=a#Ee>eC7$c;^HW6033}Q zJSR*(v>qJDF7RWo(c|MQ%mH7D$K#-O!&A!E1) zxbhhT`{YFK177SHzOca+KKTXQo8`%~$L#Ezr7X5Z`1r(li)>*@huP2M+1R?R<< zy6&1Y7nc2>9iL$5qhC5vYv9P9eDvKF%oQ}<1YgJD*%&+~nlWdrP2QZ0aDlN0d1VjU z?bw5MC)tBG^k)xhfsQ5Ht`=QF3&sW{e={;dv>BVo8jpYHxA={sxxj#YDq+1B{cj&b zP7LNkc0T2$kq>B<=$Uzq=E9TIoyD4vj_=g0J@9yURZbYb*>GUhm7$g#)*#wpe;sbE zV|~fZv2%DaR%4&zd^h`tQ7W?^{kNHOPR;LH{)2f%VLLA?@F0KkF1B7EMq%G^e5hCB zLnTgOawYLUbMfy^#=l$T$)3CbouZwbG?QMIPa(TwHE|5x{0(3mQ%sAAm4=UE$STR{ zCdU5)KHk?JvvzOaIyKZ>of%f%vD<)0?XSk)Y}#8bzfg9Ehu@#o-goCa?FGKv)837= zcf1+6ziGqW17~!aX}6HOn?I}FUvtlmfz!Iar(KK9XZS06_pl~!ExCVf{o$*f4L)+%J2L!t6Z+w8;OxuWYuIBo zO@T&%Su*;2!~==X-FM@W(c<}*0={#fx7M(;D41a#!b)gus7aw2_M+?cCW>+k!JS8fB4wH;_3m# z@E0@?ztN2ww&%A;Mvg|dAtNt(ElEa>4kUiz>`7exyxr)Bz4>aC+vR4;mDUBq=aDzB zavuC+pk-6~C-w_5nWyKAdiqfE@yZC2uJW9r=?3Fbt$ zeYLJtWyA@iFy^KMH3+wahDQytGc^*k)B zm|p2wUxwzJ&;jG<6)w#Tv1w*^J}||A$m2FR%?WcaCk? z)t9bsnrqkjJJsRYwGC@u{S^FC#CmRYGkzz>V6@)JIuqdRGjtKfU#}Q#cRVe(*)|WI z`H2?819w`=2^cm$82AC3=?2GUy1})XuKGCh2DiTKit?LiEbNg^J&L?C%eVfnn&mNczNMm&cCz_KnYwJg@i(4r?pSFl1@6W<(nYSf_eqz8mQE%gzxa}~ zQepH%^S;r3ulbRC&vv+Df=_0?0C+hrfu4Ky6a3< zXc6NxxaiaFj-+-Mk>5bL(0w<;h2)EEW5WLN%kJ8SG)zw}q#++k+z<^0;I0_5@} z?jOVt{PuCqN!;>r)y7*qRZk4E2Gvadc=kqgQa^Wi`kPn}6%&RX%bcGudOm&x`J-a^ z$n3Q!$IdN8zi!_)52=oPkIK1VpHodP@4{%)vd);RJh6iGXY+pAfbF~O_4boZy+JAE z|Et?quA2vtaYi;3b1#kf{}uSSxWw;GvWK23w*5tu*e{$d?&B{i%?idg4)@1z%L+Et z4fi+i9PV$~HQe9&+;D%}^TYk^FAnz~FUtx>H{R}l8Q-Pnrohoy>Fl6lq+iA-7M*%? zFm~hYAaRe&3W<4*PUrW`-tXrM(%_@46gnI2(2k+2<%3hc4R^jpb7%XFy(zcEUq)`9 z1@MvPMETtH*Pch)_wiZ3EyX1=r?SWBTxSfJipYx)hsP`UTaxB6=Z$BvM&HG=@-8gl zdCMZ}{--vq*;K@D<+zS-sNPh;a}{GR$M)O;jw8su6j%zd=->Xr-VAQsZ&Co+0>a$o!QixO`X}) znN6LNpmJMUN&gxB*LRVT?@KRdetn}-OgFA=LA9E|4r@O$|ZXNyOq;Cn9gWAxS> zU!rUNm{1k`o^cg=7x;3|bSqzpbZ}(ZUe<@*S|2={$k9ic&ON}t(wi8^y!35*T0d=f z(SLa{@*+M0c^?R$np%{IADta+dS`a9`Q6#UmSeMnt?}8xw$|Cf_M>0-zgO@L|B1Op ziT9_@34SnrPOz(bj9E*focoV){@>uV%S^M4{%(Ioan)}Dp-tdFnwdbY| z3CVAf9GmhD2M&8p0se{J#JT6QLT4$PTyC~gE;_LY8?Gl&-r2o3S^>`;y44?Fc5|@l z-CO<5$8Pnv#BcStw%+P*>$uh5{=u#O<123t8h+!R_~iE7IqDiYCbZ01)0Ro*Pla#k zKe_BAr|*v1!bC?VYi{+e!8UY}z}d_j&M~ijaXZy1f08_u!o&Tvf6}3|`{~2b0`^Ro z7Gl3AEezN$G$KD|GHvvw%^wh-*O%`9D{0fE$1M6a@;Y-QzI1OezHwBz`8oD^$bwn; z!y=h?@VuSn(h+uU)Fgx@!R2EQwp zm&@;4ZGQjgXTVtPO+*Wd6U1G=a3wh*Td_^IT2n%8f85q{q)@h zd`2GlF0$ppbmRg2-vs|RcOVZwKpvby9(;&AID>?;tZUK9UVQYUP7$v%&!Ud@b?*2j z>;9RsM<*90>~ptTPdptJlh|)od9lHJ6ESe&1t+E8qz#;8t)3Ff{`lDI+#9)XGB_b` z>jgOJc+;W7r1|)-#EJI6woWB{a83_==)B*};AFvN$j7==`Pk^d7en4?{hUqANwkVN zqOR~8q5QB{k&*WyBjbbpu@%V3GlTt29}f06cMbNpbPx8oB0JkMk&(zx$pIrH&qyvJ zBavZUFWEAZTxfgM-a%yUIb>*G8JX?SPmhc&Kt^svMp8CePIWslM+=aV89=C($PRmy;`tr-Z&!3QYfpu!(oSQ|id+0bnQ?2!`q}{$GQ^`~Lt8QR2YNdX+R6 z|CMq=>(!sp=dGTc^^XzP_gKCax_0S3o!58<*X;LXc9f%!D_(F2cO%;8=`!p8Yy|Pg zl8?v-BO8zzP1t?cq+>7Ruink3&B>lY>zC2yGTI!xbXjMPC#PnMC!-^eHWe2+*tDs8 ziZkkGt4+xnWc6dTaTjgr{i8fb`dLH&a{q;E=v2zODznj-tA`kUIr|RQ&+1_*`f{Yk zi(S@>jKA35wAq`8*CN+9vfe%JO`K&9oy_YGxO0O3+x6~9qdRx`Mj5_}vM-3flWohB zx?w5x-f`-6Z5)|uN5BvIB=PvA?3Y`8-}Fz!hf|6Tx)s}C8~M??st21ppIiAWd&_Xv zr!L=M(_dGy{nwP|&RbKSZ%eo%+HFH+^t+Y!ZR{N*N4>!o^f>m{3GT)thJbj$E-TT5 z%|_?!`;Irz&v<3eSlReRM@Ee@_L(USowZ%y%E+ziY_qPL*uOgVHakm#&AUp1Ezgw% zTc0lpw!K&qY+pXd{~mUb6Eh3R#WgGVLFTNW(cP+t8NI%}qcAa1aT>(YT}7N}7r;!3S}XS|f-33qI@`){+mQV`9tVD~MIhq0d@qeREM_ z}{pUP#8siOQy`l6hP@1SfR`;H3oDt=a87-HSbxe5y&Xc}3VSWCR1y~aARKvjii z4|BF6)n@Z9F<{0fwJY7wU-wJcqo_|iFL=;H4j``&Sl5LPqMK!*hqMz5NNm(7@sx%A z{A^?D{`;WQo>>R`(Cwroy1mQUE8K-1Z}ckQi!m>8=B0^wX=Yx&O`QM9(r<)M4)Y{V ztpqoXtn~#$ZCl{f%wW^>%wY44nZcHsnZefL%wSt-X0UzZP=8n5P-6>xFFw?NBJN4N zzcDlTL2YL69I&4C4Nc*tFE}tMhOujYT4;&j>dFWSuC9@p{AMphoxbB7?2g5hrH(1f z-({JmZtEH9f$P5ged6NVltcGDLmhCh{#u3mVc4ct7AC$e{^^6;?|cewkGSn369&XB zblwD=H$&&2{9nLrqXX0Li`%{KSo-32s*T&Oxz4=wgWnx)T~ij^nzH@lI09Wop{pqL zZukuv6u)T>BA3eMI4Cp?-PGtT*nZuZoR{$bN{M$xf_@H?S9un?q?Xj>nkhI5zi*R#J_CHEPyU$ zC($~wK(xs^AscoRvgMB{D-ZvX+w0yBtX;NjF|xjTijnJm$GguNZ)`u~rF;eBjXC43 zaKjlciLhV>4c zR=Sqie+@p-rL|7>#phxNpIy{hD49l`fpB`q9~n;I+P$*6Hx8|kHAylpAAV`T2f7u1 zuxx<rxeO?rrU&eZD@zovR4skfDSHvJ^UusO1_tH#Dh_dEF2`{-B&E*>Z&JjCDW zpRO+YBjaF@Cwu)Z=%}}#qjpr@-FY0pL=|U)BG?A9&{1=Yj+#-wbtw8N^5bM*gU>{lW(*5Hp~C*kKOwyvy6WF zDDg;V8waK8r)9{y>hxeNC&wSJNe?!S&G9$q=J;C*a{R3mbNp?SbNua7a{R|Prw7N9 z3+fzxm$R(($$INo9h{z&Pi<_D*>l>yHSIIyhvQt!bo87!`dTacS_k^t2k2{O(APdh zUps@oR(uO~81%Jb^tIAi!IPO*;uOiw4igVL99v56Q0xA!_;{kn()=fH^z6&U?-VIx zZA6dV+`#@Ge^TH5{Rnri@g+%COD;-AZYA~%+95XblAhSea^@k94y@cp(aGo*6FrIG zIXmY{WFq}c2L2wJv-MM>Q#KAVI%Vv}!hK$!b$xv7Tz{kPgPu6oU(Mg1enu*O(`RzK z$iE;TwsM%3(}(J^SGgf_ti%sJs17-RF6@Jx{nN_uKVmnZN15FVb`~ZK@2naWN`}SM z_t|nF`Mvs;KP&m2Y3E(Ho%ED;BFsUwzzPy$;3oz-*fihrH?b2zR{O7-{aoR-#)!k{={ad##G_Sg%WkVD2Y-E3$ zKLQNf@L&Jke#wFhX=A86-!5&$9olGwHYlG=8$P$JDFbahZ_|c_jW<3)u<(O-T#CSM2ehm_jb=Ml1NiL7N|E zi5}J!QlE9M0$yAapnib**r=CtPtA$|_2I=SCDbpZKDnzK1Jn-$|HAPT82)U$#PDZ( zk=BnfDf}6oihp3bFVQqpzQBMr>{-7P@P=+AzUcnv|H}U}Wa%kz zHPU_PDH0-3!h#L%*DW0oMb7>ujHK{Fzgx_0A&Q-MqK&_b4%pM*h7t!t5dJezH@>e5=z& zOKVo}B=|qs!QUlCiBokY``k0;id(snaZ2vU7PBBZj|TW9E-g{+-0A(%7tmLzub4sR z)|@BTdB&5Cw8@wiJGPk^BKP-o*k^|mS9%g$j0kwceQD+;XACEoVK<4}HszlYKldeX zW~i&+QgjPqLcp;dm*M6RQyy}~SSoj^;xpWwS{`#}igG=jz&@k9Mn2%1z5b0ca<~;= z{_?y)qT3qTu^#?xE%PRnU+P-m?hD(K4s4Mm*aTDML~=7w$HW)#SL?wa3eTCHCHwBq zutEdTPHS0F!kw?5fR`*!CifelBSLRw+-w@S)ZCMO_zN}94j)Ubd&ipb z*1Y38)AnVL$f+5RUfDF?n^^k&2aaYfUE0}(J@Rb9B`I|BZD*{Du^ZhrugJgTTSb0j z!|6klKTo2$rP@~@Uzf6HQoQ`W^Nziy!kaj?AG-N~{c81Sd##D*pbO@p3+A8;=AaAa zpbO?8k4F2ud}C~TP4O82iD5o;!olc-gRy;H!v1S?3Y;Bg6uX8WZH~j6H-|!#LoD+-yX9hl@0DbOItSa|!n;c2B z3lDEtf_^uXej>!z^o6G!cwAW2Z#n&{y(n_(N3_|%J+`0L<|^_X_HA=+pEl>JP4+Ol z6TENP0A@DzD5&^U$;FpiA>N5|10&fi5&oAm>n8(aGTIBx;xt>C;3oVSDX_rUoH zaQ;3x{{Wny1m~w5oXa048QJ3-#7EcQDE3wdB3FXnv-?*qZ#v8T0?{*!*9c-T38^4mwynYQYlPwvQza!20(%(9-89yFgl zY*7R9RWcJ>{0mPcY9Akp9iMOIYdvADVLInQ{PVO$#QnTS48=IkMJ(iOn$?rbAh4$e zeN<(gb7R*>sjsz8f0YOCKdG08PMybEmvSZJQ#92{;=@efX%uieVsSUMXPFJNt={u=TeCF7U9q`~hR+FS>2^}7K4Rx>XV#usIL z{;ze_KBcpttijqJC|=UUitFqe{Rgn+woJi?0S+2Bl!jj`2_$B}f4C#Ku}uQKg>77gvt&ID-3tyjbvqV|*Px!(eOv-*5XE|>iLm;2na%ue6yEY7~# zH1l=Q%sOl-!vcxFcId{X|1dge-}CX`A-=AN{a}DO7Eb1LewcDTUUYaFZR))J2rp+3 z>g==l3zE*_pX`S|4Zrp2PjsX{uItl>YzXRSoI~#ewMT3&@b{kIG5OfFhH|!0&jp+X ziI0U|Enm%Q?woh;Dg52P+V>Pj#&T{H{xjzcp}8V>zvy=R?zISXRpjq;e>AjgQ?Oh zu_abQWswE*3bNS$mWh|d58nD$h>c#(7{p)kGVVm@Y)^cqzGJJYfNz(O--hv4a4%yM zFpr-Be4KaCnGaJQ+Fq!5RCu|;$#uxd05JS^9l24So z3L4mpNlv)sRqi6mGQKzSej7O|#EZ)FgJOXKy>? zz-CO_x$`pyzf7i1Blp6&V_!|*tFV#ft&sg!{#flLIP>B3=bk@`g9q{PL-eKR0w3qF z=_?98q;uQz=;Rd;-uU-<-?uWp<^bo7rX#CFV-C)QPeXg9R^k|Eh3+L6L(6mvd~nW} zbNOa|Bv--F{^{UA=WwQ4iCY;Hc(_61RbG!sDLy@Dsd*~ppoeGB!IVqkWiw~WjYP~B zbE9&yJ?gLQkgsxXg1dJ@mCU2+au?CtnZq+`n!(L$?>%so`8e#(N9$aBJ~Ap7cLuzM5um z@(^%VIB+`WCa-S>U!t3|%8JfQfK$IGu(qaG7I3Dytn-u1q}&k0pl|qbl*5mbd6xsb zZ7;OX=e5h8-6vnW&gZ>5+!>->TCo5xwt+n}#@_!@rLZCMjS z6X1tPH9R#RS^}rDxaT)o!+EuubpFi>$E(TNKn}iK@_j5AzGYLCSixp=ogI2c#{l4xhmP>wX^ zuD9uPyG2IA&@&NvJ5zRmaRBOypZVaY4Q@RT{SWE zMd)oi{g8h?s6N!T%EhHWE-N;&QD?=}mUzc}cYZIlti3vOqw`rM$e^dW-$LhYk8wAN zV9=c^0sg8CaWF@>@cw1U^sk5{j4k6466m z;!BGY58qzoZ$W274(>j%YJ8~WC^pFzC5hIRC5f)OD?)dX|FX4;=lB(&CCImO_WIV= z>`-g<6(Oywrk-_asFgZhjhCD9E!1sO9Ut|Hsp=}eg1A;oc@cIW2wW2Cs-~Q5UzBg< zx%EzPIbZY6J>Jkp4BGf#%xQc+wuUlnjfWIVRGerXU7TnetC(CnC;G$mzZoCL0^8@a z+rm~5qkf$F?isxKnOO6f$MX?*B6%eoqpW4=o~VlFD%V& z8Dg#a;{R^vo6$SKw{2@o$JUr(+b0~{_t)-QPTiE8!%lgNwJ;x^(HeIzJRN0>?Mtw$ zzvWG|jfAc@`Vy_!;3ALv5`(S@klz&h=zYF~Y^whXo^0D{ZvB7qd|a}D`=jrjYE93a zYVF+y&N|@Zdpv=C_aY;%MMiAlzT^cTb|3elE#GtAHyz3vkcQ(>~$iX$BbgPI**RC ziv4^Xy157aIPy4ngBD`Iks^OLB7cV=e@7O>Q^oL2aiZfW@uJq?j$1kJ_a*53ecJdX zx}sapEhC%0?h|ffZq&Zyxp-dvyl?E4vRe+V-{MK{xTOgm0?zhz@U736XzTVSTDyoj zuJ$EPyfxS__|M;2oGAA7j-ed*&tVho>qGywgR`!RFDO1J>|-7m;8%MMU(j~!)jQA= zmJs*(I`~lBXT-~P#$L_Z(^ZtHgWjP<@=Nvc9d+OXsPf5oL|DhP(7mJB?{)O} zj!eD@Y~k0(t7ymJ>A~DJ;QlUvr2qr(v7%M^U zsNMOjQ}=yNm}Y+tm|AK7_l4=#{lIj~=Y*-?bHMb<9{|(O`hjV}=Y;8#k)J(xKmG$? zdaNIqVw|OEK7&5%@me@JVq(`L{MJ9%W!YVxKrIv^jMy zcDwo3TpHEd_?6E;7rPz1!ZgM6B=OM(@sZl<3ug@YW2ZT{u@d~Yf^W{-m8DttTik8V zUg7=*;C#TZ_&9cI$t1 z@9m0TW}izaxZM2hevVjxEk5?`5A5mkT^?FYt^m=8+22AdJ^Nee1s$3^*!bbl^P9e} zTuomJUG#Ln``g_;``Zn@3o<%)-e|uTzzh4aeE0BG0#(oUhNBe@&L} zo#y?vdvAUa^;8$;-aJKbU4Z z<&*orQvI8`#4mplxahFwaf>MWzF0?bqR_JTl@Bn7F*An`{y}rNt?o1C za5;1ME_3)!|8v-kT#YPe4&P-C-}(G=82_C;hjqW}e-6*UH+^u2D|-JakIM9t=|4X9c)pozG9}td$)qQo*@TXm&z+AhDRet@I`7#@n#< z=CN*5_l5|2M~k&NJuTpW4SS-@d`O zJNU+(3thcFGTZ)V`^O$NK7(HWSRfN0Mn!5KtqIOtoUKSbAD`>I$1Wf8VdFSQy}o5O zI%WF%rgchlob0>N7+&X0?>q2@<^1RRXWFs-e=;oTKHoD|P&Rz!u2QbDSOGYgsAuHf zXzXfZc^-|;D;Ikp`FgCtaAS{oGUt44xpLoGp3vp+9dxpxs3F(nLq`YNEq`Q8{=c!* zEeOyicDL!+H*@VA=&zDzU*Gbvp}XI8zld9Ad@VW9@ws5%VLyv4o}A-8^1sRc=pi58 z)(2&qyeaev=jc52oo`(c;;-~Cv+gWV-`I^sBR^7KJgYC$-kCtqlV=5AJmLDdlI};I zYWsY@tMlOUaZL>be+C|1{0-#a3KRr_f6BZUqT7l$?D;6_Z19!+TJy1p_I_Xg)+ubt zGrhw*mNI8&i!)N}f10Zj@-mfz&(;bnQ3|ZKk2ACWdUCp*JQxU{WKK`v3pjJMFdSI| z9&?6-mo)t@c!rK}I9iRlyFovldSn=NzRpX2>m>L#x#&CWO3f!n46ciko7Gu5NXt%F^a z^1DuaXl#Kloq4crpC5F-*0!-`*#7#F_WTUj{EQ3)|Iwjw!;jVWeM4_x_dZ*ldf!m@ zF6iv2FBtg%Je+XkR_f3`w&eH8&2!FN6*E`x;hA@s zE9}_OD(Y7Q&q!~uX|y-kJeD(!x!zza^U}t=wBM2DKaP)~VnZp~xSvTm zt`#5ACB4~~8!DGR&hsMlkml+@qHcqwxPskI-sWj_>|>V`XOc(kH|tzth7aEnfzyNK^l4g?6Gmq({BOC-kZB>iSgg-O^R0#Eahu6dth0O!oPsHg`4Sr9Q`jW zp)Y9rBF3+nMfqZ4_^x`!pP4%TZO-_eJ;JnY^gGoVi^kvS9bo(`Q^)^Bcl^9}$1fjp zxifyv<@t@!rVpDO^r;-&srY~wu>*T^ts7p(hn_}Gvn}sor^k1*Yjb(bj449dAj&t-zTplwn*+}e~SBu>u&ww5#^K0=l4wfJJ+(;i7{uz*i5SM z-Mq=3$4VnVfBh%56^v6f_%eJEUjnXpADzqmEk_P!t~&D2LE->Boi9q?BgSDvK7J9& zvN-ZfIW#8_)3E*Ta=Ck`YR^QTTYsL%x$BJjvg;DHCg(2oqLh`N%;?*~VAUi*ykFXiKh-^rX_#hh|4`Lb=qeF^U;&;>nNg<?a-rejzs7j0jywW4W0>doozNToZNbK- z@w>9}A;x=^=8C=cD&$@BOx9B9IKtQ@dnBhdcZK6Ue$8Jda76g6bK@_wmLQW3OC~QM zkGh^KkjdW1j6Cicj~99x=8OkL}#ri0|thi4(`|Vhq zLTE>La`9m7v)aF*cVPd}UE}j6BG*iP{2c4H7KU}!?@?md6eqAy@wii21Lg~E<)^?e zfuGvpyA9&Iwk;0dK~I_sm+y8k?$?No$Wz>n)}E=%8GA?`B$0d;e{FWo75jXfJ;vYg*-1oj+&pL`#3m9<~A>(OPh^1s~Cn%kYgt zGjVjFa^=n~2KM`ie?S&1#z=lf$)bGZc7COuS9tkrAJ#^T88c<#j{_(46%(HBLw{i} z8|QxG31h6cxyS9$0c7!kw5lf#SXPbeC&)q`>;C$=%t1Qz@$eUaaAe1`&zx>~_Fqpw z{Iyoy>D|#x+?C3p8;+8XZ5Hh|lAm-!UQ)Z(_fy(EOxc;^tyAlPTd=vX7Yg>Dj0=tP ztU6NiDX_1h57jRoO+Vv%`gMV_yB@aDtt zE8|$U4Op7tqZa7uwLFi18}l%8hP}RN>~}Ht11Fw2{qVEDJiTMq`)2Ih>^Ao8xaNmP zcKpQg}_(RjKXwe>HV9yARdmeEGJ@0bs2Ma!pJCGfEiX7w_j62SpRe=|K z@18nu@W%~3aNh3qOI8;;Gd_(+<2%5ehZ-O8Uh`(+bIVUI`^%r2vVt*P zezwOv=6uym)=v-R8F%nur@rYUi!z*>Pr=nZum8UbSI~g=o-Qru@5^>yiHE-iTz~%4 z(+~gjwbNHV_MZCeNNM9+UjHn$0eqq({dM}^x8t$LjvTnxhSR_Qz(xd$b+u`5*hJ-qwnm%kB-b) zzVmd}_p>(}IPmcZ4%yTqzVGk(#(yCk3%I{l{sc3RH*v?ru)v-j4XZb`f{zyVA!bg% zwQ|r$$eTU|SaQ)-ANnc#mA-oJIyb3aKwQt}{yI}vdfpxDi6a5;# zU%+~l$KSIvx-Qs zwofL;l^E6kd==d^z4OK90(3{#f?Rm#Zgj8hmUZYUez*9%hccnbmX97@-#VE!$I7VL zpN4+UxVDp%_tW&T35>h$Iwg2sX7FGEH_mj10UDNC)#$V?!D+NJWB_Y z{uPBzv=-a@RmaA}e7dnKpXa^y%IBU*)V=^-HBat;?tD#x=aTO~ivY9irdmVfN8b7f zb~5&`TwPfk0d~ddFU@u5uDDb7sYoX4DE+)kKN03x_mTCqZ_YEM#zU)(4Oev4t|6YN zXse$yKID@}hgjviXRFGofL%UJZf@5|TX35^7QtZ9eyFB@xYby4_7XCXY?DeUUE z!e?x(jn7@+Q_thTr|!qmxK^1Mrkg@G?owl>cL{#%U~ebE|EPg~Y|mXaQS=<$U8ym= z1s>MY-de^mlUUT38N+Hv{s@0x&=|m{Y@*5Ihz{rL#b&^?$Fdn~i;xqwe&k9$lE_zGt{F>HOmWK8bd>#sXMpEkZ@ z+>iZ-j4y1D?{NO2%gy+<5fAri<173F$2aqHjBlxtN4@kHXZ|#I<1b%zs)O z(EdcSX#x9){Jd*IktX!4DS?DbFN)3PoZfVEK71Yfc&Gjab*;-oZ}(HzBA&i)T@N;r z)PAoBz0yzJfN~ZcgrBmAEk=emgU7ApfR7$x4Pw6$c`IOS>~YR=YrQjmAMo9?@1gGN z+%NYoF{O)%A=2NKzA?rZO77F$SubB6lCP(Ya&2QT4!4fJB-~t(9%^Pk5yAesbQf}7 zeaZgi^rd+2Rb%jBnR^86dt}$OvKG})$Gp4T>|599-3sIt{S*Z*4aGJxUp4GAsxJ!1 zDtw_hea0SFj@-0RY$kQ9J)y7CAHEc9jX9w=bBsR&``pEb_guLcl|SQg>Qdj>kb$e2 zb_XF}?$=!ge9K2py5Eg2#VI3Sie!_<^$&Tj>Ib3|L5oqC}UeH_j&zalipnd3#2ldKhO1-SdPZ~govy2S3Z zJAZ3_=quDMSFVOB0qB@>BJzK;maGC#$l#Otzxi*r49;P#rHsZomNO#mnGMyE3?3sK z@hlwajJU?O0C*&aqt!#gGZ>@BFFY9gpo4?Hbf7gz`@vQCD$2=yYQD3N?x7R(lxQ`v z^-@LCNsur{EVvGC*M$K+|D&5UQf9%&#B|iRmMPb z1>Ly(Gy;Cg!#?HKNkD)7ja}a*UrzD8Kl%_Ym#?xy3ttcTqwrtZ*sj{hU~8}7|K3qs z9yL*BmCj^!Z#fdP)*O*c@?;SYKHNHW74yy9zR-aFKZ-euQZ|pW!JnP49rtnfUipB1 z8?3jh(BHz?EfiNBS!cua%K>1@jiBpcgS+Zsbb*&Rd+E^2*+Cc5%R=T~`pX40^O8+7 zHP1scJP$-OyFLSNbpw2lt%OF!AVqjaDFU&}WQ21Kxj&xSxJ$cp~ss4NSw|gcb*+;fc(3RsS?xIuH#zbzFM<<^b@U z@90a>3iu7VGW{f?~5!e0(<3cR6j)2^*k-qP9Nv;EJnh7+|1lXOT|f8?%`l>Jv>4ZZ-zDZhUJ zT{?;mzrF3lTHWUpL08w<{=JSA7 z$EbtcQ~AEKZ=`TAlD3&!eRt)bTYmxde@=bTT(bOAS;_X~y5;P!Ez^g?XDKPH|- zc4^uDBV(~!kYh4=?CZaPddg?tuNlU+`N^z0} z^Nkkq70~*f(CPeM+47Iv&FlIQ+;x#X&h^H&KHokE_f7EQ{w`2#D>#hbh^{c)6JAU| z+gT$Gp3x~~OS1hk(lPC|(8lGhhSnnRL9EnDMB$hC5}m&;Mz;bsc&1_u`rK_cA1OY4 z6?V4$*w$LPJ5%i{hO+gTxq-fbNc(mBN{+3A=IQ?9{2Yov0}TmHK)f#<{|@l}{|DFuHtZ3}{L
z3C@>BG6RWGNwUJ?KUbb+_hXMa@zf`^jp#Y9AHnY5w!OT+^AkrFIkp(bPWN5)gM3N8 z|NT^Bx*ZQxqWFc(lz5=-Gpt1`J^oKVCf9=Wixtqr2Syf?J84R&f|$JcF8C1Hzd*)4yK;#Wn#f?YBox(hzqj~|6^Tk$)n{KCxA z1atL55i}`2mhGer`|Y#TvwiKECU!@4BGi9*B6q(p2cO7^SO>7)XC>BBzm4xY`=#~3 zg~ProI1A{O;5EMfJWM{C-4?3U;ipelHxI>BJz|cu^k>4>8|6t;E0RZyj=qu?b&A z!qsz@iJy!;53b6%-&1{64+$+Iro{CrD~IDo?vb!OU>f0H?oN?gdV;%$q91j?5M9E%m*5fR#XS>b_CWmp2jovP z{!47$p~y?LzXaS?z&|g7Uu4&Q`v2AW?s@SFc>YD&Krbl9w;W%_?<#aK&b~)BV;3SG zBHjvpp(jOevu*6@j3YPA`dI*3rgbw9yE^`u4i0$FYu=3A9UsrJBww`bF4)dl8*P8I z@~iy)MCOJuYt2#}wWIc%=`+3zIDug`FvMGt`ScyB@`RR5vi%p5AMa4F$DYIQ_pX93 zYORFgR9?Xk@H=?E2gbR*FfJvYrn&a>!MHpLM(F^m7X?4faq#{<*{r`9QcPD2{7RRp z`?n8k)40Fa%N}(bco+WnqbF!QE#Uqx>)}l;;JY=B3}PPItVcGrfqTi&7`Tiaqh0t^ zy2sN_UWJSP4m=%W9?@~o&knnO^{0`gA3TR&9omK-4bIeu+jf)Dz3{UGg9p8K5_7bE zcy>((c%GZiZ~W?N?{4G}{_yKNm;>#n*Ax5w@3gDmlP6o@n#xI?-Q8o@!(19xo?>gI z>`<46#B-9Z2aeif&bW-20qkK-wPT2fzBJrM*{0fW@%(L`c|UqMd#w@SwvFglndF_Q zVNOTi9u}T7{-@xD9Wb1Qfk%;}YjI-db% z{hkQFW>$_*fmt@uXwIeV>xkDL{e^JK7?=yq&ot&vI<(rCY)(_|fOn|}9%BU=p@{KO z{7J}*&Z*qy@r~aKH*fxSxRtT_hLam&j3=B)>_P#2mx8Yqvg25x-({eyG7im!`q2J^ zHSzi;VAi_%UEtUAc%P-;#*W(r9W;#uZfK>Mxg7}h^v?eGS8HoGvPZd) zy6@y~RSqS{;hR&|XP;Qm>BTtN)X~#3x7p z(x+A5+&v8}*+Z>)<7sD0n&fvV-Aab*jL%#4K#;i zktsd=jGf}M__=pI^@PSS7w&KA5`s6A_B20#wF5bFCp0#nF+n@Zqo&+6wq4wzA7`KP zwe5_NeM%l}i0|G1-2KoT=&Nr$_i%E?1~LQ2rs47(>%$FR;=6rT?B^Ah*W}?fzu_
_e+->0${ZTG(PihkoApV;Idk&mP;3Qw${Ec3`a;qjj1JBG{r!3J z&lQyTf%gXSt?YcUGQLlt?a6{={S&?qx1KKkQig8{w^X{*sJs< zU8S736q~O`hN2UtL*&-~xKCY;Rdvmnv9;_~UBz-Lwg#G$ZQx?QcY|-k3-DF|Ua(~A z=nDAldH-6cY@45_%y#@m_ymX*VNZ%}S24#w8DAK#zosbs%(P{->Nr6+at0d0oJ-STgan%g?qy{)!%6kv;S}?4jc4gCAeW zlULH7&R-<+piL5Jl0V&@H}pWVIv{COy0 z*5UBz7H^nHN74_eJXZ?)1*-zo3uTkj7#eIN96;z#68 zaOf?LeCQo(X8rk((7z6GhXH)w1Yab#vsyX)4hH-I{`S_f^G(|L3G6w*Ua~KYDR}st z_~{Qf69>S}vwuX~ED>&UJ^uJq~q;?e4SeR z%ZVW!&fKTk-b#(^F#c!ct1VCLciS6?9ixrcD)VMYW+<2X%&V+Zb*!&-Kl;&;>L2Yp zUHzkf=U?LVq6c2yy!NBwqYqhWHQTe&YbIFfhjMRcKZyQw5q;|U73vkxW)p2z)28os za+rNoy?!;cR}F0J5e^BqY3MAH^OF6_`M8>I1@OK8=JQu`C|(th-p_es@u>0-^j&Ws zy+r(z8t>$Vhho!_>ELiHekH3PKDw!wPByrFr2WZu%5R63cUVn7KfpM}M=9^2Wxe0w z^3gk%{{Vbs`bpxWzu$m=g|-$PDv=Cjk2xtMc^RM1{jrD9xsY=Xo%ZxETHisP{&=b9 zeIH(0Cwh4oUdl}#Yi9jbqLp_8ytjGCt-nA#^iIG}PR!~3<0i1@oRgyr8Pfw>3JyLe zZu-N^fBzJ`w7%6pUZfY*ftL#AWik5FcJw37OUipA-@G-8oq3rcyc`2BtUtZu#D~)b zUht)8Eh~h7qRdH*IT1}tZ_$27&o+-ZF={(emgB6R=!Q_k8n47+X; z?Yrxfo3A+AKt5mqmYjp@lf7EyT9Ij4bKGZqWkW z&gAz~w3R)^Q*(9G_l|Z@Ca3c1&g1AYlZP1nVfQlhvl{fj$=U4Bb|q@Bo??Zs&bAWA zv02UaeD8@{JylP9)${!)zUF!0iQ7E)KT+lhoIZ~K?RL+~Jyqn69CXq8O>;d}d$#a= z_Xs^dxMzRQ^Y`~0>v?`)Pq*`Y_2smGO>wwtgmr2T`@mbSEeSuym>%;C3YB>VcLdn~ zDYsy=^xm0vZb|vdqtZ2r)mS*f*fC#-L7N?tQO@1m+LK%Y?xi0!-AD}DV_xaFyJa7G zh%r8dJ?cuvXmm$xGtJQMHu631=Um)VyQ??lTDI?^5c#S45!M6gr16=wr+H+}5MFg2 z*`0%S%DJ$|t_viNKT{I^>X$^{Lpln`G5Nw}YoePIv`}m>t3q0vHG0qFFLT|-hceV17K8>EIGwy4dyJldKeN4G+b>keuQLbzecuHBBIIw1l52ho&-(i} z=G}vPlw)d*dA9c-RXm$@D3f`FAK%(WUG% z#y9lj8-_QbZ~ROb8$Y3*7r#`Lc#}P2IXbrX99kRf`TU|?hPhpQXqMTZM4{c-ltAKN zC~wQfq!?XCp3ih(iVX`SemB7UykX|27e4LDW)eHr0B&XmbS8*1CdhWt_Bh~?{vbwV_T5U7iYh%yzoEl3%{WUtNx#e zCvy98=Tr8D3g)m1eQ`bTWsr;e;qLBfvZZERMK02heD^B`B;y+U*`w#{$hqdgZ2KV} z+@tvQi-Jdxc#`eX#(yd=?M;Q zWUH!naN`9xWe#q<;6~5F4YI(*$O~SRUldt-qz`U>nuMGF;&yotWp!_RYN)?#vU9=pzt=TLdsNTpM&%_ejS`MqM95AON) zi}<6Z+iKk!E1pE}fEO0RHx^@xGLD(Zd-f~yqRf}%hbs%kzu#tGrE?Lcz9Tn`J(fOG zWs$9aJyf}1#$Ei|Ze^^OOfYf;na_PE^R$NAb7Yq_bHEtt8S`T1U_ZDnr<~+M1+X;% z+kO|vP7Ix7{X7@XPW;?YC?h%Q{wI2Lah2IU6Vcb z9&lrNXB@w56Ytac-aRs-vm3o5&N-^4b)Jy!MvBAhsvqEfN8#S+i2OdB@7gl#_z#Qt zOl#ETp>3Rnu<>cXUtD?RjJ1;6%%}8Ud{r|ZWb~M zUrWrH`}`!&X02w=7<1%poHM+x9C@;z`7`luea>S=gfDbo&0PcYB%avDnHse%9=J|( z1>SVtUS-NDqj?e>`puqVUIu4PTkf>@7ua_otKm-%+*H12GrH4~?$U(vj%%-M+NEq3 zcSd!M^q9M>?7y~+Mg37{_YxoZ(uXws_DcTYM;oQ{acV=cW6B#XJE{DZm0R4n8vERp z3!^Q!a_j#W<4=}H8Suhq$?8lakL%e)I-+AAT}yOs{@a z3V!b(KO`}I!q--ZKg#*rj2+gTaprppuT-UnyQ?z7EybRY{68_)M4cU%ZyY&-uPMXq zTT0nm%C8-h&U*)Zawj_Hd~{y%O(}XWI2%EI@|3fd>Ao;mcbwfR+p4=3+WwIXzrS8N zX@>GP%(OBM?PqaDz1_;J8FYEc(X1hXCzio8%b@+cm)<6#bv}#N#CB}vl8iwA7tz?#$G`@W5ucrJ6|+7v3c1YFS)~@-PaU*#rbzV zzru45A0^4d;eF=#kpcLroq0@-A5GS;dglt8UFP@qy!$xgo(!C<6*k|qXX3r=;os35 zu`hJjQ_-^xyRBEH&fkT)R?|Q9^8UXk(PMibevg9lSFq>ieq`d9Qt}}j+-YK%h;3nR zpcV0w4TE#G5m}-4tC>IJN6;MpHFDFM5E{k&$?u`DM42~|EI%3FNK6{>Jn@mlh%)Xv z=9ISoqKC zNueTQ>xm~N?+w0shj!d}QSpgr=LfW_=W)=ESF{7altVYxs!ZqHp)+2|R_CnVV=jK- z`DA`yYVe!1A7ZVKg9oh_l8us=!kPND*B@W~oV{-RwyndfymSP~hkWQsx=WO`X0ypH zbZuw>v3*;vb7gOCz3t!Od>6XN4YU;pw`N^Kmq6ECcT-&EV$zszF{e4$&-!k^^VMTR86`X?*FmQ@b)dIVO*5HC zc*TSLLb(*Wj@r71J15#xbW^`gd)D2LY-;8EG32CRQXi7r&85~pSAVqgZe-M7!n!Sc zb`@o$GfEeTBgb@q4nE?2YOlH2+83ie?Y}gxZBCn}FKAV?q(1E5$QI;=h1@k|fmb*X z@0L(bb6^qku!ZvM2@GvXFI5?RbM;Ppo@^bm%7QMi8F3E$$a&^OvZqUP!&;E*==Te- z1G276!*M!#0s8$+^vsvh=@+2i>sk9C>6<#6sea%CBisIi--2Z|^u1Vk-I$8k1=7J8 z^DE#q!Z-GK9nwpL%Y(@3WLz~*wf3ou=yVHpgnO-N+P|nzWX-7v<7l8yqcc0Or=v?h z1njcIrvtlmA98x*Oy6A6*^S8ZEd+F#XZhPP0n+u!T>w%5-yiR+!IPGwchiO+iC3^gQoQ)BW z{m&me>w=@JTum8^|6KmE&xfS$pSB^JQ}mH;FCq^)UT4|5J2nvUp=i5zjq}zQ{E+nx z+K!F1*Ei9(bPmNdqF*0Q)vs+@`z-ys5*?$je(i;J`qQsnzqfemH&?hiwB3)ZHy^! zda9oF-pBVc(J1_x@%O~q5eJ~Qv__QiH^N`htoT;zgu5?LE+^v$r|veVtYp>!XdvrL zGLB`1Vu$qnJamVLI3!;FnGgP<`lW7~p_SveS% z@Eo(e>x=Mh{Df!no2+l;xy;I3R?c|)wj+6w+^!u1l~#WxG-vjNjx5?)dDo0};7|LN z9pLX6@~05_vjhC;Im$h|JHcNwwA2E=enmN#$Hm`w{e3TgKgTyitoon!v#YKl|9I6N z(Sg~&H`?(qZx|o^h@L&lR@TSa;CCxD%i8yXi#M%d7xL|Gooa8O_xMCY2lBYzk9;wT z3tK{dG?Om|TFAo=@gv$iM(lARd=S5n{SSMecFtuerW$?hh3I@_%W`6w@p)-Jt5&)8 z1I6AmStgH8lR&wj_r0=KL-}|)BV6Q)m z-#Sb6hWe-8D~!Ess$*L~zE!XfQJjkQ>BY*&m1oC4+jlOD-%MQe;fjFHi?ipVkH5Ig zl{+?`4&WPZrOlSgf*IHj-_~ABHZu9np2pw27Ju_v{LO3eH$U{iE1S3DZ{A_0*Br>o zsJYq7I8=4J?QdpcN9nl;T6A$#Lfg%>{WNVa!tcE3qqXa|VVhVB+-oe~p$IW~e|x#? z47NPcc?sd?EzuA%QoiRkitlost9X{*^V7!nl|JKJS9#S8(Q_F*Bm0Qx`E_!#v|}G> z#XfR3ba)GU#5qfs&M3u3lAG@BSV+0`X&E(h*dr=WnciuSD1C>!Qo*HiJNxRF^aH!> z{I(sySAU0rUGmjee>=~u>`evB!S0#U#hXirV-h_|U&_FazL2{5E!sTM(QRl`yr*yT z)ovy_A3PP>3{Eo1SIIlElKyk$lbs7XN#AF0uC?*KzxkxLn0?hs`E9#OiJkNrIV1f+ zvR|}Z#QGr`Q~6$bVe7`;!41F7=by^So}<4}*4e1eYu5PqXaDV$E3Qs$=Mq^YnAa7C zf9=3*^SgcCbxyu?=+yfpBW0XvAf~?v+Ld3_!WZ4dSsHvS*xszf&lykL9?#+bkGgk( zkF%=t|DVa^)*CGrEK=AcO`(*6;8KbaG?S#IRMg_y-w#*zXOpJTVpT+35sM^gS_+h< z9bq>LYEw#q38=LevEG`}0zwhfs_T6_mt0x`auJsdMd$ziob#NSXC~(jB#N{wyi>lu~XEA=Zh1i?+ z{_-t)w>Nylmi5>pyWz7zTy*a=n|Be#Z)~oaw*XwKK#=IH) zkPj_|4-J1skNg$;U&mj8?9u*H(Ot5Ey;wf|CD1tx9pc|etZ9fDob_XqskzJv-+^)< z_NCd!BN)gpGT->J!1LqYvIKUJ{AD7}!6LykF2|^Ra3y02GyW8O+KxBe_4OgQpWNrUjL)ut|J|1xVZR^Q zb*}wFd7(V0UD#K>@b=c_^5ss8&H-N>jzGib_fE9DFhxF$uHBvz=@^cN;_OxSx{G{& zl^d7U_3QCvsqRIy_H0pOWu&qG>dO`;L3v@~<pe>n$g>Kp7d{f z8*0DtN{d%CqlxvW&c?cWuRK~oOsa`^WmS1(8#zdum4~*1`seY<(9tBHJ~-QC6!Vqu zuL#;8exI&Kzt#Mmk2f{h&i?`Cuj?u7^Mj|Q6*CJ{>sD}RmA|fgR$iU3=F8UZtsZ}$ z8JGN9W?aY%jSHK0!G+}67{0?8_NSpy^y$z_e1(jm3Y}GB@b~r1TuI-wp<3F;w>DCL z!ddY)3*VeiRysth;0q0P`8X%M3YAA<3$b6M7t3bZ!Ke6)+OfKir7eAL1pnebt;NUN z`$7N96#OqM&|UsS`%|zR7RqiwrcA+Z&~*ZRsuH-$=McpArwqR5?EOZ@RmQl&C)CAC z$#JoEN}1s|2WPt2zN0&5OWGK-owxs+&pYbMv9N3^F>up39c&bL#Cn|z&R)T3H}ujmBT^4tIp z27lYYv*XLDkGsdawwr4`FL^qSd)t5QU0cQV3-IA@)J4*NfNy>C-I4S+fj{=ox)*nx z8GZ55ve+L|A@rnB*W%mBJ8m2uwQ&~Cn@3mKubeaN%hB+m_a0vw9R#nQSI!MKh~aba z?AfK>T}|YqDdu76{?zDPa4<;s@@+|1?IUkO*VW)3x|WfjqI(N(|Gf5s?@7iVDV`Tw z!Ty~l^rR|k`kKBAp0hYBd&%X+2F`z1`~x}_{`RnM(ZmwvH-hfgjj*03o@nqXm%pL- zhw4=HqeBcdcvyC(zBOTxmfBBQIT?-X{B&Xkm0>xJBT8aWzre&YW1_?;Nf?ZNS= zzRUWC*uKD+#Oo7dymW*(w0KlQ)0(~28&sdYXombIE5sAw7vcp~_)6hXh8DZ=H;5J! zd^%d3&l;rK+xJ#qcW?gtt>@eK;Vtg{M%vQ*ZG5`-&*J^|Z?D+f{QoxOzhCM1&v@MX z9@lzbK0f!p{AF4v+1cQ<^$PZiP^MU`VZHY%1 z{@~X~xs{yBV19wi6X?AjylU~xdD+rMoli>kNL8m7#W%ZWA@EXdd}GHzYx||+!CR)E z5sA$>w=Q-zJnq0lWwF6;m&aZ}XKRGs55QYglVAY(rrO8-I=5o&B{Ag?zK*Pszp&G* z{dePAfG$m*==JD;%Xzj1eGd7t9~vhXXz~?e2g_#lu||E+!7AD_=U~vDbiLQXec`>@ zQyj4G0`0RaF=w+YhC7aNBrf-;`@^^d;R}%OA%PsH*`jKBSejdNWWA10( zPqMeRap|<7t0t7L5l>k{4&`c;(I?q^{R?tCs?aZYkejG{3e7|NOU&45e?RuK=Au0X zN#^%;aA^tqhL)=qS@_&&6Zwy-%U3BF0Mj_*vvPD+^sPfy*A3CO<7I8=FxtD)Pn*(n zAEAHu{WR)`b1&To+)7W7EVuR@aoe73+?IQm*ZH+Mj1RTU_yqFfp#JZEoGw@os+0Z4 zS^nkMgIY3-Utl{=EQ%%JQMJfr$%a~JF~O&!Md_}>skq_@(4hEmAr00AVj*?N;#%ad zXs}K`P_9LT(s7(D7QS14W&2m3l2Hl9;rf*va6DindKZt#(mU^F>78rQyKF$gRy3dR zV>yb&sBisq`st_{`TD#3`qki*-j}~>qc`+uF?nw5_uKQ%bw7;#kPv?IY;(2AlYDvJ z8PMEh5BbIU8Xpf`8&Nz8d$oF+e68WGdd{5~_{MA0uNeA{Vgv)=zSCvpmz7=c_p}XO zty4Zg>uc<@?PYN znok_RmwbhN6~Lw%IXX#x%+T%z_JhR9hp+OAb}yp8P4w4TX5kQ@r2f3Y@Tu(Y3E z+pYa0@~O1)j>h+8JzqqvXvWi>9iuncKpy<*_y~8Jv4nS*swOh;J%-;QPW)T-ww&D< z)YTk}r&$>HRK0Orbjne{csn@}ZwAJ$zcH@AFCATf8{cGqTEFRU!Dj(18o=EaaCZYT z+l}MEe;yldwY|x4xc+`Ze;b6$H=Y|!;&V0rgu~$Sm49V_-#W(r=KYoZ{j2S-r>b{y z^s%Fu-`RgWWC{EmN<{mC!>J>K2JUk`tAXj?q>CtTZH4$u5 zsQ+gAmQPjlaDHjkaEqfq3bul=&cako^4;u>TYMV+D(NIV;! ztI?0vMAB!Ldw1!+S&u2a!*lL8$(Q~Mk!_boOdE=O4bZ;gR>;&(TOv`BU{D^BcduhRze25!Pmp$v*^D9nfZTpb1THg)Ws8_MR`&i%GS?l1l8+g~O zWsh&)@_thl&#+e8S>F)XmKVJv+Vv;&wK4CFrLLfs7iZ!~mO7uuT=H?UK94n*#)>9b zS?hkUb-yEn+hk*6PhAd7uVUP*SxfR?mbJODfCJs&;RCFf?kA{ucopN>$9-(H1^Cwt zUR3G6<^^7G#yQuV!$ezU;Dz4nq&@SUwbgf>r&Za454Ux4^!mfh9GgI1cmOA4e1WFzq-_ivFL&jN=vZ39>Lf%sBSD=iE53 zHRBD88Ji?xYS5e&y-@vNYlN6nPzO>yDCt1Iqzzr47RHW2A5XxqZ0s+X+iByH^4;$T z*Za_|`@z#66nl5IQ-iw}{iY57NfO(|=y-F9!{85;bzMMAv37i0Fs&C|ijg z1@W0&-X85OSyCN|>H2E+mJDEv?SEi&O#87i@P>BQR(Y!O@hUE%Yx$R@L&+A|g)XQw zly|I3%TLlHn`W-+`pk!hYw^ut^EtduwiiXEU&QCrUM)0O{odGt8JETeo2iG;Sri-f zU^q5rs$kNxMX-`@Ub>$8OhM1p_`$Gw_UwnomCK!hmPA)m@olbb9BXPb>Nn|A;I4Vr zJO_O>x#wEP;v*u@0Qwgna56%B8+xn5(Ye{Wq;?IgFUHzGRzJ(#m)_b-Th2Zz{N3HR z`RygXz2x4vdt5Tt5D#a(8VB~(=4O0CCMM3k!uHyvpPX@CbOrKz(+QlnXx_!o>en+F zx*;devc4JgT={0^+%??Rx+EAo2-q99o-l%cc}xj*SZS<*d{M(!foG7vb;3uKuQz8r z{1_WU{4fNLI)3>4(eOiR(`Wf1*A8#4dKH>lGdm`mzK|b=9Zf=S$?+F+KCPuY-%maB zAh{P)ptZo+6+MMM>7(I|ZTKr3Z|sCOUdCJ{Gk4&Va=h`Gqu`Bo)X;If@!Z4A>nDuc z@uVa+g~o5@=krE4znyM=%v(AQKJXq7{%CQ>`s&255634rpm#eyIp#29dhjU6^tF-3 z1g{K^Npuy&=a(m@J1#1~=h=n$jIAbI{eNOGcf3-dT ze9?FZdIP-0@LY0kI{%JyLgAf?r8da7K|DrwNeEm{O2#NTgth8$k_&}`YM zJl8@j7uk7196l!7ISD_Z4PrUeGDmmPyLEcE@s#Mtc(;*#-R4=^;P*$afH!}>Wlr|2 zVl$==_J6bYGX7E4aR1rl1x2>(evLRB=RhC4E<`O!bOH0p_dineUEj$qX=(9v{)E}n z*+k7y`6^SyZtB^8+sp6DbB>FTv-eYc?xV=lIQu#EjDGJM-@3P?vhx-8I&6D&WBz%y zABMhkE-gCZr>{is>|5xi`|0}$uKPPi;~PTXzJ_&KjvhSzxL9V5;AZm= zpcBbT#YvLDz7E*KySK)Xh4P*CGI!;t$@ebUGyxmM7#elPbZbrY%0Iql>-|u>)|aiD zU41v@5=mZo;GM1wy-T*j-?8J;v%bh#>h!Z|Y{~9^=Jz;YdGNlQ<7 z{`!c~2ehZ=cW-sEFMsby(8owjV*dlhvFE;7LOmhNH&zOEj&Jz!iTw}E=9xJ>L(CVL zijTN|4!%0eI(R;o=HzP5?_h1woy;EH#xkQvZC->PRU7nGA_prf!@rPTQV*U=zRNcp zAr7B$dAsm7y`!^jr$D!)Pvgwm*7Lm~_C*K?<4!(YZv%;r*lwgZR+WYColT`98>En_)KCgIJ^ek^G^JVta%lBLn$&^d+ma}TzYv$ zo%iwq)}{Pgx8D66zh}JBgO$jqe)jSu;g1REOnG8)Xh~-Pn)=D`!8r7ifTqL`gMDlN zpW5sH5PJb>Z-DFI9tQIpYbn~(dfV?dj&nbC?+4C-)}ixOa_DRg8|49(bk+SK!}$c9 z!_ZR3UwJG8?W^C^d5mqDw@tcR3vx*~wrKOpyA|Jv!)xVNjez6Z#JkbodMC}L7T6`R z{m^%E?Kp7!IO2%oWBXZ?BmM4h%;MkshZGCAP&j`%V}M6FoZtJhkMofL&R;$P&ckm6 zgO8CjlH@vv^ZB?k9QSSC@v>s}eU>mM&H;z#E@t1X&TL4IpToV2V;}bMbQr&xAY9GG z|Fy>@YwH33TI4CQ9O29j)9^*e=B^rpe3jntPURCLPi5msFX3K2IYBA(p3kwrc7yO* z&+W4MMeuj+@zQ?1Px73Fq0Jkx_KCAc>^;Ts6UZHnA?Q~iPoXAL;8&FDd8Ppx!@g1{%RU|8cP8Hp+bJloC9eu) z^Ky9DVvW_GE47xY6>ec>fw3Z9P$Q=gCJ!4!J! zr>)EcUVQGnlv?a`sHdelan^C#l6dKwfgjuf_XBs~5ePnqiVpoqo+M z!KeusHNpEeh5_aV4GxBA!vk*l^kVzbbA~@1VlF>n9_YP2OZL@e*TltztX!o&JpBDN ze47q8w03IK;>d6vNIXaTj~$+9|DMj~E#x=D>cv#RZ_pF8|2O2-#j3zh6Ib^8yO+9) z-KPFXFt^I)x1}oB-^)AA=++5vU3)kiiAmcr`Z;jY)5aqo7+-}O-}sU1kG$M&&s#Wf ziR`)j^A-{Z8D~cAgwlOuLg|Yygtxthd>S80_m+jS_w|gPb-v_}-S(G`jc0pXQwJF< zWRX8EDw6HhLJm#q38(ET=7Ofp@Xa-{Z4B%==^NuoLRi z5#DLNQFK%qtpT5#Jop3k!9vy-Xy~1L=cit?a^>gb%jjA;MDZudBf@4GHm26I^TyPC zgJSTf<&UWa+19FlXGAB{Z`JMieH$m5eiO_`XPYINtMXhEE$AG?5mHY=-xJ#JPVjC} z&r1Od$-J*?Y+RfCCi!Jq`%2pNB9+k}Ej`$gT+f)H^~61Vf`f@Lcw5GKV`dMA&-Z{! zKX7>~xGme;_$tvUy~qS(7cM@)edgZ?977RXA3`*+=$CcrE07Cy+)E(0E8EaDScl#h zjSa}Td=*jo1{I^z*u_V8C@1qCi5kE^;HkiH->TR9{NC(#kq#S|+3CoD$0nqC2)wx4q@$ zSo~)^_f5vIlfCVe-WH2DkY|mKx9;| zE_r9(`R^owa|+lwUiH&5d@8`s_EQ#3E+^Jq>1~}uj>{@Om6wv(37${9EcW?gOj7e9pFj%*W5Bf!)Hrk#pcc;lj%S{#FBPK_4f6RPhX74`9K zoy%uPu*Ra1Uh-FTjhr-ohLGYdah``>Lc51Lv@glEd%kNoGI_*y+rVG7m1IoH$Jyhz zt?%e|v46T4%v*}FsS9&pC;9$R}x{v!SE_D!@gk8V@@ zV082sf53$=|P}IXiwLTB*O?)@Dgw0X@v{6o*>pAv3gZ! z&+l7k^(NuiJHavcJ)842gPgCsl=D>(mkO){ykK+FZ;^N6C9Ng!H|4*nR+ruX@GN<> zZp{z3o_&)qi-BWXH6O)*g&&G7?|?5t;0{D-{sqte)}=TqWE*_QTAoQtFAl=JqMYPymKt)RE&$It`CfhSkfD` zC*4$MzTC%n6({T4PW{29)k7OO^F`~Tvqr9ZBQx_VXy)hCs;?yXPC2v6%li%YL_aC! zt$CQ*F+0gG63tu=?sBdDq|Pn~=GHyMKFgrq*IyAyKYWPuAxPZEUdZj2Gw17(2OSwx z7fVj`4E_F)dcvZcpj`UQ0CH(!PA&y?Jn43~FoprfXX;L;@c9%SKiEXhyQ>AiKcI_x z{B!;`yWb}~AH+3D!Oz|7B4%*u4-@=K<_NDh#$joyoYvko3tg+8Be zYuP?hoTn=v?L1)N`n!<+s@S_+H9N4El5q~}kMXO&pQ%5tkETD%Q=PqM$1oD@KYjaf z+P~7rx0n5Vrg_9;M#^VOtpV@QL0ggEC&Pa}!l%LWEH4!gRerR1YH647UwN*tHix43 zc;19RzxbZmpPRisKZchnZWQPKM|Wg8rkHa|k(tnn=tuhL;z`7+h)r$K8pGdA9F2Cr z_PEtq>VbVdGIFQ(9bv;rHaOZcZJ?{VHrfi>_!rs$m$G`R^diYi_r8S$~&JiegQs#h7fBJA~qOG_s_>~a4Eimxgi6;0p#&OyevBK#=cvog*Y!y zHW=SS((5B*qxZ#u`vrBpgIzlx8x=fWd=Iw2cs_V59Z2!j`tM{E?`0nmztv(FH((>p z#YW=2KHfX?5%ww?eQK1|Yk4NcGrc_H+8&_I{lG%~C1~gW{UX!xr{RuJGwB z*xpDu`#5`j3-tklPg!43p8PeuA&0-xd4#|H=*NARB9o9!!fD}L5N2gX!0ZD1tllYv z-vR?a@D~1>1P2U`NpHIpUXHFUcrF2+1LUW#rbZSp+*-ypYeB7B>^ETR;9Q6N3(8e@ zev#-S$e*tGR;FWvY>{flC7Oc&7}}v<>2)dkeLHO>&_msA z$47wiNcFPp`5n3aSP8~u_GCc|m!IP1mA}tQc)uXfzV-^F?j>0ncBh1eQ1Q%6`K}M&%v~~t7aExZBT0} zJ{cHQ03%?vk$kf5HrX5D=obdz10O|iKlfeGuwO#}xjlt3)Q_DLQ;opiijSl3HskX? zk$j{nVe)d2vDG}&Ji+Gf1fLnpGgEn{7=O8aW^OFZ**1Y^&QCE8@s$#u)%8?-=*662 z)5{o(#}>zs-`MixbVE-XyIogbb^`Az$#-%#>Q!eUyAL;CwhH!tx-CaP_xf~`g+Dnx z!FY{Q0_c%E)M}prEc;;x~ z_XyAaE#bE*0KY8-@SA7gm!pTc_6LF!_X<{`S9F6-zt41ZqeG~+asv1{xb1t+;N9k` ztpT_}!-s;~^#QoqXD&85w8ANuL;FddG4ct#v(LQ=&V__Z4kBe6#+M zoWI7MeSrS7PIi_2i?T}_k>%nIvI*urmS4|QI-+<@t>5nf;dJqA!ykm(`j_pG+=9IP zCv*$xc_I9ACHTPb$!%3X)uuMc-Amq&qXPM61SFFC0`Hiw!TM%RI-Z%`}+eYq0* zQ8rodUHR(zrTdDnp^M!-tSxf+u=z`9qfdGp&!x~knt!F*UoBfc%JbT9QaGj$b6>en z(g72Usmg1}#x{*zNWbzKx_;kR(61YN$eW$rYir(9-=^-E;yd|cznnILx?~*ROnw~{ zU!U}O|8LnlEZ)C?^>FZ?XY{+Ad@Q2>YUD_B=S9@?vh{&vgUG(sr^a80y;wvXwjRD* zhaKNc{HED^M|ANU`+i){-uqSX@)MSGg2~J_WiQoK(ok8>0`pV z$LL!=Lf4PxQ0MPsK5`$SygsBG$WHhN`Y`$)viLc_5BVD7K8#oRFn*AG7Srwj4&Db$ zeeeLh$3|i;C$T>YKTiX`{HY(meedFjAASYfc-ap8XZ7Wg8^U+ov6r=2R>$|Ev9n`S zSs&#I%fHbC9WDaiqC@!@s({PFU)fs03x96+701!JgY$j!Yy9^|SmVF{o3HUJzy8~= z@vrIQaBDouU*k1_HFoQ3`Df0)4dcr%tE@BmJ0bZpE}D$J@P#dX(Df$hx*wi$Yk2`3 z`?&PtYD=%eWzk7c2P^#U`o|HK$4?vKi)EGgrzX_J7W=%^jN_k%k7EhrkY7Ol0b8%Q zJl{`p1pczqAFpcs7LKp*yBqHT@U^hskZJ>^7=z=Nb@F+(zB`&Jb8yPpuaYyH)Gz*X z`QshU74}#7y;Ak89y~GHM7?mqRWyrlcC2gu&KPL*`M2tD9H)6A|B4hp_W5|6bNVD>mE)s4 z_)2)Y{4@Q?M}uRW*EhhKb$aeX#V>)Me5sP%zv|*FZT2;o`{*6!KJV%MJ^V)Bv*P}D z@pY}Q^l#&X!A>wTSTe=$*T`np%4=6Fer9y(0DJ_UK19qF`>e<1c_h#mZ~1N?=?XgJ|i^xwq-Be__Jl4LpJv6WkX{^W7ez>l@4}7Cpu4IEb`9P z6949}m;>`0=I^4PFGCAUN`SRb%l|5x4CJtjZhm>QrJJN*8#e{8;f&VD1u z&Dd<=3H3Hdk(|e>SKl2?j-jRs^xB7?;r>$^VoSg$>1;bcif*y_LUgH{&}T}`-b1HX zRQu0wLhs8y>+3%5nUi_O!ppa#;G_9EkAL6ip)yBVza0D$_|ues z8<%~%nz?vmi93g)D}Tw_vUVn4i1l>wZ)#4+pS{`hN}@mg)a&`M2;{ysy0wLuBp8G1 zf8G(s|CeRC@y~xV&f2igYD{$ZZ@>lUT69V-N6#Y0mjv!b#$K?xXC_lj zxTPc}nl`#Tv1Rr*#NySQ+rzbu<0uE3nmORg$$dl0S2TKT&iUe=$R!#9n)k#Vc97l}jJHgj?5B<-oLqkG?;AC{9>t;A%! z*3+Y(BL7%0(;xhAa}#GPqdU$@GN*Q)X^u>b9t>BUx#*39x3q*Smi5A`q_YQqU(Ok% z`pxK|oI`pKyh+dP!oP0%p^c(nr8``E_t0+Ri?hvIxqcVX@4e7n5xHoKIqP&Kb)RKl zneVi(?~DC2PJ3b8@rlF_H3!<3&;Bvmj}ybUaPad)p}kJvpmVM)t>^4biVuN5Ie1F1 zZY~kaG`6efUALMpPF36|cPQP`W@!d{+`^qve7Qq*H%5ORUo#%8eyPj+0 zIb@PKm;DBwo8q6#-f41iR3AFB<+>fOb?8~==S%Ru^aFiPAqQod+DE={R;@oDyROc* zSSDP7m#GH0)|U;`CLT49S~Y(e|JH0yf%Zoz7cRp&^^=(g_Rl)i`DOn`tO(jzp?t7# zQM63-aCs!{(YMw^bo&i*v*O2djv4QGdUQWscwt)R_HV5RT!&$Z)A4X)vylMi-)Q(HwN(hEehvN3~n z-cS3)Ez>*E&z1iZr~gLI2oAQxo?}BJNuF)!_M)Pb#o#M=II9;ph&~qk^w9_2OIOhS zAYBM|MHl*gHf_w&UQP6*Ui_RXc)wyNHNRvX&^gqP$z?}o3QycQsB;)+FL@o6a(a)6yX9TYj{m`G*;8pq*e!PyZ5($F?S^o6iA@Qy^`;a;HM`;XAC@`(!j)m&aj?{s(*hhFo>g8r?Tqx>@QX_551p(7L5 zo6P)(Jq72N1lPp_@%N=?(3ieXfyXL#r#T*}uX=E7SpVoj(!VOSR>)TA!fw5v8Uer7 zfnRmtR~3E~WZBkAKDUlPI1I-I+tVGY;TFWPx&V#|{~V54{v5Xa`2yt&l;r0NJephk zIjlkadgl8mdH#r$K zneVA&Ydy|(SU=Ufwi|e`|MJ>aea`f* zjqq8d_TW2>>CDz*+PRXvk?p+G$UED4r&6E16X)6Oywl02^!3W+l0oC6e@^)|%~npd)B3~=gSe;Ip=KNx$igIac{c(F64hGJ)G4(Q9Ng~$Qu zuJ0k@mpt41hs@T#E1+lS-0nY74#V;->Q`b*;CtE}|zw&El>iG|WW6Qksz0|6co^Smf z;jY2EEv{BlFCqCMJC1VB^HL4HX3ijq&xgL3^T)ne?C3oS$;5DIcQfnK%)0b0i=IGUO`F_zp}9Nnoi<|fXM#gC)T(|q!bm|uc^wC}S4od}p_=V)r< zwNs~)HbWum^r4#zX5y{E`DmY5;vxJY;MM);88?%wnz{}c&-Ky+mwM@E8`IL^Haq^@ z%X8vi`dr2Huaie1Io*m*V(jwkShKmT8NUx)itn9g`ha!cYJMMoe5|+PEwOHsA9Z{* z$@)tEw{2#R+zGbk4*8F)8RshEcZxrtbyn@%$d;AVE?C)G9ew>eZ0rZX2l%DNrJUcJ zp@EI?uwQB{N7w$s(U*7*O{$1 zv(`E%B;(Uf#;2Q%Pd6E#ZZ4ru>2LV|UaI==yQ1~z=h7>Ckr8hcA(t)y9!ub(%eC)h zeDsgW*E;$xU_F?l=H%;7=O=)DY6*3HSSMXifj`^@Y;>8T@d(=%2L?vKvO=MekC+nPfEcynt)* z>eKiXZ4QJ>b`Jn+a+bcxzJ@icfc0u%Ew~BRf}3D1xCz#RTZB*XTh&#*lII_wom)7! zv!c!N+ltdHzpa>V`EAAdmfza^CyOIt19$0(oX6{r$ur|resEFOIRD;3=B4qb`K&-E zbvjbr3aj7M25JCVd1&{`Uv2gvza?w0#F2dsWzYuWC9kMv{Yq+OZlYYA4%?ARLmTp_XNI$FY~PNFG9bf=^bHc4q2-`1h&2$BckOh8t5yzJ-R=WJvI{!FeebU7XdSpeca!tQ+2638HhVvq6m5b| zBL%<7r`rOa*tl&;m-5*R&iK08U2RrZ`z*NU@z3dNh5nCFKu5cDT)vLx@Na|KDvP8G z^)XX#q%htL4+-58L0`1^)XX}xATOWB&ootaZ=tOwXe~7fyqXL?O!LV7f(N1FTH7+* z^=|MXH3@r{cU8;welNWH32--Af!)Y8ZSF~h!@IYGBae5ly1QNVU8hCTt686o;C%l? z+O4L&8ER8>r&QB|iIq1Shl~ zk?{}~;hVkAS@;=MS3ca;{W0=7LPL*gE{kcS57=$;yfr%eX(PJt zmCR54L%$Pa=uw`c^1W+`sWzhH7+8qEuqI}0jPF8oF6kQgJ?KVj!rJJ4^en|GdX_f~ zZ$q}Y)rai6e<252@6dGIDVmW>)8lkX#q3tz{BAEJjb*iHB+;*4!x*Q5T}f5F%tKHO^jbGi7qd`!Y8>vyf_`p?pXk~xpW8CT;! z%MY%7Zu0SbYD@dIz=AP(Ez(~&w;^u)ZAQ0g$LA#)?PYAz*Vf%?X;$B>@zqKGr)WdD zq{W<#T*127c3n=FKX&@EIPZV=`PWL#1zYpk0{&&;pY!)Czis+kj|ToWj-fnS!8_=? z(j2ueNq9yAeqi7ae~^z^K7=H=nFoL7XvgfwM*J~f?vFVL|LFzzk~)um7;{3riM4QR zdOR@fWgLBsqZoTGx5uKm>xB+*oIb@5E3_Y+FLBX9S|s2J5R132#R<*DO@-??~Z5_v5iBHu>}dCz&39Yu^oFm2yatOZ&S~kcVsi4=6So7E1U!tvdikx8Tx_AlM}o(eemlNa$UsFv-SIz zUOCi9zCkth`*$uqZHRsRQQ@!N@1;$>D_Eb#{XM|P@TI_SeT+%J1BXfL>F+1l5e=;I z9PH0IZ>+jau~?(Wdqukwyw}3mix_+9gz%bOjAyYw9%omSE?qpdgYlR>olB<%o%r2i^QnC~#a%aWtuo9+;EnbAvyhp9b(*x{DjL z@|rZ}v*}Y~Ud$ewmF%%uzu3F>40MrZ_Sl4%PBD9Iq>}~Z>2yLt9FjgAw68t% zk2d5$7@fPtw<%hDo1(?HDOv(Hh5SQJJYP*a=1c(Jep}Bwm5fWeQXKnZy>GvXZx~%2 zde^(sZR(U~?f4hIisZjp{k)a+Nlvmf@t|~haMt;wrZM(L`qi0PuhUk2Sii|u33o-{ zdGS(o8POE)>%6R1;J1)9tVZW=0MEfu?1=F0V$R20>4nyuM|-Xv(V}>!+R5WV@CEUP z;63@k{#w6L<-yER`;Ao3EZD#1LEWXS-)bd3qjumzzTHvzt)v@m{9|V8m9%s7QTVM? z>r8YRh29147Cy7IiToEXKXH>!o5=lz0ep7+`Br#mVZ2Q|RD9-n@O!Ek-Yq$hf+w8@ zKHl%?41|*1ZEv*QM()I#7Ia;Fvd9Q~-l0ClZ}e$lV`F5jjj2`fG5A|GwRUFncO`VQ z3A$MVz1+feIcG55%Jp{WD7CKr?q+_gxYE0JYINn@qOTUOcv-ih=?arS7)N(j{-E&o zvf$i(*|gft9lmtP`hLdV$fw69{P2e69`>%S0|ufe;ivPh79%Gdy=d>c_RF+v^{(9k z97dvH#g-gR^{w@4oUWvJl+*Eoc$7rGX&;k#%qM`m;cM{4kJJ9ez)}6N?|9qy-v>{e z7TMOfHc})1k;$9&>1B1dw@3bmA2a?k@4>w-UfHrKTsO0Z@-408b0yCRrnkP4K@PTl zQRC64)rm!4j(1vJstLnFm2 zep5)RF24SE{u+HHfSZnAy7=i+rY3QI{4}%OtEp66_>ypR136+J{&Pk(nI2KDLCC~e zD$yg#*^9w>wU>JEBYZf#^E5S{H9re)KkikFZDE_bJG^(F>yw2hw8Jf0Y{5Dug$HqWSGW#s92uliS`f52mM~? z<7Q-vsY~B&&nwOJ+Ve`6ux2{1^a<8YdpfEAvWD}`wy6HpAbsM0-lAIi@}u30{pkAF zJ*`JSFt~rHY!>qKLS70q;TAD|{x2ZYf!Q&O@(t zDE^H;wa)o#jen4_;%7>)CC5bHPecDlr$V=XN;T^|Mk2Zc)JSyKeqP8xitz(H_$zO6SayeMPLHhxuOKZHlfa}V} z^5{x(3U-liqkYBt&FNs|->mcaJ#icU()ifu;2ze?*O7(u+FSgaL1*{+`VzK@)BVq3 zyiV`?-3aun@x==EcSVR*6tT8Ne9B%CtbhON>mBN^f&0?oyS1MPyG3?YXPa!raCGtS zvFVk&cB9RUHT#KpXA18G_86{ndko(o7h_5oy9_^qeI~otYn`93F!PT*Q_VBs;d{N@ zGv`ZZk&g5{&+1zF3}&wvdW_p|WPBUL_j;|Hz63t$8+G^?$!vhn@`r4kdm&LEz-qX5Qr2=c}`kzOvsIb0Zay~c(kBt-iv-VnK%kBTj`UwyR>R415J3q1|Tq(bcALruJj?c!@Rok+k zc4X@sTN1pMzpn&c>jCKe5^`0`Im=_zpZEQE6FISGh9c=}=yTIpZ|er-oWg4>(I=DC z;S#TxY;L8tn%6ot`tq0U42z9=N{4e#yIE;=A4okOfgkQ^^Z6%Lbeyb#LZt*1T z)lmJG$I-dw_&zb+KMlBU0>3KY;Tyn-R^E5;dYj-2Z;r#W8+Bfn7mD7+JPiGOWwMsn7?ti41?#crBh@6m74J)U0G|)^3!p@6M~VYosx< zrs?$s>nJ~Na4ogo6-RjHAupG6dlosjGfd8HnaQ~&4r6j|`;k@l-1)MuJ=BPiA4B|I zGC=!s&gW54=3@}HOcdLOu1 z+I6wNtKUcIw?6=nmv_QLsIPFf(Z_P<)%RY5OumkI%Fb}j^J~5I;2JOe+-hosx3eY- znO`$Fzl6Cgqjq?U*2(5LNzeU}&Rsno+-3a|*MLvgAp>?c)ZA6#-Q|t<9;rZ%CAcTO z3LIacSW=Sn^29@=-zb*kwM+LnC;HppvhJ)mvLS8WA y_b%#2=O)%uw2M#rC|Vhg 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 z%0A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%0Du7kjMXCB}_x^s_GI=oisyY^{9c_G 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 z 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∈89ShCgO&T1KQMW4*wj!k@*a3y4z1S>ZvS&f;NQ15g2Q!}TQ9ID zADKaW@+s(hq6%98IIH?UwFQASEA}aN`GQE8IObTlmHINWS`~d(Q9GlUe2g&fN{(6% zpD7OlSMXYVXDq+tyA9vmR%Z>0baVsvA@~aO&x^)6Up(GIAJxIg^VZRpj@@<*-X?U8 z?t$d&H(Q4PxjBd(;89N@^(Ww)o%nVxU@qzhyB9HBw1rJXa@8}`vNU@WZ8Wa6+i-d4 za@u&2HcIlXD6qsvuh_i-5!uz_1B;`T%&C+)y$P?XrJwk2Y?jLyBX)%ij8Wt20ADh8 z)_J}P!|%W!$!Y@`Q_?3}_YIC6yTIt#9rG$HR2M-!UUZm17Fa)o{1etLF~?UCr#^R* zdCUJv{vke8*^<%utHEd5UKg}}j_n&iiK&&bcPcVtDSz!c1Bx?VPLP{u?2x>xbvM3L z>4U;=U?SMarXd_yU|D-()$~QX3#{Y6VBZ?5b~_mh-yhR6=!$)0G5JRW$YRnRx}X!u zV!J)IF!5aX-b)@?Y_}te$sU$?6h4DKHcj*hp6~h;bip``4)!Q`LE9RW#-cvDp_v}^ z6E7WlWv}ORWUuEP+3R_S4i8E8O0stJCE4pP(f_;kmqhl1{vM`YB74@prGb%=#TTot zXhBZh*a5Adtaz;j+u1}HmKwKcz?Rv86S(pWYg%mO_ZEzXw&waOo(2C7GOt5(DkVD% zt$a1TV;uE*%>IbIw8r@4&W?Vn9~^Sw6kl_8^qPL|+k14jjmmzWS#hQ{$qP@}Q2eZG zLOA2B>wITj6|<;yb?+_ptm}MdUG>an#q$H>>sU|s*$(Eo@|^3U-SFCOcz)-DXB(TD z`W8R+=3y+%$-`JkKgz>c=&WP+CV0DKT(gdOtpiy{^`kzzHv#jiiwY{HfkMwg*=O{na&-LWo%8CpvLkGfnYSpHC z9uj}@wF>_YJkTFv-RT{>sJ%^{+f)o4qvs)ud0W7(u=P*aa!Uu=Ihv8E@O?(Y(wW762n%pZj*!EjKx1mk_96ErVfi_)2?1wG?-VeX^?R(bx ze0yJJ>@zLj-dCANl6ijFI(^MwnM({DI|A=_*K!PNsTfLI z_Otcw9@bxW+yr*AA4SqyyT{zM{O-m#jQl2=5=@k<^A!CkW|W#esjcKs?IA`(_@23D zXe+ozehTHZ?0GFcKK>G8oW&n=RgK}x#FuCB{Uyc2H++XYlVRdHm-MsFx<0C(>+(~^ z1A|(hB_?Ype_GE3bNQ8Gw6q5f3~!I}U1N83fYdv}!*Fy-Kk;hsmJgx%|0DL`Rn(gCP<2~E2R)9~<_N|Erpd+PBENC^K zft)(|CXTkab?(0&ZD|M{|Ak^ms)>`DvKpBVp1aa&XxnK8mPpR-ga(Lxx%mxbM!FZVqacw=;tdR(3umR?JJ3=QVwN98}hVySN;~&gj&(&9p)@wVD39^-|AQIdHY6g+2_V1z3=yk1Ch-1zTZQxf4}dcXOM3ZjQC`4 z3SSzzBWdRYcfW%ipm~i0KQ41?9yxGz{A*9XZS%Gf9^KjEU&eodp5(PRiGO(ObNr+H ztsOeb5;+#lwrAvQowPXN&RA9wX1gTOV>uzU^DG?ochf zu@Rkx{lGk6#{L(AUSs9Z64!pNYvs@+c((;y79CS}JGu#d@>4w532tr0&s&V0=3)44 zZa-^s`Z2tNc9+raAl{$5Pk45Y$!l&y# z{Llov>e=_38Z7Ei1urV)9q@LIY@xy~W%dK*uPGl# zxTyM7-y{!3_P36C_Von%qn=5p1MrF^inF$2YCqWbMl@zGc&@e2pE$!YSmW zKK8EcexI$EAUvqPFC3lvU}ba~?_BYadp5RHpFn*S+3l}$+b<#~&eOKb5031%?VUHC zE1qyx2L5Tmw%BKCbSd80mH9f@e-%qAIrx2@ouhSQ+$Jv@ybiJVVykIWY{{RmXYT}N z@!jYp;F;{EA?(cypi9N8N`6(0Y8Uvr-l@T4<7=pO_ek<&c(v?{K^SpGS4sf^0 z;9;=0^bGA^*s5dL$$8$flbf0n%N;xUO~m+Q?BujJpZ2Oe?Nwm|na`OmetZRrDXcAF zpTo|fShO(DUF){pWNhipt}UsyDV+MW+QtqvA6t42^1?`XWt{go8@ZwiSd`%p^_x%V zf4tK-b-x+Iq%!=VRm7~7VQYU98**7cV|x-Cg5lfHN}1{eEXzlhu;qy-sS}`D%8C5^ zsQRm>PCy-X0_G3$uc?Dp>ZlWt99R%7#kWvGt$-h2M}1_jn_2;Z!l>F+{Q-P%6T295 zJ991d)(Y62trd_yi@J$CBR#QGmKo)XU}b)5cy%;-g5`M?fP}>=Uf}M=(qb#=r^B!uv?GqhrUF=HyU}p zZ@ig%9`P^#>hgywGX}M}oi^W3y~XLA72rMpIaALNzqgOIii5|cSL3tSr#JUya@g!C zKG`LyD;tBK#Tz+Sq@2&oEMP}07;U_P4dMUOb}ryiRp;K{lgX8UM4<;;w7GGM;-wXV zNZU*j5Cko@(%MtcR{{YEqO~0DQHwUggln|2)zetD9|1&}w6>IDZEAY}QPfgfz}|b# zVJ^86u!7nWrRMwn*WNp`X9z0VFVB-_X7**Rcdhl_-*>%B`e=wcynn%;;`ui(KS#bo z>a>wtUw#hfccH87u_oZ7&FqRW z=TpG9`k0?n)l0ndgoiiN&DsiYw7y?FCY%AS|*Go6tz;gxiXU{@5@orUmrSUH=bmZc`4`Y{NH<4@P=yo-<*Hz~Ftcl4F z2d9nRRjIK!eVaYqz|aM*FG4Q7kYR1drdcQ7@gj01`p^UCVOKrRUX2j^TJOhB@qQ=m z6hNQv*2ma7Yh5Sx0OeN}O-t@7Ug^kRVleQwvA%u#ozVOhKe*>W$vxjc)@S7`kuP38 zA;m#6+)wX)U0cQ3hW+r5b>J@~FWWf>Ca2{A#!!y57h{w7K6oa%gTul*&3<=m?%nD3-Ru)qyD|Jq10#oL^N@4W1)v|ry!VTDR)K#r{ufA5VVwmROSdk~C*FnNoKr+?vH9uv z70-u;(T@t2Dn@geZGYL@r~h#q{!WfR@Sl&|#)oM11b07+;FJ8-c>?;bcz-b6GJ7XA zUir_y>W-sol%tP(dd-4y*hjoqNbE}Wn=5F?$6xo!NA@hT+wj-f1MpW}OX06=^1XxG z;;-Yuf6b5g{wU`35n{VKFR~+mtl^xzj$wnso0*e#7DYKDb=-^Ar`bP(H|t&HjNI)z zBQF&`bS@KTQY=h5ZM_?hkbmBbGwI$V!0F{(*P~|;mww9g;S1i9E7^m^bDBf#BYT6K zU%y@2$2=+LvF>KA&n4gwXY*X=)(_?Tkbh$z&=T@FumfW^gPV*sHr?ti{~9tHI{7sD zPCMVpnq>0EE^=skc(l*x2^yz-Q0tg4|M-&X4guRq@=e!L=D)!=|G#2PYP%?}Lb}r= z>1{<;Mrpy+Q12a+WmAW?MWj!CFQHEv{pyLtZznfD!^9KZJW{G%E&&ch}DK2)7EA6!K8aS7ew;a z>$gf{+j4$?T`E5e-ZPAUpB0*bZgl6iR5-n77~^Z!_$<4SI#{QAhIWuagUvjqKI8A# zpMUm?ERM-$VZGzXX4(Ez;iY%y!9TU0w5z!?x(;hA-)S7Z zNY6dXe&@cvq4ed+t)c>KS$?eRr%M8lI01I0HXd8hv-+W9qsuZ-8rO%1+)_ zgPpvEoU916Rj4xt9zDapo0`q>IJ&3t*{8QmJd3>AiyR#D!{P5>HyTuSt6Ou<$r& zG<*33doDQw%c0T5<3c4%wuZvetrQRL;r|f-hxvbdQ@XwQe5<7Al40SxbFDcQ=Nliv zzQw@UO)f!*TrZu=`ukV>basXrM>WsXgWny@f$aSass-@J&)BhC&d%7xSm6Dt4H#rB z9*w@&m^|1yr>b-XdchU!Co9>NX$yAmd%l&^v!U3UQ!w1xJ_wy`X8BdGOrt*6X6rNd zGq>MxyegRg`7btIS=JokNtkn&wU+)l^ZN7JHt$7q;8*VXbnY4;+lHHa z^Ri5v<#|q<=dfS*gSL6E*XHs;rp*o5=z{ZwAs@WW+i6qtQ%)>KZTE1H|cm2>|)vwJSo)0?LpY+-+ z%yrfe`$ui&<$drr&!tVB$z28Q4{~Y$5O{NF)!?vbd!EkUzV%{zzRqAMPS6AO%lc{C z9nV&emt=#tqFwNDpYR@>+c#7A=<=cpe0$QVUPKS-!Iq$YSZjBs)p~dnwg%&IV)OYe z*AKEDtRjXMK|jgj{J!!7HTOXK#R^h_3V3Vrhre{*!-bD1|! z-wngl-Wi(g@0U$kEWFEha&X#ntOs}Ifdj-5g11g94Gy*@1#75p0$-J0rQAUDvEDdi zl1=c9!O8UlBE${!T(E}y=QmC(9hJlTH)fQY+zH?nFNfbeh&{VK$XKfxYZ*4@E@Y0U zKRLRF6LXOLYU=F(pJYRPSY}DIF_^%$-Il$TdLIVY=zAbsyY+vVE991ZcmB4U!Sz7I z#31&0=WHowU48|9R{m6Hv7yVd@4t{*3CU|2qEf4E28YQt}mnuaNmG%np@8 zFUBvTeDo~laiBg2y5^sog+b2`=Zv2{1L$N!?H_*;-WLgst{;#58u zS~U;R+{_Z_ZJ+9uM(dO3Y9Vta--5M3CNMPGr2|3J)XU5GNiCVvor(;#zRmHKk zg@?fZb*}KDg7WZUaIyW7q2bO=dExH+(B&SP&G)PMuIq#OJ|x_Io33BUIbxjC##tXb zx~!$kiB;>_gX|fu{*pE41^g?W!K}TVob!vX>HcObtMMQ?#N{XY=BR#B9A3GLnk9ub zs_9?5?Kgw5o6Q*D9e)7l;gPb_f6w@1_gx*1z5=dmKDnoOgkq%{lk`mQJ3f)^ap*5{ zE&P^w|H%b!G(iVX>CB)w?=5(cvrTy?pLaYw_=NC)v&IW=&9y6X96a#W+R=BD=goVs znD;ht)<@w~_GJ(K<~HHayS>-Id_$wgW&`LsE2$N=dQ^FME%Pniwd;wz@FC{AWBqKt zU(I)2AI$e5;X}-K$NDS7tKboPnD2wkcO7-bH6Gc3tFN@?To2zEV`c6g%QV9pD>lLOgz};_)VLf#;W^bLtE< z`A$fLd@%9|bIbY_m^194hcDoByM|c9IcMAOHh9%trmj*jFU`?Uu`Q~xEjrgbGVc!Z zkMwlr&DoW^2pUmy{QOu8Wudo~X&*|=1e|5NvcC#`R6V7OCZ*taP5o-WmPRI&C zm%urOy{7C9OW+ZG#j2s_%24mOi;fu>)5+o2co*{SLU5ylb~WA%*6~g94)l8rHEE%9 zYVrV66FxJ>la|dILPLUOE_nYeKJ89y-VSh5@oC|*WaU)%Jo0ziY3mVksL)+BZzkt` z3Ve)r|cLR;Aj^*e%l`uLuI_k zLG~q0!k4pk;jHOgqyCfpIPgQsRee4VZeB0mK>S0tui|)*2d$?RlZRjQzQFm6swLII zGcP{M`Coi$4}?MYwr1sot)2@AIR!aZkn^_GyA-i>W4P^h#l&B z2k$koM-&@u__OpCWxd}bo+lf=>Rf!J=)01~sq)9;qxIeAvRvS?RorL>BB?e9mt_7?29LXQ8^3Z|82~bd?EV209e^m zQrd=&q3bK!Ds%?GBt4r?`*}R4>-s%}?{(z-R8S)#J|eVjM#&pZ^Oy(Gr;$H=R`HJX zaIYV=HyZzf6Au|=@{5864$XLR+2AP7_XRITp$nzsvv*>l$@0e4)k=%e(S!K$YvEHb zgZGupQFSEU9;nR%+C&!iZbJXAuDjF@()M7+@LsU|%X`35_aFGhtbo0MHIqCp+(~UI z#$EwjX~dkJ^$N5sH@3-ncFUvaiQErxKgRRr>+q9nZR;}ZfIAoBdFXi)G#7s(2d0R* zNCVzV>UUIQH(0E5p=!?8eG*&e&TZkR-f1eM_7C$uFj7xnCG{#b_3rRrU&+KJ}30b^>voLitn9#U(NR&3#_HP*VR8<&F?3U*l_|OmY!iSNc zT~EyB`_+8c^}&1}5@(BK#f5OPQt!`cU2?2O%5L_z+*U+Pq&-Zk5T{}4^ zNA^q7ey^~+QnEFfa3_Ytq=284LY-C~+!q4KbWt3LZb~Svu9zHF*Mtba-(7Xj7 z0nKICuQPVNIit!s`|jQDRf9j$A$EW>zl1Mbj~-rw9)1J(*^!?U?ixENdSofo&Rk%4qbu2>7g8O|e?5w{age)N6@{ z-4i0eA-_fT*}K760i5K-QHz22G3zu9`)oS)*%iRqJ~AiVSv)A*4V>*Gui*PkzH^bHF$!gC&6Yo;rYOf2wT3@+gD>JT*ULK_(gj|z%S`}_(a0X8Nc?|RLD<=tzhIUc!7Sm zwSk=LmE>Bt!~ZsB8{W6ot0lToI75C)0rftc!N<7KKQdYZ@W3MAUXYj8*nSb?=Xb?n zqxWs?*V)ijbtd0}n)$~+PaEz0md>`5Yw#C?^YhW|qVVMm=0%@H`0%E?{S|P2dgM0h z#;7(S>nz%Ld?XHTI(llbB@23SY_DL;3EoZR4O3it5pNi%{?gG(_q?9bqMzh^+`dX; z5S*RWm#-X(^sw~Lj0d6Jk6TZ*G4GK{=;u2vyM?%daEX6X%*Q(Lm_4P<=%4X? zt!+ln5bPLJi$VD8^1}t6H#YOW!bb=DZDzv{m6vAp0NOkBM{E*4<4se;^$$903 z#HrqT>-DD5$omx!kqRR!#^pvKq7b@8-T?3E z`58{zYtCNYS{BGQZR>sEzpmvVoAv(UTB}5OtbfU3|GwOolzq7^|2%SS3yVD ziZ)ISr{bfo`SDXU9$5W(gWIXk;^Wz>y(!UJbZ+Yt_5t$#Qm?&y(zT227gMiMdvJH^ zHS1#gzf!O9Tr1bKHe-*GcLHvC`AmM8jh^Dx@d~gnUwVP^>VN6xm3aR3D~x`UoR6Eb z|7G0=+23b@TMj&lT#y~Fo#y_RprgOMWb~Ke{rXD;JjsB!wiAPg_fU%|$En3sl?F~h z&+uNaCQ}Ul>pdg>6k+YZiytR)eyI1A?~nrv4?6-4iU*13EP!8#u0Bldo<+2Ay?73~ zUMD<9H7FGaiC4gT;0=b~mBD+&ci=zQ7tCIq9k3cRsc9{qbC9^^jl^AR;5i;&xE}s; z&`R(H@f=;-1JAi0o+EtFzhGAm=HuYH>i(>u4p0g0LTjcD&>Cn}zt^}tp^La$4z%XP zX>wZb7p;mf0-N6Nnhvj{UDY&F+ly%X1(y%3@YNv@AModeDgRt~Vaj>b_{9g5m(U4M z*r0iUj=g#4?69^p>3tJsk2YMMLzzKU5qDLN4fI&&LH(4c_*Q_IM*CJ_1Efgt|#-8i|y9mxw=f2 zh2Hh?mK^9xdH0u~KUwadU;kf2eHg#~@9E6Me_Dgki}n^N1~ZH}j)zBabT0firEQ;Vqt-*)7WDCw&mtT-8V2Qk@rn%xmP)?{SUwa~Q_ z`@y&2#bmQuT7I7zCv$YbHu`@=`H?O?3va=_iRwo(>5b!`iD1K z)>HCBI`Yx6*{BO=^v*c`LGd@E;{X$ONMjkiu7mo4Tk;wn7QB8qJs4m7%<-q!j-S1F z3Hr$mfkBOj;YV|+d2{2ZvAf_$wXU9`am)pF=|IY}5kJy3y|Wg6bUkyeF)7b@BznvB z=Z6+Eo<{MjgBCS(F2e_UPD1a=WW0X66sM5?-%>rwJD6VCXtVH}ddG`j6g`?`$Bv^6m?_R?$u;GOb%O13B@p;8Tn~=dw@P zgU!EI1~&MUflcu`;FiC#u3uNmZJDzQx)@+w!b$)88qX2NRnNQl5L;#cNspS!`@-Qm z`0l^npWwS1ug7c=E0Uf(La6x^fvMjtCiz1(spze zhj+}!7jif28I?_Y8$MN?Rp8Q@|2aR83n)%`<4`BRjc2`mHs8!XC6A+jhsQlxb`p=n z7n|U5OHVNu{{ELM&OT#^{cH-4{R;i}&BaEAucq=^_-sE6_q+!TSHBAke}T`ceyi5x zL+xdP7IxB(<9^3%^wXj};Soa?5&`+1ZgQV}6 z-{66M_qcel1los(w??V&cCGMmfcD|lt$KF}a;cW{fhx#BSpe@{aHeAudHs5IKO|4Q zI<>0HBR>8%{dzg_UX5DaONYkionl<-Q~f*-A60y_2D%L6FM0`iP|fw1;LFv4VB=yd zr?CgVTo%afxe?uUxA-!)>3Q&gmw2}<5L|LE@2U;STfw96vV-)gXVk_^KE2W7V{4el zZst&aVe#N@#-Z=s?)(vlZpCLhp=}m*4zATa=CovpU(F)7>RR!v;F9@UolmVQKE3bNQxp?B`v+x!SkaK=Ar?$iJi>9ynU476LE0rB)w7B7ZsrnQ}=!ElGOO1OPb0dAS=+=zVG<3l0 z;1889fA}!xS}WGRnKf6giE5SHR|fr}bICV8g+2`(lfk7I*w@an^2*D3z3n!M8<>NC$Ze=XE|?0jc$i19rD!>RU1PI%SZJK^q+bbb0~ zxoa>`eNM#}-phVZm6PxHyy84?Jk@^x&EeCt-wk}Gc4#7hua9}}TaVv#ghgC8VRH-4 z4`XwWk?w?!jy!LTJrF3B-!Dt}f$kfv#y9jpd8yZ5HTPK0bq(zMZW|g5$H~Ww1DAA< zIIszi^=xf=hIyy@OXxvKd+qU64%2=meDv6PRku$o4bgv`F==etzu@_olw0V`qZ2>U zxZmrU9~}W_Qr^@4py)8hrdpxceD|;xviYKJjnKz@wx3ME_v_#Jp!l(xxlP57>8FVw z{r+{sQTm00=_>%J^ujbMHkkwceg$xthwml+kd`ezZOcb zdbG$cl3qnTRyifIU9&UM33*01P<^q9)ojBY z-h%&33%ciL0GGxq_?~4SNwO?T)ZP#ty`^($@C`nC3jBGAx@+$YP3)KIV@(YG_NDdL zm#uW=`G?}|*k`eP{J-Mw*s$8uKH@Xb?;)+lX7d9MJy;GyMxP3AlL!07w_M*ekL*w7(!)K9CcDqO#>vtKH* z>b;-YbJ(HP=tz&wy?34SJvO@Y`~6eQ@Bc6U-OSvj(&t=YIi31LhJTydLn-pU7XDr9 zUw@5J@vB$l~!C-KW2gRP~OKDoY}{XK26Psrz4O?)tl-$mzF%4RV8fj5CKmX-I9zkVkC zk7{fG+i$#X_5)Wb_No2A+<%R_3h~+G&tq38W**08yT#GD6KmFQw>vez<}tV81$SFk zX%){_{g!;Ei;0IH#5RG>=NAN8zs&U=!>y(0b#vzB1zNwT-)93ezu_n6&A-R${hY29 zSWC;XS2P~>u+7<#Z7nUtzA9t95yrVI-J0Ox53%-r72r>?-s5@v26I?*#-Fxi4d0WV z17@8sVql;>WYYe&zNQ0h`OU}XGG96LmGnIA4sqe>?;luqfw-y9ftSO@>*bG*Sk_bX z!M|tOvniNk*iQ4=udLiW$wY@YIP)fX7`hdoE9c;Gu8h5T%CV*jew%agkc*P3(&3Sh z`?MFX7#a&9_sX>oZh@1pSe@%ogh`L{+sJHi5@K*a53y`^z4^h@u@Rg4Ww8ps?8D`xP9cr~o zwiOH4hlThZYMn6vzQ0fX+3ellh)yVb@%`%0A^2A+|LyBOeg0cQ9LRsZP9JhIIx8WA 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�T%y+P(EzVfiJ5Z}Y*o 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

ZS= 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�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ʏ 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 ssOT5k4DiQWFeikRcGl;w*>UIm_1~O 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

F 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

Y%sa3c` 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

u$2SD~&?y8v-tsxw=N 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

M5>8A5PAmpa>;q1OFm49$fp8(V^TgW6JGHjQ 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

dC#c*1ApGx+OJ`)Qc-)*TDr{+mAq5! zF@nFd3%=&2S=3%n63yaF#N@rV&bw24DV%bWp}5O=A8_QmnbfXdMMxZ;O|+` z?U31zm{05joRT3tM@t<2JPGjt?}p$qoN36gl=2k%c}j)@qxPr}8CoGS{I#T+WO(l$ z{=DDD?=pP)HR>F(*OD|#86GcjXtp7(>JwcTS=qy04V;wdVVgLI3mnu8c&~w1hRmLq zae7_^j=Wb(I6k#vHn}gC;Q@vWV`PWL{9V~3>+*f0_NIG+eefZyRVs2Ot)<7GE`ny{ zOw@R)|ETk>?k3+39Qhjyfixe$Y5w*Nx9`Mo1`?Y-!qNKyQTxddn&)6Gd5^=S`9ok+ zp2r+bCiND753O#i3n|v6_PU_OHr+ws zFq^Iz;m_BJoUdx4$H4K};$d7LTV8kDBKla_*!Tj+77vTsOYRPiWizqXY;m{E)Wtu5 zO>vPGp^T=%P81<}&;(aOA$1aCBWf4;<13v&A00J-ja@or>Rop9q}PVL5W) zD9-!i2JbbL3t#4UrI;;_irU4n#g6!Nz~>JkaySC()@X9jV|ulaLj$|xr}|mCFR6NZ z2ylYxs>_8OVB5a+G~|ij&F1GkdjdzE5u5TnU*KRrnMqCe`ZjPdKRKHHu340D#0;Lq z@z~N)T%M;J@@zz3DTe)>sx6Mf{y#*9AO8pYf3YW_wR9OCBV>r$G@HVE^P{|1S&jMGxeo^8FZ+k3o;eFOKCpoex|+-y`Q`WApesRau-l zHfo<1qSJv`s|IVye5dYmA{HucQxMlcUx(7$}O>P5D z14pqzD3*zNROZhoMePGZWZ3*~{tor+N|Z zTN3pR-t7^!Ke;p5cm9U8>YX_5@||4;&B$SxM~!)C=6dJ7iuu6NYDA_lX+K+WH-Xs? z`Htwh>bxh&2St7Jrx2V?I?lb`7{p{atv7q0)(pbYe9%{hler961J{)c$p=&X9W%^+ zCP(dCLu5DwYbCMQlJ=v=pC^IMav|-thVt4@=UtcKPl2Q5LYEBh(|H%UP{#r9Di@9h zj-2V0KInZFVn*Hdx@G`+Wav^4Uc@3n~%=A8m z?+?2Ir@`r4yK>=lfm25IGm+OoIu6tOz1(-UeF5IPUb3*Lv&aTbyf zX8769X2NmmWB+>MOfJLmh73_3XJeE23@(%5nNhoQhzzq>E64|bC}?IrmQh8D69FK7zj|L+2eb z#BcBLdBwgY!yh>^^o_mebKWmCc%Mzavp}7jX3Ecx+M`2wFTh&z9fU-)9)C^~yqA&v zH1OF3oo2>+CAay{J`b*c#!KEwhLzs9!En+X=bs@sN9Z`y1LzTZ-IqdehUhpGc~4sB ztDNllTHbSc+y}>#3ohik=nY)m4oksrtgN@=%NIuN-z?u$Jq@3CYl40HHmq5XxhCGXv-o{MllR{UoFVB{IfrBL=MLpr1BkwGlzIz!+#g>3E)J?UYU*qdNPS|d~Z|@oLcd| zRFj@BU*a)=;atGav~(OskFbr)fm0@CfeDA?W5ly`@=C7LkASPkgi@+)D~HOMkS@P6 zYTvcMH;yrx{uXP+#CslSEj^AsFKAAY9bUj^;B}hINvB)+-e@Ax?3{i0(|ir5`Ei40 zHp9DG&4Z@PuZh|hh0uH?){?)IVA6bxlrxuS-j`r0HWF1f4l5wp5&eK z>KZ=78^rrwz|nfG{yume=lv3c_j<(1*jt(pUKh0w58?gW&rl2CU9Zvyb$y*GXs)31 zj=ubS!9%m?NqzzxZ6D_H!Q+6Ve9+m4=`w7VJ<0cg(;(hSB5mG?y=lIGk#A0XbvJuK;8vX1_N;Jub` zCaOHBaCDo$6*yXN++Xk2ocFCSy8RUWn{;g2K*vw3qxKUayjNna*-pLT^3#6;Thtrr z)U=WQHZS{sz|s2WE}MTz;9xI;*jwPinM1L6cmaF2!zAFy`@~X)o)~p2=lw~8ckG|i zv0mLB-fuE0=F-J9fs>+MbT2+jq0>{Y z#a{bUS0B;e4(D@SoB~`uU%(DCv8}@#UCfW#bx&@p?iHese_}m(pVo}OM+my3&~a*} zuRhZ9H+o(Ij&|1NPxqai?x6{b2Z<}QNf2Fi0w z2YT$D$y&tCJAe~ZyL|J47B_ur7ub+`H^{Yw6JU!U1Bd*X+2YH-F-YBmy#zQ-9WRl! zufGiM;WB(5xGvpO5762Bq|5J#+P8$ra5B~^4X72C37Tuk4{zEfRE9q>WT^YkB8PY1 z`VYFm@5u4~`6%E-#c%7#+#~C@n*>f1`OiqN|E!=`W}%OY8hSsH;c)-@?+SraLH>;Q zVnumRTjc}x9=&3s=d#5;3CHQj`s?C8u8WI+tLtJm>7rQ8RHn=Ci`s{U=wj=?un%$i zv95e@vY;8~yUnTl`TGStu|wGNCg23s0mlNTrFFn6;53Q*n^G5^I^ZGB`{4%fF{%SL z^7o6dI^dzGz2){`Uw#s6%?`*1y#?=0Y#-~5TjILqL7?rsK-cBaVmE^)rXEIj!#><91YDDm14#RPHJ=StvIICEkC_VX~8;YQ%< z_R~n`L2Fb`DP8_>)V?P~hSRZ@HaFwi%e^3IX7fYWdg}ltLt#Is07thU-ItdL9K^AV zJlodoFrnqtalmPUFN&VFKkrL8?{x<6cn@Pb7FRu-bomn4&l8)f&kW&zDAr3lJz1Ck zTqWp69fWhNL7_V94V+Z2{r3}`?imK%I0sJ0mKQs@_lcMww!ozb~$ECU>}u@Z{Y zOZnX@o%e+lUr*$-AEm%)aC+@7oI3;#>SVl=n$JM%I4s79_pS^Bj(qP5@ul1RwGxNw zf4pBM%JaP9i`maI-s{+#_;U8VE}TmQPLyyko9=^ycQWz*RcFF+`d|#l<2x^LolXa? zu2b}R@UCe-%fxj063+iablSW*Sf@V$Hsz?6==1~N=sMNo{V0Lc5}m#b99^e6&VG`f z7U=Zvz|nQ8mB ziJqI-)42R}6|hOCO*AVwWt7Jb;TP&I_iuos-DhC2MbEy#uD;26Uuy7-cJ!U!&Wn?Y>~g-MgMa%aGE-*n#&c(#sP=b{RiA z>`>@p9&qIEWJuqUKDb`sq{t4%y&65ofp@$^hTm=bBk}IcNxF3Lrod^SoNK9bawS91 zqjXvU9PJFkg;VeFh5Kgej8Df=I{i6tnw*&h7tTWhr-F2PlQ%}KpgsCqe2*0;zV=mn zbcR!*{hkE*P4Yvo(;DEqbc(%uY#jex2IgNMM(rsfIvs?y8hg%C{-xL0a|F#Lq>Gd~ z-`080$oEKhCz=EN;#`5l;2%|f4{SUWT@pPUwdB1c`rA3M~^)lTg`uS zmGQnVYR5u&|L9}vFEA4%bBbQCj+HbsJLK;h)M;Kz_S5Zvsyhqu`yas3&WQc>wSm+8 zBZKDIIJ=28@SY^2c|+7rEyeGD+#KwOOR=7=Go9`|1l>$$Gu4@*(pfq4AHFxZ8#qnk zJ+Wqu7y%B H#7NyUCK5$F2+w-av!POYYUz1IA^LDUlzTP@Y2Q1n3eDmTyZ!SU3H zo4Fj<0av$syw3>lP~O{#Wt*e+!VnpriM8sT`;o4Cq5;?x%c8`4hTkdDb+60tmxc`W zIKEimv_ytueR#iI{0`58JY;x~fuqy&XUP}o0uC9wx zn)&X*e~*OO^k-4~s1RL5u~t&(Vw7>$Fezxp{=7MbJ7a?8w44us{ost8+u;`*(Vr0U zmvDSyM>hFyPV+Aenv=B0*sAur+46r!?cM!pW^2ETwMxbQ+@yJgpt*s13X}MqVAzi@ z&Cdd-srxL}3z9U;TsT1Bptj4Vma09o!hs#)oMtyRtNbu)uIScvb~({4 z>K943^g4q57Q_j_Y3j}WN7Ccb$2VLb8Q|*vQ-hon8_)aW@Skk?H&OeX5M7MG zS~8ZIx~LK~GyfSf#N$7ZVJ0z?=Ys(xLroVH$Bp=#O>XBj&oyW+ARF4E>iTT?_Ne{F zW1Ff=L+I{+^=6CrM3{6>b?8o~PV~weHl%*@`^yc;zlPsS8~T~Rsi0Wy%!;~oFJ?v8 z0!Pk@2I?$wG&|oPYw(Z$W+sLiQqkYbmPd;0>%o6P2>;Jvy&BOkGx;AV=tjRRo$6oc zr?=+BxqKGq5u#hun;!Fb6FBgp=F}Sg{w*UGW#xMg76PY4yyrmjFXgy>1^4L`$#J~e z+bB6Q+n>a3KMkB((Q`C${v~i4$fvugdRoW9tRwG*T?U*cF*7G|JU-Ns>*GV<>OO>8 zusMdgG^LM@MfM%l!SQS=)~Xlp4mNeMT+m!XwfoCak1m)kiu>+A1CG37ENPZ9d{E%P z7jY++zpF^s1!R~`tmM2O1spkZAaOjrcjmk=FnF(_eceQUXN1L%&PDd*5Z+6$R%1Xe zn=NRDzOtz=)qI}P*IJ5sc-P1?sDpPW-o=cOq*?NQj=-s6X(|whwL!z)x{i&3r&3H|I?3PKVnAB#5rEzM5*sKLY;LgdVqtzKY!=xYT(E@ zYKh~~MOUtiBY~^iA&U#+_jK&AYmvQe?&K}sc078^^2p?O)-9)+yso52yl%2pw7E25O&HWAZg;@vLwv6< zv?dhwuY7zkKKOoCDSc1J4z|@3P`=+*M#5x~89HHx9JyHIc}o#z=J0`qwsA zud%E{*WvEml;YC5bpzvevKW|nUT9f8)#_QhRzP+cU z_bRNZ(>t(Rysii|&$kLU#|o?oQQ!_HY%99C#zlma9l-m79Q3Rd^n75_Q{<*+pcS{H_{;*oG3YW9joT&o%(o(& zYd|~bwM+1!?=kugU6$a({v7m2iWAUxg6W&_(-->2hxF~o&v`C>#&TWuirdq3@N=W! z=hYnixa13dT=E6|MctrZe26~cr>FU<7WDl?^Y<4zx$RxIk7TjiJ{mjXJ8YqYu!kgl z*X+5m1MHy$_J9xBM-tx$4aMKbhrTz$w+4;CcYN5NUvJ%&FY9=HFD=V3B^ z40|k!q4x{Fqu56OYpeKnwu>&uf2QT2D=p|UnTn5pM8J%1$O-+KONMC{S?N0PoH9?1OBi2NGslBlzgLuMiWCh>jKE8+II zyP#=xfIW7CPwMpP{$69`1Il-)TGUbr{CBcduz5|-`M3Dh zQI85*KGb9`{ok|)ogT6Wlb-XWoT!HDR$8|nbSywkNA(xcUyGPG6(6cc$R5tfA*VkJ z+JfxiIK=QEdtmWeK8^srPP}&PV+5W%cH`K` zfl?l166#@B zEx~j3w=e5-I{a?I^DsL53p(F3?E3|yK6Tj>`D-`qAMinbJ&WXD)C1q~q3=n29|U?k z;KTAU=pTeyu7jxO{Os{n(5d`(o}eE#u~O%2p3oO;V?_?WHa*Jy_T?b?8~!WhPxepp z)%PDU`VLwK<74he7UZB~rJ!T2A>VxC#}y=>?-)Ps614cmkG8hQQ*^y)d&LPk! zXxigdhQ4%rB>!;jFI@h?_pXNq&@(&-Jre~zW_@#<;lG8^xIGXb%Abv(X8>%4axBZI z_%7qGRcTel@Okm}&m4QlzL)K#vH$B5Kxc;>bRH<^ToqvN`R0dBFA0BaVSe}ke?KhF zbP)6f=7*4YL-9q|FN-gFet>-S{i0udc}((S^e!@Z?!v8f_jk3| zt6g+C@jR7-uKNXDroDbwdd>)-XG#uw<^|CMo%!WIioY!0q89S&|CHreZ@O5|?Eln- z)E}j^pNwPwj*r~G-&KVDyNdbfQ5ZD|)v$U`g4M9t_YKB}a$XJDEcSaH@S*Q9e3vmm z_S1F)FMhR1XFONAu-K_Zitt?7>O4`4pa$ChVz}?^D`fH{Y*p5a-_;)0VogPh7T;Ir zpd}h$4<93DyX*n=UKAgyKc`SVjoxAeJ;pgWZ+ix7_|?b%dYJp2f_+5~L z-<5(U(;vejnj^SbpDC(EXO?d%8V**Ld@si!O)W z{=`7ocoZMRo3lz0>myP4A3o%N^^kpJ9?ny46z3`UuJ3Q^Db^2% z{PCe!U+NR<{|Y)QWuH*n-=y(;x$F}zu&S8<;=gM#FL9O5^E}Z*92&Rh=HU50!Sl0P zysrzfAEH;Uuj*kxMWR0}^I=Q+*}vB5)pEi~Iq01w=+*n#-_>4@2%u#|4q7G!*o#Sz zzF&+%UiyBK?H^U`fb$&MKVmPe_U|m8@wnYB2R$Q$=)sz+x;o!+djEpx z)&038^e)ut)%^Lk9P~B>(A&w7uU-!jeR}*M`gD59-ptzak^uTH$U)z2f!f1MsJmX+k7XS|?C<{Q0!qILB?K`HcB zh<(mLe5g;r>MPI{!-wjtM$}i7a~n}#t%(${8cVOW+A_a>`nSNdPx z`KEvV^9c0;G(VAp=5-k!GxU7(f??mfy(EqJ)=2)R^&gV>Zu;LXpuwp_op^Smi)N?3 z`g0DN9}_eO)mM4TyA}EUbQkRoPm^=dex;AR_cP=z^C|6b>LJh8oL3(iK;L0G=$kC) z)6c70Ti^H1u~wN_%adPWV|qT^{Flu>UU2cClbx6#NSET3rkgYt>azh6G-p!1>C zBbLqw`aNv_h}!%Ao(=c=0fLX9{`JSk{#cJkv%#yb-vZL-P}KMM(EfKe>2Cz|hYx)( zz;`o0z5)8;YM#c)B`@Q-+9%_jgz5T8%`FV`Kqi-zF z&ue~w@6er`pNipo5p*|L=&uH|TZ2a9&+%csZ2De?@A%O78k*l4kMH=fKgai?6Y=ly zVSkQTVe0?qB%cm)KFX2Lcs%c~o;&t@44zLxPoB?HIsLmho;!0~&iVWigs<$&v6T^o zubw-$avb`a?IDCO`!mJk`15$&9zghNp5!?Gd|ce_i|1iBS0?m(wHZG= z`PP{SZKQmQo@)s{=tpf%(s%3`w5ApVuas%R1ebrQm+SVK$~MvypQq})?K6Ys56nfakT>cx+r(d4Gl zxDL<5j}y?dObn;##JxU_XRkg#Ygs|FE56DX*sQca!?8E2_Lej z*|1-|CMm#oy(VEctmQOj!&c((!T88E$c9autOf5*zHw~w4w9A1D~|u&gy)V8JNfB) zJXbcX)iT!-zKUZ`e!7D2RlafZQzf2<>Ehn|dHlM=$TuH{)T^w1>jGKgL$aj$O|K_r z!&i%zLm&7^S*@pecj!aT==;^MzjX2D$nFFeZ%#}*E(dSF7redX`2D<{fv4{#w+S~P`zcwg*&ju6fvLI5j|U0 zr^dzp1^->!b>`x~;P3d&Ej%sOZ`9WBWYj}){mE2s(|!^4AD@rm=PS9+1OAA$l}=D6 z@;QOHeQplf+$3l-&jVfvsSlDyeb7kzL+v~$N&81_9<(*JK>~C;an*?>qw!qDRjoES z6wj5dYPG>|Ja^>c%+&0U=V7+`b0L>yTI{j#KWRT#eNXb;#(MvJw-(R+^4)4Ycl6@q zyLa$h=|#(TS;F_pcP|pYPrhrw^Dw=9vgm&&-`(uu&9TuNT)a8??oT;*dsOh|m+!u7 zzv65cO%AQoa?q3(G@142RU!SO82P_eU(_Jh>HWYM)f-xES3~s%dVzAbj`o9Q{2c>2 z9s6?VABpFVeL1o|*u}3?uMN$??*zf`bHeYHzlY?f809Awuif`qyX9DKq*%|~FMIm) z+WCKtu^w9=^7flwZ(bhmPrbzYW`F)SA@QHp(u!Zy;-qiHe|aCEfbzj`(1Q=F)k)vz zwRFHo)|;k&p97t7Szl}UYdM~)`ecE7e&%ufnbN&BKl3o2tJpG6)F%sSOU0TV{TuR^{Tb?))Ih#bP2c2ijy!q4#8>}e1C)$8oup$*d{BC^Yvl4nX56|$C^;Zfpz2aIt!$&@ALOicYC+emk zFB6^Ar#dkQ{}&1VSD5~WJz?N}(zs7r16euz^WMV2Sl6%rI26xW|B=nTC&ay|1iKfN zgdA(J=Q#r($$JB2SlfVS_{e7^^bGOq417K$eIQ=dB7U90&NFyFtG0jX;b-6@|4j-q ztVJ*641DO{6d<0|4#jtT==*H=bZsU64L-U&Yhkxj@tGy$x%KIA8!i#@e9)AqQE%$@ zMDaFP|Lp^;yGG@4C;qO&^ZxYQm`j!Yw`>l2x7^Ep&NJU**uP#M$Bg=u{6Vij$shE5 z!}1U6QFY&(;t_O}&-v3G;KMKf+=S;&3=(+;c5ywPJ2A+qJFm?lk4J<&p30#=DG%DO zkp7BPJmC8W(;v;f5#d6qq{Rv z(cf-_eg=YGieaqZjqefUj}m<7JM9-DLolC-56x#L={xjSf)D$1@EaM4KgWmtIejlK z!}}4+*!vM0;aevE2NIuRpIdQa<>M^w;lJ>`vy$+=DY&CkV_^-Fld4M{JKqP-!*a(l zLJmRq0k8Uw{`c)u{`%X3=VAWWj6V;fyH|kz>L8PEyW(9V;(a6O?r}R)U_H9PvL3Ob z@jAZGEoJWkc?rMo+OL1)?KK@Oo8AW!AX*R9bZ>CEpF2t5%zDR$GY&X=+VaaV_e^<9{GH%_4-kT-8S<*K~I;=(h=*??b{3M zwr`K%6RnFzOX~`|#Ov1J{Vsp1{tS1Wi|W>1*P*Vdx+6YE*L^hqn7WPk9E<;7i2onK z|Bu$KxiW#jGZxRvgr1LMGMD{!_|&Y9Z5a=~hR-@(v=S_Zd#_amd@>cHP58 zZ?{g?qm7-r)UE5jOWpcDyVjBXHVhnJ_wfNgsoQ+WPwO_^*|F~9`-g_`&ih@hC||ZNBZxmxc$6kJ^B%1)_QzszHTi(Jl&{qt4kDEkF1$Y@5Jf1XztIf^wfB)swom*{M5disz1Vv-g@YM&E&YnzN+r#LuO^dj;$J zXOgBo^u06ZzyI9WHvaza+Wh?e^Y1}@IXDmhx)1Xg`TEx#B-8(5{<{P;=E{E;OPccW zuN^4=9n?ntFf31hXifgxRq87w|LxKWeSKf@-yfX2K6Yn2`lnC+yB;($ z{|w20Rg$KB{Il))E9o5jzwH0o{_jUOv`zjygyg;x^jD_-%xaeXl`{qg`d7y6uWZI_ zM!x>_!NPX*FWz6t=>3(ygT`F>?{P^}KK>P)|I#`3f4=_Ip8LPwU*9(Va1O~S4}WN3 z{&Vz&{ohZezC!ZfPgF_>Qv^*O`IQZ;|~P^fv?Y+mGuCac1G1ADHI_WkhKx3|Y;aN#jKK{8A=fB@v*EarsCdoYyf8T-gUsmpy zZ|N84Uuko{+^-e>wY#+C_BfB>`7f>Smp{d;h#MJIr_$axr5YqNWZv9()2y`&nN%XHvajaT4Z ze}DS6{QUjuT%qrx{fBzslcGCR!gFO86I><6#|C}Rb+fMoKo2RU1wSPo?dYaUC zNdEh^q$wZ&Y`grI_1jNs`7iyymj4Rc$ltf$lApit!1*sD`!fgk@y~x`w`PB43FbZW z^{+)F({{{%F8@OQy8<-k%72$jn)30l;QW`((Vy}4r}pg69C>xy;QblppFi&1a{qh{b07Ko=Zc%#(Ld3jap@cR?+(z&{4*r~-7aa$ z!$0Lb0`_md{>JQKZ0qhL{^qK-@uxG1uRQvl--rBi%U&(F-+ryI-`%CHRxf zf8U<_k-gf;AA08L4=vn}IQqhVT}=Xt-x zeUN3o{&|O#ZJzZU$v3CI`F_OFH})f!NPUOwM=q8$<)LqD2lCH@u4tQlHH_qx$Nna# zzA(>-{iCBV_~))tUm^avODpvCeeusRd$!y^pTQhNzW({xU)nK$`uOMdpfOj!pi0t| zkAJpZzuY&U%KhJh|H1da{OIzw@%KYW?s@q84&2XB`R|N9TJB$)F~^Xve|>OcJNnmX zBc7r@{X1yPRi8dCY0AUDw0@kge|(pI+~ujZvERAG*G^`?kM(G|{f=sd{T?W7CC~b; zJ?+Jw+cx&{^$k0pz3iWdy*z}ul6>RcLXv4K_TxKJeSLBp+22Wd+FuLn>x}AGpuRp7 zI?T2I{gKpJ9{FHLuCK@H_y4;G#!v74f6Q^@>kl7X-#UNDWB=>u8~fkCgT`F-_2ZJJ zJoK%_^R!>T={x2BIc*cq=MrB#LH^h6_p#kuZoi{iVZR4TTWNj%Z*zOGXSa>Ld|kEk z*~|WU*vmth)5tg8EhL$?BLBB%eED4)*~?iwp}pL(Tg&6iz*gAHo~^W(Haw5?jZb8c z^nO$Hdjj5v@&E39+K*SZP5fJu-udF+rfw~_=W{TNl5hMgCz-Y){N?>SP^lt;a1wbA=zg8k>e^FA4zH#qXb`((br>;scm$ophIzfR~dA9=N1|9OXt zM}L{sHu2~NlKak4zh~w7>vLTLu!?if6>3@fW}<@ zHCxh@kALkz_2uDhUQ)m^m~a;y}z;oH0H{G^^&H1{3|&Bh2DpUKV|*q0owEa$;FqnjXzvS za>~OWT9W@<`a*x@S5jXg`R|vl(AN&0|CE1T@q?E8XXjS<=eJk2qkkg*x%7?x%6piX z$d&*8A!*9TKie+<`TDEYU-_TQf0tg|HvT??PwH1^ z=X1p^_s`=Y%Y6NFjFfGA_@__)>n-&ivj5vl(v*jP%K5OMdXv>dt$ZKM`U~5}pVnQO zpFe#c^2?ri*zc{FL&?{E|4cG%MSrmk&!aMa`x{v=RsIj&2Rx{a?0MMEW6x>XFDUOA z7>_;o;WuE8Azyob?~2yhGsU-@`IpyAS-oHI7--DZFL+ealt(eJKekQ2IEm!G zbL>Zye_h?7<^I*R75-HyZMi+_9UuSt0J9Rg{Og~W3!l%&zk>H8q3?r1edL?3+Or?` zmp`kBeZT$lfeYHkKkp+swX=U-E%g=RpI5a)U*8x1{Cl+J z{&^H+nXi8yEM@y&^3PqRzC-#2yGWYy$e&ujz&9U$mwv%N&TkukdUtMq{2%=kFM!w*$KqHM3;Eox~`VJ zw!39FM*1!4U|Btyus53>wW`+ii{p9RUI#lp%8G2>WLXm$J6rZC7bUlpM&fpV>!^1Y ze7pUT2>#6){9F3>+vZN*@@>blTj;l$*L1Y(b&-7*9VG1H{q5U(?p7GLzg%Zk%`e<- zbK^JLCww{3s_Ic_*{ktqmi9lFJs(m49(pPs)+DU7HKco0W5=0`*J90e_%uZ#i)IY? zr25n+t>!7+3#m@ZoPI;u<9Aus2zqvU&xE}%`mPZWWJ@wGx@hp0HIew@ewOul7wC0O_0e@T(9_z(;`aKZ;`U^# zVDo?iYr^_bB=`8@hKW`tWgSvgbitvfXRnUK-3+qRGB zc+nYKKEyo5png`}N6WKr3>s$|{9>H^D3$1JM~|FuUg!=G0l&GbSTE4W_L<=v0ApCyclW%s|v zsw;?EHuRI8(!I#OatdsJEZL>CNb09@5_DGi!>aL_jn$32RK7ufU(z)Pm{BWk*8#5t zc(rBV|F#3FqF7)4yT-9`dqv#JCbDCy)E0e3@SaT!KZ@DUBH)yDcjI_?@5g!XZ1CO){Mfj|9NzmC*)L8Gw)yL@R0H>+*%*DFD zduZO5(>&jxxu(p@#xCOVjQQ8TMfPbSG!MjD$-WNFx_?y)n#+y`&EtRMp_%#D0*l$$ zZbWm(8H#4|FKMf11BdjL0&S@iJ9==S_jICpK-IdAvlefE5c=wsLth7Q-lrJ6$Bu@r zmJN3FbwH8bFNF6dtkoE~Xt9jXI`5@|_X^^@a+Dv<%?aVBZvZFAPlpNKTjHn7ffLpI zRFCs}3woN!-)p`8&SW^PHf$oxHXxFf@1MfR(w1^fFASZj8% zV?VmhH)AG%{JjJ*Kec73pA0jJ=unnZW&vY%|R9}aZUk;Tk&fKv;54)vWw zIPY2D>i%AOG~#@AH;4B_itOt`c%Oi^k_S4x>-O_E!FvNRQ`1WVXy$P~0h}QFnJ;*6 ziTw;G-VOWl#Eru^?^Oox(0ewvppV1*VMX?dA-wNFylb&e=lwjvd&yYnJ-TNo?-AfM zp|;ial@j@Vioi*s22P#W--E;AkBIZ1Kd`Ynl`GDV;=KRd;5|lh9(G7IAd8u!itOD& zcz*|L)pYgO`yqm6=qsJd1myQg#mrV4fYa2|pZA!QA!1r;VrM_zvx((Lu-Lm8I1R|T zQigi$?Ft<7o!SKKu>S~uoHZP0fq|pPpKX{QVD&2Dtn$TaPHf?|)}Mh>qSY-r&Srtb z?0H8n6I8CI})kpd9o=I%ko8cS@oF zSkC($UfwgY+Aa?7V~gxxhwwfCYc;}m{PN%|L30_^Z0C;l(2TsJ@?baM1jVu60mr9i z%g{ba?RSJPe|taTSVYM%ZSp>f_QuC@-X|Np*FzVvXfflR{$Ba9MfN`aytB2}VXe|1 zDBjb09E%IyE6A6pA1-; zjtq}4vR|3x>pN`i>#oO2G-L13oVq{ev3by(Np#~fECfzPT@IR0;xtb+ zXs$m7G>_lQ(fdh7_J9zYH{1ukqn9FL9rO33)(2oVb}Ccgc`XRT9z{SP&_PAc~JSq0Q4#o)_#bGGZ)VQ zPV{7lcRio35;zsdz{V!^^T-f5nZ%Sr>@Q|5{ta--2KeJVCvZ~KL%T@zkrX}5R!1Lz zy;XeiNx*3`{7c69MK}dlB#5XD!xqlZWOrIn5Uv zG&cf2wuaXvEVi6kWRDD?dD|k?*vMag_H&A$xr}nk1-`zMO|0hqpUuE2+s7?usjqPY zr-Jl8#T!?_dpgl;cUF)612_%)xp6$apT&7U!r&cowK+DVhvPeE71{PF!M^hp)`|u2 z-pAoRof^5j$HvxDE)ac*`+=j?V`)8ZbOMg3$I@E=&~5Xge|QUUN>C$(>irzf`!|?1 z&}}t|oE2*x;_!Y>k^T1&-e+O0g5LgmUkz-E8zq!e`gZm3&iqT%KfeP`YN(rLsrMHJ zP6O596QX`NnZyEK*PRNS2B)59GSv4VEMJ_@d0%Gm-bnd${6P-y=NH*CLU@m3t=W6} z^M1RaIZCmmxPu?fs`fjOXddqHuIv38;E>*%$mU0S{hi4$!+Uyt4c>k8#f6;rOZ|9H zX|=?KMfT_r-V3l+jnhwX)#0ZJ-peRPUAwP`cirYct3!HS1+J(i$Yx8R7Xf#}8D0i2S99sAL7zQJ4o`5tb5E=HzT8%y9s!q`B)k_7< zO=CfG+OhaOe~jOPBeis&hK(_`o&o4k_i;&9;V z_B10XD<IwAH%e;|4=TOsN3$xYehHCz|(09V&VeFF9Ky(1l6TvKHK zB}5meU@cico4QycXlA_kRcD&I9V(i~F`D@qnaTTIl6TtUpZEih48eOgu@W^2&d3fW z91&Luhjd}oB-!M3ocC&jckJVuV-xxLJ8G9~`E^D1uR?h5gSC?ALsA`X@_vz^xryrV zZt7f5@y_jspK){oj;uu`&GLNk4B(Lcu(;}+Wh)$}cTtOeeGlq7amHcFaDqb*`gN*4 z)N!&2aYnWtII_1aaXh|!1DD}3h722N|8?)dj{V$FWEX|V@I|a8&xK7H?ki}9{UH9R zy^Nw+m*G<2=rYvf;T{4fM1~o8CVn??%0z7w$a^*Cy`#xH_U5szsT%sGKv0tzkD%p8uoI>F^|4(IbU*ctQS&*?4;VBvKkYHhv9bB6 zA=%v8acpjlX4Yyi-c&vLD`zH6&eL60Nb_|2s97|c%OpOiFS{0JYioM)d8GwO+*_~? zuKM)-jn!*<#_fJHt-5|Q3+noHlkbsDxMt+$VLh5frr9eC|C8%=V)J`_)q0qtYMv3< zrz+VQ?=Pjb`moum=HyFb?MBS-Eyv84WgS@6@DEmR@cBK=Pc>m4Y<(oUXicBE;I&Ng z`Wvj>=i9sqe+g`0~ZYnuJy^L_mmtr;k37xRT|_OAfE6|&jGwUGkX z{2~3@PoevMG(#t7Y`W7roah{?(b;ro{P0y8tuFa9{vCbqKT`7U)?Y87zb_2^ea!wn zW-rD3WxuUfoo@F9m|xj8o6o;tu21Nu)MXn50(-MYqm<`U21 zB3~O>bJ3>ib$;vn*vHAglrj=}((L0^;I!60j@_f}?c56E%*Q@3XDNKcZ69gE zgMWMMBd>V!qpJ7bS-B^s{PfGp@ceYL!1l{eKJg{%Q@>=j`UUT6 zI)k0+sP61vbuj9Rmejj1i}lQUx3%_C411};EP6iiG#5{$5k$lErha$V*duSygwH zT=mA$*VleA=(sn&xV+@!FYcT<_SRT*?lm#oKZ$gS+jA}Jk=?{SAa?f$wfMKl^&g=& zKQ-Mv%xC3rV$t`;#SpE+)0^*yDihd-9DjN zt2Om{{A2%m$zzZGr{a!~b!63_k!Q#r&3b7J+ zJ=;Ft6$aQxT%$7|`}p8Tl6SX#3>7-`)I%+dFTB4~Q1wUT9l!XpKlliWFT04f+cLh4 zBm2QUw0!JmGu;bp!G7#dr%D-m?dLsUw6>nUrycC)Jov6(y_C`D%*TGN4zQow2+uFR z7`!Rdb`pf(*k?r4Wa2`SX_rl`1J#D6_Y0$6hSM1+sK2xmmakzbCeD?1d zxqn|U5%<5bf3JNLXPbH2$FW$yCHC>;WGN$WJ~~vBd%p4HzP;MsK3;{~{qj*4jm~`R z9WU0*k&jwrFZ13&|0mCQa{$(FiM`Y(gYBiariXmv%~|bWFN0z@ z$Mu@r^Rr>>pqs(=?MRtOB%k)D{)31wv&2ofTXJbIW(5Jp_k-c2-I_#xue*Ku9prs}D@_C58bkOvW zuf0re2Ya~#I`FGsR-fCtc(O3SURDyGPdo{zZyj3^^=$?-63kXY>f49J8f{VEev+kr z%gnsu$#q!2CHArR>C&gX_3dSv-1D`MuiL>s_6)F(2^yXG#FH@r_7NAlGvi4>Ki8FS z29a%G1~O>AWuQA?gHI{TeW@cbizR1?QJ7$~UWC zLq8=?dzk?mT4FDko*`xCjVHg=^pLN;Ol}8zDGacexJG9__A)2HUj9Gwz63t1>TLfe zGn2^%L_tA8$dIrEP*6~CWinyMx_n}_RwWP>5UsY_sud)VphB?bRxK)6mJoEtrICWv zswENxG1M<=7r(FinPjpMf-SVzl7i;{yl1)h+&g!MnF!eS@9&5AWbSs(d*1bV-*fH= zF@JV_5+&X#x5vv`5$!{Fq5dQI2^M}K{B40tfBp>G zJMqT|rJsrL$3;>2qmP(FyFQ6xeH2;g_{aKb`o6@fd1gl2AV|8%L^HAB1`s z+7s8M)Wsxc`8x_6>T5QjzGedIYjROvQ;PbUq6HIH1*pD8OD@Yseau0`w@s+28HCt) zBktdc`kYqO=d@@kwL4Lt^E~dKjQfY+{zq_s%YsR(D%}s4RcfxX3f#XK^)&(1*UUtH z&7LniQCIH@eX7LFG9T3D>@P*|E64k?^w(gAh+pmXHMfF}(eUDL3EqtpFOG|UAN?)X z!X(JQ!{g-NPh;@!nF?Pds_*VP0sOlOHA7DN?!X|tX1ZiGHq@Q;cYJJqmPi}xKbeRp&Z;`apkWexfekG^|(zNA^Czx@+s9uno3ttWtA z21ntSTaT7zU z5ApEJ!8;_)BKaj*nTJIAW%PjKZy%pU?UIvz`FMWU^vnBE_+=pl6Er z#G8NU>#%;4epBN6DvIxCfM4DuwBQ+C^~ZZ=AAf!G5az*2-@K{x zGZB9IUKDb8CCD%H(U*Ai%kI0Q^UDp&JS3`L zDoy~u{1x-y#4n?iekQ^%)1vT8KQWJX{gTGkQ=03ArG9b74>kQZ_!Um^(_rvD*{1=c zWZu*2PaU1d`PDvu_Izi&`eq#Xry(P;dYeC?5BB%xIjjfn_JipB^B#?(i}C+x-|^Qs zv!n3OTBV0d~Uf4@bkF?-K8fg+Is3FE8x| zUX-A|xf1V>hhMI~H#)yurp!a4`eyRLd%CzUig(GZB7CkHRmSm^(Yaq}lu# zRx6REy)J#4#i9nZ33UarFzCH=xjxw^Fd>NtbXA|^fSt_@m>8(fQ*w z8b=rP$vrv8pFggM!XGP?eme07@l-Xf$D>-9tm4-bS(6t4J{SN#xI{~?4FDSqESQM3 zdP~ZDshXZFFv)sgiL_3S*4EK~a=sI?Uz%Hg4R*uHe$B(Unf-d&*?wIv_{~1wUFEk& z-vz(*OsrmKc%1z9)Q_U`+nLHdCaRBqc>?%t6Xe`UA03!u%7qiZ8S`&jUpH)|9J|&3 z_=KM4;4inuX}^FUBaeByJ~#^hG-Djm;`6t}yW@$^1QJRv+o=^b}Ro}F6Pi~&z$n9uw`{>KJ{GG z$;7f{=Zj~@lTQVI)Y6edhi>+VSJxYFzzG-;6$cvFpqQA)=g<+R+Ve^*4hE>9bwIIj!j^?SY zgdN+69M>e|xCSG~^)PZ=@4&8=x|f!fYFb$_a$K`)Ij;Rq`7MX~WIKO7gF1~^{Pi4- z6}sAoEf^jQ4d87h@>y$L?#SXCBJXD{$_xJm)`) zof}B^J$b*TLXck*gq3{nC_G3s`)u~-z7cSePMa7cz}FgRp7}H zdI{e5i9F}e=I7{rb*Jk^*kASc@|@;l=e85A>&NK@IQPChSIy7ieFp+7vh)JBH|Ys!&UwDB0TeEd9IqDWAvPG z4x6LvqR3 z=G>;AAH{qC@lEJG7z5eR4{dnEZWce7->atY zRMY;Dv`=I$#v%8H911($02)!B8}WSlR&@{bTb)~a@Au?;l|2YwrgsaBz-~X=&WxmA z7~e~7#J7_h&<{6qL%AMpb7?Psa1#8InOaJFO&@K>9L-ZUS@YIT!7(){xpwE#N0txP zQp&bzsqN2KJ^Jh#Tvv!b6VKGUQm|j88~yf%Hd0L}Xx@N5FB?Zy@eirO+~6UV>s%W z<|n1p?gyP#B)Q5~pna!D(^uf%ephB~=Ft_)wWQ3lnMvK+16#_T9iODNSA*_h#^-6F zX`nZaAq*PR{zmqFjcBa&ei~~l=-&of)-Ad*?i`G*2=!crz-gGh zf?TQeeUWO7Fuy@@d>+T&;9n*C+Z(D7$8|V1Fu8DrUP1d&^e+|jGIZ{saiyYvYefHM zYP^4^qJPv5qCdH~ZU?IsbGPrt+)V_|J7{k1xJK}76KHokWVRk{ddI`;ogUUMQQF0< zO?;jldJ1hO`-%+iDKcfyhvymigMi=x9D~qbtEvA9>aRZme@;|? zT_)eF&~BkZJG=hM%e3k*rnA7u?j&t9*#gpK^c(53Qp|BP<|hktUyq{(ywHj7CWAkR z%*`IR7qa1oEHWJh9me!7WF^;gcq`L2UTsE7KYwrydhTtC3QJ?|SQ5C3(r00>2BAIT$`2L$} zZy2Aag!U-y-A3CR+KIN5wU5xY^ZBXDT&)zgPW3O+9Qa)apV;hm71`_0t~q)9zE+M! z@O%C2#QA+@7x;aNe6PaqZ_~S@*y}XdH@m;1+H1Tx zmK4>Fbx_R=qA>{N7QdgH0PEZO0Vwwe&R$pz}%JYvA9He|{M2 zlbn4`d#!s3_L7voCdEff!K=ih#J7#$ljFs!($^%PYa(pgI|i@1YYV~aPPXp~#*d!R z<>ELEN2%|xLz{foxNYO=i4nHZGqCu>wSC;H_I!i3u?aLTPtZ1|GJ22?m=f|R?PR0v z4RxYMM$#%1zuV<`y26Kr3CQ!cQRKPze}S)0l0Wz{#>U1YeA{*%xAI6f|2G}g<{MshOq5`NdxxjD?XV6Rujwz!lS$;D!%VqB-nYXRi71oFy!PGAj@zAAsuY^uvb z9}30sW(Rt`tkCN(V-83U7QRH4)M&t8f4~tvf z+U8NrpBxZsfIkfEh52%X!_2?hnP2Cf0Q_YH=s;_JKErtT!k<`%m|$3vf73L?w(n`_ zwbQUC@4f}oR^@q?m*pX@&Otow&d0vL@E5izd-B!`e!r1u2!7vWqhDT1B)<{;+)w(0 zPFThZ$mvW$PG=}`I*%f!ld^CUayk!}kzbwy`aO)e8qxB%F3oCxyvSCjDs-7oji6h_8per z3L$K8pu#J=#8_2-V_xq_elct&`oDqJf+6OT_VOBGFCh=X$y!P+#Y$nw=%ZQ+!;KLC zmlZ&k!beM%lOOdN@S|P8kG5&9_F~wr7U(y^bBM9bv^K;U0Loj!fd8!-r8mR7kspH?!3c`hxbnZUgOyCh>i*gW&h6;P*W6`!ewR(1m;-Y{Cv{E`ee8 z+6JBof~JG#4jDIz$zMwQ(8HZGx-s7IguV|xeAmEqhK$>Z`5~c{9xwDg3|P}--nHresiP*2vTF?&Kojo-bYZfM(W_l+|#XCfxM6#X&ur$aou z1?vcG{&zXWv%{~#GftAd-j6yR)n1RF{zHEyfd1ZNwsW{{ZquT2aerYJ2jLkj_Ek2 zv9>ql6-N(_cKtBpW>Y^*J%)bx0_z%`^h3^-Cr>{#q0UCt54qI;1ocA=#*wIg*eTzu z=m(ENJG*|!%d+YR!`FaMe+ztiip9?(y$_$B^af!^U!+IZ6;7Cu#9cXV~j$}5K#r(+U!PaW9p~Wt3 zGx>cITS))$kuKv3CGe|gOic{Sa|ztrnqw)3ui}IQ#1p@e?H&(5jr<=qexV#n0rVlo zFSLfAVi;PNI+kj?;K#9gH5^CdZy7K9(H_apyF+J-<8U19a`xk!OgXy`&m`ZJ{)=Ug zuZ<#aldm{=@|G&cBI1cDG>!!2EvF0ewhwhbb{gg>G_=cGy!i5JS9BTscfglNtu^h~ zzdOD>i)y=I$7YJ-O*r1j+TPF&;&?rdc0PFiMpKp&!I!sS-x??Tbo;;0_;}P<7 zFO4NZc`Cs;6188a%l9hw>sp155%P4L@MZrq{~7r5Yp6XUUfnE?n{bpiU>n+B7hf(# z-nF`yyX@Z$U%s2sgX7D0D(%~iwl_2fZAq(p(YDL;FTZQbb0YZi8ByeU(d8#kp8aw> zLY|9hED6eUEB0GURGtUQ_bT!{OQEA(p4&!Q{ZZ+68h&XXhkB`Vc)gUYl_KmT-g+sf zzu_A)tP8#zt3^Nz>Bf7yS}%2B63=0IdI2v(ZC9m&%@qvNX3Pa9HwE7*qron37@0)Rl>)89LK<5 zC-NqFYg>WQ*>O?t!pW<4x*q{Xmjaw9CA1&DrswH=14DH6<8@vVN1TVg63*3nbeZUD zD*8$|qSwF?>lwC27-DM39jl+%v&yNDb}Va%=p*5p`|xbS5nn_MJ|8joa9~-L0;k$$ z;D{WjdIi_5LBH~VeGI~N6H#NbM)R~!?S+~!_{~F*XZEc22eH>x*)%+R8atof9zIo@ zQLDL850+fJ2eJ1G9MxK|X7<+pA?hG3HuyM`60ch-Pz%#k- zA2iO3*lrj2vKh5CI|;)i8l=&6>FouGp$Ic3jI|6$qQ(3)d`k~CWMP-9w%|*SBX?>U z?X6Wr16R9d(7?oyOKmie7_!s&kssJT?#9GMtfG1^Y? zR6O`{7NboHi>C-*UJFcv@Z})IQvzRZMl98exQ8&}FxA=!9JyX;f6Cf4-|o;~S)1zB z+@U`zzyD5Yf1tEml&yn>w*&l7fT&O67>sYZ#g^JUN*gD|#< z;2D~C8rvkq#Dl@}l>7E#Y~&wMe_v$p;W+sVO1n~d|F6;h+Vy^@%U0|Ce*KkM@3)-2 zi`V--qO?m{o7ek2gSOok*L??bBk*(7ODf*gec*aS>iwor# zg#BGh{ZG*TPRBSBwZ8%RUd8?{R%mCpzq?O~w7-V!g`Sd_(7E6@i3goRwFX_u^TOUD zCso@l@DnFICJ0fkS78UI-WVRDO3Zl z*k!5j{#|lrFHrrE&~=qcdp&D&9kmthpR>PRq1EE}ERJ^BY`Y%M60%9Py~o0jcH_Gx zPV%{RDxPzamwiSl1MHtcKbwHCB5Da#9al z+<+Q{Myz`ZUyPi_Sk!#b8Zy+J$k;@UC+#teC0WNs~?G9~K+M8LM z$0)m5oBRB)DA&BGv|mu#Z=pRIF$1eZB`k#2Xn-f0;UBPiIq-^GtkI}oYcv9^W~LFf zT9m6NUL=h0$|U44y0Sh4Jjm8(fFE1Hhm?aO?$?K(5`ZOn)8eJIu<--rH-6`!09J!A8K>L@ zax6k$-cRF5RA1tIsEO*!Gv#{~efb@Qh7tPmUvWKBrn?sFk!s7n!J2FGff8Mh^di*_ zLAEGY{({o3G}_+KdbB0K{{n40zyF!m{0e@LcRkV;@QD+@zcK0L@%sWf7Qydt(l`?2 z_mVE~`_1yb3co+6(9q8BZCDFzuOBwzaoFYwwzb3I)8oU!srHlB4)YkEV?cym{tWVH z#IY(Kj(2qx4}U=VEKi#?swLex&RBr>U-~W4YE-E{mFiU08r3`0eyTO9z$he+sMe_3 z@o$g77Rhe6f&U3#y&ZO&)pr3ui&mq0G4oea+IPd&5r&AmX5ehD_BPZhP6F0282E!r zD}MbpVDR)!1^GP%szavlCmc^dA?#YX$x;&=;V1B#8uAmWs0K**2`?+{5Nne^F*gwYQha_bU2lp+Y;m{#jT#W1>#-Yg0?B0yFu;}}sG-jF2Xn9yi5zpOo1?5c>cONYYr2j_(7I8k$0OlJq6~WygI0 z@NOETTE|_A9H6=f0IjK9Dq@ItjWG{m_1IW9!RoPj9bDwv$rgvTlT8>i@Kxk;qOY9{ zQLPeuhZn?gBaUz3-v;(~N@%?}uEo(VbAO@rjzZ?{RearJ`MYURevt$H5lA`TDUBpm)QTeQICb$A(l7+Y1M44ZDW5!uB()6*OxB?Feh7S`ym3W;d{D zbuXMpfwj__1UpTmVXR??J#e}+T5!xMLuse7HpPA3kOyr^r&H19HCxy(2)=bRIt}_< zq0{PsNhic}jlldtCx+3zceIOnJmf-7CY^TNK)l20^tRIe4Qq2cy@9r*)4OPY?YJD6 zzfq?HUdU47^0mf$lS9ub?Ppn=$K}63+pgDBT;+tZTVisUwcZSq1|5WhF(zjV<4SCdoNI2KKh?sj|V6g zZ3fRruG8ZCBA9hK(bsA5J?gNh7WBwkWt|qSXPN+gxj~Ij5#L(t`uKa28GpG$nmB%i z+9f-WeM_OwuSFbc;6K0v?D%OtY>+FY=Z!dxjl*U&}vWeCQkMtm50#jP_%q7=IS% zM{AFpVQ+3jo^n?LHNZQyq_Vehe+6(H$}^)Tl6}+l|49A?{~w~Yli>f5jlOv{{v+Na z`XX%ZZ4e~;H@08i zlljKpo;j#Vwqt0MHBTAdUpp5^stezVdT_qirx$yDJ`#1W&lgE1V80`3*Fn2@_r@Sh zn(Aw5pHITTmjQR8JvZ}!Cq>)a@rSsM_I6C`Zr$54519T$U~ObWJS#;1Uu63)%s)I6HOe`_ z^rmZRs7-d)-htx^EwfhEW{*$GXdnJ+8TMaDZ!d;Cw!vOBV-E(}JCN6CQw}>LbfW|9 znjpu`*n@%c2KIbG8)P{Jdx&nsbGKs;-<{|iVR`R?$7s)!ePYj(^o4xSlT!4#4SYy@ zEX;&2H4lBEal&`UHC@Rx1l@vM_%&x_?)gg&dLaU^KZ2VfkD+Vk1+y^0Q5r_j)D&*NPm znu@)532%4WAHc37cl-@E#y^1{jmfkINl3kv5v;9vZ>+7ht zj%w`4&rs{@sFs}7*D3akaD+(QfY%wRd)czs6mhgAhDT0l5bPTHJUoUc8=}PUz&vDZ z`ZrqheVpp0;*a6^I1-8B&tg2yW79L0c5l|^v1u=~Wo+t0+rTow&$;i-?8T}i{F2e+(jD6_&tuAvdBGu&6+aGRY#+h)1JQ{QZ18+6FCv!^85u zihg*9-u)k-AKJUh`@lx+^^_-4Kb(d+kUW2?((b|9Tt8%@EqVS7w2zm5!2W(+)1lvx zet3^+zl46+rL=b#ZExspv?Z7xcqJ^1X_Fc#Ga0ML!&`^)@d&`k%4hra$OMzHUEpJQGLBn?ukx?I@+kAa%>&58PNs{Lma%fLh9E`<)R6S1I>96W{G2+08HEx+u}{(6?;tvPF4ZGatz7O*Q0> z?fb0digzZu7c}kX$nv^~qrQ=S)*SM>pHlq{aP~imBn?tLaOJ-MD` zH*z6rjx`N`OC8Gg_K<6CpgReBr&|5D*n4^W^=qZQRq4kLw0|kiy(*5sz|pRAzM?g@ zLRM(K3}M;yU#$4zj41l1_98s%BqC4PLRG8N6%w&p2GJvbU`Pu^@9xW z#-7#v4|b`Zq8YMYp&b6mjw<$8f*?rjZhg}xu5t{b=+_QF{22i-#NYe9Tu--AS5I}mMu zYs#CDKIQw8*!Owl^tlcAKJ8yX`)|;i0;=N$79`dJ@;Y9^muRmJ%8TaUI=Sz)x-SXU zgUEeJ-lF;;yqB&2Q`%cuo3GX1gZ3}k->%TB;`j?3rJi~d?Re@1NKa9&hx8PE$Eyi> z8p=zwL6ir3F@C7UC=*Q$oDGx=P`wL5&CB+&Z|@ z7M>2dm<-)f09`b~ihq74^ou9ktlfGFzp=fnkk6$&-DLbtcxDcAzf^B<_TnzaHn3^z z+bjjpF_ZnMHL!o1W%6OF*^>4&k?#n}`hSwCV}F~4zo(VHpMX9zi(?o^DK7`mmUh{w zLz)i#q1J1mW@h3)RIJxlhXh(NtTzkahdI*4Iwa7H`Cy<~3!_;g^;%YX+SkN7)oZP1 zwBWwR8l}COwKC~NSSh|9V!)~2S zI$f{O=31rwU#!jPbS2u7PB)^>*H{m>eSd&|(-g>fVrZ@(hntJt5JW~RTPbC|yhJsAdHQ$2^fUt;wz>YC8yMtuh4RIEK)BmB3SV(r=An2&@tp=Xhg zG}x%|Xu}?geDAf~aqd2W;5(@AnF^mVkJW&rwU_kOX55b7rsE&&vq#?&QP-U1eYt#j z9_m{@(=yw4V!y#PsEeV!_Nbnv9`zjL|Iyx!LE>$PaXZzq(0(GaHppph>TcL~ssl2| zoyW$FKI`VV(^y>!{8RXbY3<9fuVU`pym33QhXwhDLF`d93AhB+ySTAWi7{^MF-X_b zekF3;G-kQSAod_+YwgT&XSDCc9)r=w&AxXO@3^skIp(<0_jt!WQ;d5m;ukh<>?26y zrnQH(){u|eZ;rbgA2-D=MVM>aTX7nWH1=uTuxAOrpFn$-Fic!}s z=9{n4rTISFHs8@|mT2#>TTq`w-$rc$4n=DX-3uqI+JKtDiTHaX`b}e=10Lt!FpXUI zEP0&vE1@>uuLOH1X3?0e`;`=+29JH4Crfjz#<{;%U?uvo`7Q zwl#Devi_=TWK#QE~;0ZcLDn5V27?e0rjfGByEHpx}E3(JM^Z4C8>B)8*1m&dS$W)L?1Wk z;{ko7jFRq>`pI64C%@@c3HnfdXtSUrt?8%lxs(d}Pz~-P$Yl*;RjOmg+6CM9+)01B zLLI2XvCr=~Wqv=vSR@`c&$b?#)pw%bPB@MeZZOfkw019I43fKeYAuVH+#&vEx@OQg zx2PX%gRW_IEnx9C)!L?E&s1qwDhxf7D)dZh?Q~^tB&lb%VGq~fX0B(7VOOXwmG*?# z3!ajAILA(iPHCYYMRQM&$ zVLfVFhO__p;Q4rlgWO(v0_64*IR+uO3#k7I`j1;Njzs;({_?$w|9F!^y9oRup6^!` zyY>B48}SX+Lw?=wSM5jL!s7pc?^m7oh*{U^!n%Zbb4(H6m4=K{-ppxF*skC~#a;M* zRT0%)L08Wb$C)_Z%-X4;8^!Sk9KXZb-q3a8crA{0{jh=7x(fYptnXKy8%00dGv?&! zhcR*tLOb<$D$VaIHc+yM8!c^%?%+E@GIlf&WV1mwt_Efxxqy z#c>mkWc$d^*@m`(VRp4XV+gO$c={XM>#QsF8Fw>!a2)earG2~6#`izambAJTZMzKr zGGNMZwEB!Z_I+fl|6dQ>TwQN=K72Y_3qw9U9cjH8eE2HDkjQ_3V6?NG!xud6>&-60 zIFIL=vENeuN9c?>L@(%!*A;(gD)Wb|co5M?T`$%jbfI-ZL?1d*uAu@xd`^V_&iOhG zV>q5`zM5zZivBrYnfLc`PK{@RSOXQY-iu;AnC_kxg8hwvpqJCg$oBYFZ-s*?Kn=unxs@Q4N*Ah3`??ce6Ifh3{l- zjteg_euw;{ZI}7iXzi!4+a+S|)%kbw@83#`@b8&ymz;-Zoh1K$f*gyG#Znqag7&)% z<4Dwg50>v$e&kdt9F_u{gq41dRBEvYOQ7!TE`RHBwY8?&el8kF~<+vm6Yla&c>0RM{Aww z=n+T$zA5Z|YP+!qY(B={aIw}gFw-B*?Uf(&VJ%YQ8w1EY6ip2!@}S7;GL3 z%q1f^81Cr`HUlrKFVXbXot-Ob&z9sk>75KZ5bXlMXnkun9r;ATt70YgT~c{Z!$ae%g)!5M}44e)5!de(kCY(2cT^xe~0&{-|=hbs7 z#W~`OpAlc=k&5SQRWj?=K2S4b|;0vnru#b=Sw&A+t z$D6i+XYRm$Fys$Oo@uA`ypWrqpl@f2sHq(R*FU zBb8uIY5fe%shmqXw!o*G3_T?G9e5OYWa=6C_S%9et6JTUVvT=NSp%N2-Ou)^|6mc( z5bL}TDD-Nx?Wa(Wx<1N}5+4p<5BWmAYaryym+jFT;J-<_k-nXE4Bgp4ItP6Ob0kD> z(i0?S?0)!yk71pne6Omrqs^DRKN~uj&l%s_gULk6%)?)K#ot2zen-sN8_JwX{WH&I ze+prL$o8Pdknt0n7mBCA9|LNRILd9belos-{v!S){vdgLI8IvmAWKQ^#buB}$*_*WC4BTJzpo1tSih+O0?$VCQ_%OPG*&I+KOgZo|^ z;d||b4!v!`B%FVkogWDMJb~(+(Jz_bQ?DzdCCPO<9)q5u1QmB(KO1N`6%3z-g}y zALK&HjO5)NLSBe>ec**;)ZuK0A2C?^hRhD~nsL*&;eS)CK(;6h-+vZ-mRqoHpa^~l z>i=IS?69$iD@e42AO9rPK1tu3`ng`jVD^4)7rtMZ`F^gl9QYUc;Bz%5xcq46j8D04 z=?J^}hwc&d+JfJh|6GFov*AB4V?N92QDdTW#TczI(KIC{;%y@)nr_BKgZl-7KInwT z$32LPQi3gOyupUaphww6#72{X&8sE{TPH*B$@r+RJJ>p$$4F)53r{!cajcls5+l_| z#z>ink$$JpW2B(RTlg)T^a|$12b~p9EbB(RCw1W@MQ1Wy2tR`2+hfJG#7i=+mGLYc zNd-#%muJ&|te@a#4L+!o4z$|^8WF>CKX|f$%d(Kbg9bKRb*Vh~g63 z%OxK;N&x-}>BMjbbYg|3Uq(6r_=(hsap?fUMKs_fg|JU}XA@!`!tU!a&M@L~!tg0i z(*TT)Vz~X#3-3V(&|0aDm?y%Zj#a-z`>vIu25>2!AGMANa~oKz>5DPH_^ug?7hnFO zbH)VJ`%LPWADjZbsHwL%*fJnBxEDIJsrO{Gr=U&0yV3Rp_m0*&h&P&gPhk7;wIF7t zeHp1XigZ~k#`7rVA}z_kDUbFsgUy(llvbOExHSa4U>fj(VZaNP1234maO$d5&$6=A zq?EE0)Dty9hY(IcSim0a^-60YXiq$e2e9?Wke!?Go1u?vcmVlTcftoqM1G;e;=+4& z(fVh+zk&J${*yQz)y)k84amQB34SHnNd`R=;Ysp+sV{UdVIzY;N2mF>%YO@eW19a; z%~e)``xk?b;4_B95gnwZ$)B0WIRat z&^*+&sq2$8=mwgnC77>zTC0RPx;9Mwh=MndaJ4BdeI zOSlZWp+?g?$zOuZ#-keuOJ@E7bb&=T052fjKzf1vd#)EWrWZ2dKm7^wNIAAJ`Eck5 zVZA=+D5`Z2dp*JWoFuaIarcAlG3$q2M~QyWnvO8*hdTs+@Zbpaf%u8OlOW|XNzB6< zg~ud+eUtNn7&~q{oXGiTNT46bV?Lgvb<@yO_W3wikZ#6%1(}iY-s3#p%U|7vc<=Ej z@m@iuHQp0{8}VKV;=O{%cyAwS_>6cD=T*EUEY4Ak@;=3TC0&g7s=r>mS0L!D;?rp? z|7hkjih-lBd=~r^yKmI~tTUaX=||>gLN1eG7iJ4Qk#xlWB={VP(PqIHFrEkfu^rDV zD5pJkBlpO)+neSE6Hzz5w2b@!`aWs^zG?t^mg+1_3|8jEqz>hO&&Km9pSNB3vVjGY znXfASu|v=ywEkE1A$DV38u<@x3#7l`Ds#bK*r3=s!oAxRo%9K<-GvN1D|8aRhk9c0 zEX)OL?PkR19TQWFUng3WVvK}uQ7tp&ZK>A&7WkdgFOzlpw}Ot9NAsW9fcSo*pu2i5 z02-5R2mr^D@xS^!!pn$mG!NvyyNj(0> zn*XnQ^fcn{LhwfYU0TQZD12s*@hmv%U8rZnTBV(^smRAE{PC^B^!}w!)7mX2 z5c8)a=FdQTD%#V~o*ry~uOIH|4mS6NJ%wFwLktrw?zhJmON2e8H8cVEK%>vd=SBXD{9V>x*!TGRn}Ys&(ce_yHc7gVbYc{oB5Hq`{ZG8V<%-O8 z(t1V6+@18Bh-Z@_4=!L+v}SIQ;PFW~QcN=k$5tHa+sGcQH>iZ1*uMik2x~BWkONOr z3Oi4KlUz`onw;ci@$SHdJl-Y$d5PfrWUPgvS^+w@gm|9fTC5{dd0zF0tHI+8m&4kN z96Tf59G;XjQ^u&jOIQr8zDxQ;d00!K);rL9$v#j%Zt^N;dtm1mDPOd|^wOuV3f=~p zA-y|N$d}cx<$AXixd9KxMeAF@my9;j*C5&u9!T{J>${4{7`Zt9KH6L41tkugDs=cf zLx*c+8gzIwm})t{>ydTe>tTqdg?mU zf4NZVDaxmpq+9(L@wef>Oo#tc6q)bYjv7DmUlu=&cyThWfv<81*QtKY>*AV*$@v`( zFLI3WM+{@^qCZogSpH{!2geztAKydJyOQPrJSF2>;w=P^On0mCE%A34acVB+d8yzn zbsd@=BbIyXmugyBG3?bW%)J_??#FwjOtSf|;r3`M!-G#T?2)~1&U}9*voAb9!rKNO ze2<14Lo#vSh6 zx%Tu~SVOsJQ)5js)`t2wH6e!kQ$zd8`uT_>MM+Snr{NIaL1e)vY@=$UH)YhfSpTwGh_ThUt|h`qSNMYwi| z_1d@CwP`_&wJM;U&Bof;Bc0jSb?6JlR_{(dNAHqCwzX*FY;d-hEB3nSZiS{Te!5kD} z4w^9EbpJ)Tx3eH%6Z&DYhvN+{8Y>%n?IM(S4=*88S<%-d_p!lJ3Yaq zVqng5X?^YK`mRUzu53g*fOcbvC&=bg%4t!OA*ToH+gHxUI0NHO(+j|}r5HzP@i4s- zZR-2gG3H|$&efwPkjW+F!k_KdzkrQjf@cJ>&etpO40UcVi}9?n^sKRX7Ua0I(+m2i z;$Is6r3cZ!1A)0YdJ&%2__!gH2Yjo~fK0kVv_H39Cd04MJaC!B+?4wc30WT-DU%hL^0G1%aJXcOpJ9&n$nkF(1q^C5VSo8*$Mg9ZJX3*Zyfkl*03*q~pbrjX+vNvO-S z`U|g$b5cG*^Qu5qZ#~C0hrhivx_s`$xyED2=R(lBu^_)=q967{mCyU~d7J{-Bw18t zvsuV4?YVR{%@yeDb0D9vg{pk! z(U@3$03wEq}Lkng1&U;2LrI1S*PF`*OHIY2hT{eKBLHd#>4cCnNmk`dP-f% zbE=&{R&%R z=c{+e$T{HnO5_~y-{l;niaA)X@Y_M*k4|NHk?D_WS<)X(vDmwehZTG0O0m+g#I$$k zgNC40RD1W-CDHZUPjIdtK8)eh!ru8%4~*v>2t3K{lWOml#CX<&^ep6zq)+QdjqKm? ztRp~&0VdCAMJh0WxASLb^Ha!R~Jwiz}-_0^7UCV9@V@lqz_Ia#;+z~>vh6rT_L zLt1wX-F27U-U|OIkLB=8|EZqjc@CFJ+MBfHR;_BMmZP_8{;z#yaz5s1%0+q( z_72L;ht0S@Rj)*wd?q)|2Yh3i+vYj`jPacrupd>G{yg}R3*bj`xn?%vlhb&N0bkcX7aJITxm@Gga^LE79=pI7x6j2h>{_qI zW;CyImg^5kOSz8E_c>L}#ad-9H2l{Uf41jRMZRPBvzKCS!0S=v`#I2>#a<3^=Feyz zZ2s(H$ak(MnJmtOf3Uz3t1OT4tP*-w6n}OJ>5DoZ1Ka&sCW{XK>_|3G@%gj4?ArMJ z*_#ra)8}ZtFXSu2pLOy4AMR`LmA*e-?fa=vf~4IMdmmb@7~@#h<+f{w%B8 zwEDBjLbrVZ{eB4N)!6?C>fK21DgNw%z!=2a@TXPTJA=<5I2Gq?{%pC#2T0FR zyt(_A@Mo`qKU-|`XCI01XUk=*srs|e;eNxPtq}e!?iK!QIr+0QN|`@f&iq+iBmCJq z19!o1(w|-UY5U3m@t5h()~WvNrx!8)cO35@aE^RP@~O#hWJmbQ>{!H)&_@RxV&=z6@Hu7~X?uN1NL5%h!kvv{}N?+BeI z{8_<6^-# zK;WujdI4lu#tNA4I$w2;&g_rrQyBDnoYBwlDe8Rt#kHnSVO(3vu4S=;LThKA;;nNd ze2O|N#%aY7I{mF-~JDcqJl>XBGnD3*xb#-TR zZm~a4kp1yS;3+o<`Qi4*Yq3Aqh;w9r_Mqk$I=L#4JsP;Tb)Fu;JTabhus=V*xntR% zJkYxF39>&PE1t3|KKt|KtE&C!#&mr%?p5v2<|V5A>E>X6x*7K8(?7+wKbOWB?*%w_ zq#{$;A92j#eL7Oak4xb@RNjBSz7g|C*T!pqKEpVVgfru|KOfQccz2}z!T1SJ!MpAD zC!Kg%;UTFXt`anM6ST9ovUq#l+w5-VpHqQa= zm3o<0*g7MBgc_7q@HX-ANZ3Ba;B|qQdguk{hswjbF?jea;$hG`77zcf3Oqa?JX~+% zVI_xjhnYh%_?Y-Qhj5@UdDTGuHuRC^h2;=U?AIbcnCk<+8#DCHcn0}E zs^8nZ3Vu$JD+2HQe5CW7juvzJ80M7CXN{UaGV^~df3%2v(oAfTT>QGec<;)$A!k11 zRvTQIRylE*a#HlakQ3y($seWMaKj?xWZ@5Q$=E0EKO6UFSnsbf{h4d%{=0DhaQwr) zKIkdwvrfQXY%F(7GKjfWWiT6cktBm}!=Cy+cImUBABjH<-?Cizp~#`zeaoAPu4+zq zPZpQKyCUWF8g{J`Z;ul)2)?k(>lAiv8sXFB20oqPoYP%Q^TqIKp7XQ#mdfu^Hs2l@ zE#Bty84J%M|MF_g2lDkiK8fL9{^fr#AF6-p*K~X@i|j;s06Aeh_Az~IbUQHt=c3_R zOXztoaePzyo<8FHJ!0M*e9r^FAbH?(ypHs2YPvoU^B#8aJ)7CJ-r(%3;Nv1@q`0^- z3QpbMm!ok*4zl_L zp)YR5m{j}$bgT1C8Kl3!#_S2s!g+)LqU1*!&XN3Q>O0j||jyWCoi_ zf0s>1`*O7Xu+yk{?TMOK=#lz@WIY+!>1>ksyZf`+0(Jf_jxm2@a89++Dt(!sIo99N z{t9gLgQCs@c!N>rv6cIonW%TAYl|QgPPp4P+%NIjX56!Jbs*S?nxqo&M^UOv9}e2I zf(GG>K?m5V7SP~r)c4jP?ruQdrm+WXLpVu)4)w4YV^yF}E~`&a$Cw;rj7N~CB>!0Y zArWJ|*x#{9jB!#S{1A+BGHMyAuNG-*k!TH7oxt8?DDP9 z<(0iIVDTCASuh8SNl*3aM(edVh3|v?#8}kv-cNmeBumMp_rV_$FA)eWWO18JH0T+jGCH4hM}XufCpgdQt4gETUWH82wB(=J@Q!H8f^xUft9i%I}gE zPY7DPE&a~|ZZFbU{>`lauU7KuF8C|7&VcrDpPsgFWesZlijWfz^SrugH!4iK@%A6# zw-j;yro4I>dZ@58KiHG*|2D;#ZrmT;?z~F(&&2)EbN1X@5olU;3+ls=GYCJyb8n32 zP>aOsFp461?wyxSUj=lo^4)y~$JAy<^760QwcemAui+=0ak9USkn}fl>NfgYbLyi7 z{nttQ3wu5F*!5$;yHD50KE(2Eu-iucm`VR46PKO^`pqUCFY3ow{ftsS_BQgj(RldR zI45-z!!)zq`nPzEXjPy*oz-iq^6*NGXFX5P681{wPG$WVlZ_QpHjMhQDyko2c&CHz zxQ5LQ_x~~Hi0!TQW2)|$!mdrT`JB%6V~dS>jL+u3JtB(#UnAs+?KyA8bM=&KLp(<{ zodP?m3IIbt$8PJDSfd3o9JBSXbIsQXTTgawGTAxc8#&4Peb`%SJ=u)kMb68V81s^k zb2054bo}9$V9T$8EhjrSQnBTT3#nd{_Ogg&%lF`ZHuuzj+*A2|cbtVz;eleykL84Cb zT{Ko&r^D{C+3_c6jIhaEPo)D}u+*s@s62d`KA2$)9Ajd7O5#RjM{Txo6+I6%7{ZQL z`KAo#*cJL}x4Gr)+Dw~mL_P<4*p7kj9xnBiwWhU);Nz>MK04m~D`;bxTZMmj$+>ml z-=~oSkEWw^oIBRsPH~)D%xj$d+fSL>nEVU9FL;Lh&{+H%e$kXss-08$7Z_PpWv?uqzQfhL%7K3!c(R?IXYy~I??zGQ zX7YNS5i7H68UNPFJTk*b9r*W*DEvEfIM>4l|CT8ErV@vI(;r2>18PQ?{n3WWd{eoB zF|c^cA>UMid{aSWzUfWW$&ruE@=Z9e;$mCGIl@NWJSM3NOt~PU2K!UwHo@z4PW29d zz&RVQn>2*KP4y0sftHOG$TwkqvjyM(qcz_IpQg?!?wUn&0bNXb>_|>`o^Qgvly54Y zjodlv9r`TTyK*VoyneU4%r})AxB>2yxIzB!S-z=Csdp$>>mAm`81J(!r|-yn_^ z;uz*fR_~DO)^CG7p=<5=Cg^$#jq;hV08AR=q?}cusCQsKgspy8y>~2Kk9X7c>~~r3 zfPS!i6W(ptwci^i;}Fh6^O@E=VJNFl;CIM^sItJf{ z`nTfC^cL*Z0&LQxIqajPdDHJijn&>^jK8pEpsv*4Pp5A@QT^Kl(3RC3V4gb{r39Hy zL)>XTo7HEU&j!!RXaDvX&pw-;4ZY6dS?Jfb@Kbty(YbOU#ZZ?-=2v}meUyC8W2jFf zd17;XH=kpf&zVKO`;(|)B;S8JY$AAHov+#u=^w7E*3q@~K0N>)k+~oB+G=*KkXSKC#zGR((;@?TWI7jfs0*Cli*4w7p)_+xJfIol- zV9y(Y&-c)8bPIf*%`eu)+(+xw@eOvYH!0G3BFD{ee{+6o%y{iuKEH?;&SH4U2GFjw z@GN~IXh*!W1vylz$E5kC=h9j);16}0cB+0Ey_aG==ni{c;7l=>@KFy0-gN6lc%HJ> ztIj8}{`rw}c|Flw(ZYpar63zY{LIiBJsaJ@_h0v*jQG(`sP51 z|C#S$_9%tpf0$d^i-x{=*IcIHf3&teqZ@EOJ&0UxD_OXs4r%9A0141(hW0 z4|8mzDscCCsJmNesk^%v^Bm0%jlsD_s4UY+PLs41hK+=Ue>sU6TXU|x961wY=q@*Vt*y`S{vl0H^@kdtEQ?81*?+k@&D z<9r?G@cj~=N9^n!q`6q@o)}y|%HQ#x8##Zhi>O2{vbm(U_5ERw@qRzvkF~Q*XB;ZB z?l;~O^{R%BPxUZ6-n@$AhZY_GNTgo)FQUyO96!t_y@1>-%ioee3c9L#dosJWr;Mi# z_^uagDKJlVy>JP;7T6+uD%OV`!p@Z7TKM7WbI)bho@Vh0npd5UT(CO=m%M$b^ar>M zOI=Yll%|sZqz^4`R*UcF~RR*4#6Ml99F+Te8lS? z!AEsIS-XE7uC@6UTiCTm{o?_nrtz9c-UzX4dHti0_*3SvuEe!ATeOBAHiRi`o{u}Pwlp?pDI@HUgE8wOXV%Le#+#H3X?Y` z)7+5lhhJc{+%MeQER z{cP&v0v=DZdIIQf$a2K`Da?D7#2vOjPjYY6hnZ`T#~b`)T)UNBYhWJ{>!;M`zQnH0 zAX%<5{7TYAIgv3!^I*wO+<(;2X9It5@GA!ieu`K>Rm0bJw9$Iy8i(~AYXshb94csa zAmDfDm%xXzypR0L8i(~A^MQ91(LQa~^&O82+OMO1PUhem@Zlj`r{W%q#5E0bu+K>? z^3J%%Pj%7MhY686+2@dRXLNJmgP-A?&F3=ahxwh*)!zc`8|MT6sJE^6Si|v;%Y~l> z{G-YV|M1b=!LKA+5i8L?8%bOq zjrGeDFm4t9m=$BZH{cwtr(pO;g*b-AF^BhUDV|r^l%WrXy_0J%23m8A78*e&s(e`Q z;lenN;F*Oc{t>Z$S>@?}Y{d0=H(k$um-q+z!SIiwj0pVW9O7+-r|P{N|G0NB*NOin zbRyG-1$_T+o`dae?4MAN94zIF)ZF8U1e3=D!Y-vOM)LtxK@T7L#TEyQIT; zf)3S+ZP4%^rw8}{reZ&kX!V`-z&>WdHu{=|>*qSja)DWUOtqa<3)l=loY%u!W%(DV zMK}0h zn+EW2IWE1?f8oX~|4(;m4{WN`9{lMxP5XYc_VBZ*m_yoAhxSvZ{e<1(Z)($TbWclP zz6bMXS7`_L;yaeRreMz8+QHpP+6?-w8o$w=NS|G=9n7QOZqyF0!*4@?4^f=i>Rt0} zI-Q@3-`&~_PtugJw`$`qp!3Q2y%lpIuWL=#E}-YUjr(bTFxubYfluihpULPC@+aaq z(sjL);lDlN=KPU6oY%oZMx-9x_TTNoZ<-WEHu&#rZzkUBt-pcwr0YmmX#@2n4c{st zf4;B3Bk55s*noGh{SL6t;=Xz})K3n;9*FdfO~O`hqWQr$7FXHk=U@rfFKHJMzH07Y zPVo%t?>idF_x!HbL3B<59qQrxHy~DMoC%zR{7Z~|rsi(H6MHPs9+kBBbu0eid+NPf zQvE;uEK56BkF^3#M+-h$gZX?pOPjIAt$m+p_gSiTFbUs+pl8$k-khZMT9ay?^I=~& zc`lRAWt!*m;h)QM>+!Ccny0-8?`eiCZ_r$|ldzxLZ2YS@TDrWD_Hx6%**9K@Zz^SK zTe33_Z>4W-R$|YschV1UZNON@qr=u<=Vp?$erq1GBJeX8lY zPx|W(84FPhH9*utVefC-buq_L<1`Kr+m~rNY8y*2|NC62p*5I)`gZJ0Exr9^@a|OT zy}@&DAGfQI|EI0lJD#0_z5OaRFZhJd|2y8pTPGxW%CNV!z9HrCR^po%@hyqHuu081 zkU8-3KE#b{fnjLc5dBT8r=?sL*^}{Fa=Qz%L-`6OhrnM@GgOPcXFmwLT(t#9OO`i5 zPG@1SRN~pj9ON6I=P4&J%dK_v{f$<4%M%k`$G&r8ZiSBf7V2)Yduzc$=oH%f>J6>< zLb~QQT=Oul*$6y)0f&=zmJD5m@9?^CKg~s7&_qM6$1V8g zZwcrOeyeqVS-RW@8j}sk#v_DguopFS@=g0gYUo4?(9NRDut|V@`bdBI+$9 zA4)nFeWN_aX?L|ky9-#Gz5$yYqIxxHXB!_+Vzzck4!5<9kLL%62<%e&LkC>~Um8sI z)?8mpxuftsu(x+Xw&pALb`I?Ae8~J=u($V^_V#7?D5||B-$vToY}lZ^u(tz}wC{fo zeKf$M*iD)r=mWC1OQhXIZnYVhL^Qkkld-Uysj!>SSIy&v-GshsK%dBN?t^bS!nB)p zR=X+I!Qy@7uW@P^^vi!93it9Fb3MtK%lt5*;GfA_u2ZlN!*Td3Wv zhkjgS^bd9m^`P|u*!8OO^n5S+S492ecI!f0|Fi<={Cj)o>*zYrjo0wHLL+V0#T@5&WS9-b~-ntRG5_{BQEg{K&N_#uzZ!i4%W?<+o z;H7==@4dPHU3wcR{jmtf_@T1aHcUkFL z=xXR_dhQ(9v(_YSOj7~k54>B$yGb`5gl(1g%6Bvsz{c6$vu1%7T(cl4xF$=Z{hNcI zLFeT_XSTr}+zy>L&7*zL?xJtPml@xL-wm7Ia$w;{J5y82cA_uU=nH%p7B_@pyZR&F z$m|B>iR8-#{#NBA<{UflYBU~>`5Z@HNrTLKL;s{2BJ`JhXjTs=?Cl};JJ*8;(YEVB z|3Fg@z70L7;u%wik^WQgj4Pr45N9+}9tF7&(ornlxDxsgIfO>oi!l5d8E-rWnyUJb z)`Up?r-6TEyzyK3;cC3$!(2)I*Mxi2cq1QnPoDd!)QxynGkmaUx^eOa(2eQPjcL%0 z@WEJ2kqX_2{*rD?hi)W1QN$EBog;7$i*Dq@?DZshNl_g`hZAG)<%yT2QcNtFB3ZTCm=8GmjhU&`^T zx|RRNVglsC2;-ud;Ea1z-HMoLfWKp?(Ld6yz`MxTzc-tYufmK88mq12^AjCjxKPih z*g?^)AKR{rISz}w$Z>GpItj9%>egfVq0O4dhzXAAhaxUuekf|r?SAND#JS{$4o1y0 z(08y`RQ2r$U^oNP6kjx&zK!9FwvSQtt@K4n-wIzew!W1<&@p^bRo~{tqi?w{>OQLK zTl_})^37b1p(wuSZ?;K&#QP(C*+WOH_cLF1M{DvXi>tc?>qEF;FxW3(o znle>~3{$4+@H6+qkKG5Jj__qi!I%Af!AGT8@MZn( z4-N@mmhhV<__Bu#U-o?Xvb{o=Vc#3OFWYQ;$07K(YCdv5Xh?Yu_v(r9`?UKPe6%wQ zJ}vrW_i2}^J}t(!&(N!U?qbfh#Rl=~qw#Xg=Q#2V_h~0m9is4QZ(wbXA&s~3(s8xj z;G<*NqgA_vJrc3N>PWg(ImOqYPn}cT8tr$`E&6jD>Ben$4~15TsD1{%8Q~xY(YD(o z{{Yh--6ZW%fyih2zMlVoEc`?I|Ac?2{(pWn{3C{sf5m78|ByaD;UDlB9PketU8QfR z+8q9y#m86hkKMgv+Z>L6a36opKbg%a=lBPHBm4vFC*HRC_`csrn`8Jjj{S_}7ukQ+ zX7Jxy`x5?P`skzXW;O$TA^ZbAdSB4T=pXmd;d>v@=Jw$>L-El&-m>9_+mEQEc+ckf_wrN+JR|Bkw)^4V9?*{V*JqKgQttozn^G6>`y=^_ z{~pPY{CD}y6po?s-?)Fvzs*6i<+)4MRq)kEB0pyIk8~A$Uh>~3pf=6Gk~voUzO8>6 z>8ha@A-BK4l4IOqyDsK9EV@dLgX^mEAP=gpYJ`3w|CVf95OZnwZ`B;52e_2XF*X6e zCmg9AHjwm35$;-9t8WD_TVAK9#Fl}vJ1!-nBV)TpA0?&rrZdOxna6u3nqi#ro$G% z{)S;|r7bufwJeitwm_|AIYhW~Jhd$FC!*Pj;3(J$S<3?7z^G-xSjbM;YFTV{LhO}g z!JYYU7CWKTvdkME+fJ}r7JM&-?8NqesCELiPZa-4+&Raz6ARvudY-?V_JyJQH`(rI zc1GgP%KdjlxqrRwer9LxNaA)zx&KDn{gM37`xR+tB>hyMnE%FoV*ZU2(u?!&RP7A> zbNIwRHu^_)27WTxnZv@)6q&g77+e3Co!J{{XNK9Xi#ZO9?vmr+cIIj51yx@i*Vq@n zFvqPu5m>DBR}Y;o{8jKU`MP}!f0g$$=C~~SiC-UW-eNw-kv?3vUqv-^LbsoPQfL*4 z@k`wL_dTt&`Ym)I_je3hm0NKFgCLkWPiY-&|{x8YSWyOK_ z!-tG!=l*hz5)Z*YJVrcZ<5lTLtJn+w&0^=2cxWo>a$?nNs_{_j-`iF$Mr|I)UcA9- z!d@P|h{p?I)6Q*wUD`SRZW#|9{vzW3a_vx0UbCs(zsYugq)ZyVtWCD%_*FZ_f8+U8 zGah<-{$4Q_!fp@`LI2hn{p0aaA+zI`=!*%*&oOIPmfQNbmaa=ZS8uT4{l&KHVvfV2 zTjV&no%%ECt5iF6EbKE#gnAi>KdYX|tq#BmBGYPxttKWn*#Yf)K4j9-CVjG6t z;7Hibm#B5HU^gnpK-kR?U^gRy-GGPV!EV0H68fF|bKHNrVGB7eV$#lH3;Ff1g^s)t z^Er-lz-{4URO2RW;SWy4e1P^TwD$&KX^1na24f#$9@OlVYg&K31M4TF&Ij&$M$QM~ zM;4!|^MN^_S`Ah^gt*a|58P+R(xkn8tN1IPC#Lzp{hJIM@~<%;dCGirXKijnGSIf$ zkQ>f0ZOA=}4f#*3&zX6)Vm~nFhW!xOy)9pCvmX*OR_zD>Et>sEq(0~VL#qB~*!=+` zPGWHYUn_UsucZCp@0RsBb8Yt{PO5XN&lzaDKT_uTb0c+x9KUKm_;2?5oO5qi?FX;V z@f-c)*nc+RWOrZ0>uxH{IOm^Rt>c58IiQWnfbuq_b(Oq&J+yRW0ZvX;sDAT<^Y&wq5TY?QQDa|J3>%*9b-5j#u>UU5@z++uX^z4pras-=gZ< z1nP78{Y}-ksoY<8sL%PsYf>Nacgy;mOxyjymC7}T`kbA%`y=JhsA;hIWODqfzU9B! z>vMiTm+9L&wbs1puWWqyjr46gt&ytIHfQj#u}#$sL#nj4PBS&bJ`yKs5BGx zImNs_hn{Pz&#BVzZmQ4uHhkAa>vLS7VZ!w}dmsF0XC~@%(5FP}b7Ic5CB9I2z~T3p z&vE1#UY~Ol)iR3uoFA|@ug|#-?Gt9Z14egS2*OzimA*av{dKpV2u5ck-boRo+K6sB3yDm=tmx^4xaxk#d_wsK1G|9%|Y! z*tjgz{P$4SLv=?z5NJTTm)rl*IpYpIi)#KO=TYo;Zpppy-z+xnR8jMf`o+A!#ZZ#562zaf16^XU8pAjrgr3joFCX|S9;K2fS9f7LVaB-Ftq~HMsKn8 zudo2~(5IiCl!oh+nCL~@buq_b(Hn9c+(w^)T0K>-s+d}r*D({0hIpt6dX=!WVyx-b zP#duPhgio9-;nk{G}bYHm-Gwt2e6fhb-2oQtu_Tu|*)jJa4W*YX0>Ttss*(|Im_b=EQF0^b7u1+HOp z(aW5R`QPwdd|R1|i*0jpTx&QW7xvm4wT5FT(H1;B3pF$rKF2rbW=YzjRz~vhS>Gt# zxc}i*Xty7IRQdR1((Zqr60}2&k%e}^cu$qI12!ya_x_jPr2KQ*k-SJ9@SKfy$3-6l zKPMdBt^)>R-7?e1z`_lEjGD=~bO12bhltj|*QwUXLTltjwxUiaras0suizS{15o!W z=i~NobUucldMw&@Kl)*;U8cQtXubbP^qVDPWj?lm*Qd6fP5$&ZyWW-M zW0n1NqSmK^M5%J6LC}L6A7Citq5>EWWRjj}7L; z_I=g$t{eW$e5)!;E&M27#Cq48H%Z@xwayc<2wqTKG@d3wS=el8ySJ`^s`+Ta~u}GMUI2} zj>{pxs-9PM)z_+}N3E#6mfl|kKUf>2cl?0m|Ei39?3GF_J??v^FV{Q8(Elv|cMbf_ z>ky;DZ=^kt9c$@vpFRI4Ym+X-e%LBzZ{}k;En?En;yd!|qwz+}=Qz#*w;g#@4=Mb| z?zZ_ju67sxd@P^k$P=&ym%NzY?0DEG00`z(%nA{vdN{oYmD{V)0@ zX}68FxvqZ`ZM&||IMvkkkD~8V*VB>ZPyfT#+x8f&=zGLTM*b9jDPbLI{xp*Q5(ifG zJ^wA5zE4X4&ma1^s_z-r;ke$mu}bQD{%(oq_p#m2@}~}X{)e{vqm46?FXi}Eeb0Zh zaDig5=jsct(n#~R_x`CPONP% z#kSVA22d1hTYU7Xt(nP#msL^hO?>75TYH~9v(K4F5=86m{queKm^pLyYwh*kYpp%{ z<{a{E3s#`ls@gGm**f1g#MlmFi$8xZwJH4md}-fP&TT*7C_a73Eq;-Fi~zMs#!^4V z)RB2f)seYP)sdN;Rk)9fZf4fqRIswHCg%GN;_LLK0>OV+*PrLpDb;IKR^;&%IcKruC zC*lP8?QqL4Z~6K?^*!+;ri&GwHw;;2aw6~}Dp@73IFPA!Hd66pdOW#8*f6$xzcKVNvtkPqfSkW)|+BZx41Ju9t z<<5;v)Bf|m_Da?b3TnT)6>B=!*FGJblJVTY&z5!i*)Hr!k-1VUO?beFIkv1L))YJP z)cE{F))hn?seg7gwTc2?-(<&{zVah4d`jfKqyHm3NBrlOtZVnZmvJ2)zGc>-W!(kD z%Gvy>LhXOQedlwgw2=A|nR4&uQyb0HNjn=nlsakWajqpbCGv(VFLK6$!1 z>Yr68xwVaa!c6tg79zK51{HYZ)$yiAk;GFXuVU!ZcD^S2)#UXZ=zRh2c6!fCGe6JR zPs)AQ=g+@ltwvrwqdseS^)o)(_;5&VEAS$dZMD80+e&=x_)(hiQhqk< zU6T)aySAN0n=dcgAYBc4#HJS>gMw6Ur!ZSPE^X1;u8`X03tndTWWi|CiJ#rL&a4T^! z2UTyh{p-Yl75t{IMb{gZe(idr&B$=aISZX8*!TzP5BP1yjP*uu%8sl;=J%=QXxrC` z|H}K#cIM-c|LQXSO#C=<{+%7qFF81TO^3&Q#}_Ss|0c0XuD$r0`mE*epVVi~2cP4! zpAVJ|NbtdCmk$~ro#KbJ+8!!6Rruk--*<36I*%RSBsD%wd{Z;`5Ey&tcGn(SLo84( zJgwMq9+G&YxfyJs{_@*^Uf4qDis@{j(o)M7LI;f7Lg)`-3!Q7-b&$MAeZT9VU`%FP z=phxOL|y>--5=X+@lftMsFFG$yZh-Fq1r^=+=2TI5B1)4Fviz@wX`2LLfb-C`?fUg zkM*^$kr=1r+&X(!`{#V^)4?ej_YM4P99!^ECVuFfU$dMC-8EjFM{4|9&VrW9CVBjF)8+4 z2gC@~ON`LXSHHKr4*qgGy7GDPa|n;V_mLxAT^W7P+;w2ffQ`gg6!4BZla}}jXh!U) zcT(zv8b;}GAl>u6??HBB6LT`>6yN2uy%&en4uP*^vO^XNY&pM~qhl))uqC$Q;Xy8J zCAPwa+mHXHaMO0k91C`5$6=SN?(E3M_EvWvP}621pNDg2N3K)z(7o=x9dfV7u9H{Y zy`8%|s7d|M+0-+CggZQ9?{v?U+IQ{nw6FHG#*}oWW!g|RH!ahO`RtczUo1?>v>BF6 z6L}`}PIkb1-%Gudo@%?AT6%}1mNw^y>15V*#nxF9XM^#xrWq;En(Dp&0bR$ydq0nU z=F$7D*n;J~s->-KlHA_0r(sS!*E=XOYo~K^e=W1h5;ALAqmfy9Y*W+Z8@~3O(Y)&9 zkI^}9R{PU^?cozC*9l+o<&K#3+cHN#^VcLf`_kR+TEuS9HAyav&rj@zTwN>t&*rQt zA#(=$=EpkfolDP3I%~@Dy_azv9@;SL&@$&*_=(NudO9Dl?S>v}X&1Y>dZFa{(B|BK zspH&PBe{Cupu`L$YH90vW?WaTU2jUipKjkW_LCAmny-xoK1L=K`CxTOWdg9uBop3Q zflQdD^Qa`DLGQ`%uH~1&P~oVE&obi>Y0vjxA|<2 z=Ch-Y)O@x&!Ds(*pW(Cd_!}QC#p7&zeA3L{=9BuFKL+dVOKd)=>zNkD=O=uUa~wHq zpEn>W2J123{8mdYo^x_i4A#TG_tL>z;l76tn007AIU1a``J}Czzo!^1=+_^E{fcmWYNh6>A{G^KzV#L>2uEUA6|X#m^PcwxcZ#QQ?m52XYVz9 zM$2!b&lRLVwqhmM>4Q&ut~ng)`*CUzV1?g?^@DO!5w9*kddx^46MuP2e8B!5a_RBaXu5DpZK2#==!bqpo6P=ZgRJ|u7lm*H$V2_RcGAf zBws+b@4bxc@W>9c4lO&r1mCe`hppotwEvk{oAw#dGqkYxJZkm3IjT`|ch$Xf#F52w zqOKJl0F9p)!WQ=3wF?i3=cwWk+GkYdyw5&B=Lo=e)|UV^X!Ei7xe&fQ9Dw^MR{uQ zS#ePt-MFaxB`%6R$Xicb)N#JJsA=pGK55w>e_T}EY=@d2!^4xPsVlHtdz{l{!*V@2 zrbh|9<^D)woeZB=aZ$i@H$IEK?5ErvDfjNQxct0;vsQI~WRSS1D&nKaKbE*B>H8|; zqV6XyYTtr+o#P5ZUGEZmF?PHYA$F=$VyA-l=(wm}-wPR}Mh9c~&uEvu>DoK){?BLs zb&QnW+l+hozT$#DqrDEenlswv>a+G|f6<24y8<3`%MMJvI9@tpO$becD;JW@!^ zn~9&Bi{CyaZqy77Z=z18!VTi$Jh(yJ)E(@d!VS(c;lvt~+??Ft(ia|Md#a`rWo>j5f)C@r~oXTeQ6Q_b_F+TeKm|)puPSdXD_W z4-*cxO5Bor&flp%YaIF;pFR9V`IGd$>Z$x0HV&n&@d@t4Yf2I`BKLaVFSPVV_YCRL`24ibLFwhrvF`nV37^9^eefZ@4t>o*zw%$5|cR-lW^JzQab-_)3YFa&@{I^;y&SH~8$Q@uva_8kf6P z)cMCY_x$4|q49t1{Y$&y)xEmU8NQ$H4Eou@md_G?uIyg9U-XLPGw5WPo7@4L{`E5t z{aa_yeYt<>rN1lsZ!-19)fx14M zSAE6p!@j#p?qA9X?+;+#j<)vg9f>)@c9Hm|H~H+B1=Gp7HRo6M{Y(2RwLF+UM&!Z2 zw%$owZ{@+*^zvW^chcZ@eXxXk)TCy7TpnP*`SahC_s^Ws+VVg@OD7NdQa^mb-)wo1 zBlT>XQq>P1y2i)@J+`TLa+tY5vkol}J_$Y8`eaXMShj82 zV@wjZNl*2|Hx@WLCP{n<*eHpZBt6fJ>+$_f$LEqx|9*Xt#c%P;#`*2_ zz2Uc}rlrkq^|N&RcKV5#?QdOQO7fO-8~eXt^VPCW1u7bwgITbwl#@Eyquh%iR3u3lq#e6wsE~4qfr{1r7g< z`{m({`u%kHn6aOf`<|z2hFr?N8{hDk)n_eJKKp*)13bx}KdA6Q&Yn0U+{^hxYJBJy zzMGo93Lkv-!g}n5>kU3&FU0YIGsO;gn>u^qj3Eghupv_5L%km#=DinuU~YbV_+^f( zR|q~ZzyD0ehbFHdAinRuoczqs!H4wyWWa|%vtEM_|4^SbK0Kp7Yq|M*KKte7N4xjL z<>q+SS-!DJkn4#n+YZ3pImY>1+{IvW;F4j9c z57V)9mi+v+Z+=cC@BNZo5?}81X5V`m*O8KLwEP?jP1rj4ze;|tuabIQ1Hzwt#Unox zHB69EV~NW;MDjCbbg`E6A_~mU9fT%zAKnM~c_)1zG(Mz|pDzVI-10Nu!iVE6e8^UxwfyV` zCVu(($#*iy&wsOemlqsv$xrn4xc!N)p2FYfqi<95!nQy4vvl&aFZC|3{RoDnSrq;zbxYeh?^!!R*`Eo1IWE*SE63%Rg6I0vw8R?_I5SI&yOQ|&x` zK5#s!dY8?~^)B1H+;er-D7LG=-etzU_UL?>aXDi@DRD;EyL^CsFtT^6`mAN|y?nND z>5%%4@m=)f4-Kr(T<AtrTa>-xsa?j-V7LU+V zy-Sl5{{S)U_Ptfqt%}Ft-+({Vjz_TTT@H}ntb5bTt=RtF*1NoKAhN2L^)A`hdavzn z&bVz^rJs3Zl~wO@$ArwjQoG*emOt)kD39mMyLY26z(*)&`K^gO&KvJGyj+iMVio?| z*FGe&V9*48ren3gDoy(}zV^sU&V)`(x?6pguYEc=A?tj3qy~PrtkchQtdyyD8Em}r z6T4klxUmjHLS0{r&rf6>wy?;sd&X;7SC;U#j`z*4M)_ngO0o8d^MNz_xN4j#7s$z%PMuZdPz8U*6xOf?L1P>-g6}GlK+>`ZX>go_y`*VHm)4?g7obdXaHT;wgu?QW4`y@r? zeePUKhoB~03p&Jt`25fzxL;D~5I0QFIz%9$Lk#uJPw5b!IxR_uINJAK#&x8WUs{K_ z1%4zvvXwJ)shyP_bY@O=0{aG#qqC6DQx{Zctgm%>Fi~Gi;_x0OKThP4^u{jpF^V(^P}V|JUy=OWRS1t{_a(Mcag|f+W-DT#?Rkm zy+*#i$mewO^`LV+(LdYKIol-Phkej|^MvpM_8|&9V(5VJ98YqDTJedr0o$Y;Pxc{x z_a!=K^Vf*Yy+G%9%6`UUbCIoG#OkQnTx7D1!_}6EYT-~Y9 zVf*R0QDd90OT;nV`8^|7_1N8R`zL+vtHcj&YG7OK>(aFUMRNNl=f2|b9686e+FzHZ zeWR~^v-q(`5l1Dy1*`o$U;80Rbqe&lkPp86c>{mjw%5riZY@4)cpOky0eE_GjS4Jit>)$u>>m`5fANb}9Qq)ej z(!%&8GItw;U$~`uX)aF+>L|kMX zhfa6*b~1j9R5&E}*kr;X;uG*UHaUzfIr(o~lmds&1BZO$cyP$Q@1|FE9Wvn1+<&_M zM;C`4iRXQPIB@7);BRo~2n&Zgd2ZuSPkFR9AL=oW795hZt8_l80S&HC%7xiiJ~S}X z{CbCinWnWLsn1$(zMs#2z4^@p3B7r|<&!e`@;j!8?tFAYcZNT=A|GS$!6o_Rss;Gyf(hMcu>i`r4<1bF%Ji;BV{B`kC@+b?2Zv%RLam#`RNe-C5Ty z{7HO%qC4kG&eu+-X{@f3U7e^Q@CD!es^q<27KfvS-|*xhRQuk`xDJm#X4au~=ckE* zvU%Sj%>l+Ykx6&n_@C&`(E1#7Dv_0OKLhv2z4$h=5?@gja@5pTelw;1s@IclztTPL zJG?YMTp}@J?wQGzA296f9N>!#?9dN9utU$NH?Tv`FtEG-Ljb$eEZ7bC7s4*zz>ZuN zV3)`}$NySxV2A(J!0u8FyPe)R1C4iQB-IMY{2aVX-%m<9)p)myc^SNWiq9V;&DwbP z&~+}&az^Tb9e%&ph+8qfK?A!19|G9jWx?(n>a*5izRqXA4zuI6gbwqJtHZ?gm*MYC zfB6FWN_OqcQ?0YK7JObN7g1`>*|~^WoWYs%vR~3h>T1fpOJ~cyOGWzLB~Kn=1|8(- zTyzkV_ic0#sRQEbAY-TlBzHc^xmY?}^`47qeD~-eRvnPYkjy$rvz&`{YaL|oZmYyiwXYH#VrGf)tvtlJzV|Y&BPDOqI>1ioR`Zh# z_r?^Zxi<# z?J_&I@NBWOu-&%6f5bksV+#+^pKYI|jV;W;|H9+~#$yW&|C6`?!~d-N@8kNnSy zEnGM@Gyl`Eg_{30KIP?q*g%Q87Z(4TSD%{y-R*0S4V0*RVYQ!`rv0tH_KJUAot4Bt zr})~ZgVVwD&tT&P70LW_ZhU^4e>RJaT6L7J6KC39)`Hbi z^;yfkIzId5-m|YHG{(~ zXO?ri-U#tsoYTMhq>^*>TF=kd_oSxC_iFr>k#l-%lke5yYmb~uneTPCuRZH*^4jpa zU*wc8Z`G{d_Vwv!{(P@UNXaSIB6_~g_xgE!ej=y(>H1D}<6K`~;+*^|zWHGf)H^qo zCi(gn_}(F}sA3MGLWG;G`su#+c+43IFTbEdORbTGjRehD*Rn7T^Ix8E` zc`Nvsw|;7*a6;zu*5F(@0}qC?TN3$R_!2z%UM~`Zqt43un(sBz&G(81pFZFetT<4q z{1htZYgd*t!C`ENu_fPY47FnXcU1>z-&4NVAAqCed+n+u#{Mq7<`=1(8o*8;Yt<`x zN!2U4&8=5bxG#eJUw2c%%DR@|(=|@s3huydjB&o-3coLY$D8-HJI-tM9%kHgj||uE zr^D%t{iMVlo%eMTYc^+RQ`Bc|tBv;I)FIV#GD^v(ZMy#8!l5Fc4!$1kA+I^jIe9u6bQ-!A zw%vmzdDIx>{8`B$xsMOoDd$~w&FN&k)bYYzTPsBjwpDYw;F!!ZNY|X!G1N15*fJmOEzy17~TKD1CVLLx=^B=9l=Ediyb=Z*js!u*G zsb;|z-~4Jshb@_y6zlmj-+Re8ZRsr@{$ut*^Pl11uFZdXs###?HB7a1*b%M{J63d9 zWSF{x1zeK+G=IIcRPkPqR>NCrCWb%#H&=)C@fN9(cH$eZ4l6ZYz&Ta3Kw|m8MU&SV zj~R6B$pWd7w&zA2Ggy;_4jWt{{6@~k+t6P{pKWGrhp|P6{TlTq{5q_P7qrIk*DE*$ z7>fQHJTBDx*umX5>exZ%|hQ1V072-s?S#u*SCcd~pz85+B zZ|2?BfU}urPY31MAZLF$W1Ta|3Ge1iFYtEvgOhn~Xl+hm2>ZLZQTw~5c1kS1(2~qk zKVxeMk_eEjIpw|A91diObuYtz#2*<-a&fy2Y8`t9xxs92acw(n^u zjpxe;A~hj!cgnzUd4RZ{R>`FbZE6by8h?E2zJ?ev&QW5W{c~jg^NXX?BcJoE+2l+uCa-HUcHI|<<%TY2<}6q+aU<~9Ub6M>Iw!aB z5hwf0_{3(`Ih{YNbMjX#14e5#TvSedsyV%vwfv6wI+@>YY(|;iQ067`qvpcQ2%m$@ zFNe9WVqROBm%R5)t%n>m{Qg^F`lyxuWB!lR$3T2yfsZ!6yVs?Uff66>t3MbBJUuzP zXy0~LaMKOX-0dGIe{|7xo6(K~tJN%EbzK>a-{ ze5!nh=jrdk@PEj6__Y3B6h1+|!?X4GBf_KQJN%sQ^nYr2xO_*i)ZZtDOXWLs%J_^I z3?DDw$C~y>g^%HT>DA88(&i!I7%_;^6$KIXz2%s2j98`UihlZg3BP0iM^_Z;?={DU zWANPQivIe0i1&%vj;zpp+z9K!~Rt~gA8ca9IokOk2d1NHZ+_gqOcEsAspa>6P%Cr|I~QrX+QP}lA3tKoN}@o&64@c0D3D|Wh~oVA@ne5=^$E6EkB zMozVo2Nr{lHOx;5zd)UcmSWbzd0Te>P$W30Jd#VC($M}+WZ0mr$Oz(;vWdMx&Tb}$ zt=@4)hJQw0sPt#;E`P|@EWQ8?^HSAQvSY-jjH)!Wv5#IQYRv~Juncx)svppRDikUbm#T=W{I=rs&x94B{$+)W(r?rw+; z4t0g#P14ScQB2_L~Z;bYdD89z=9&lLP%Zc*0$1~T9PxMSB>`XanX_=drqGWK{lv0Db; zwgICuU^JY)_zUqnL&1w-gR>$-f&DP>!=a9PDSv-#=~Qb_@T;SSle=fg;8SI6!7urL z7{5J2KWhK#oUTf~uM0YxHP1RNT;#*eR=2JEKaY2tXe++UD%uKNNbdSvp3kyqqzqlI zg?$n{5SeHCK3rhIe#O9ra%g1=v~o7_`4uIV5zeilovcXiaoLgVl0d|>=kC6I-`$s$ zK7Opu_mO8d{Z^rS2>$eA-7U~^jmtCtJe@flq30!Zy9^v^IU>~6;y9aSt|jnC2ma-u z8^cR#XLr7v=hBkPORkeSe3`tHZ$;gI59eDBHyy_J_AaPBs!LJ z4a^g~gw91z4KxO*g|>}8v&l6}@DOtFF*d@3g#XCzF?fgJh2Rl- z$!Xzk@+;Hg0&P~&hvFgh5$7R1PvRl)kC^a#i-$OZqwo*m`v=2Ambv?~)km+>@xk4%KAIJw61+S@fKR!ViUB<}S*_nH7L=p!e*g})`78++))g;l_Xl`Zd=_aILUJf?u_ zwmi8n6@8*_d&bQmPg=;+Ohuogl{`t<% z5M9*Js>a(P;iLRCioPy7LM#8zgBE{EKQ@g@Z3WTQ42_BoI$z{GI&w^K2O2ef4;CC@ zUu3VOKWSUe+|E9(JW>H|WDRnV^I4H>Xv6S+(Hqz1Ih&Ew=*S-pzdX&yL+ttS?zi0e zwLni*$UwzM7-ufO3C}R|G&;M?&-DF@@Kiq!k$D*%gn5;-)>8CZL#t2v<`bp8(y91= zDDPe=^FjWUz|*4erc!C2ABs>%MR@4Wxxi~NdnEfXn|H~-ie&Mw#tZGQF#6|g!GWcr z$j#8M(I-YL{*=)^*=g3AuurnWn`NyT==CY+Bn`c){l8o67x={f1dXDWO_Xx zAGHVXU3weou5X96zMklfy+gKSg%_|7HoXyJ=-1zx9PC%mxEbgzn1(k%Jvpy_5$r`&4`WyOgVfZ5&zvK5P z`}Ma?%ti5oKI?B;O3vN-rzHJNt)mwFT8#d7xAcDy`rE|5=x^fZ?Vqf_odjN=$e*ph zeUn^gp~3g2zXij;Jll(}DfBn??$}=A>%}s!6#AR^qI!_$9(-+4KBD2_ABy~P`Gc`R zbFsH zE>AQ*g&@z5b#XnwyW*3}=8hkGtSd8(#k>8?SmcbUv3QnltZrfvgs$Ra$y%*-&B!zs z@4iBN#p@-157?FREFG_J<6SSW_xfVm+BKei%dd~(ueSG7?F~Fw`~w1W;q}`r-uw*X z_<6JVoz|jv8r{z9`C#ArM8A@KlmEs4^fOtX>wgkhR`5*Zr|io-=*`1hU7o(lUB}Ke z`sTs$)4Xs{@G}EHJq5Z=V-F|s)8(wIFZ{G!WQ{v^U-{{;$&$#O>kd8T+sN z+5B{jiy!ZepXP-Z09RZ7r{t&jvpqPPN&d^cQt;D-qcKSGCr@QB2oa4h}(oE*^$xk4u04E4tSO8@1PIvPG*09{Rek{>8JL# zY|--*@{)GHBc?&^FS@Gu)+_15_&bD__4>75>EIt#KGAORiB>3o#!&42TljqMAV=-n zV)V;=k&k@eb00p^1^4}YH}>jdj`Pry*q$=J==^-2@EAJwll=A|a~O?nI%;fIWCwid z3H(s)JYVv5_h#|`?ZP(bz&1dKR`Q~2ikBvYwJkRVUHooisPV6P^XUV#SRz*(2Z+h$hzOX0V$M%1>eI4D$ z`HkQI{VHR>!kN;mq;f zfgg>Zhx89$xCo`=7dVf6kh_?cW4B zlICyo%`)*FxIQQ0pZE@%9A`*4AKfHLABEq=by4_TcK`B-Q&RI#8F)}q;yffUse(5_ zKNCvORh9}&0{AGw$y9S+>dyTS%-zuc^pDDXz4cq9Zc93TuVit}r0@$OkEQ{y^L+e% zRAt1&??(mDH_=J8p2=E+;Rng1W$sNze{Q7@;fM0S_+T!SeGwgjeQ9HiB|O`3bSRRm z`C*f(tCq|2b9r|-v3|5ie|G)p(BL}sKVVz$)EpoFzHhvkJD&V6JZF-@1Nx6KUIot# z9$fYocD7k3Fs|+I`ZGE6)BO{d39l=94!JcJpAUW3-lqJSO~Mm|Z`abU#2urCy=kSt z`Ot7XeaKl2ynK+BRXO|4rH=CD!E!CDh~LlS{BBo%9&rfek(hgaS3w+y#OMni#gNS% zrz3OZ9Flm2D84U&?Lx-J(K5lz@k_E_;CK{yA!pPw2brtXly=Pvmz&edpj0f(Yfc%?#%+581fC?rS?+R{`9l>a*;C#xsd=TJOT%^q;#GUctQW`928#>NDS9 zV*vTTO?=Gg88Ndb&TzFS_cO2fp7alhE@9?1VKMC zc)1SyTxj0l-GVKt&lgT}*PBj$_QGH3S#OQ<`xb?l$$Eu8p`%pi3*Td()A%b@f7^gx z8S4^%|9I+I*q+g?fGudH{7r}4@#;Vy>&t&c$|# z^AetIb+Y5O=Xm&4oF^h%wh3Lp!xQ$^05$K+?RocC_Emh|i)r^&nYZvnu|=3mC4CtC zDk&yK;tA9mavIOU=N&u3<%hIOib<){GA$mHqWEFCCnlv3yzR$d0e|`Y*?jF{7Z(@1 ze8%W62etpyRs113K@xxI!~PGl;h19ohxK9qZx+~L%ZV&`zxTi6X$x;t?EgQB>o}PG ze*#_qz3%@CV0J5i%lTWzpS}NoCa+NZ(*FJLg@4UM|C)x62#>S&KNY{d1pG_mUu*K8 zSNu0HOW|Kr;|9F(CdjtK!UL?a``}+gwiSju$W8U=&d4{VJM;g%QK7C|WdHi;U(+y= z`|`3IFZ1AsiZ@B{hjF2Gw=s^obj(s6n)9Xap5b;{K1Mh;eNhU{K)=edn>QT$-MHC<<*`v=h;Ezw(P6;n%a>e z!?AZp@@y#Z9*Uk)Ml92?;_SrPHgcs5olR_Gv3-$i;71^QnGZii*BAVd|0{X-UC#XD zHZS_RZS%hPEb*f}6Ca-FRCd4TWa^i9cbk62hLV1HW^AY(cE79%Ii_thrzCueuU|Pg zSNP2T694&(^b0<>U~@<;h}hD~&fvEg_RlQslZ?~2jHzTieUBF%1bs?ud*oPTDmvse zMKJuQ zUmG3Ld(OS#Ma|1@v~*@8&z4hX%Rc`QJKXqSQsKwl%)x^nu5Uqfc7q=kaohWZ@E^%b zwE2g}*93liRn~<3FQL7H8_%i}XIJs{%h}acyeoV!z`N?~iap=TSXI^He<=w+tjDT1 zcD`pU-koK}5}c7e;@Lc6BQKXR^J^Z$W+aBl!PlnjqIzRbOI*<>Xgdu3DhN)fv3XX( zKBB)v&jsOoGL6lgJ+b^J zYTm8jjMz6Va|AX{__lIz)1|dk^5>V(z0&vLuR~9Ex;mdhZ|8l{$7+f3Y=u|1K_g?K z?F#Xui%mY8zE#cW?8cXVkDLc@CAIJHP;_wkLH$G^Hp`yvm2Z3 z`SuTrt)7@K?RJ{^Qdd;Xmp;sVhfCk1_%3}TqZ0m!QA(yo=v(swbe)v^Ugh1-ASqhs`Vqr3lI&W&6@fXvGSo42}W&aJET#!)K0w=z=U z`f?-|`+RUw@cBIc&gIY6d+sLBRrDUtA5~p1$Nd-Q7ruBcKi-x3{Egt>PKi}~N#q@S zDm1D1i^T79{_PNx9QQeL{#_D}N%o%KUgyrsAOEZU3&kG)u|u6XIlnETuAJ;^+-C`$ zUjpohiq8^S*K}9jY5R&VamPvLUs!mg(BHA~@gz?qdWOe;nM{B1<{!%X@jFG&NNsO# zWgis%-39$o55mAm*5SsftA4jZ*JZ3j?Cz6fE%2mNcK5hHK);MvS^ufX)Z5$`KE{4@ z(BU3@e6%jqbtL@=U)@%ReByf^E{ILu|bVv zT^f*iv@u`dX$R1w-#|aLa}_@4;z9?%J-!-V2aLAEllJi5$TiA_R<%f$zS%utp(Nn-UZ7S@z&U{-lkGbK5|EsnGNci>A}ja}~Va=E+Kau>Wo3_uBgEnLd5hxmsjF z@AcIhnNtdVwHNl4hrX)R-P=cnpF{o{`#P0;%XVQJK(`Rzo)r&P@3*f$=i;6(9!!lJ zujZ*;n^7b|Zf_uD=DzEb#F zHMrOI)pIhh6!^MO#SbOo`4xV_o85dago(T^ZK5Jt7EuV6n-!}Z# zwFlTc*QXrsPkhSv(q9^%vg+g6hm9WLjagsg!dUWe{qlW>%D+nJmzmbH)VH31tjCRo zHtR|7!0g6q)?;D^-1GT3F4nT1Yh^vghbcND`nmC8CU~{BZIXGl&O!6?>QLl>tM@2g zjlTH?XI5{ZYkGJ!euKn3HLq?y3w|;fTg~WL(9i++^&99gHm`me{1v$^@$nvB&3mbM z^~YGF;nn;2yq7;4|3BvL%{|uM$R4HR*JZ-bh<~2#1oxFn{w}yDIY}?_eGR_cAa>>m z{^Wb9d`A}_!Jqn_+;7Rvk({8HUfb0m=YqofQ`sYf+5kXo8?V3@KaTCl`elD|_N@U{ z!`X{mwI4bAO8K6H9W;VJ;IVHFy7h46d@g_Ty_D~M_$+2#RoMnUM&a1eO8cJ3|`3_%3lW8sCAZ8eejCgN+k<82?gt{8%s78^@nC>pi-M@j~g=>x)Mf zU0-}3tXJWOS+C%e;Ky+GSn{A1{;)STJ_$d_VXsHaPrz_D&ol9Z zB6t4JxbSi=<<3uPK?tu>|1S1@$3FM`9-QL&J_Ns$*b2zyolf&nDv#WBCI8FsS@(n!ax$iNSFjul@+`!w5Kp z0c3MOOMt&1vDM`fvC$+3g>qwd#CX^o6iA0Q=fTh z1@BbyY>JzAJH1oco^Foo!++H}#@~SH;n~QW>g@2U?8En!zui6aK$#OBl$NLB#t!$nzYY=SFs+cTCH29^8c=BTxRvW_cX@paU7v?w*}WU5r7xsymVYMTD|c)Qz8U%9_b(`1$Og8YMP{F==NZpAnut%3IjVTLiOK$j z*g!p}axulGbxPO#F0|BjD7 z-wQo-?Km{_@IT~iiq73zdXRkIjQcgrw_hcpu0IlAq4ujJ{eJyH<{>!Lhy7CU`!}G^ z+&<9f3Sik+`uwJW?fXHW_-=)d#OV_`c!}9>;==v@KSQ6NGjr<0e*a&VfA2hTXz2Z| zKlhE^{~hGtiJ$Ae{QC(pDSf4{jRMmTQ2s4ujy=i0o6Vg5KYewI@1Q6Ba`+*lud@Gx z^!3?`drx1_6GPEg`uZLDwjU&YH8RJZ=qqC8)ED~tU!-5odHm4Go7n=VL$6;ZY7n4b zo@MqcgMRt(gV?YC<@#m4vH!k!QCj-k>9_x0Cnln=^w~lF=KDsUTE9%}H~QsP=BVg1 zgMPWi%<0h3XHyUMUsEc7%KK^meQo=pq0j3DPVX~)e%9<)2Kv14AolCug+6cjZ13r_ z@F3{(U2--*Nc#LM@f|(U=U>d6`a++F&i|Q`UXA~={V-1|W9 z|BLOvxcvLkg}tY*@!)P><=+T{%kPJOMf*P!@(=%KwxO>K{?9Bkr@qivdj0f6C;uLL z^w7}5&&cuY3qADG|C!h?^waMVhoksm2Ko10naBSv|7V;&x6kZ7eVzv_`%0f@8Q8ub z^qE3GJ=W}Z2L1FHGpD}L=l@~(_p5D(hTb10hqN#B{_i0FUcR9B^mQ#UD1D``%LS(I zum7_te!d{*f6TEb|4g}=Q(x#Sz5J{1!TziNpzXh|t%rsl{)e2$zR*K29fi2pIHGc`%0hRG_ZaDXH<^0d=cLw?QIWwm| z(5HP~zC+arOvI10&T_h97m+7$0deufI>>!2BW5|TZm%hnnl*zY<?vnq9=Y?UEY% z7ZGUE4P2}L&MJDW$-$LO02!!J4o`{oeqw3ir) z0R74T6316g{7)M(k5OXOCAKC;AFbTe(h?|WEb89X5F{?G^zFRU<=rTM`ra9b`DM8= zfI2>9FR|@XU+QM&Ci96AV*`%VSJxb;VmP)uE%&a3HnlQ_w3Yt0@Ovr0U-Fqf4c*;2 z#LVRKmls+4z@CO2YI$rRro6p2Cn9%EcZ?*?b7gL%ePv#xMecsOp*WmXz}+r#A9tR< z+hyXHWsG9xpBO{ttj}=WI2yiZT8D;#%v0ZqBlpO9+Pm>15;yW^@=}f5SWX;bK16C=Rvc^V&b&2h`TBwe_q2#kFCemwLYXCw8Z(f zoChAvAjg6Iw&A-l1AMa;e1pJN!}weee1jUk;8pudU=55*6MPlG4++$G0AVr~RxD=e68wqsX_M=|h=q=28mPGEQv@Y@Rf*2UpBhPO=8rTx>iFAX^47dl-}(^m3> zV&rx0f^Q1nYgq|hu43KmymVQ+Gdn?Zc*3j!haxCq7UD3+yNo~k7;d_d16`sjn1sf-m6Ox@z404|HU=?wKvC4``Yjd5` zhl4vCz#T)&`aZ!PXc;~jg%64>w0Yr(3^0G>Q(jum^T0KkmOZk@qU9f?f~%_iZ}Y)4 z^Up-*#Cb+5ok=Q2k(>kJnP&;?@p(ooLp&!&k(`4y?16#*9_YiqFF|B^3_6v(kyhxq z4Log!ZpI%;ZlHc$I zu@v%M^j*0x%Je1i^6jjNSpRT~;4f>i@%O90PtP+3D*VljeC~c*2IWR-L}o7-5{@3R zXj5#R(7)D+UjL%G*Hh!=5^|xpQrGO!qTq^J=4iua0_&3cYe9ESlJh2fv=x}knj~N6 zJFH2*myr)9wLnwJdx@o&`^G;3&n$Lx3~d~`mE32;O9Y3$;^QX;3ZE1C7$UbLSZl$ofP+u+cZJvBpZ3ue(2>-7{BQ;LqRHKBtgkD&E`Zz=T{63I2lJO&g7Caa6|AA$aZVQ< zvz4}{uREnLcxH4m_rm>rY`7vjbzeV~zSx7LzGypdveQ)8{IPJm@c)M7dE6^Gnb2Ak z+EDMdn0E*0Iaep3bABigPBHtth;O%Aq3E^*^|jUC*LzAI3uWnaM6LEyE*(>ln1 z6#kkjpU}knPggZC682i#Y^STen)R|~*|T}XuFH3ME^@97{C`_&C>hy{juS<7%kEQ^_ZKjC=(} zzra!KiA&)vvezxpTeIkW+>`jqiRf_bfzY~)C-!``@Hu!ed}7cF;!@=E@PH#c0)B#x z$XMI1B7VQ77~4SFW~DkexPWZ_M3p;l>1uJG}1^3lpBZ}?cueF_J1~hU~s7q?W4$tAUf`3k<Q4+IK4_Cw3aEc^sn z=oVS%6xr%&yc%9nQid)U+(-V!OnFz@NZX<0Xo%ii zb20L&M(S%9H+K9QnKHJ#YaTgT?cjeK{7LF>8asU|d$8fcyPsJycB2}jRP2GPoLB3r zO4S%qa^$7}`{DT&5y@lHd4f6Uo4JiOLNkgNWV^IqpzMzg<*S}~?6rvWH#TbeYaXNe zo5S~F2PxCdXa&Yd(A9BJV_^nsnC51c;gr3R&62lP0)AFsXi zQoNr+x1Ycy^pDLBI2ga17JfO**Vm{Vr;B_*_-J0^WNh9sta}>Ym)$U@^F=3bUpDhb zc699)p3OTk)-Us{1J-rGy4i)Z;<3=^?u+mx0h5x6PjF%p4axezLT>J znrNS9>_hBOWJLFy=rqs+?G^trI!$a^sOu%>p9Rb>V?FX+Y(vSXX@MUqdV-clMwl-= z-poh(oQr&}c=h=3I)^(@=|6Cx@VaBe_|-f-Qe>9sO_J|Al`-VIst?3E6kb#ZJ!`+* zU3=?E<!uHFP_=7eF{0$h9?%fv@QIw86M=ogQD=L z=D_Sf8vCID-PzXHTY#a_%bUffrw;xXPCz!X*D~*$;q9f(hldyQe?`mT_=$2OMmMjX ziCx_T7p*cui6mTtN@5|Z0lFQ%&&iL?!(m(rW`Vk+V zwE3~r@Z+=iOvwA=&iAsg)C<-;RO_^Qj;DvGNFSo_10S&yOdpq6eYC(g9Oyhc*4u{} zBb7d@U^@_;MczFBlndK|+`nhR)+29Jey_LwORMlT;95)m`vQ384tVB5cxG`{!Byq( z^?cTrUs@Jkgug@hkLVCzipvFEdn5wS+5yj^%~)x(o3-R`8Kc^u1E@CmC)|6Ubel@( zu^Rl7eOtzUM-LB6zF~V=Vvp`RXxQl$H<&W3;avzKH!X|$I0P#^dN(Ob68smzAd4hS>!p2?ORRXGOnq+G==Z8 z7)$Ce0JknLE==nbn$dWtKO6W6Y%a85^J^C_0+0RMvXngCp=z2Ro`A^;V6qgL)H2Q@ zrEfuJlfvH-m|UBN&bR|QS_^J3W$ud30-DZ{6=t0+i^%0=tyP82gKaCM4nfVNlrXy& zy_|PVe{q;ueGQ_YX7p5P@74eNMWpW<;1yk$(Ch1|J0<%oI+e6hc0k+~N!_Ma+Q3&P zbI<&5!09MFpsdJwT54WXJ8;Duv4yy6EQUSvRE)fKY(Sx1cv|NgH3Ri(>33fdo5RKUrQGDZYg|S@yW_;b*9q}kCO8dsYkE+ z78-=EPNDCO*o)h-7pGw_b`y{cF`wNsFW@b{!HzO?<6>jmo*tga zn6me#u9DOf6g~5g#9qkfp#ewq*seF>GZg`FJHDS|!XfO6=C`^xYq;xq?IEYVhBY|H zjSZIuz3V>Qw{9;kCFHHhlC4i_Ji61}H@|!>fKS@@q1+1p(DU%t!EbW=dCj-~+`&Nm zL_ItQ{HlSk=swC7Pn&-qwvO^=>+dZtPOX$a!Kr`Hr@`kvzWyW*S>PIvd7=L$z_b*f zVHWW8^ou<&YhL2cb)U6n)4#udlK8c&vyJg1QJYJ4a7 zAKbHNXi&}{M#AI84ul>{(f?Mne^Mi{lG->Gs`gB9-+ioOqm%ucrB2RoD)`&*_AR&0 z=WYbiBlVfJ)WOMf&*fbIIDQ`ScS<~*;(;!lKJCIORsE#p=y!H~PLY>p{#TTRBD>&o z!sFYS>jvi9A$TWe^32)Pz|k;teF)Y$&3G4%>YTuWrQnc(r@#J8mE0R`(ZyGQsraD8 zwv~N!eLfS4*h8U-mLoJ>l=3_BR`IRRz4Xt9p?t1TXE@pW%2}hqfw|~(Ek|gbPX5oP zT~-o4q~>K(pKS5P!u!q$-*fD44~#o^Xk4`G&+Ok8Q2JH@_mmvimgDhXbaxNptnJ81 zo%l#!$iYYY4g8aXB9F@Vn+^-N4-|jpkrAPXXju-jZjtice*1qovkGu#h5m@11YRAB zpMcs$;7b{`d&K^2od!-SKia9i*kd|U-TJRiTye5u#Wp6p^z9>G5l z#V(1VE45UjhoGmavpMuFk>MYIv%6t0dcnDzv$QPj$9a7rwJ`cqmt+8SNe+v=!8{JE z^ZGG9=FTOC4mR8Ax33m{8^zDsf^Q*D*2@3#UF7pTU{iT(ayS)v%-~xc@$R{2!(nf6SpAKknyG9{;v9Wf3ef(58B5rb?UZD ztQj&u{LL-MJUP#3r>|moOMmD?u;rf53$HTupp1{MqT|6}UR3G^D&bpQ|&P5lYXC&ib{Xfn6y*T)5 z85^BD6~9vUTrcr|z3|He!@~2^$g3}<8UMdBjK9BD*B4u;@bjp+e@mSk7jnLFM1N|F z4d5K|JkB9ML0z%)`AqGvvD6P6Pdq1Ql+nT|k!-2`1+OFyqRGS+zdFr|`&W8)ZsQQ} z6})`40^dR<>xkWvACdT!Z-eQ&7Tuvw+eqo zhQLonH_MIF#krm0gET$|RW}YkEcVl>20yJB=~Vo3e?a>q^_l3P#C~1j#O0dAqbc1c ze%{~D)ol{KzV9-pM>oIRu%3N0@=)5foDMwEN#%}2(Pu^f65UkO^(WN)F64 zgclX#mzn}h6LAap3a?1^FW$hI@@^ZlPQ?O1LnRPS3^Iwe8zAjfpNPwvzmd+xu0+Tpc~6&Q0{M343a^uO6ew zMu}OGJHKPtN^;IEa<6S5^_4}QB3I?SIEF2>2!BpL=r_pO=OWJZD)`)r>=WCowtrv+ z{-Y*2uXt1G4uMAHcX-G69TGN^z*@uDJd?P-oW@z;n!rqOM)2f*Sts&TVi*noTAt=U zJT-szDn9?g?)*nGe{2P@pJo16;$LZHFPp^{#0M7}f&IukLvQ13jy6)~HO9Is@U5Zi ztC|hf#4OxIY);(ALVpzj`qe%bwPsl>@mQ{3!r0r|PSR^N&-5LeCBC(O$zAJqi(l`r zbn#!ss2!2O|7#poZ<%>*mU998K7(Z4bM*OTz4+$Dh8vIWCTC2o*XWwF2hj2CSlIt$ z4sI;0Zo}_ajQa z;A_q=Pn5eP1m5oXrOa)v;2wKdbus=kbP%u0g36A7(8jGd=uEXavnVtIv9yo3;%YFo*Q~&eC=~Z7j}K2w*!Y( zIrDJOSuH#|)!Zi}XSw@`Ymo0M&R5QhfuY8g^E(yqRCJWn_+93p=)$$h+8<;5yinKm z7X1r-7=F3qDDl}O_@(RPQu|Q{E{k386l0fiRv&7l8-D zk7vmqXTyudSDU3`Eag7Y;+wJ}0!xvVH%qKDF#MjZBLH6pem38(#wMu1*DxC!-~rBz z7YqwU#;{-Kve(5~{gj@+hyJ&4*J!K~++t39;O`rtA;FKW@BoPy*mXMl0{@q~s45Os z`|q2?e=qnT>ruHa(1o0#NSv1$M`VedEz4Tuydzf0xq|lL@4SjNtY8f*ZdlN{kTr}x z$%!n#VN|EsFcKfJnDN{2DYS$0QRu*qk(dXaNQ}hw?$~YTf#2Y{J$5`+0{oJ3cQbAw z@e=(OjP1-X%2#-9=1`au>N>}rLqU$C>WQ{qA@#~NyyZ@O>8Q$rK>o*KC@T<{;cQ0c>e(J!Z~T%|<( zl*3(Fa#rtL25;f){_^4Qdtfz`yP$`G*V+B`8r_)K339)HtWV@(a1gawt@WI@OZg4) z?@8=8enarertMbvjjTidpGUjbiER)Xn*)srA2NI{K@-`H&pZhJ3<2k9Q|rz}e3-Ss zTb%*YM~U2L0KCO_rS97rBKTO`*pIQ~e+?t8htIiTXlDoyc_0r{=!|OoZASE z*mJo8SYFPb;Qw53R{Wx$J<{tJ-SnvDW%brxiq2x>eHwpyllaqL9~Sqg*W3Q|b)3WK zT&@)UbYe1AA7X#{RMuE5dW*}Szu~T_5B_vD|0I7pbM1>ieYT8i;tSKjGlTtCpYSth zN3g$M&E&6YK9Jh}JIh^rI{Q!i^AqtFCeFh6n|`+n8-Ee`ON(+M*iQ9vf78HVWUbgz z#@{p$e-pAIZcB--03R~)0h&9tgWr`c#s6aS3=~>2{wCpzscfl$*WdKa>t>x+9K}G! zLO%@{cn>6gJ`KDx_+LEm#)hd+=kJ-H2G*_HH0|`#-;+FE8h_99G~+#R~S>zNfEyIXlB%*2~&l-`x)OQt4BN-d_-}!_iim>@OGytbj>V zCV#;g4VR{L{({fia6u=raJ(s{NFjc02;K;_1ZPEx}6UlFT;Eo|L6=RM2+m5c{1+4bJdc%yye z-NINc*s-oHT`&FvtwXqdqTeL^1@1Ff&aQLUwa2Ab(f>5R{b<})mi2s%9F#2XZ3$qr zh#j~lU+H{`hSspA)xY4m{fjl3JSWKs z6?rzpU7tFSckdRE`*GCW0%cig?{2X5H4XnnK9tP&WO6se#}pgMILupOpG#8A`H}cs zwO{C!0lvASqslyo+w(*(jhZ>O>N^M4Socf#6l}^XF8tb zw`LwL-sQOaB=H~mUJE^L)Vk|H{2c-p^UvV_4i$gmg-;P@^~MipVDy9!7RHY%>wj#E zE34p#d(9l&wQsTJkSac9y1G9(flrQ#cmFuH>{nGT`bK0BI+UXKb~!;9@_fMa^gGR9q2v($R35Siy9mO?rN%q zUe{tbn>qr*n?vf3O6p&HWOqXapDU<^5vvWV^Ndg(_o0j{&V)Ll*7KzV;z9lwA;CF(rA7gjE*sSIJ681b=2*1TnS&J=P z!F|pq7E}C+!jlX?+N0!4!e1hD5`Ur0YxP{#;T#$M+u^$#*7CW6&#~G-1U|Xb8Fx&$ zl-NgmUU~6(dCvqNa_7}*@kH9;w_%lZj^7=EyR~foO{5hwEMQ4&f?O!Zz{3<$Z z3qCvXMa>(e?-~u@C#l09h;NU4ZfE~LSaUn}qU3HZCGKbraZzjCGre_Itsu$8d^3c9 zhQ3rD5;mjuN8(q&*SBj(p1R9)*S0M7y14N=#;HP%h|ZMFXWU=Lh(mGPkE}Z?6`y%Iu zA@r4?=bZwc7(0p& zD2AW9zoxOB6*Wh5)}Y4U>D+Kcc#UuT#lG>)7*(wESzrHp{h`QjJ+ZZt)Q^1uva7BI-AJv9`>}n7km-D!#;6)q0GRggtJ+=3G zGBE!w@>Jrj42|WwxO}mN%R)~ce6C52&q_Z95A6Htjohz-?}&~h-|-LDbK_C?j1qj6 zz+2OBK6}di@e|(Ox~Bm=JFNwNAU;5Ro8Z*3;gjt5nS*)%X5QEOj5%*JK127rtKa_q z5v^DJfwjf?gSwwR*}iw67xd|eBp3CuUm#zd5|xW8ewHt}bRfB8LI*MrL#OBo_49u6 zpOe~{zdAQYpV-h`9Ny@({d~I^Yc7se)4>YJHO$~FZ!Z0sr7khlA0rV#d1z?)6shyqA!Mc z9-0KMoo;e~z9RWvvhNQgD|vS=#wO9(SR;LYJS=Nm#u{a8c%jTojrDuRl4la9tMNnoxE45h zx90Ev#o17j%xw%2#>4Rg6^)t?Yf5yk6ENaa3K%2iap4cZ{zsTB+w8 z2!|ruUg>^tF>+P>dm(f@dmQ7>{|^`Msx6u__!m+1l8FBo-Yz)+!+;yQC9+!IUnjI1 z0$vU{CpAJ^IB&1udj;PmR*hVrCg+9|!#Bremexf+ds&K_Gb)x`$GIE5PS0CEGxH9l zpqCvgwj_DJW^Q};z1*;kyX-2Fq1Dfg39lzFbHELI8-^k$rWA#~ZRljxr=0!J_{>!o zJNvWnv5CDG!RW=S*+2^9ASuoEKRqd{EBeve3zd--&LWJu|Tf z#g{t!OW4PU$sxaSTWNUiK)LtNwzJ)Jf=}k`Ty&4wjF}1^tLU$k{w6N~pLp-WH1G8^ zp8CBu!+hL1N_?!?xT*H!zsMUF-$T0lW*0KgRQy+LfZ}*QVuCM<4kfzuGPmCtzFs?@ zAbo$KP1J?CQ_nHEzw1);w?Clc!S{@ke0FatBfUB97#&K1CJspjG5UcobDXY@SAnkKXm+VuIm*<*C87Vt}I zDr~5_^_i*PdO+1Xm;-$+xq?{Zno~I=qdsl#pd58`ns-x zw&_wYjy)l=m~;Dl>T5(6Ea<$C`@W0G7eoJ=xgGo|KqoSK?Z|=Xi|DjJ7de^}>XKR+ z%cVXCvV3$-!HT`e^79rh?3|ueKp%zsn(3pCKK6+$KZ$iKe93LhDcap&_C{z^Y@U{r zSPy+?1LtAi$NqS|`$4k@689(jP_>8nCkw~Z)ds0zT#0i~wLx4Rq7%Pl6#9#SE3M#o z+r6Q#o$q?-COJ{y1^RKpM2ex`YI3;#zS4t0H_M)xQB+8j$qz>kDJaIDe?B)*}F^@zOBXAb0| zbqQ}0*}LP7T@BHz*ek&o@IUsJGfB0rJvLlTPFrwF$dxGpUDE`fEPNaJicL%{H$IDg zqH!fRDW|BX-&3^{{%mSQ+P_D^vle(~3>b+IWDNF<*oFcNftAX+0Vct(0+Y8wlPdF^ z)7yk6=QyVekBt79ckc&Bs?VN8U9{8Ix-u*m*lu@u?P%bs&*{YnFS0DR@#tINCHK;P z9WX;@z4|)(2fy3EZ_!UnZj#^Gk9ExBbeTtJQ{MOYHk2IiY}PV;sHe718MwAr(VZD>B+ea|WLy!Qk!mUj;DPN>MdFz$9JhP8Px>sQzRSCZxujsf zo7lRRpK$)ZU{q&LQJ%yb)i1z5yA1#Aedr3~h~XJg=0r9U*TN(Qw^z~^et3yv+UT|| zUNE9Fw;=O+CFVx*F%4XHfn!%Q zmaI!+T2kSu$bMp7nk3d`W&hm`sd!*9`DY~-4~$*`o+!M@Y5XZ?4bdw!k0^nM8+hzu z%ogC$;ljhf@(I@Q7vc~~f#nu8U-DnveH7S)WWFxX_zm;vO@EJB{lVuptDG9E&#}@c zxEuwSMPCqnyBJ&&+a!wKCVaEI8=2XC7=Hu#D~iM(w`AvUXt$IaZtTk`4VLVzJxs|< z@o`0042($a6_K5zc_%JAYm2Rdetbsu zV^*kZ6Kj_JkUA>8f#G#M!0@jk%X~1*6BvsAF}rUtjDBxV!xoh@h5jKh91DDBdtvxz z-T{WxutxvTFszU39~KP1eW+kqoq%DMz_8j2!{*Nmy$=3=w4DolROOxb&t!7t8UzK6 zZ4v_ngchwRX0@A1f^t>7utmidFeq4Rt##kE7P|>1iW04i*k)I{1&q`^p;n4m>bkq2 zC~C1S($@BEyDxJ|GP!V7tW2@Z`~5xVoXMFXAhp|kKKaa)|MR~+|JxJ3zo@hM zW%k0Q*zp6z$t}|U9KIZQ$jPbS0WDeeMd4qr?~4tO)jG1j>?K$B*M=&xUAd3wH-C=& zclJ{=K6B!J%G*b^A#dZ7oACKK^&4Jcj}z!T*c?~Qy9VY^$8WQ&luQ+Fv47dD{YxHv zwDq6Sk7q#x4e)kD!^nWTP!f5#d3nt_;aiJB_BvM&7L6+&L;I>@#0am?vZm-+?|o0U zu$SMgy}a~z*=EA@;pB!Q^Tp4=>F+dvE6W+*J&bP}V+ZfY>v?E0$}=(KTMKJ`d@ee` zg8M2KLq`u-_im}RmZxkCb(VG4Myv73)EM+EemXM`=5x>2>4SD9yZw4yDzDq8>xoZh z?r}Px-<^`b%Nf%>jAhqyz}I6zD96HM#S&-!TC-X z&gd*2oU5?y`{Ddu!I?mR@7*ZxXs-~V9bN0bvBiYW54Vx))OxpI4gX;5sz2HRJYT2& z=o{1_oenR|hX)|TWN$HR%E#STJiyYh$9M551 zozQ9*eQJ%RPqC*;Du+HwU3=+U_2||Xx`*P~5{#!~>21fZWDL9D{T;~LEBSxp=1@h! zu+Zb@2kzaHA6Wi)&$3W*8DlLDSa(eiJp5!nbJiGD`=W<`;gN@aYC%7lp=D zcWxnYE6K;!N?$u@Z$0e=Xit9Y80#;X7#!ez;lnnKi*}4G=A9U_Om??8#1*!)5qY9olf}%xX;N6_?0fdBT`zQ#{42gT}=7$NghsjKYyN z(b}Dik1R|)%W?#xBRjT*Zp{MMvS?rXj`lgszxfQ?s=`;&czJk*_R(e8ef9ruNZ&{I$FmHb zdvI$2MlLU|051LVJuhZvBsjs|v*ATo{m$+>faiZ*8h#PS6s-R_=8i7p?*x-7%n`GF`RTh z_386Do%QHXuT&jWV4Jdan7ky`LVJY&9Dq(#+^6TK+tr;lKCL#3;I(d>!Q@1JI zqrbikKDlmtuL%(M-eve*nH~Axd@ll4~Ap;`tAJJ+KF-jY;zo_o6 zXd{Ii!TxB~iN!e;t%ksl6s^*aN3Wv?y7Y<+5sXByCD?dGvpdjnL_bx;xt$b;t+8qJ zP~y?UDaPqv&4opJH4m zgS`i*Un{2)-`I;TzNhLvn*7qfdXEwIJeAr(5e&4}< z(=zcX(wB-`*Z({Fcx0%t2_i=wJ%zeZ{3aR+$#yXd`9i#f^jK^aZ|giLuU1E;VlA*a zMbVw($VKUa(j(g!1S%r4tYj|r+hkKn>AlqY2`OIlUp|2?lyd~k9@g>Gv@hy0b`It8 zDMq#!d&K>76u)$?>&q!_&B3?7?1i3YbpO@059!>ex-B)^uphwNWS?8Wo~=dp&l=_; zez%~iqDb>cua_TWJMj4uv>WGsSpb_MdT5(vz0liRz&NQ%RO`jygtiRkJ?U7A1BhcQ zc@@|-0=t#KOnRdBb80_|PG#W7J_)x&g_wW-JZ<;x*^@Z9{Dxz#aX`|E7^fw-@b-@&b`VJ`eDJkpDycALia!!0t#>D0yME6@KsfQ1b3v>+Q}D*e@Lq zCA)!V4|@K7$s%068?KrI0H!X<6nmr=(?YYA3oKG z8Q~r88l0owao}75IzVXY_+!(_5f#oU7y5Q`sk-lU_5%gT>i;6{LEq0Wx9kBq%rj$7 zPcV;8=4i&xZyJ9Cv?M!#=;aKJ9eqw?kMP|}jU795?{GWPqPiCUOg%Gf;-VeB$MsZV zOB=1M@QWHd?`gbgW4y;5BRRECXpDR}V0gi&ZXeS12mN4c8Io6T& z#9I7RV+H@j*My&{8TlaN_yID}fB$@qO?E6|ulAgUyqd?Hq1WhqKB?)cu_;dnztF|P z$2Rb>9bD9$zQXu)uPg{nxc5h6hYn%`%cj<6{5W-EInyux0dpFZWpAKHU@0+OW~~^H zvBxwxHqC_r;iWTH|NTN}=4Uzhtpemgqig4!6S8mZ?cI79d@hAI7PBtZ=n@@wgY%+M z_^lsD9RIOXr|o87u03PN-65VOX1+;lqTkr3LKEezg>3#;VDG;Id%wr8p224S4Eu@; zn6K)T>OI-~|1a=f0ls?h)LvZsF|!`DcQlMV;X8G-iGdv(21m9ko(!Kb_&YYuCoFiT z_U#$4>Cb;!83-D^Jmo*F6|FjT8Q#fb9c!I>1s1rj`1-ErKW86!X`X#(=M8qjg_b?I zB47`#%CgzN0K)-2GpQjRfp;vucj2+3Kz&8Qg*7}g)z1Iy6?WJ2XYuYxyL0;}TRzW9 za=Qg{XP)Byp)I3pu_xlYP(F2*a9g+nE_wW`8(QjF4j*&*iGlg`j*mq#TKO+qZ%;>G z_h{kaKlVA8`9-tOIXW{K8+7&rTC=N z_jceQzqs0rHE17y7PLB&|50{)%~_o5HOgMN0C`+LF+3Pr@Nj=cz?v+5Avl`)=)}CV zH8^$UwYD0EH?C0{kMxE$pQEjL_?K=VUx%}ZMg{D=63)+<13gRxKY3rWHn=+5p$TG} z`=bfzJgNMabwTQ?WSg2I-zMK$I#4RdWnB%wO|@tH_U=+4r9U2NaL(I#6I*5G`E-hZ ziMK#Ao1ou$Tq8@`;rX50kayrh;(6rTOFsDqUS`TS@$kdYlj!sa^Scn)mUy0Z-G+R7 zN%Ad-e9Pv&EaaPoe9J+;aZUobVDRG}=#e#y1Ph@<$(muUl4qYH$3tt?Qx~W>I14#8 z%}RDpL8jfwc)*AK3&8igU72>ac*m(_n(VY~qLF3bQ;lfFiE)|res6OLa!vLz;Za*1 zvSb0{0cYB0F}6FMyjaTOS==YQ|4LX;NOEN7V-0bFiN~ZbdVEmJOkJpepMh!^W>oxvb$qD9Y zWE7vCd>W>4@T}y#d3-cvqVB-{Ta=J6=!6?pP!B6;>Hc?6DR%AMFu{t~c49<^`d`4L&rj~~*V`+z{fs+s6oGl}czS^C9e-PVAnI_xdb)7*UYzJap0 z%onZY0>hlv3vyY{`Hnmafv>8=a55hE`K|r)xZOS;=k1RlHuaR!?UU#rBP{l5ti#*l zCy%lY%A<^wIeV!rV(PPy$5WXmXh>Av`;KD$%4IX{T{EynH?FBTjeyV=1U;6OX^VrWb2OuNd*%mOCLFEKC~ zYJmfs|L4JBD0&0Gxuya0;mzNPFYb$PkE|q@h&pX;%>~rs8i0Ir;)``2ZDi$iQ{(cd zk3pa2OoQ{naq?jzc{A-8Yx6qycaqOmOa4=w+^G1PX*!$1oN1xB?1hT?dT5+eZ(I31 z?pd`J#2`B`apJEt*Hv@reE!5W&8#nRgc`yo-l-CKwKFd*-l?-VknHA6qywC9w4d{h zy5B=SKu=xp_0B`UcV)4CyeuDkGdX^>`QgRn+8uAn58noD9BNo#A2M>-C!TM>_+=g%}w?!bhE3_&E}w+ z)q=n1Tc+OnPr>m7GB4hPjy9T_+u&8($WeA@`PueE)bPu%`ee8ZKGIo!j=c}Q{t7fG zejI16o^JLXjiU!S<&GnP?D4;=bBWGJ|DBmLplK%h*Z}BRI*@AY^q`N4|3{Id+6#9l z%pB2`q>l{%rn%wYz^^4sqL+ckzJAR9)#+=sH_q+^z8COW@T)Bj+2gFdCY?PSW8CV) z%#}Wju4m?vr+J_^pBq*^*EsKM{GDb$gfEFcJ9$rI9Ao9~&I$x}k7X{qvU8hW`|trH zr&tp+UY*;07xn}byM%m`oNH@gU1+17@psTpJMD;%n!QtlV>gQM>F~rr>u6|4`?zV0 zMKUBII(~+^)1LgN(ow|2WiKn?S;H`X1Ly zbbXE;TEKdyK%W1NtnW?f zdkFLavxne))y&c!Vg>PDrI~vOmtQH*r49OAK)k}UhkCKISjo2QfywWH2l{jb{d)Y@ zYL9hof~F^3Yww?Ooqe$Kde&wL*F(83v@c^nc>bqq?1>jowLi^%uzS)demk4r&f)rM zyAGQJv@&;gAXKr=w(g36v-_vqVAll(_blXoH+*S0xD;U=#1;ehfvp$6Y4Vl!M$mIT zS}?UG;Ts*SN8)$De+qkuO~_m6Nb?;Zg6wQxB=1U})wJ0?Y0gRdzwwm)pZUMg|9PhW zYfjStO{eVt{Wt#l`DdwrV2l0gl2xp;YQo)*FLc2$>&QfC3EG}w?74O9bL&RhiH4kT zCpM`F@5p|om^g=b=Nlc=<7sC=Yl3&XyB5wGI6STsUgBS~S=eTT<6nZ_9zh@7|Fvbu zI;c56{vyln`r3qJ3*kB4@Ut)Q8950r$r6Hwx!JZYrXF1XTEP`%#S=bdq>d8<<`7CeRf91dRh3Gq{HSA7n3`mnC1H6;SO@+ zb|^=E;y5S&z?WP8?fITA>geYs_!F!Vp9pUtPc3cT@*Lc%)>!k9e;MO5_LH4X{N4B> z>7(iSOp)#IP6x}!JQzap?Yaf37IA7e|ac5sy}+Iar}8R%AnVp41eCrv!S!eV}rOFUNOVWv-`Q3X0HA@oo8$|Sv?O^Geh|+fu*-x8hOtO zAN@>Mb0vG0DDf>hN%obQoac$e z*@n=g$m6`g+0S*bmuoMg&sy|Xa8rE?AKHulfiZlJJ=#3RHiWSawYxSIa{oH+U(fxy z+$aB}h5VCE0}N~gqf^1BeJ%TfmYaBfKJA=IJ7>|3)0fUXY`>fTqR-hK6ZnKDnSGtc z&l;NXQwu<`0>7EW*s(S0>}NA}_*BOPU4Oi>pU&Eza_o~BFTBW%y^K%kXTUh>j=ffO zP3k|**h5=vjUE2fF-hYE?hCjs)AiqO?An{g6{iDjB>60c&ip(}de5Zi(s|YI`mtBq z8RxY|p*ig@6Z5TP2YRXMn6$G;Gk6N#D%b0?=nG{z)(cgReSEY0wTqQ2$$ACkuLb8^ z`}pdVzZTfE2`{gAbii!J9OqtHkhb0XY5v;z@NW5Q;WzTvvaj5e=C3t11swaHC0(Ai zk*y%j?x*!aSCkDS?S6(YOR#GDK{~8D@MCTB@pPkq!NW~_Muqr!ewsZnI-GOSivr2W z&_FW5S?3+t2HVTH_dGDH1SZchPvF^!-L(rFlJ<}Sz`?+D;0?rGZl>7PFP?l*t%*1K2#?7+L*14DW?u&2FaSm@qQKl12a zzAvk%zDl&|9J}ZFBJ8E-@_!RFJs%pqnd>vS9?rF58l)Ra_MA(umXV#CEp*vfOLln7 z|6@N$ZNHpRRrm_4dG8$FE8@L#?G5bXB15qkKIhPI{CU=uHEIu58Q)ogv%NdZs*+vh zRqT~RTU5stT*cnRnMTZ6aZK6fJg{@aYu9zjCSh{Ou0S7>ol0>Yj=q&0w#=Do=Z4$K zpN-r@f5MZs@TwMg)pK(hpT+nBcELpaCyd7%OXe8b>02@FJ=!lacJZEUVDHpJ&k8Gk ze-$|mw_=|f0Q`^e+iUDmJljFLBP%L4{8AKYl%}Za*lC2vMJx#f4hPCl`j*Qd_8B3 zv-j29v=#~GDO+S0xbI&l>|jS8C0|qY+_fAUN1n;XAcA6hy(}I7D#`bP-DV`<$ znsqxfd>y#t;Z^iFI7MGq3BP*5ttt2;*=M$|oyAyZBh#+x!?AH$%wZ1qui^f++z*0# z*>=IW9J?L9C%baaC~B%**5}LA{1k`b#oJ)h*dsgb|9ltTC%uI}$3Xj{0q?BZ+rD<| zu@@PCNs(nQ{Mwjf%Ee6SVC$|;>5Lug&gJ?h^p*Ln5q7{{>62&ieWbnP7TNp;g`>m+ zyz=Kn^DBI>=6kGR6f*rs02k61jTcQPi2pxBd-r$RAK5Xzx zx#|%<&D?3rdv`qc4%HGEkB_6kDv*z3^%vP6&IG5?GmWoXahqL-tYivr zfkCV#H@ps+8+i}ehi)E27tUk#_-^EVMMGoM(So9*-Q=X?r(&LsRfvWvG7yOPc; ztAGvhDew;`whJ8f@p_PKr2o6eZw03g=9<}7&n#>+w6|98^&@lh$hFUm9U1HDD4zZ0 zVPk*ktM3^p1}0@za`Ad|ru!waV)9#{{TTXI6`upRzfdt0e6P*F($w>*&%V-TPh$2K z(&5DW_qQjSjXo`&YIKRdnljP{BGkXq*i^68Zx1R!7W?b_R@0yJetON`J?{IN=kGf6 z>8od?da2i-N6F8m{Z2bLS%Qsez(md(=NuQ=sXNgZwBJ&EuX2#(Luog9%^)LBqu8*& zLhOh$jw_GJj`fe6-CUfZ6Lt`{qq*7c*!(d&zhR!H_9}b+by>rDl%I06%nFala$?KU z*W-VG{Krz~k2&L?dW!Mi`&W#=E5ko;>ec2F=Rq!j{P5Dr{QKBD@E^pBtYi$F6FjF9 zx0;P#b_Mo>jiy%6IOD7La(hJgNK3ivwf$`*g7>;)83(*-(-xT&>e$pvIeiPQwgt5RZll{K9jLA_npsV z#=sgy?`D3>p^*l`#o9VF6taiSuChnWt+vm)xdtAWZy))2fqnGX1MENSqn6C}>Fo1o z*zf&frv3i!X4#HTl!fl?#ewCxanABR3}v5C2t5shzJ^0zBcQi4p|`VI|CBm|%{fQt z-@Li@!_)R|I+3Tn>A|2j=)fS^w+_4c&EqfLd5@0Gx$pc@Gk@_2WS4wq?X}FG^~lHf zK44;%J!o>ZJ>+u5-T8bK+d2CTTYUc6==Q`CIJoDWt$4>N#{X15<5z5{Swn1gW(|G3 z;dj3As~+QcLtmp(^};pw3s}1nm%g$&Z#(zgYC9kQYwR)Vt#Ni+$GRNGj_%Y@W8z?3 z-vPPP<4?nPF#VYL-CyE6xbRQVlk_j>((gMc_u%5v(E`B&I!diynKSVG#Kn*zr2I9w*C96f^jwMt%B&4+31xy=#{yM*gXCn8(?JRR6B-j%~^@Q zNL*VjIsI{J^G5PG&+f8NviHHR<`(6coA{V~+N$xz#}ueu@SeW-n7%r_cm0FslbB^- z*TvbFe*RJF&Re+Y(5^G@z#seY_NVT=g}eH5{1fi{OT|O_<{w#r%m!!UHNlE$r5CN~{6Mu?5m+G0deTn#8H(&pIU-s2ATkQCZD%rwX%=AjC}wf^$6XUY}0eP2F{mw?O(+G`Kvo}S)##z%3RC9>=zmB~;QC}GD#E)5kA9Fx}*i_mgUY$B$>F;#=-?4_Jy)%|~ z7P4RRzw>vjrPf^aZ@sxY`xwDTJqh;P*Sjqi`dcl{aqgr0R4Vi&Qr zPw1WDR{4!c+H#L$|bl3HOe2tv3B5 zsr=kG`^o1NtYjA!tZrl8uT#%kaCj5=HS&E0=e#MOZxJ-pQG{KSeuNjbI}*+HS=3T2 z!l(8~4gMx-e*8-fF@V9IDtJ`M4r=xCAFu*HSp?q{E-DtsnU9-;`s;O1`oF7<4%*v+ zfBt^-^8xfBdW}4j{+yFL671=Q-&GOg^)&zMh#d&A=a15+c$&tcYvGN*59O*9x-cAa z5*Xf`0YlX-lHBwD{ucPSkFoqU_}EO&b0$7M&b|Kd@l~&{kHE+OaGyIBKK|Dh2OnSJ zvp;;qyVSSuXMO$n=;)7q=gmaGE#YGUaykoqthKV%);_^Gzu=B!v2u>~fs0>6mss+( z+l~oOZwD_Q;<@~d!o7l?0pMQ#y|*1J4&?RJb3SDxg=2kZ;yC!=d{-OV=dYlR(vlGU z=k%QTPIha9nP+zE3U|JBCzDIRiabH36f%Be@>0ML(L)-gW_Py{EQ` zAzgx9H?KOmfLKwdmXA}D=I5 z$t>BIuar%(h5aMCk$f#F-XQtKxSPnSkF+3XG|r2B<3z{t`gost9L<2k3oaZwE~`#< z@_X)u#07)nb?6W~iB;Op=QzbI#dFf&H{Qd?L!1+91$XEC>48-g94BwXIx^#I@>kBo zzKUGcxv~SuFMkF&X0|cP*M`8-CF^h%u+QxCI5Ap=2FHmv)x+vxz0n(8(bQbYh7|G9N7IY9}@?9@l8Gk4m6#J0|SHuz4-Tp15G|0ciPyBt?rl{9ty1*x_|~m7sj_0Jj3|5_CpIz=$@xT zH(k$T=SG+OQXr>k{~F1QK|KfBd*|w$`zMC=zwY_&cn`4d&$2EDSWD%k?gL)}ZM}1Q zmPw}>j9o}I!-lj@{BPngj^|Ao!d&t<1j1J{Hm!3vzjyI_Wnf^>%>BJ{wXVXyquAE{ zII!QvnIZIbkhMKHp*p#b{G|Qey>kx+udVndd$;qudVi$$6dQjKyRX-_&i-`tc4`MJ z{>a2GlQ&|n<>N*#H`h5_4{Cj%YbUlj*xGIG4{H65`};e5b|0@w&SVZfz$S!ze3_cvkrmX#2yV{1QD>fG!`jM;l5VsA#?0U{h%74ha$u@XoJ8A1zVRJ5$w$RGS;($fJU<-ym5D)Cj^ZVeHS`BRjIlQHN_gdE z(9Lt9kIaVNsA=n5E91 zGD>^J$do(CZ_sbI@LM%=4_TG(NJbdB-B9S{2kk6$@`HlIOn%VunqlFk<;e4fVc{=w zj`jYX!zv74;XOZ2&2wQIgXUu3Z)`Vux9qgYgEr>cJ|9`YTw}~N%3MWDrY6G5o9ry& zP^;JfJ-)tw-ty>$-6oc41-vecSf&MAt-DIOK27)W;Bf1DwqqZMe}^E=1%da`0XI&IsK0jL zEF4r$S{vhGe&!66w&1XeHelUW&U3(9c(`~t&uH9?SNLe&VLol(WaRZ>6>3LoDB7zW z$65_X2Wrth_VV2Ge6;_{yp9Kl8oZ}|?rN)^Iy0LDi=p9*-!ZhGRDK9_Y+`=e)E~dq z(tqajzxt)~d>!$3J6K2IsUOE{>C3Dq_~5N)CQJtSVB*nZjJd~{yL`Et`z@LSbC0`o zS1zAtchY==rijgo-}%1TiVQJzPGz4o-**hrob~Kx%NiPv6r&SE ztBOPDkLDGBspOIcl7{@a?W5gMef*?(V`i`?YSIcDTV9%tgO49`a|#B?;ZR4BV;rx@Y zVHa_EX=@0KQfmmmHfzYIe+{o;4NW`%vL=T7Ibl5y1*GSj^=xA!gl?a%RafWqVd-e|5-F{9!ruO|g zANJYXY*QP|mmf~fkKSSJHrH~FR~){eb$^<=c#S(atHX+OPFB#Ila+SgoRbwyos;#N zb?lP$yo0rz{kszjnfG{C^Gn=YR5>+SqC5v{L|A86J)rf(o+e+e*SB|uST_5tjl8pw zzWry2rQOdsL+m!r=!zAg2aJSw7bEL6j(UwFxApNqp^J`W9g4u`V*CrL1HJMJdk3|l zO)LlR=w0ufAMw0mI*^w~f`SR>p41dJJQ**ulA6n6=EC~FaQXdR&BAxZ7zJ%( zYI$ZUu_Yz&Yqg_$3oEmeamHcJF4H&}kGZDr{$R8k8KdXhcrLiwvelPr-6N+jj+HsS zjsU)rtLaDIO%4IF%bUkr%p<~mZ|;tL$?^TmR-5)6d#&)L#>JQa13&ZPEyi<(O%Tr(8?Mniw-a(`=gM^gY3WyZG%L&}|TYTlZn$t}nqqr$UR_AjIQebz;$^ z>&GWqFSY>>OL_HkbI@mztBm!9^*zn?*0F7`{z!Fo28FvAUvyIaiqh?R_a9q`%dIng0o|G@xRZ?TPFL?MtCUlZ}%?hm+Z1akJnGvYte=Beoym)T$hdFo2hA%vqjTIj#_Izr5kh5O?;mTEut-$Wr_*X3ZPAjj;_^mDi zr=U;H4m5kxG(1kNgNNrHPJX=a(n}-YL3$sm%M)z99J=#(tyh;wH1t(>jlI~W2N|cu zUnCD04wr2pyJrz_5Zws>g*);gd22ivcx1E2x4OEC_Qkzc?lKEM!h?-{x`|C25BhYK zd|>YBD2?bT>#Uq*3(-%!_WM3VTh!m_jz{(RNn5aPi|!Yzp#6zDvd`f6og1{gPLbLF(TR zk86R)j=-^PG3Y|Dz%G!2MGbT#Sa`JC_~C=AI+*XPz(Tr%t|PoBTcrH1vOV+?dl#2$s)11Ec7YHEjXF_W`gDQibqlIj$>OFZ&>$VN182S z#e_p4^ov9PeWV$EW~bGZB1=O+$A$_=XZye`h$!6zTm>T z8(9HtF7ROE`g~>M@@UE94@ZJ|#{V?qM){u#()~}^=%V;)*gtKZik_(Tbn0|cAB1?g zwmJ)ZEwn?}EpBnwSh6xgJiX(`!DdD-LkY4{XU&z53GZF9=h=7Rr4u&5Pj=m;-091x z_m|rffTm-+sm)ObzAncHUY3_;=PCxbwO_*aXYkRq&ojfbS+Cu!J^fC5d+pxx=Qo)4 zS0G!zM_kmd`g5H2`Ci8OwdV1Aj7`d!6MpQKUOWexZ3c za#oay83Qk?uoIQA{&z1+j}@vyChWSAn2~kh*T50x+?e=1)Ms?Z5{YNKXOK9)OW}89 zO&|Wrw(t}>yUtM4d!m^yGlu&IaV7<8u*)6mzJ=J8&_&j}u-#Qy{flainX{(m;{#n7 zEPm%{&bw~31~UI_1K$#K)hcX9-|Zqdf_{u$m-P`W;b$Y9=SP_5S3onP(QlByUv0xa zxRG4-#=-}l%pu=!qXk^B9qzI|5#Ct%;FFi6-W_b--2gxF`fBK>FZpM_$JlmR!_C@A z58?SgiMRCDQ6Gvk0#)0_@Qb`}Y>5x5->bbxJ7>R7`X8shjU#iY(N=ciTvSWKnadzE z9@#Oy@s#&79<8w#A0s=Acg-Fez9oA)xnuV^vT8l!c4{;`b}h$WQDFQP?K_DXA(v|f zGE+6iV(S`MFBgDsLXKxNZ5=b^kFO77rntk*abMSDQ+TrSo4oYKlU zRMd;wKu%rOpL$b#)ZedUsW(1P-mVAVEO6idTm*WlrDlTYr6UnaK3Gn?TMzOEy4Xbx zpDW9dhj(MshabKPy^bH|;nZYs>UM)u8=3z`aB3eu$(Ku2)5F230^lk;^3&jn^UR2F z0$!O9zT^k~E?fYG-+wJaU9Nk6{Hk7_>t7zB>Mqy>(XhGVz&UKJ&aZa90#w7zK8g>O$;+r_p~UwR}st z&pR(J9`o?tSAY8bclDlh`P8#J^1|BpJ?;B_1;1}#4NP0JFEFl+EQ%7sG?^bNL z@R@!8z$!8G{y zOVI2lY)i&ZH85;!pG~2pa#p*3ifv#Pb^-SLYG3hSwb%t@BbN@Sb3CTgkG_wguN>%C zv7eE6@74;ym>;7H^#`a>^~?iFX=Iv3|v=B*gmcHg|C%vt;KXsr_yD_z8? zvzybpRQ8l++Nq%(bP-R-xX$#KhYZ7BeVX(8;c3jTu)q2JzIW@V>Ce&ih&|lIoaxuk zhdNrwkA4o`2Y=nc9Q|i(OJ`Odo0oHlZeh+Jk2IfcceIduwX#TO2~(rKC>+gIt#xwM z+?s!vR`zr5xH(VD;m>L7NI!y)e_W>;v-}d;9}h;4h*zRNuBC=2Hp17f;M&AC{GOwg zUsho9i!=vQpB{f<^f9ehLF>Q$$cc3{>r#nLX)QKh-cM|kJ_$c;4kd35T2o&AkerX~ zD!XH8wLJ~}GtT?Q_BciDX`QG1AEfr?rYR$9`FLrPQHbcGgHbw-^;~1$Zwwhu6&D!krV#?jq)w_um`Kh51hk! zqj~UP=`pEuuB4l=53Wz;i#hv;&Te-szWr6PZ;rA_nK6|)xkLeM8{U|dgQWQ%X>jBJ zGvaSe{tD*+!tYJ~LnS(C7QA2arIQB{R}0U5zac#qcRetd&j0=_^ykl@v%uFD@Lmjk zajxEhN5gx~TDRc8T3;)jr!N-whCpX?>K?o|M*G)u?u#^#Jmd;EyGecK{bl%NL(~3zN3G>y@_E){KT$4=)>3PtwH(X3?D|fP@daxy z=)~ma^>jlMZxD~G^*ayUX9mxWw`*+GdjAPJ%XsR%R|fJ;Y^LIKWxo+!O5U4yc)yBw zN=+dc#i6^8%9s1!#P>GF_t)V2 zchH+M@x7UQ{o(tYUSA)9@7vwyJ__GorpCU9@Bhv9uewg;C4+o${!8$E{2<|9Up--? zo52edo1cyR5RX4z_yjFSA%8ZfjXq?V&iFVvXXi1I|W?P2{67xA{LIYFMC*6}&Vi9c*3F4Eu5Sy^YUdgtA5 z{NkP5vznUEv%<%|_)o{)$r{;I930kD0{jbexd**O$h*~<3ojmmR)C#1FK@mc?7N_$ zZt%9hH8{)~91$H&K}NF%qN6>#LiXyzy)PV@XC+6UA^aa|Xi2tBJ=5R%>V2;d_2--! z0gbuix)E4aNf)1o&OlygfIZ(c;8~*n(zKi}owaD`Tw)g=PBy0#`g3usl78e9FzX18 zova?f7}VI>N#UT-^X*#I{8&6 z(3gCj;)gn~ql-Q~TFadO2gDR*=AJF%?6`G-Ko9sncRX~i{59n#U34(f{2#z`A$0d+ zK0UtH)|^FMJa`m3(kS;pMKxX2?*f?vB|XMEVbUg!l@`;pO#3&B6#6Jfplefj(G zWRw4%d3NV$GcNyq|MdZD(5h$2ZG09v{pH*5ICe*1aMQj(LC+5QrJjA5c}!FY;MQISzb|Lp@Rc{gnPReD!Q)K)Q~u<-K(49f;Nf4K zKFpe+Q-oc@Ewez&U4Jmk(v+AA2Dj^Dy-;kfWQ`-v+1R?eMS0RC)3&NwiWKi-K+cuwcEu+DY& zWhq`}^R&lnTa3j!@j~((>YDDE) zIlIf{f8~D(HG^{Szdnuc_4t2UhhlPD-JFwR$vZo>bi`1M9}TfQ4Bw=1+QPeQT6G@QL_Dt@6C59^!YUH=2+Rg$1+#oxZBWn zVV0eZ|Gn0ovj^ig<~)J%m0@p;pJL7(^k>GwzHTG!6HBmLXA+chc23aB-Hn_uXNXDG z%NL@U<~XzwHTdh*(<8s$oVl1AKK~J5!g|W56ctYMY#V&ViA@T&p0BlpzKwqy+-PC^ zf~{wxY2zKqgcins9N)jbt8UlR8FLU^{B+$P{`g~a{m=doxNPQM{L$n2qOZi0ee@MN z2|fI!^tD%Qo`Sw+z_b1JRkVj5Lw@ac_}|OWvWbZUhF+}CE5zzq=owL9Sju|EfOR#W zlIhWr>zEsvKL5;}m)U;=o%6+X=J3&AcDg@%CG%p>5o7-mUt=X3 z@i#P*tA~@53eHFpM2J+xYps_gNEjUN<#>IIrh|w6lRHGp{!I zKs_}-wAZ?pxPZ1=WQes=vwn5+8 zKGF}q9%*pS<0(-6&4%>zc%sMY`vcCz==If5VNbXaIQq}IH_rjD-|sruyz?SrRfO+7 zyqoB&7qQbXht@q*mH~}&RFwqRG!ajFVAPqX!3l{wT^6H z-Kbgo;)7!z-Mj12XW!j!7z^_eT%^k;_*Y#@)!cOUuR+e?v%p*JBW1TE zHdeUakZ0&E9k%4sUhBZN5ZEqW1Z?Yv7}!=Z{xR6Q%S)>4@#CuP3DkD?YA$z87-jeD zwv3$VbdX9Rw6*0~Vez3|a*?)~BSpMAGDYnZ{+ z!opBR@y{GwT_2Lo;=J&poOD=C`WwUQ@U+?Xd)HrOzd!$K`vZ9T;n#DiJ(fr9v3&aj zcu`yPmC*4t=y~IF1_3>|~c8qcv zyZCo#Er2WtKx;v0P3J9Zk5-sYYawWSL~(dS2Hc`k{>C(}eiwf7gnoDajr$F$-=kx~ zRoUryvhi=+@85hK@oz|;P9i^CKBfzO_KSzvNBwzdUwyWi@DiDJr~x`=ucz7ol26k6 z4%S)81MtA;EM&kym2t+Z4I%ldBj6u@4A&*jf;lX?+uWHE5DfbpE2a0 zS9?LVLQLEwc()$8_VQr(2Y4UB?%=gCmo_5E;uYYY+R+|KwDH}$iM`@|Bgc09or!62 z_8!^Pr63;~nVX<5#o{Z*;ui8x7Y?9(=*i#y<(ch6J5io_&~5)b<-_h79AA3g<9}4RclqZuj=VzwV^)clOy{T&>fVzul8v z_xGN+pE5Qy_gvuAc}dhD6dpdRd|&X;i^*4Q^|bSnwokKF|H^0HNX4&@H~ATT_$oXU zJ_>K~J8spdho8jiCQIgNFMmOJ2etgFMnAfD#Sgy!?uI*l_HNbG#Jj*Jxo9BxRnmv2 z=ds==!_zA4-@tgaaQyqU=i#PelN_DKsT0v3TnxS*{zSNicq}ibP`Qpy4VApsAESr+ z;Vc_(6n}^8w#+N6J(O(131mVqafCl*UnN`2IQ&`D!2|iNq`T@&#s%2&ZzG3Tu~*rA zigr^tWNdH+=w7+4`{;AWhrO9NWajse%x{BWbGkHa_9wFaq~lS4ut?#^NO%kQP~gXh zk;DSA_RjvzJul^x+P|frmlFFq>x{mp*jR5(rZMIe-+8?szOy@>?<~UR82>r;7UEN+ z*Bq_QPSc-rHaI#Ou|mLPAh~kc;XjJL(N(>DnDp2oX5Z@0-R#S9oxLG^^opgW$0EF! zpX5EQDQg&;2OTf3s%U=DjnY$DV~wGhwR=i-T=2Mk8Sufs)tm2}nHH4q4tq>* zZ{K;%5o&YC;dh0M0Y1gvBAZx5)xr*K5l?aUu{o`;QZurB8G1OlDm@^Mjb8gi?G3dj zO$bN8r}*+f1%86Jrxpg99>fk`Ne5BWzC|3!80<=_N(BRn|Bj)EMx51g~2ApC_ljXYyIQL7MQ)X_ShoEFWX}_d!a^X zGJ9#+vB-SpP-!K1owL8$!>8w|gV})m2|@$$`K%plEjgw*gw9%Q8m=!cfKNety$H0~ z$v&r&vqEQLPg5O)c&(MZeO$;Mh`+AV8rU-pdQ3p4IefOmpB9|y#CA>ygkGG84*Pv{ z*t)==Wh>BYCk!Jd^rz%zaoq`QvmT|^@L>7@x1->42kZP9k#y{@9Yjn&S+F;D$F_M?fv;}wB>ex3N9ClzaDf|^+k&-F2;mCBKOkq5JnVzD1 zA3Yel9|}yM`9aEGmJApQ4Y>5K_@x4DHGY3e0vL%F#Oq|Ajj=|uKbyMPE^nW~*iOmY z!7+_DjkiOK{_z6i6mP$n_ExxhhqvakX{F|5eBq9NBZ2+R_|?i;mkGcUnD&ClkBUE+ zSq2}1_bxgnzFY}yUn#y^?(*dcnhWnUmRI00)$kbc<$JXb#CJRL!0E@s$st+?k1xCP zO4F?}<`rdL5oliaDec1>frHT{p!+y$FP>B{+X6hHk9T{%n||(jc_s3Zx%I>U^;;*( z^Zx8LTHhHaeyA_MC;{*2fKJ+3+cwr#=O0EUvCgb<6gp83mpAvHzYh-urd8~DC6_$d zoqZQNAvkVJR zYjEOqN`|>`kk3eX{keW%A%D@1ljt*D#@^bOkEcDf^z9DeIP-4<7JW8g#~$*lT|LbW z=!I?U4Yi)qS5o##@KNh&)}48pb$6eWers%j;6cQFE`8lyTX7mLc=zPL^UlrbvnhMI zmY%=#tjzh-cdEW!jS~;jWqhW6^}Hk7sSooKa%Wqh;wR)E8(z#B#{M21JmTp1>rLGC zr^4TakI5GrgttexRaI1y8xZBWQu0uYyde)|bm9F^w!t?f18yTvr31W5Y_F=ozxdU1 zeoM^boNDfOf^%Ij(MG`fYAN?sbNCkSYu_W8=lPGYjU|6coXeOX>p@?Q)XBkCZFB~2 zT&fRX`d^qGzLhby!3W5fH0{VIvsm%q^Wb&xk!;#~mG<;qa+G_?jCM9x-$1-R^;@n} zTga3X+JbhywtlF#_KTE;+sb@Zj{3BYwA zup;k%^DR?q%;)m5Pf+WH94+Fx+o9vzs>l(VeO`DaaVLt6QeCQU{>iVW@3X^)R~&NA zN`{_Ow1B)m|15Mk!>^rM?eLEZd{-5*3CQ$G{6n+1KLO5_5oc8%;(mzxp^CZv(Cd)~ zM<0E7n(WQ#`e@|W;6?(vJp|qM0G~KKY#%WC9X|C?sN!{eHq!4rdQ;rKbjQ*7QW_VQ zgnx6Sx4C8{`lz3le+_NVrycM$y2%1&AzSor=z9db>^bfysCz^lZ4qZ!E3ab6ox#JI>31R1^!)y9pJQzE7~2ihu(y~?fVpJZ-94e?Bg82^vZyq? zATY?}YwLV#&)2nre33;1$zR%s9up_#WWDhz?osa462+PP&dC)iFQl&bXyUSn>CnCL z;9Yr(Wsfhkl1tc=C+a6~2JwAc%GYPxf~R633OLJrAocVUEu3SwX{6l)oDwaZnYU>k z*EeuY=EJ68T%VC~ADc0Lot|w&?Zn-oo692ACK?Q1|DNLd#AiSV2^=T%Q-{K$O-z;URCSr*c~06@F&=5s&YcfhX25C zYh7q+@?Sx0-Gj9E9p<31^~IOF=dc+YzVp6+|Kx9X5dQrAgRQND!11?a_s|?!C!NW8 z>6x#p9iidt$bL2WT$7R6Fns9aMmS?WlGt^c{u*XZ3SmB43E;+W+%4;en)(gEy^)$lyCe|z1`s21lv-pT~ zL-CC`@=0g$#aV~i`f9sYda>d@4~6g%R=)EzGHkYZ&Wg(LI_gJ?&&8gn#=#J4YlL@< ze~)KRw#NU0ZKYul{=^#A6@4PIguZy6{pnV{TM93V@O}w>Wzo0fLP&b}%CoSGjReO= z*@FLk_>i~mQD_#Pi7nz>_W0<0@X+(niS=CjTKrZm_^meGU|+#Gc+;Ta8Jtme1vCX5 zwra1eeMYQ?zQH#S$Nu;(IOg6z0mpbpIQA{A3)iW2VchD|Sr-?_m{S_A@LfDw&z%&< zTwJLVuAr|)p6SDtUotN3PfoyD5;@hInm zJ;wQ9;j5}SC##R<(KC;zcEDgCPdM;WAv|FiJmC!c!0u3zIEEJvymTG!jj|8y#BXE1 zhmy~l&udJ32VT0C&ynW$N3}Q0kfj-<75=N{nja2vbow^*C_g-$->uf417oAJ`1gFp z;4wPWxynoT+i;6R$!)$f?!9=lE>oYQFFw-H0(?&Vt_?mJhdu(xv@y`*gVY7uRexdl zb>bh#5pURqJR!D=a~T7z0nyC_o+Y;|Rt8O#qnq9={b6!=2DlQisC2a>Kg_3e%@m(h zoS|^IjaUL*j|~!+3I8#1lA`%?aI{P~%AOJ0XrBfx!f$s#i~jw$;`_zCc@TKYPw4{n-$_^9W9CBX?@3;(Pt{ z@5KeM$J*04opV01^F76w{W`8s&3_+7>A5}&0Qsrr)ev*1SyJWcE6@e=8-vfsp^QRiOY`L0jj zsP{&P%kGC~PcVB;L!;VX-zxnan$Z3;A6)!1bfxaPLGLCj0hL?;Fd?tK8vC9+SC9?z6kERcu`E?$j-a6%@3+BH( zEL_0n_$aa0<(zYE_GYT@SGOf$XjeQ^HWuo{H)Mt1{=wQs^uI-8*|3Y6_?N*1kY|!`C-${CVEN=5dT)y0Bw27#J=% z!u|<-UjF5-WcoYB$c>YMo^le8$S!{R(la9n?vC ztuSZRt;DJt{>?k7cN zup!Q+Mz)C)_s%>hjltLNqn^hv{E&-8O4298_F+y`RTt*b%3$_VIe< z9mq#o4xV^Czp=&^j#=)XCvV?0@uYq6o06I0_qobVG5F}wB|5*sMJK-UCB^hNoDsea zn~Sb*onH+dJG{x^kGZY)kR$BivlGANf8Uc;(hbh^js3Uoc)jt#hu~G|OmLQ|3Uo+EYpgh!j~mpJ0z=m4&Y&cP?54E@sGj#Ro{%cM<2H>(U@N1`kDd z&{@F-FaBQd0!RP5E8s!ceUhqsCwloG-uJ$rN9=LdBhIs7zkniBTUyZ`-1R!@Ze zf`9)ZeZ4uFXjXh`%*foVR-Kb1xCv%&Jm#$Tk22sj!_<51%Xf^xW24Yc40?3*pU;E~ zn3G~9qR>hVIt+4_Z!NYAv-g9SCcod)9AeMjTbHByOim4jyc|2CxTqgfb6xR0HJk?r zpVi*3>(i>8ptXnoz!_)0&e`hnbE)>z^luz&ep+V`76W6}FV6bJ%D8s-CvD_xMT>#6 zyVvv1{*42B+2#f32Ax;nepj42datR&nLUVlW%N^9SY>CAaP&FXhC2DHyi>-y2C>IB5Z#5abG$|AAR@vbVMUhyJO8f@Aysj!2b2}=PNA2x0l)fw_m58VUE-P zV&stWr@qH0^$~y4XodE^nr&UOSo;C~sgr5$jn+MM*6;D}-D_mOuo(UQd;EL%+BjS6 z>4&Q9h2#YllSe>2$K0>eUkUfkd>gB6@tOx7s^)jjCj&lT)$hnc0|%W+23+b*y^^4@ zD_`;vaQT7@mwxN#)#RFd=i4XZAE?Ps%QuKp2Ss&^j_%A#i!oUS&1w(Py9T=^yg4m4 zUGE?_E`I4Cd=h;d-6zU9<&oaL*z}e!Aup*5B>u6_#6pW_qdS44is$ghroUXq`t*v1 zspIYHL#wWI;-`0T-eThy(9_-6^hG7uyWqjqia|%05wCUZQ)ghG8jgKx1Uku?*g(%B z1|8o(S#HJqHM!xVE$J~dTip4@UPm?^XH0oFD+YZ}_04CR__udQbvFl!u!E$HE3{>? zJFX`g*VIMYKlH_QPYMykIJ?T8%sIc85Z8UE=4|`OoOA4>^NQ?0#4RIRdh4hgRCf;l zMRqUu4%OVqGdJ{OWC_Z8~xgl4P8*(-J-yFMp5{ULVea%5QAntHL>f7zOT_9N!_ z4b71=HC{#s+Mqf9{(|r;#I7&MoFnH)e4IH-?nbER6{Uud_F$ji)7u`n$6l=Wgld%4%J)>ys3fXuG6jfSK9FvbZ|D1@|O<~YkiP>oESD| zr(W7XliS=z+xr=xe@#<35&U@YO1;0c@MFO{^?t)&`98JyKhAppRqMLaseOBxyu`@L zD*M~mKN0sSd2e%mZf3kuC;UM6gy=xxRfp%>?L`H4q$LnubMOOGqds7Twv-m`_-!os z^(|FaV0Y;#EBw^xhxb-L{`9-&&Di_y{iD0yt-7yjZ6JF^lk~rO^l@|6jpz~H{OmUv z3;LsU!BWM(U5^gOZ?X@35+VMS z{vLf_N#A4X`$76{yzk1j+1ZUv3EFSOA5u#kX(RopFDD)l-?PDO*%qYd=e5=$KMx=u zRWDX!RvgMS{Ga$MO)mH<^xK(%$!WRZ0CL1Lf9!ohu~G6DN+0rU2u5#1wmQ0yV=py) zZRfD?twrRus$YIj+5C9d|Ln=~v?Gi$m8Xr4=;dgK{-2{;$AFQ6C2;FR_KSWMm!(>0 z%GLfQpPo+Uk5QJ+v&7)YiE+tZ{eAB|dfVtgeeo;N=NQK(;^UDs2lfHG=iv!!&f*;J zk@#dr;gdPr?s@(kd#%}HUld-<`8c|+U4CUU$E>y1Alr$BH+ENj_u^=sxP?sH<9y=h zq&KjSBH!?ma69|3_k)4(QQ{;0IbeI-=h~mab~Yc|-#%op=5--vFIk& z;W_XRJ^7s9{(<<`6Z?I+r+;2gy7Ov- zb{a2d?3Kijr0ny~dB@(~`t2rXPY`$e_WD;m+MC1<`12p4E1An4FbN z*zay6hB0Dl7Y%BiiY&i@v2{+8{m*Jzkr6|lzAtyi$-r{RTD;f15&g^lpShWl#P$~JM! zhgEB0@V15IsasaA@t@AR&l!ux6E6aXn2*M;*y0C9g&yB%-Mb}cY3ZenA5Qy)c;`AR zixOX)N0Hso6QutCFrL%({qUr0o>Q*6iLYe+WAGov@`(4;r+i87o>26~?;j}c$h|(w zwSkMzPEq6Ht?U&2?Kcd34DIyAQ);cE;7M<9u+P@BGH9=_#&)*(!tf&Mvc;ft&(`zR zi#;DjUp;lL$!NFlj*RsnSPgpd^#|=o(SeTE2Ga2TBG%dLYwkJyvCLsCneCMN+G!{D zZsS9jhdTxm6IL|Pe(f{$d)s@g7srsRv+*AT;qO5^?L~v_NZugZp$B(Pc>|1%?a(UW z*-TsKlxx3#Bp5XNwKqSj{DPeH{Tlqd{UvP9+nt&yuUv?J`HYop+veQUZwrX?{v!C0 zz;1RXxX=l$D5gNMTCwNAQ{<|ACmS}H^OE*Pp9`T^i0-T&=>cuq;KMIL&)a1awy^gH zTO;sk@ngjbOq*a$361Bxj!VI>KyY`pmA|`||Li|Ct}3-SgLY>+%zq0G8JO47H@{u9 z>krMLvG}uYQ4Z3%;a=+9Mb`3L-ZXghbbIaBvGL~>ay<-weTMxz>M+Pohu%KfdndXU zUK1pLff^;Ly+`GBb{qFsO|jaPH2=h3ACFjD~NybI}-NJN3SMYk$~#hP4+?tpfj6F@6UR z`^Txc_YUm}U%YcdjQj%5X|WM5JcZi`h^^}5eEeL!bwlm?&m&W)+Y|+7y0J;#&-ZG+ zbC#hU`FnK#{E6hr<9FE^O!3_jlY6lBLW|3=DbJVfI43+3`jq`P%f)}M-c0*4$3FZ# z3xc(!Wd*%D@M^r@f+e3o-lh%_qoh@{P;BI5xafE=tMvfzDj_Zb9%kZX#KROPBKn259eIlS6gr=xn%t5W{$oRj*d^HV zEY3=cHUz_0u$CT9gDb>7{+;6+0xo_WXwREro4u%D1&)YkjlE>Q)mXNbSX z%yYh&LU(=ouNe|BelqRnR5L{V{Y+z}Eycg6Hi+Yc%4t>pgmcb&R_n{aLvv5t$FcvB z-tvcs99=)Ab57iPZ8^St=QrVRe*HzbE4ym^GGse@2<4%4OtX^2K)A6!eR@%5uEX#8 z=_^xTD#*~!GW)xN_1IWn5#B|7^e)y5UB3T*M>_NSZ-1ZYkeU72#$VW{pBdVO&uD&{ zr{<xN zORdkCSS!gc&$rhB?@CN_ta#tYa%P2zxvIfeac;owD5FLl{4+qzbt!h>7%P}o+t+9L&BR~bO#Id7=3chv z1Yh5}M}0xHM}G!(&mj_jCAjHkuUI!P?R`IOZmh#W+C(ZS&ztPVP&Q0uxo>w1=bl*z~Mw9kzDh>*s zA8Yk*_KV)|7b<-=BK2_meN*(=mX*HF)>Z5sEb(dNB>*UvBAT(P1q6aA=q~FP-tE0v~O|FA$zY9 z7Z~~a?c0})yz5OlUyrd(ox?lx$qkUa%Z2E5;^XT7=)3ieoA9qWPMz#MRDf@>apj#M z@G8#l;~am7|0Id&1wT#%4tG-v6dQ5^f0sBp4VO?y&gbOS#TdKRt#YH+Kf*hKRWtKi zNS!Y6sXU6`?8c3YZ*M-aoO6?X9UIXzm5z-+XE$Sy!4KtH3w^GUv7pyWo~xfdq84DX zUd9Dnl6fE650vo1sQk&ky7mq9sQg0KZz_(M`4%%TJC1m-zfhkkURkKm6t69G&lE3I z^%3{-do{5hd-+}bagBAKjl^#)itH`T=R2|H{`B|Bo&&iSk-cm4)mhAPmbtp0@A4jf z9a*aOZUf=Uv+#4d`3YS?cmi_(-=fmb%zmMWcfBL<4YS@&{f@!+dUT`-cvr?kV>Y2T z$H1pX)?`R$SN-lFu&d|5>}c3)rKxf?zkW1SmW<5$7M*TBJ7|H&S)wT9D?>(Z~bO&lfH zMW;rtuP}1G6uG{)wm_|AF*T&LY%d6Z?IpcGAA(jL3U5}eJ`U&#s8pbE*eU}hdApHxS%Gfp$%N=`} zch?Py$QTcmG46*C#M!rQ!e(z=#dtX9%*zKJV?6RM!w0T?*uw`_S$v?(;sdwxKKQ_^ z62EyXe1K~SK7frcd?1c|I1qe5)y<G5_#-3+>M`VUGcsN3pbI=s;r%DL zu=ygNMHzI->YJFWC&qo4yMKgUzrsOxX+(F~=%4l%Bkz|fd7sSZ72PS|#%qYLNOXF! z-!*^NaY{%3!qv}}onqpxlJOX#dx*>*XOG9yHH^OTMy*@#5V`htZEC&4#+B%O;CL%^ zw|`t%(1rFFAqs9*Diqv9qiI`B2E7hwPIi_dj-)SkWs`aC44#wyl;plk%b>4D8cWZNJSB1r9ba%u=o^`v$O#;r zr(?nl%#8evUC*4$rbH&XYhrQ&C$c7I0CS1|8Hx-Y4lE|HHj{?DQKBjFcJ|@=D_?Rw+zpr<`l;UH8=PDo5EqsnAk4og>h{NzP zG43?}MU`7@{EL?}_8#~blg}{c>E@YKA5-!kU~;~>XWu@ijjL&2>aNm#5B%xa=pUEx##Al-Qs<=PA zhckc88dRcNb@Q3H<8FkT zWZ_>JEAL9{Gf88+{(4b&x%OQn*F>1`Pw$WD{E`TCXXls1X2XZ^TQ*&Z%(x2K0ncq+ zfGoM%>D;*ld0dNJu5&n3sb?7Y_6?t{lB;v>5ZP<++ z#QwJs`_f8`%p?E#ZvCC`M3p;rs-yUX?3G>upV-V^x8#TAqX)J_U+2LegeMj7Y49^) zOJ8l`4|Ghw;KNLGZQ_@eybwE4_*0Qb*Y=AK?UuqMKCI0N|G?k_@9c&TR!&D#or??T zy|G%>cS)%8>jocqR^f?UgI5cF>3u3UALLYItmK7`)p?;!(ie8-grlJGV=J)Fg2WWC z4^Lg-9PW$XTE+KC#28H0@f7GbQeVFXJ+DpiYKia21E%Daz>CGN(#X5zz3FlxGUc<0 ztzh!mOfFlqz(d}}J2|9p-~{w5SqJgqNlbOj#yhtToaiuzdU4OK{WdF&J|p{^J@B91 z=laj?6aU%q9v@L+90MKZ{MqPhwHEFVglD?_8vU)O{=xp4`jI@2BHh;uc3-ZK$lG7L zia*HCUpEIj$oHL^;;$P8{)^Abhg_KrjyJkEE;_&QC73)n*(3Th<2S$Cd!?eUhFstA zTjVSHB(E~$GrqoU>3n@*;y(80>njmo-z;jV1%I?(UthLf7Ie||kV=fn2vNuEUl zH>@?gB+Z)rC-)lsn7ki<-h@Hrkr42AfWN@`x(skOeG5*Gu=@1kN5m7K(!4fjOzSjw zY&H5`6?}LKeE2Nz?L7GKMdtQ_637 zk=3FLOdk_2mpaGQlB2Rf<*0-PTRAH9X~)0lb2Z$$6N)#R7!>qX>wBiQS)1my&X|@# ze)i2YJ?|iYF<}p`C6;|qCD%fo20u7wNXLJ(7i!B(TRw`s6uBw#Q{<@YdtD*E*MY2= zhDRWrgWhNPURSuj*A@Hmz4D%;!#7-s?{zloG>>(oS{9_rw+^Rp`8>`^o0r?C?gZ@mAJ3h)r;f8xil`$ad3CZ6^eX-+ ze5~-S{ODMrYis;1$eUJhN@DsXCfCeSY`@uSLc}{eolDr04WK*Z90ne9Pe|k*wvl0|UEJg3OX=~&91 zOEcqCu|Ji-TiwqbfO`%1YCO|2UgW<0y$c`KLSkyVjTu@=jJYz+n8z{ZQN0-RC_UzT zICms5W^B-`#!Owt^4(oia}G(uI1bO#It^!Hi66?+iA+C9A9s4#$htpH+>v~4k`i#t{KYBOxtv;J9{HIsP-ZrbvkQ^`N*YCYgboaYy5pBt}Z$L(qw$c9gP3&O{p=fSD5!z zL))hl+hbzc(CJky+a?vuc3&cvZ6&$rO9~?IFfQ-A{^Gt%VvbrEU%Gq#$8(RSNqv^z z>(99Bj@}?^K3w2=UZ_*_A_Y(SR5^3+CE+ROb7<;H?r(bY(@KeX5`U+}lb68Lg|-xp z!4o7W`|v*yQziLVMd%frZ5;=PtI11SK#bOO*FP%wo6mj1*OUA*m9E~e(LBJ;PfMJ? zs%WZv{fjtoml_x?$lg|Da2v9C=haSU|M3&CNjY~8S|%0>Kh$rE(#!~X;3!=klZ*~p~%RVUkkt^~`jt?J^un|0U9Xz?-Tiv-N zViw$7Z^^Ut!n;7}gUNWBiBQite;cLKQH*gR+ zEqgRlAEpu8`x~OK4r0v)QagK=@WfH!H^>2PK2h-%#cR|VQ$BbivP90mYOVwary!fb zpEl(4PH?gv`MGNlXBfbP4rd)#FM}Vs_e*Z7d1eUbe4FQn73DF&DH;4S-CS+C)XGe){k~6>`5q&i0s6a$&E9V@W8xeA?-nGna3A9*;j=Ug9 z-da9?1(5)D)1o=2geMT!)I1P<3!P2wk$dg^-dK=1E@3_Ds8I!fEf+rm`bx3rKg3!$ z53Is2#ovN2xw*a%WA4kC4~a}y`}L=X9|IO8&X{lxdGexn#^X8RtDD;E2ScmX)K#r^ zzQVaG{*DrKonm68G%q=8kH}U><<@^e#lIc@JaS23>;4w~Z3ldX`GI$9**}o81>&bF zJ7tCFycbG-F>8v9?N&2V&-YDH~GSQw-Fx;9VtBqTo!!2-Pc~f@S^s51D_&fZ~{i)`Ycs* z`z!DOCu(4M^bU9vdS0XZj%B>VhL_|}H&MH|qGoLPQu>s48a+qw>&XS0w+TP^zKcg1 zfAsziG5J&9-sIWeS{)^E(TAUe*@h4z3FaXelK-1kh%B{(DBD89Y2cB zFR?yjiRTRBw{JuDjS0SB4>Z9W8sQ^r9jQsFeUq{$@j2FDD7T6lIVywK0@ z@+mfNF|yLfo@y<=t93kY>dMHzMnCRr9?5trT{!cMj?eQ&7rAv}e*RtR0>D$6p;g(h z(E2_#U#j43;E~j|uSwMTkUh=3=sN61@tcXQ+cXb4fM2OIk>L-`JQL@c7M^#2i^Q4$ zhx_tt^__nyj|>D;yWI# z;_c?LrsC6;n3EDvs**OM-3HV${dD-&kKga(Q)qJPI9{`wAhg7nQhr6wJGV1?1cCB97f!0Xg{ zm$uq(L5d#pWGVOu8lR@Ib=fQ9`L|_2rxl*Ygp&07zO1c zJK*p1TCz_7pfL`pi!7 zX%^oXyWd-QSNl;_k;(ivBA0#~YK?+7GA8lmHq(db7jky0(5CQzh2P+lbO z3xEFE`0vk&H1;7s<%mASI`xe-p0DD>9&DQyqK>@tMw@%4qrAI~dI{2JrZEMnk#I41 zBz#`RCA#PmzAvRlK>my`hlQ^Q50-cNJ}2uMRAYRyO4k5*^uk^BHOT1M@WwX$L~;&s z0lcvg86h;MWBl@>|G{2Sx-)KzsFMkPCeB!Hyb`)}VgJ%|!178xuIa$bhG`ox-3d%Z zh6=wobG(Rtre6phJI9CLel}H3+Oe3Ol27Z2(>OWJewNDjV|)iJ{x?m(UjOZW_Y+tP zk&hYo69&TD(Fr!%eGLR&Y4l5(U%QI`OM1y)LdV>KEK={2_Dq zvtQ8b_+P8vMEq}MzV<&)ML(=8OpX7oCjNJ}ud|DI$=F%M08jIE#xEiU_`zUt!nfV##_ueI9`91V*dS{oepYQ;{}bLN zYcKu}CA%sMRg6iQ(cKn~P57yiH3R(4colatoo9v+FA}fkJOS`rVw@V!E7$v~=ezNX z;C>@IoXwl}Ru<@ZSvSUV@1_DBFU#*U$k&$G%W8?2<#!z~t7B!WCEm1J$G|p%w_|}_ z*Mb4qZlB@rNd5*!x;D`l@T_q9g`3tgrt878+5y;)(^S0etbx3jcU)2=x#yq3K06Zo zY#{P9H{8T}HL-8g#QHRyMI3DZiIGjfwWYp%%wo=goPhjYkNlN6HZi}|%>Pb&(=qhH z#;YBr?*@PwF*fL#U+ETOBliD%Xte2;f{5V2KP!om_J=wh1^dYO4Tk>vK-@^~LS=nfO{w8ePRfKFZt$M`ZrOM+F}1;6USAC6p~Nes7KQ#j1;8i$Vs zhmQk?Q`fRI(^_6F_y@kt8mRG5;U9Q7yA*un_qijBR^TQ^T*n8%;Vo^=%{JtjhbJxMUPP5Q28@V>P@8pQ`tzPAj=W-T( zp3U6OacM)3RgIA`T|ypIN&du0ljz0Rq|>L1jryhV&w-u9()jRi{?X)M3k-{Vs!oJ| z2o$RFQ)NMTwZOIrp2R)ijH2yyv?;#RzJNiIeYGL@>R~k zMtl}R0|hGAFA#l!J%|qI#(|F7`8?3?|D)&qL1Y(t&599^^$)jiL9Z!28k>t8lhVBK zpQ&9Q1K%1sbLY3;W&eC7`UCaXgcnvgp-2Td84|uDG=~no+Rc|bp0$&@Zh}h^7xBYy zwAat1-cJSo(wzgLU!Pu6$>qI~nCCvs^-1DAijg}`F1o~jBzRLb`2w?vt6zzpEIf~XrN-mk%tzwC9=Lv|uC;rf>uYfJwRAf3kFV=) zubpkxjyL{tWzTr*HQB4X58hN&8;Z2CCgpYIk;+>uA`@0tMq;dwwiPDq+32747qOep zrLR{RpS?#|@?mmM>ou;~{Vm&%zFxJKc)XS95%it#Ybd{m$N}x6vBzNMFJn2;p10et z^sW8{CZ(r(Ggy?=uH{t1y)(m%e;!{s{l9rg8z?)8cKI(x^3aveWLoN-MLP|HsBU#03d zu3>F*q6f7^Oa8Dw5e)L)78E)@rJ4~a&~GFer2Om zPiyX~kHvXM75saK*cb!CfA}kVn{Vm8O_9BB9gb64-owwgTl+7*DRt}J??cIn$VE<< zVT-h3qXd8Ei%i1DFZ;duKa)Br&b94Vmyao!xh{K81;;W!89V2&nsGP5|4&LY_PPvXZ)B`Z?%0p#{pNcKIg+Adlrr{e z#_nHAZinpU6dxbXUCP))&X`vJH5>B!`>tu@eA*ym7dtBGj@_K6)#i@9AMciS8DkGJ z?swP=n94rlZIAa$$%p(6@=oF?)+qaJbXZ~x8|#jYG}a#F>M%!zFJLZ>%o9J-m^-ocJN%AXY)zq6-Dc#Tbu2VNqyUcs)5j>xpX%+~$kKo zyh`E3RT`dR7yUin9S=rlfTdY?@ngM6zvlb?@Sq(yvgX&eU!`%OXg_%HFz+^aAUF^K z1|xiB0R*S7G`Nh80?(5Dm3!07Bd-VZkocaS&m*Mgab?fuvD}(R?0k*Sng;c_ zO}xSUG-H2}+&!BXCC*@-)W>%5IS#IgZ{b?{kl#vJf5CJ4eK7iP>^%IG;0$|i>}4Mo z_JQB!vi}Bt`@ruK&Vwv*R=?@%@BF?Iy!J2htGY#v&sB|SoaY-;qxA7U;RhMV_1FW~ z*N#%Y0BK9DKB)sQ_-N{~NZ*2w=P({=3w_1TVhrftna0pKuY8Oz<|w|T>c%)<2>+b^ z68H0Lx;{>J`xq>I0{v5HBQdvpU&N8~=bg`oZ{l4s{B=@;?l%1Xw+$YULW}o7vqFo~ zhuTxiaZdJMz&z%_>sBBOR);#jKwoX=Yr2;6#!FXGGxaR7IXE9~WsZuSXoA*5)nfad z5?)AMh1d>qq3M%->9qZ=F|^NneM<{foe|&Cz7h5NMtB16_bojv;#+z|f+w8ET-0^; zB4l07n8m-`OnO$Zx}dQE@$XCAqxRGcXOWRv48zRMzP^QY0H z#J+2u#=9$>&Ocl;eb0EFYsM!hz6$mxS1A7$I8y#;eU ze;vE_g+={+4U0DVp8pK{$^u)Vw;_AFPL{JQ8_{8!#)3yL;O}?WxzYcbsH}UgtoMub zH3~U1mUVw2)OkPhT>Kz5EVNA+)U^vFAEY0$t=1XSyo9*wI%Lf)$d|P_k@g~fM?YS2 zwQCpjW4yH??jy#!jR3P92Kl^!G5V$Wu#66-;OW=(L$;Qoe|hSMNZk-qFGS*! zx)v1j*N4Bp5gm(hxUyH@oy{8V6@9Fa_AOSrpSAk)?RYSSKMaG{s2EGxkJ#kf5bpvP zxF%%viz#Y-|X1&77Gj`u&rPSMsa6s9(~A4*tqp!jt6eAK7;o{zA=P6&rJScsuZoGdG!!?2)yP z1^1x)j(a&f^DWMQdk@~EU?Ood#A?X=Mnb3HsKh+Vykvfd0+Z+P(L6Kf#68dSKUC;{ z+ZE9NPw-L5IPV|^>2qV9$d7ZGYrn5WYA%$RDIaUxC;a2J=xW$hExfmt_X-b?7_Qj8 z#GZju-up|a`#p$#k$0+d!*2sC8%`2;D(l~TH!_I50eo8c#EuI8nVd%1Bff~|WNad< zu;)&WT@N1a2KLO++}kKJ@A`733rrwJw~9RS$=K()oP!wT9K-^0xnps7J!4!0y~=nK zF*J->@kl;h9=T0;O>{p z-Ta#Dn|9db zIRf4`!gmB`Xca_u0?$|}{0o>%9)sdzBaxr;z!~^iOlpnwJ45d;`AvNr$%%BLzvbPx z`VL!u)ob%#xN5Ky9&qVZdydFCqHa~rp&hG%5%e4$pnQn^xc|`TW1Q(=aNMR1q2~n6 zTXZ5c@`_9QgMr6odGK>SZ9dujAFeEdPyQZXZ^FJ-@$Jd|_1F?(Om7L|_sz%e3t#N= z@t4D&pFiSJZ-FP*6MO0Ax+dyKxjB&rW$*b!7ms!eF3^Yg4ZU#Od3ONW3*QI+7o~y! z&b!BRJ=A%RyACPxwbq3<`r(KDQsLc>uCfcArK7ex>|c2Zx&J6~f6JMXw_c!@_CvXR z&*OWL@A)ZkTyDYf(i1}w8;)_-tC{s`1C~3fTvgvBm`T*0u z(SN+<#nICaC`@k>9+3r1H~b*U#|)29I0{U?`k(T*d-8WAmq2m~B)33v3}Q=&t-mD? zz7T{j5TkDKyIsHWv8P8&KKNfLH50_Hsq;r1+5eOMe0bcQPih_)f>$`sP?yJPe|=h7 zb8(|)AM@}0=%cI0%78rV&@1Q>TNmv8TK$93U8#`Us=vu1ppX_=DmCH_|SP|!gw;yb{f&ZgOnAAP0yN^E@e#lF;+IF$Ml{i!c;#MzbbMr@)-v5B_i!yAb~xql*Z zrz*1BoQcEywEpi`=dCnCvrXi^#L**~Id_HgLEQ1`GX(B>)Dw3&P{Z$US6Os5Fx0t? zc_?3fJV)hCt@&qik7>J$pXR)SPjY@6JoCFE!~E9uVty*V68+4Muavdh#{S4glO}nUHH?cIn30X&k{AWe3$A@a^C(C3Fk<&@`WbA-BmNAj z3F_j*1s-@wzNf|qoj1uD2~*!LMQ_c4mJL2sYJ4wHHT4H3Xhz1kLhv2FOP&bvA>jKo z#tObm4q_1dreJtQq|Zr}De&vKKL9`0`So30oLzHkF0mZwr~MQ^UZMGMQ1~%CMEJ2U ze7ZYV`0;&7emq&xYTKXE$mDzp4=b5j?!H6q~fK^9J?Gr#8XwE3rLi_RnbuIZhpC4Asrr@@{<-cp>*p z|1fxJ?4eb++jwdC>hHd<`I6wDnz;L4Vmyi-iW0b1gkQCYnrqm2_lb?Y2K(QK?kBad zS6<&o8-VP1IS7pv|PDPen%NR24hmKJ4C<%X|`v=c4 z@x!U|UEXzx3qRR^6}{EK(76SuM|g$Ql$CvxjN;4K*oboTpjiY^D~)OV(Ir%<36(t|hif;=)SP zoRzYkvr;B-R?1M$N?FWVDQh_^r6f>WSLxns&Qz(MKVfABzY89gu3+>8 z1E0xR;FrG#_?5FC{2I|q{5lQ%Y5}L%*CW@}#@#|UM zV{#R;#jhP71AbkS0l(H+C@Kwg|bVsZ}&2mp5WVOre?;s+hsm(?p3zDz6&`d`13Y6W!vyGn1}2Q6kU)Wk4|&@_pV=W@#mUt zV)OhcEBqP67`*+blZSu(hJj&seXGz~mu&H;>+l25ukIv1Egip#U75u5Z1CsJ4EXbm zybrnK#h-SiKkXlXR!e;a=g9Dp8Sv+6<{|i__03e={k7Y7I(??M__LFox;4btWW#^z z7)MX==f~g5j6c^|>yj=0oOtAc$DhM9;Lq9CIJ3c@@0@Jrp1Ovoxog-%{8{0ZU*Hcu zfTP1VAveB_lln3&-!m07p@l`EQ&HnGOETV;nuo@ckzt)i}T0+gPZ1Ah9hxm2v^vwA6C2QTX9uQkqe_?5{XJ3fOx zz2~xzCeJj!oD!~Z@x^P839rf|&;IK6eIVu80Pv?gOZ<6=ar8u-1)u-pUYv`3{1?lbiZu~~+L)4GmfLuwZ4}G6`D0}{- z^!EHDw}0>Y^_KrEB8PKEmiSY~7`*+bv**7#%fPU^K7FLMF4^**vSSWB{`@yFMd|dR zSLP-0JRAJ^Lk9eLN#2)6pUz5NvHv{S#UIRB|*cFz2exKOq-vvL`WXVsCU>rTc zk5@0rj2}4`+_S}x1%nPeKe-*)r{gCtUD`W-a%2YlctYNnhM%O9M}i+-|BlvY{NY2< zBhtyEKQIp^kG2^cN|lG}-2T1m*IWFFJuUWmcK)4O#^CKgojeN9&Wu0bx7HF@{tAaq|8{t{Moow{5|ut^7m9Tj-K$JAJ5H< zKj&KOk}dz4{W0LrF5+p@;m>euoY~;d;TiB}fV+lX{uAjT|55U*CNKOQ7k_Mhxag?# zGV49^S_NlKJw(}$?XA2z8GI?p$n$_jKSM~I(<2Ed1m~%OXkr_{xj;c2OfV;&wxMk zt#M|9KR0H;pE>UOdHGK|{|)-iHm|*fzP!S5jty@>ZV3NL$SZP>)9J`(y8Z3Xe=}Bc zEG;n! zYn<8O&#(;k)x+|>kHCL4{)`OgWx$^&nMWr6^9#4{1BpK`N&an?_;Wqu=n4LO^V-b# zbE&m1+2Rl9!XEH^pPUT%6SBsc4gO@3UnjV0=;c3=^!9l-`GtK>&hohM579eP^c{(R z&tRYTbNk$vecn@fb*A7;FuVAj-LrazFWZJYbD8 z8+`dg26?qw-j{~oOjh_}?N_<^grXyR^9h#_^Rd5pubbR{dK&N5Q+(M-o@^7!O#PbFS}TSboesd8fQ9uQO|q=`Gm`Q$d9xdHOZwV8b4_yVO@9N%sQzY|Ya8{o z$IBVZWqqjoc-@9?n`_hsRL_-D8}KM6T$^9B{Tt?5=m>S~MtSan0paRk&Gxg*HR>44 zb2CFccXnxbE$3ZMGS@chYZaV@SuwsaT+6j`bFJnx>bV@5-~6#*Ki9r&u7!?N*9J>} zi@q4%#N0=jYtBG*tx4W_*|FhTuAN}6ZPeH9l(F1%WH=t2zhS7kMqM`@TR<-rro?XkELYOkFE5*J=i-=YaKn z6>lFCE(M-B=3403_Mdvkp&lP5Ya)Z&-50e>=0iezcXl?C{Ufo78}_Ya<{}w~4<= z&eLciH@}(ucKK}<`T5P%su{%DsWX;L>}j zeNt0&7IovA$bFX@%2HckvBZV&eQ=O7eG@S(y55J3cQNDj=ChmewyWA%$$A1(cRhw& z@{{KtAkY0`a@W`Q-}t|+(AATiZ@C^ix|=-rD)QXR$a7ypo_h=V?A3wAb&K75&3*Fw zB7P_Dy{_8LbC=xxI60riUzh#xJm4+o+xw!Yod@3qK9URCguhQ}c*e>?o##@!bB5Fa z5FcQ=8UUX91yXx9eGLFz-$35~0q|1t*UcgQ3h)tK?2p!(8u;j1BB}Kb1U_;GR4(wL zuGfamz^4uPv^seWn}N?gz-JQh84i4w0-wAaCIW|>>ZnDi?lt$x@9X(}9ra=tx$u$m zUgfOsP1GQ4qCNv>J-cVKY5dbQ=ls!U%pBZ02C~k5WFD^UlKMGK>)G=H2%#y?qtW z)F5M8s5K#V8+4sbsf!nk`XwgWt;NyATE?m4&_ewQ!K{G4H<7rkHgf}DTCSp{#@0xubVepeTt&H!mo=B$Sy+&6^UoYR2mT+Z^Fh)q0f z&XCao>b|UJ9+P?Z2z9-HBg#47&dIGigSl4oScwtO&@W;zoGPl+U2F-@(!m@ z$L0r?Gk1SS%$>Wgc_;JEi#{nao7TK#&VnCaybv0j1x_pif0~^@!y<4eaKreO>jI1F zCh+~Pfb+b}c{X!ybFSS`#$2l1IWO?c`AB!pBhc?kxo>s8%-QLf%lImZGb^1_Jh~D* zlR0r-h31{$n$6p!PSr4p4^y>LbE2hIyI8g5+|-mxcW_SHG!X>5`J{lxs2~1@uR;I-(&NmqXjnqV*KbHGY4yp+oay`r-&cz5S+B= z@>9W&uyH2xX+gXe?4bS+>$6!<4W9H!6R6D;z-|&p>t{r0ZyRFLq zn6#&)exKM4Vrxuc9;VjYaP-zjY+8Mm1Lq1rC;htFLQZtK>DQw3tFxG;jhWP;Iz77IpqR3u>p z?-D-v!szoBTqIsipDCUf9j@9MMnh>E7=4lUQt&w+pUdz$LzT}(YW=TD z_#bi=KI5mt=aSnI0e^>Z-xJ`o_*{gBCg7JI3XTiEXoilrbN++wHz!({=r<=CwAumH zmNQ#&qDRvfUSMi=im&VJZzp;DGV45vbn@}ylJxSi=xe;=Aj!uVu{mlEu6!((@dvY$ zkE57Jw({|D)2}5TeHQF&`S^xgKRI%l$jD^qVWT~MXn2PK|?!eccZ()6o z^tuwIr$B3 z?=M|m<^=Hz7IZvy-?H0XW&(BHN@t zIg^I7z&ErZBX=SrgT7!xTNecdU$ed{STeD>_Z?Y3N4O4`1)p{NDJ=ZNGXty=Y?KCN=+G%k!hV&p$rO znYxs<694sFJ|{Z`tk*Jkz4BSFrK#(6YU=#Ywda4TXa4lp+xfGnF(CIO#_Q6{+T)=Y zr90+E|9V?5=>@$~$=d@!FP~?8LOUadrqavYA4H}hTepiQox?1Y?fhvaXdC#Ta{y?V0LdNw+%=*e5q zS$DDyjf!st)AFqXQ(G!Dn zi$}KspZ4LQNVQW~*FeA1(e*@sUCTKxBOQO;JYQbJEAY0Peg3+eX5Kk`_K1u$d%snTBsCV}XMs!u)E^R4z&)z)L3OZ%RL z4&6Igwf4DTgXw>w)&G~RK2NpUC)2JXCPMZMp|9sfN63A$>!G}3Cn;Q=2|wA=KetY3 zc9Iiph`ciYh0Sy3?pejYZYjKF8TyRqH<$8xhEv#(|H1O*!=3!PE_9rBbetXB7h_Gu zPHYoB2RlfgUncfyL3EMCra~u5&%wqqe7j{3d;(sQS1jYm@0iJ19h(`)X2$Upydxjp z(GH&(?#pk;KiUaL@C{7HH!uR=CQ2;?>;oK6fDcFHH7- znbrSltIuCp?b}sbbj=MJ7`z+P1@c8@lU{KTXyjoK(o?>R{JZ?Tz&YyVD{Ib>=7UdcSNwSRL=zn1-5Zo$vC ze^tG46(5uIuZ!5lvKcfubRqbs%IJ5y(df@7&Rua09fIJX7)>9{&n(LQvjjofE+N711sphG>0&8u~& zK*MzSVygdC_j9Mj6fuU??&mN0G`M*$ZP7uMj}cu-(eNmXhT;1|TpHe_^rW*D4d>97 zbDjiNxdUsquRbcUGPbvubPT){9Rsh{6GO^Jkcp1P$CygTdX7TJE6_g-Ov~_92~3UO zHXR**OTk0)xNlnRZzS5m=y|jatftfU(($Sbl5{+s{!Ogb{^+?N13k~1eDLV`1T!C( zo-dQRWJ%92VqaxT&xe|REqeZ{1;-xKGq!g&^gP=2Vg0Mq^M6Zh5%~Tq_cO|;!O@3k zXGhNyy3zBZzJWTC%fI4Wyk5!WPl%r9D0pakzSwHdOtgd1X|xTjE~D+G=X=lZ9X($T z9i)@bS5G>4^gPdpclxV;^ae|sT-|5 z#YkWF6p@*m#NUj(nvLDF1ib>gPZ?b1&O7&gs)pix21o{6aVToQ6Yug>{EGhcwLl;K$1w zoIdz``gT;bNV#Q!>+q`{*;wxHCyO07j=79r z99!ocKiXlA;_sQ`+HoU~4*hf2%-(MxI1Rp0&5+3x4Xe0pj7fp73$SLgmVvfAj|pH%!jI{Y>} ze*Us5#>d(<9)$S$&l&i*yy9|!4ZPxCDSrNa;%mHXJl0y{Pec6tD0t)l7vsa;5jtc) zz7bv`c?17S@nPSPxGj7bq9>eZwa-><9UpeFYKyLs6FtMar^;%Nx7y#N?ZwpPitA;BzzNI{Ycx>dH7s66LWRfKJ+8}|4KiK3~;8dw)CR{zE={rv=%)__RIwy&C0GP zUI{qKdDmtyzLH!enNv^pcWZ!stLQe$SDK5DF+cjU(3pWeb2ELl0)L66OScd2^+%Vv z`|vWRUA$ZNx9(;BqN|L=A1(VL;&V>!i)f$obnX*>=3H`=hH~Eo{GYNfBKv&W1{*p$ z_t;Qmv+}>^HK6Zsy-@k)+4HKa<8PkIQ_5+$%*s)!baRxtoW31x57e=@?eB2Vsr20a z@EnQU%=fBTAa;b#(qvt0NZ{44*1W$wOWA^VEU6Z?v7 zz(sOOo7n5I_Z6?O;e(E-;u46XQaU1V$}5&}eERkkw|$Fsb@|o*Sna1(Tkk7wQEk1i z__xIG!RTYOwMo|}k%on!`p6ghT0|j%ne-5te*nAm> z-amgpc)sBS*g*-HBcm0}i)9?2KA0b=V5nh!gw^h!fNg&C5Y^T&ADs9-7!A@spz;;I zut~*AX!*MPBB4PoUth7>?W(Qi>xZC5;+Z2yUh zoxqpTOkDRO;<`uJPSuZ&J6vV8@38v+E$yD@ zZ4#FwIbvJ!#Yv7>Gkzn<5o;$FxW#|{2Jwru;HwdOmzZF`)0&RI*N1q|LE`Thn0dJT{bw?VEcyG3oPV9IzV>C)uf^Z5wczK~ z*9zFb?#AEYivjq%;nBjM#b0h>-01F7r&qRXZEMl=`%NgCmwuXA@<43;|?Ca-(lwC;``qu7c)zIpVA9_ z|B>m}!uLm{?+p4(`)5+|-Qc*{4^r_a!0x`FjyFk{Bkk31p0IN2CC0PN2{i1)k0O5g z)OZt(Up>hax)B;1hyQIW`Ac@5&&4bvPA!Z)L*-DIx#EYAG{51R?=XN*`#+iqo{GfE};mu)M z=jJHMJch8pCG%KJzY>F+ZXSltvx&W}>6@Cr^h6@|*4Hq-Z~EBVO%ewMZ+Xo9e3Z{W zsdj$!VfXV7eEwdwgVBfF&j8ldw16_5vpY43^RPA82)%|Sd(@R66EIg>m zLf#&ifu6d)a`5PBqnVFOPfjoBsbfI)^mM1`*P^G!GxtGHnes2PjMsiQGvQ={>9?8-i6RS=vk{yc`Ar?tu)f2H;GAGp+ zu~;%Et1e0${oMF7B|fPVJv#orsh6DJu|?I{@T*$Ut>Pb0`}#@0-ZjGCc&CbcV6CJd z(G%?0BdG<_;$*HtZsL(7oS70qH0q=T3yq=fyb@(qt?ChyslkE9c*+e z$?skl+{6BKh4PQwsq(u6iTv(mZhp7y8CR1pAaNK`{v-xN;xRJCVTjGuR>pdf8(_y_ z^tIQ^>`x;*TUfU?Y|Ol38ApD{ohrXO(ChqesR<@=B@yDqOn&#Hj?V9voB_$*dj}ui zQ&#Mmo#$Ojp0_-on&+Jxy-dMX)+IMO*J@v)+5-FhXtip~K6P&Nn#AwH=(lNmWy!B3 zm)5lr9%DTFvah~*M5_FVP1X6h*N^2Lz}p+c|8d0Qo@VCY%8&Un{w(E38S}{2zWS`` z*ODLKwqV!I-*|xZ!AVR0J@mmpNvs<9_^|u=2R;q|*h2fG>Vvtb=zQGJzgRx*H3}Y@ zXa0xP{(hnzj9y9Gz-m5iFAe`u@@HKd&PE@6?C|vTyyVLVkDe!)`MC7FROXT;J>SAS zvZd$aO}`dB&$Zxa({rM}T)F6k`=~ER9XWiEiTZMXGVzO2Uy9$Qp2_#5ewG!_I7Gg) z&+M(&RyjD!`cq0T({e###LpGJe-?VldFYJjBc_f?E4q;M*V{eeKO?*LTdx%zS!n&7 zUA@$Kk;UE`7iZ9~w~mFw88S7dPOQ{0Kresd&EDyy&FG`G=zdZ&s###xtzN6HozXqE zRR8{Q)NB2o#6B^OE8Wk_`80gsI@&$a`Atm$*}JrL{sO)mo~v*JJw#j~X(P-XtknF7(F>`7ju6|Z5bI4LZD`Fnm z>SvFeel7jXXTi_b&!qm*R(0NEYJCM$TS3n4T8I86^%hKQ#}AbaPAz)L9Wk|ki4igW zy6?Z&J3T_qyi@)y=vZP^Gu2|~iGM4^7^N1&GGwOh-)g6pnDK9!`tC94LhOC~afzI_ zp2RAO3=yBxCCDbpeUut*;&YPPmdPAAUE5OooN`^C)6mg=^x0L6Z!)?>i~k1Vph`#M zZ%k8@N!NieXN`@OI80Y|jkemS&^}px_ea0zexAgqp{cLXwsj4~d(hhwyayPh)NMk~ zScMNo)ol_z1OB`yKhOaGX}Iyq_j*_71-YR359`~i);AE%#DBWiZPIWM-_K0scQ*Xz zHHn#V_YFF%_Rd5*7;T|#VD%<#FaP<1;J*0J&-k&)`dra`J z<%VA3Um9DixA^yo)$>M=x8eUG{2+mU@ctC|e_Zvv;R907`#sL+n9++IqE`68ze_#u zUjqMq*7IhrZSaRrV?FOKiCKZ3K5#$x@_9IMZJp|SF#4YR`3|2(e&=xA)^#%3q8aOX zi@t-c6>#f$pNn6tSAG?ADz7a0IQ=RQC|GEl{kK;8zg1h?qxV{H`aiS}q+i9Z=N(pk z>b=pQSnWF1)_#@Mv?Uh$CiR;hcdgZ~QP*|t;2+ce$Yae=&-)V9rygsy)t;`}daVCJ z`<}#pBl*GT`Em|%vc|{$YoBMT=RMKtv(jpZXdje%-uS0fJ#Xa)Pv#@9koZxfH&}jf zvC}@y^}OGdxEMFzX1CRTMYV+v@}uplt@DvTO#B{<#%X_KJj+ne`x(`b#dxszy72+1{>-7> z>^YSWS~rUK93*@0OfwJHp1WD*kfl8rKO}p5?(?Q!%bvU3f}d^A9msmxcP#$**uQ^P zV&%Z|XWY-H`82rsB5kvmlqnY~#V>P5ntIwt>izo@-tQ$Hv-hO*6nOl>tf#$H!9(-7 z#a8>qL^~K=K-<9TX4+mlZYWREaW?z+*Fpz&JSXuuik|Dgc<|`?0y7_%o_{8D$&#L{ zdO^=$HvL-ke60n?9@BG{@!7LnpG>xKkDs>q?EjV6CFuDj_wz4&8XS$&&W@h{ed=l7 zrr@FJIc&9ml4u8`b+iqven#6%&o4^;Z7rJ5ZutnOpl$~>7dJn!oLZj+s^+59c8ZaoD6s_+pF1wY{3Wj0JJ$f? zvFp9HI(ZG7IZw^NU;^X2i+v+gTY~c_8>Z2()WnptHO^oTXZQjQ^Z1mS+sQE&c05g; zwMV(PI8hf;#wc|m3!_J-8DsN6bOH2&bmNp5rigpyTRU;YBdG0NaKmKIrd%dxWKt8e zz*7@*gtC``ZNgrbamzYQSL;;Z*2Em4YGO*g0I7*NnK<+j?5X7rk(!tVb<26T)Wn?T zBx_<;JAsBN%y%C1PFE9i9QDpeaK>HwnwSOA7oi;+Kle3nJ1*VCr02RdF>hjRdQuZ} znxo^AWj|2bc1_G_o|>4I;GN8``&oCUCT33bREfJ&wr)=JWUKuJ)t1^4Injx#Ep~5C zbfjwQn#9Ac_E4++W!lT2F*&Dj#6D=Oze{6t*~1hXTSs1=(AY9+J4_%aLTWpFL&e&N zOvs7$Regy4n-eXt+Id#rgH&7J?^ySIAm<`LPx9$hX z?ALu#_1n=gSJ?I2-#?LYrm-E*<;?pTKIg$EXt2o1>Bxs>B|bdPIp@v%#h^=l_PVJ> zP{cK#s-dB4E%@BC*$tjJ(MN!pf|DzoK9Ia#WYfP={q~#994tB4AoFn7`qNOqeUsoU z{xMU>JdRBzbt)x};^UNe@D3&KB%jBYcXQ#R6XB!7pv6EMIp-%Y#K^g7#cy&NrogAG z@omQa{)SSww(t(lcF=Opug?Hfb(AERN6Wdzo_YT()o*W=*cg|$#I1HrwKcDNN3}Iy z`d{mw7p?Z6t#&(YFJCIQaCLw6+rL-XO`lb~WB2D7YZ{*Mapa5KXXfDYjMpXCF-v`R z9P`LlpZ%%n*P`?1rEizcz4~lBy4r{RQsbBG^I?bqAhw0r@&TcQj=PE4=sm92i?7tg zh)TVVr$zpt%Qm9RHnCqDXHU6>*cR!>*5CGbj`jM$O?9HvwW5cGp$9wYaP_Qg3auiHy}D_A4cRoIQm3ukQ_Rv%s`l{J4(&=^j6>fB!h*#~US9hH>n0KmX3B=pHh*U9>;)9)aS?y7tzu zt$5^3sz1F)u+eHiqS|_oU_0%e)ZRK=$pp^bRr=Y`(NADIh<>)!($6F(R`6k_rKjDg z`qKL1Dyw~mYHJw#liwTm)?|_M zv`YfDGZ*eW;o7+q6>p7bg;uA=A%dly8y{6V#*IX72CD!Dd}YdOX60qToY(7(Y48+W|tX;xFuM{s1Y zlT%kNV`t9xyW@<%5uK%JrPKLNJP>}HxvX@Y{vYfp9O~RY;wYHbKSo7 zta~lSwJvJ9G_C|Lz_J2Z#)0KbC#RtTSgr+@mB6wTSk?l|ne!`F<^*o6YexU8Z~}ED zPEMHfvBF|wN-V9wHxB)^D8AxDm&)Z#QRj_c5x>6?`cY%aqqg!aB*DLVWHqAJf-;-a`k^!iJ!rFV2h2Ll>vpDi-}X306t3Y z*IkTjGiyH)e}wpFE}5@=R7269*RZ}d_{Bp)GvM1roC%xNn7|b^CczUK6Y*(1?RW8M z)Z~&eQgd}ZW0YE6qF=0Mj2Ba1b!cF*8sFlhCZPv84_w4N7Zd;26zgGB?*h)iI-#cEw#x^~y)Ce~vK^2MAZF6Z#b8RB#1Pr@Iyv~DMGkn_du z-{mZEd~0=ESob!rw*e#;W7O)B{KH3~&70rvnz{p= zmO8cf(02i6+>PMVd(%|hpArRPmvetDzI zn_7@572xgA)xNOsP4PL%dFmn~ymTY@DD&tGe>%;g^<9$l3a#VMOVGN|yrTEofTDNt z=e=EeRlHqGRPJ07!2)-d}@9XK6=~Pkte~8F*eQC=D9k8i!1K;7I0DE z-rN98tNp+|kOKFwxiDRL0WjSnYXjW5&xZR11NSZ5GY`0P&(qY=X>8~n+)H9wCbWR_ zf@9wKN{)ioJFnXy`1eX@*VLyi*w?wRU(as}-kX97-UR~hO$FWIJwL$b+YR2$oIRstuE3e=Hk|+NUK99U(FJ@*m8X@t z`@`#!nt+nIJ%#UO;P$f?d`G$Pjkxet@eSmZeAw@^$@5{rKVN<*GLuj7(VYNnMEA-y zFshxl=fhyd9?@3?|D5SgxDy{=I=SH0$4a16ANp7mbXpEiDhBVh?@zx^@MEYYlX_xv zu6O)(YkAK?coX^vHi7fTGn`xBh;8$dHTSp2Xu5u!--MnIwtg-6Ebx}PkSXvEYP%wx zevl3yL_f&6tsI%B<@P16+`b99U4acQa2<>+m_RgV#i)YZl3Q8x=-w214A7_Y=- zEkZACX1vvbMeGMUbtN@gFO?dyhJU}Zw`=O(E!-3OH~6RbyN*lBD{?mFyl02^9I^7f z`bPY3gQ-_qLVm2+EC$bne;Igr^%A3pHKJ1qkGcWf(>&J`|3VY`j_^43JT}k8IlX(n z7#L{&SgGV|l0UlNU3;|L#m#j4T@mV4+45zz*rDj?0-pwCKqI`o1o&iQ^EW9O;)~+v z$PO+>&VvIz;ro5udHoM-ul2utOaCkEuK!Kb`rmJVo}Fw{`roun`d^_(|I^!}=k-$mb87ozpKY+x@=`!W$;a7pD%Uo_It3~#XfI?560>5 zF?0aKcf6VCS*(qnm`^%UAqScv(6>pU^+i;x;+5#;~F}$ z_W(pM#)qo#-RKlIy1v&tv6Dp4FT!6Vc$x<1^5M*A_Fr z@i_E=T-5Y%KCnQ>Pe8^GMaC~i#^<;`?z>Xx;0z_7a?nX;qLXCuYn#0ek zBK%@E!A~}GU3{E*KJDY&tn`zcxbCZ~aP^Oc$X=tLUxr`oAJE}P=^I@qZQplcr!7LS z+gINYf5g5s&ATUk3;z+`Dz?4k4VL!}MaB=n-lQ&P1#ymz{qiEs1A~#)qWnnH6uEC= zBz{Cyq-D^gNZS;y_sQYApYMT)oX06LkGQbg8c$5`Q}W`Q;J)lL#L*op;F~2e#WTZ# zr?NgVa8&Fju{|YTL+q)W@pF8eaT{LRd5Wg%KKv%Sqx{qQgiq5qaU~!2J1j}xqTA#1 zFnYDED|&6-h4|ZtzF&T;)Wr~a7h3=fT-qzkR^~CM67=AqBJ&ocx3PWs;lUgz9~o=84aIvvpq z53ldFq{bJX0Bl4jHnQ$a^!fj5txwoppOxPAsnq)^TaP{P`zhNp==2%&5%grGC$Kj5 ze#*mU9b~WXBkrdJ|0_GWEjp6XT|Vypl(U&L< zqCPwPQ1;q$$^DTOe|@EAf5iQs&{sFX3oEmDqm0Pip^SglGSv*xkP{F*;HcLi|kmMgalQ^1iQ*B|S z_;hER^RweP3v9uLrnNc5Du*^SvwwBV-*?r=s?q1rqr18aB28BkhY%=_G^RXXkotUe z^7#ew{4|~~ljn0m^F027{N+dPq|b^;Md4Cn_nL0WjmR8J_^o8)xNwvIM;qeR=-DHQ z+4!2XV*T_X;a0|U>-{^4Tg_AVt~uSguVf>7o`3#^_%!Y@L%^z z-I5=PRr{Fdk2Z+@ZgKz~`(j7E)?>e_^jZav)n(zvU}%H=yV37`F5K64lRrI!e>eqx znc;t82KX;bc|J4zi}nHk$AMqPfaAi|7W`+N?yM*oeOP#~uV#BX_>Z#SUw*ptddVH1 z1^zdrh5zs@;6Ecv_^*+?V)$ln;s1pc_+^IwbAL;Z|0OBUXNLcy@_c6ehyHxv<@^m6 z{=Z)G`rz=LPI~yiupx>6tkt%XNvDKo%37tt|EJWwJ;Q%rmhdmn1piIiUp``p#7m_5 z%VYR5WBAME9OrWKnR3QK|9=}E9u2=tp*OK>Hff)C>nMBxr@}u<#jeDs7Z<;GYJATh zh?7+|WgH!g>$VYPhC&UlG@e zxaN=kj%!V&VjDZ;1o@&iKN6lLwKXpX)=hoNJ0}p6*fh$-{BXt#KK>oD-%6Z`+*=DT zs)iRe(?<*M(y=JH(Q;WUGf$qm>kfP!z{n4bs)3Q{n{B{C#o@zCTNALzOR=x7PQb#~ z4Hn-`z`_@9@n?p`b^CzDRRRn6Y(`iR4}ZK1i-|5Qs_>b#FelA#feG-Ee4Z}ga+wPk ziIuQn^TBU{$5<^l_Er~$7c6ih@{aY$(P6Wk*EiRk9+uxP8R&RqPhmoK#a`Z3e? zV(0PUwa~~q+KWQRGWYo#WX(g&B^LCNci?pHEw%c<-_D*-sy3(ubcu zP6U4${~F?OL+2rDov(z?mYSAb%n{l8c6ELV-YzHJQ*e4cJbHb|hwPibVK4VwJjgM! z@AZ;cNw@+$jt9$CoWG5iTY=x+wfW)cL4E&1;ngP$7N5w5xS#t^OqG?7$o=t@`?r-` zaCrFtarY(gRTbC&H+e4`2_#4qkR=HTI|x5TK~Z^0SQUjTRa>+K0s=0j*0x$v2_y&_ zEV=5xX~ha5EWU?JYF(=p5UZtXjkR@YZOuYRfLftqO$5#VduF+J?!0?%5)8tpem;J< zxo>9f%sFSyK4T3jpuBBgjWZ-eTPhg@2WE{x!V~{?#4*Yvj7oXG`CU!UHhJO7PplH5uk`;$MJG zJ>msaQ*tfGV=arpe)`Rv`9zDxvjhE0G{rJ+A zI8P+jI2rzSS|j62n5)H?00+sJ9)&-b@pg?by;p^GVhyCv9?4GOd$PEEfp2xz0zMGK?Yw+ zZ@}kEYpFnvHUItuvnPH3H~4LW_zgML#^rQw_Y^aYetQDHfzKbQwCA=VI5oU+YN+L4 zGT;ebxw)v9Nxw(I6Yu047Z5zRVXU#@J0s*AE-?Q~wWhY>x3k1=)7fta!2`@s=(kGz zHVShnwCAuH`PLSE@IDGYcqhL-xefSiA^5DvH;B*IJL8c_$cGeszItTWz@51pYLp+$>y)gg!w`y{08kO zINPVQ`P=Q;e4ayll4(z%J>-tM-b6NkyM4?AtTzqzZUXF;ZDp=T5RmAMIz(0}kse(SDS({T^yxXt!tcmoj-h+QZgeaH(-n+Pd#k z`%1fg1>p;^4QB6xpOK7J+rPo)&)c*2Qf6jj?~vXA+N%XmRqfuuC?PY2{E{+r8l9z2 z2(^q=WG0Va#WQ(1l+H`-N{p7586+=fhI0V}$g1i*<3cGfs|;yRGZ~%8Oy9 zT7CEoPODcbz8Fit3vm5zF+1PqqTj6|dYu%m?Eya@_(R_6?$RE0(rZBIcPhP79#$Ye zie6&{EiyXA?<$=hL4Fz0GSTM<_?-vPH*Zaau5+h@K70G%>y&oT=kCWrpUCl=R0Mvf z(&s9tJ?cfDze0bDJ}ZS>L|>xMq5|BtSk%p&1^Qfx=goLlJGrPcdvXJ{=1JE^N6GJU@o_cH2zVcm{8&!qSk?M=fnojy@o2`QUF?aU`rzY-_)Y4-x=$DWin78VrJFhM zUDV$n$N0c<;tfU*ZcEONmUI1y)`U-YC&{>GAwykcTo2YZA*|AE{r&Df-RT5(=0l&} zOmPeNnCv~RyqEY`Bk=LCijQ{s)B6Dr@TbGiZ28k|JXG3vc;P+Z!Ns56)zRM@kK3rf zhd&YgzbfxXXPbrCQ_`O}mtfyF13E(>BK^54@815H4SUdjbyhH&`yPcqQEmGaYnu>e za@9z~27CTq!hWQHeUv}9nCD}JyOVwHJl`5h!=5PTdxBybFD9xu@P^@c z35K*6U=L6%qOKhF0Ad=CI{GJ&U&+Q{J^5*QOynZ!ey6{WY zm&QB$R@!~Xqc8AuQ2L}wNKPw0sdZzpw=U-Ul*Y|PejB%?V$4^PVXI8RZ_t$v*E@4( z=pGc3D;T>h?-wJP4p6r?S=tfRmQR`XAM{uiuNN}B!v2PT67*7*RduSF2O6rU{RbYX zwmplr?P|;Src=0lzc_kd4`FS)v9`6uSAQUM?#tfU**cie5@I3ethd9RYrn!e{3_(-We{K$= zsVc)b-yG#bQ`ZTa$_DNVd!1qKAv^JYPE(9dc8uh7;zCp5M~SakG*zATfUxUkMAOv6 ztSzT0Htzd^{#aH7a*$39oy%YFXP zaK6u-@>|G{RLGBfO@4I4{$2|nzN{OIiH`s-EEyi?=H%hU0gM0t@vqoV#n_Wfex!u! z)^hpLSM6V%;_RPo_x~;RU&i+|_05IssJV<{0$t6EsZP~W{6=;L{RUpae>=sTNWU$? zZ^Zv0Q&hWR8S)v4|8E4Y@}^$M{KIu?IZkqEpGclw44iQOUoHI%FKwf}njmFGl_e{d zS$oxL`y194`W9pba9x!(Lg))i(H3?FWQEoC5!N=zZd)eWF0tssYWpkJwhQrp_zYyM z9=rzY)cOCr!^B?AxA=dV!?z&bOS(8s(8cY_Ue)#OeVV?#1F=ffK?)aPAM7NVxO%KP ziu?WTZz(jm7x*H5fa<(9zz5sSs@T-G=Z4&G=hrK6aj1+_X7kt`uuP$`wYUz`p{sYjL@-ZmC zgYrXGVvd`~^)UCsSJbdBG0gl~wjJg8b_LPa#Qx?;foq0;;dg3S*Ckw&P4e3rr@5B! zr@&6)>Cs_)|2oc}6mxz`^7*UOQ!IPPAl>g4+Pm@L7_526wXjLyCwXFNWBJQ?&cie6 z#nK)uv-~B%fz;tX_zSZ~4=VnWYSmwIt`9!W#BVjgG2y%J7VQ1Zpt&3Q<;<3!pJi6U z_EB*=$Y-n!8VkO0w%=(ioEb#UGL3aGFNhcj{1WO|J$%MWp|RjgXZ!(hSNX%O$m1ja z5DPmwFXtSy5OZX?FjD7(?}qtzKtn?3v+(>(g!qH9j}MD|4F9aY=eM!8z&qy;2eTd- z3A+#e+40ePegkWptnGQ|448Wb@*h+`E_mY-+3tIA$&(pdRJ=ylP zkpg;JNcw!7gP!`R^i&+@q^Clgo+h(}k;cQvG8`%VUgCai zG(JZNI&t!F&_aE5zSRN?pO$T|;gi3Y_}n~{^MILfIPjgN zj(wcvgTvGDTU-48?J)TL&6IBv=j8WWqx^douUGR;Hlx4o-xG06^cDWSYVz-0eH-)d zA^t}GJu9AR^HaQ&{B-3zjGtC1{=G8Qzt@1+yqA3YCw`OhKN+KxvDG7md~PerzgK-W zYX6XbkNes*|DMIKi1*}@9t!{7Dy);nED(7RS@b^Izi0JbO6{{#q<^n^vyf#p5ANSf zj`Ht4IYj6qf`%l`HV@%6>+tX8bA2?4>`hG{-9Yvx>7$UvUfJ$ji?oUGT;JXm^K$_ErGi(xznXakkC;FN?dE<^7-s ze9_Lh`%kDn$vf~T=I>zoEerQT0w2gF66m3B=fjUW6{jNS=(-!97~1n8tuCnENP{ky6ZwgLpOo% z@%-LyjNk2}ct(C&G`~xY_?Bky(I8cLFa1U zBc6!(8``OS?`hGd_C1`dMZOd1yJa|wRtNns@BMT$ThobZ5qI?B2Yehht=?p-51Hf*)+t}Qq#x|z<3CijQ^ zg_vd_(Y!VTI7Z%NZSwc6;(U zgRP2utFprPFXZ`FfKC0yfDh<=FJNQkTa|XjTH!-0449vOD)@fQfT$RGGvck-qg8G( z@^h=1&i|a=*JvUfD}N>wK2h3EAMe z&MBdm@3*y1z@iqg@>^#vtrKe?8O!lGnZ?`lX`Rhy+xUbGt;^QenS^yhUKYlhpTKqm z%_2`RTJD$ltn&_9XSUBeA@|0#wNAjI7O?VLX9BI0^Z=}Z*13W5d0T|8k}}ZD#=ckg z*_D_V%g+LiS$pK>UMq3wqN`j??bl;`*g(|20{*ki%gHxzq4^{1=bCl+4SLeyd}qGp zqocVF0zO;4`6%bJ4Sh~!b}Z8?($3(%?n=mi(6UPJ|K5T%C7j0ELa#WObycQGxsUbh z(H3@++P0px?aA8CCEM#2;TOkV5PF5RkKSi(d&#y3t=y}1Xv_5=tL>YtZEt%H4~aQ| z_Jkf}wSAejJzch~wsMMqKcNR%ZJ%Xr`>?hQ4&wwINDl(NsB3$awe3rC138d9U$>!8 zziA`lm??|`q7yr@MUG2}&A z-k#y+X!z+2;KAV&48&Rb4$&U*#D<$iE|HdR6cM!0x(q(tdGN~?jWcVZ&-A*bv3vmj z&cokzfs`=&hCDMBu>HGv)%*ST5_rK}z^d+M^4B4s3wy@m|66%Y&^JW>smcpg{pD&qp2X>88K1jLtGL~Um3KHRnV2W z9|~u`ME>ISXgk%to;ociv9{fvw7BjR=;VPY-%_5WML{Ey z7FQ4CwD>($e+lq>qTOc`J$mI6@qF=@$^H`g;?eXd@`)}6EzaP0Z1|M&-=g!y;{`pk zeDROaCL8Bm&`#CAzZ5vA{V3E@OZp4iTn)auk@kd3en$-O=_T90Kz!9#7R-Qsxf%5P zDd?B-#ld4N`W5*_ivDfMa+Q8pqCc}iNe-aT7Tl#vJkuf90h{{E0UyxZUckoIU%Eiv zQEVXAEXG~ppxJ|N`Qm@TI=t4nlhz3O@|5eBhgxnGYh?Nh*2wf1%+=Cg00*~xadppL zOzXrNXx~U52dx+TEnH^Ey^4Hs@@XKy&%smhPTChE-@<JLXzw&ovfv1x~7z z9EU13$6+3QzaHO!9zbiMd~yE$31%sMe;a-yc~8F~UmWqTD#{lxq2IRRH^_F%!D2QW zgC)-wpHJ|FtY`V+_&o}qcqifc!Jh!nN{n@u_zv>L`5Z1VucPmf4gvlu^UY{3A}5@~ z06Aln6YhWk-pTQIVthXsWDyKV7a30c)R_~$68Vh8PjU9AdUIKS^IGhShIKrrGK+Ku zc|PzH@IBC_DuZ9&MEsQJkIyAvm&^x0fVNYdZFiupnm>-QtE_x*(6-J~pQ84Kc78X; zw{?<6w1*C(&gBtmUun0mpt;L@@Ord|4xzSxh}zfN?J<5?mdpp=hW47?RmSG80Tvl{&xFXTCdCpuS9!Ir@EER-)_(5BhM_6Za2y~{~Or+?e@!Q{xZLtbhhEn z_62PIcJ3kC+qxL|k1qdavH4s1-Ik6e^BrqIM`SmvdRA$+^i6VkBW2s$*<7|=tmk(N z`+PC!TVD1#^1GLVCc%5)+ZoIJ=~42n*d@Okd;T-{y>$Q5L_zP&uY})Kxpsm0jr>WO zJfHhuUQKlT^b+I>c=7tl_|2Es1CL);LY{#pC!t=3Lmz_;L9x>}#Q7(cx2y8(ZS=SN zN!cQwo9quBo2;hT=lo})Fbg8t6+E!Zkix!hL2 z$5`9`q;Hj3x<8#`$&SwB-aEiu_a7l>(oNrLD}Or+Iwy;@)SM;hvD&Hsw?BXTKI9@2 z|7G+TaK?8^#cxE9V`Tm|>dDq4M_$#J!-#Q%9$oRX5x;5lXu*;BPC$>}A$n|I{&tz0 ze`usikCnEp6#mUJitp^XnfW)%)ckGiW1Ak)Pts#o(BlBw@4~-15$)9Y&W%3nrFeh4 z^0y}%=3OklYqo_8wd@1^`bl*MW1W<8#r-@f`G%N_X9Xs6PqoeaWH zA=fk2`Yks(`X@Q@TWI%BrT%j`e)U}cJks$C&JelAaZFCc5KN_hS{M!gYz9*+FDB9F6;X&IoJ1eli5_k?sF6%##=W)-8#@REhEzbdA_}zh+8`bBbeLI-xwAP;4#@Z%@ z=R)>n!3S7}ocY>h_@*&;J*Q_+X2)=rBXEZL)z*0#cAo{y-8d?7c(n9yWX8iQY&BoIEwj0Jx4aQv$Cc;hxlIrMuh-Zz3iWV^;#;~W}iC;Hc*zGxl%lOMdlubl2R z+XK3h??^V^@+J7lsvzILIm3CbUAE1iGhW{>_Qm98Is+5EFZlZnSHs3G>S^{_-dJ8i z^k57yV+^BZF7*7mKB1PF)kc_Tw&+Sa`_;$1G2XtfkYatm%cOaP!g@VT!q2qflxx+? z#t-BL^XrgIy4XN1)eLsOc@21QEqFGa&1dJ4v2MCw@m|!EZvY(jqFp2YKL_yIn;5$9 zqcr1?fjo*mNAurV4_v;9oUZjj<0gXJM~TLvEZh@8V-s$Hv-I_e_HVhUAtryj55LhJ z>4g}pA=_x#gqmEFagV?}{9k#rWTn#wDn zOJsp()D{QBMTlb)HQfE)nEA?sQ*nRUW+MT3=J*>J*Zl0nn7C5hU1$b_&Ce3v zlLMe(Bk@3SJm@pSXel(hyiPTT>F($N?v9=dS|l1Gp70Cs+IsAnxhY0VpBIg)`S(wJ zzQi!bEI|Ix+sGTqgnz0a5qk{u*#I6m1oYy&P8WQ6;n8;-S9m3|TFJLi9v^6(WZ~7{ zFzm8W%UQy1nuJ|YgB|$s3JE*#KMA`J;3x52bH`v;<;EKT>*}RGup6Slt}A=y_h)y( zGs&i!RR+!?#Ds|-e`h!MY*U4zhg+{4HChbK( zethN+7(d2ZY<`?;&5!fr4aAT8rkb@HKR)t1=lW`h9~%KPHvxQG;m3!xcE0Oy-6NbI z&%xe3QT%w!1_wVbQ~B|Y$c6IY#~s3#7altfFV2s9P=2A{$IY1IHwinHA2+NQu;cvL zh8_5Ee+j#2etbe<_X_2=3D||%Gv~)!@T~LW&-$Gt{P;NP$0_HYy!`mo7AHT3etgil zA>Pc=_~~0OI{B5GFQ&j!9`eAQ=oP>FujQscs%6}3(<$-S) zb}Bz!E@9`wkAI827zVqOj2{;$u$#o5IX}+Bv(AsrzV7_^P=KG$7`mA9dz|Nmp_63Sak1jJ*wEXU)dasqMvQUOji(v2 zGLnp&9);g1BhJ=|mnYdiitVxR9l@tji@M&@Z*c|QWpuUM$G~?Wf7=;@-@4nsWx+Qh ze;Yx+^|OD=?PmY>vh;=Y#N6R`^zwz6W5Mgw;0sBGF9d!-<_qZtUkG48zL4uaZ=H36 z?F+HxG&^e*WVv{j?ybCY_(Dz*z7Y6jhFB zXXe3OwfjpNw=oo1 zRj0M{U5Aua%ADzLVzPl|g0HEvY9sa<`Enk^KAZ-BoS!e}_X)NyXHz`) zt^}{ZUfPd5unq8Q8OAVkC(f1DV&BwFp#2hiAOK!L=l&W0K<-DO5w!e1`A3WI*#rJE z7x#HF|HYM|mfpXDY+H(V;Lk^1Fb-O_2K432a%}$G0N(V1QFJb~xfcGRyWk(%k{N25 zhBn!#kyV)qUWPqOd-zY>$5CeaCKMQf2C#>PAFLhkfdlVxTyYQ^Ifyw)+4omGtGHN! z`VEAOd%>&1h^^|lXfWa|zuM-M=4ZDUT}oetU+u1B!bSXnQsA-){^kb6W%deOBy7qH zC-)7t4255ASxnM_dGNi}1QI|CN${^F!&ex3a?>@a&tsfz_C{@2g5}1(9NrR^n~-1r zU*s)h_AtU5(n&UO8PG5)gzw-!#uk^Jfo`J#_~7%>|)F7yRpM{%JbYKVUXU*azK68FJ}cpZF+ z7vY-+0$pBD{Ic|(Ax2_ptC4hIG3d0YZxVdmiOjE95B(zxbzzDO<7r77Q$QOkuk^+5 zaix~7iU#BfT6B|>8%{<{uRU~AiW;_zZqhWmfsb~P zq#O8XExI{N(9OjjbOT>+d+6rr+g<2J8(XKF8zkNI%{^wixgRx3RJwWo%ae<4wo{G~ z=$yrK*faMAHwYVrB;8{++&z;DQpukwE4`SFMs4+E1K9o! zm?506roBHGe0eT5{2uJ{IOt6D?@IKmL4FD8*+t;-6c=&mnBXl9$Zu?#!s&!!2D`A2 zDLy?P`@9(Y9dVA=gI|{1lLfg!@q(vb_`F=j&1EMIZn!V%2MRvEeZ24i`N;5*4}6Sw z;^RY{_w>XE`rR(^0lUW)ALD_Kd<`Gy=Y@}%8b1Dg^kms993LqPJ`Pc?6VV{_q<`aC zx2G=XZQE0iV;u(mx=`P!z z`WW_&YERvy*i!`~YE7<-D>{zB*%N0>uz1xToA~3mu#t> zicPdVj@wsR&@-f+v_!mH4t+zu`)g3xVH9_U4ob1*8^ya^4D7uAu=D!C&RZ(%yuPsWFlVy!BL8Wf z^`UL&Id#5be&)(y=ZSX?J1%(~CR5O=+f=d72dh|c| zsdN4zW~UA0cB0Zh;?ciG>t96kmv*kw|3Q!b)mndp?A#%}xSgozuA^);YyXKDAK7i5%uBugW!QsFw?I#TuCV`RlKF17;b`-|MCkaCSsSm?bo`m2mLLoH+%l6_bsBeHCjrVmc9esr22a3 zirZkrA6PWMc|=mE^X*ix)5_>C@bRXO&OY!LLAa>tpyP!?101 zxuxa`#v$ia<_hkCzkzZE55TWSyrYm}Lf99DTCSiP&%2jk3mTrEJ~cdVD)e~xDoFpY zi#2A|l5ATi_!RsEJ zW*zJ|?7amO4f@X8ccsOZ?t~9x^S^FqGEDBDyA~~I-YUi@S~Rd(?w_I)iZjm7E>ZAy zrodZ0Yz~&=iTv#eM&LkK=m(4OJZVwkxOk)J`K=<)liDYLpgz%t^Rc(^oe6Ehz*SBLA_*Fesj~2xd2b=+G+y8D zBh0cN3*K9(?Dwth-0$Nd|9%dd-0HsHvj`rPzv{(%ab~<1+A!Wb&ff2bj-1&2z8!Ot z`+XCh)%~vG;+TDk*yr)1gBRAu+vVw1-{-zjM7k^WK;Z98A#n#&B~t&iXRFWVW(5wzYF_ zOu!i++8f*4_r`Yx4n6k<>N$K1ZP?xzV(*P%CwOl(Qx2TSZTSbD)x9wfJ~ontH^P3q z8@@GN7OL^Rm0fKc?pnn9D86?+WNFitzy)G_WXsW>NZ6DgPR_CIIgj`r>OP-|JTM{W za-4E*6XJtkAy{08;czjL_U8S9GyO;fC|5${{Er)kY({{?XV zU^rrZGUoR$7V}%fVtx~1k`IItD=5L-N;bs2U1TIUVt?@|B8DUM*@wP3S@v`?{Le{| zOBo%}{*I3nDl|1!qp1~u0gD+!Pnza(7DJ_}%{YItNyKnU0$jf;g>FRpRe;W7fTsE& zj&7jtiWe`e8sUW7rO|M!cC(+Cs%K>syV~nLc&hg}u6hCIg}oG5eF>UY_g|-;TLG;6 zbkY3}a9vd7E>x*DS2pc6A@`*|c(jGdbni90*i)SiyWNy8CV1E5?3u?xw&7Wig?w=e z+Ttu6oxRwOxf|j?UeAo5@4fphXZ`US*i`l4S#|I=)WX&!KRtBE^cvVwwXkjL;47$y zPAzlG+By>_bIa&VoSIXnp20YS^1zUHCeO=xo{58e^U4EDJwwU)h1{~v#9_V^A5hQ4 zIp|ic|BtoOSxbHff!Fa@EWeL|d|q!C zGXE^rLjGCQ;vW@isrgv0kNmT^hbR}mskC#<+(g75*con~NA;jKzYw)U-P{Ul2e`{K zab;RN-*renqs&?6QGM0N$y+)_wvUHwhtFXzd_em_j|rP*hLhL$%k~`Homoe+!A98+nzm%S*o#T4A=`Tv{dwpe z!F5AxW4UaHj~IG)m6Yw7bcZLtO|tzm=z{t_rvCbO4#O|3=JCXVw=mg`_pR_P)0#UZ z+iPN@Wc#{i;p4?x8)%K><5h6zi*w0mmG)jV?K_Su?Qq$CCGa7Ayf?6C?&JNIMpK$mu&C8OV~LCH_*g`Ck@=VY|m0)70;fzd7ptiw${O*;wX z6U$Tnn(}EObTaGA_BSA(k~$!te(*2Jzv+x%Vi@wJ%y=2$5X@7{FT#2{nJZ$1d_t^$*0H2BDYdlAEYH6_0ERm^Dz=A`DE zo{PHziYVVy$ff-!4S(ga$6r%^lZZXO%AUDg+J*8jr z;bP@eDet`OrNuezv6rY0P<-T#{Y)O=oHxlM+(}CLD5D37d?dT3%w3O5e$D4YHOZ*| zi(3C8%7;{@xq($ zIIi&FJmfmSNBUl7Xt3(k7%E`p=eIh)41O!{m-*?T@I2)2J7TEV^K^$B&ylrasAUvG zy{EOQyaD|-BF`W4y-dpYEyxXC*c0-dVyK97Ibx`=J!`=q7Es(YI)-YEK{3=T#274w zDscD`_@^(tzX7}*#k?fmYS}aA{r|+X&ihApvw8mt%$;nK6H>3_IG&H6I8@>N*$VHU z(H`D^eCtPDvQOpxs3}Fht}>hp*Uq;mJSKU+vwqYCTK@t%U!Rr`b-w=dN1gqnX_Su} z%|qn+Ro>6vHTI!g#yI3MQti87Bz}&{`+5DSQ?2ACrO2 zLIx_l|Myxu-*q^6n_LIy{byk>sQP24`r$L8`I&k?K5;Gh*%ZVWQ#fC;{P5syxu*#~ zJb0F@fkgGAeAnsVDgJo$9mf@3ToyE9UXrK0f#+`$c4|J&^FI@?1Aiu-Zov*b{XeG) z*ny`@*iro`-!*>&u=|AqyF1u3=f}6$1j1ssGjAR zsGQ~4LFXPsO}~3_rh;^CIvcOn_NzcVPo8D?yExwfKacfp72d5^>Pz7~qxD-~`Yla~ zdmz3b$9fX;puDKUQ!zguJ^t;%;N{(LE&~1lvXz-04}U#T z`~Okvzk_(?=rnUD@k*tCiAVq6YW+8mEI2xf$4!*}Kl11w(fUJAFEdKc z+!FGi&oH~+fczHFJ=My$&aYoiHaTo=*bq^9x3I~r^Xt%k7T*j0dAXI};^3bf({27q zdb7y8wRGMs>7kZiq7BP$!I^8?bF>E=TzM>qkrxekz3(^ zJ9$6wM|ltIJSqBl#Y8e66EP71|CNBhW;d3(`7Z!-*!$6Tz1Mr-!h0Oo{lImF53yc} zkDYi{_eQ7cS-^{*-T3$#Za0#iMfkCF1?X9gJrq4l!0{|j$KGrH24Huu0=plcK-kTZ zu!ElEfF1O#Ur5-Io+V(nhv(j(P}p6lz%H9Tb3H2)&$^zqq>HU*J%YKD-7Ei7^F{Vu z_Vw~bI#b^YiZiCFzGZfXz6Jk@m*4cq0~LJ>z7b2`g5R6`rkcK`;a}V(51H$mXQJv` zliQ_!1g_-&zEQN5r+*8E7{>O$vy5hp!^$2s$DeXHgXCww;$9G?^MR7Kx< zS8M0H4u^b^>)`sZJRt|VA z_FMzzBJ?fSz2-#&Uhg}O1JuH&JUfw-w;RtYE;`jO3|#oh_h;?_Yyr3V>G|P#ncz+8 z*&5)m2KgnbUwA%v1^I=8sG-a9l8`IxfH&P+jT{Z;7e<{RhhKOCegnQ2AQxHp3#((0 zU$|O~!TiDkXScfQ7XJIT^Ki!XvY#k;n|%WDHdW&7f!y#s*c9!>+s{!8l;I7whYIs8 zDWR5|CElRxx#A7FcUyRy=YqE`Cjs6P6})|nIi9Hf_P4v`e)EXKc4iuCkH=(`{`YD9$E)Z3l^g@e0jxjTZg=K~@j2-6_=>BT zUWc{V@%SoheiV~Q;&nQ2KZn$LgppuB{MrMtxn6@+r|Mm8 z#N)48&HXAJi^mT!x1j#0jK_nAS6g~6eSS%lMBPk3Uq*`Tyd4@<*Iz=VM(7eFu41b#q`Jz%H@!v95%^ z3cI5YKFE6b8)ZJ$$6EYnniBshKB5fg%K=H;W9o~8IGU~^eM z3XDfSiU?{V%a~9!EnL(bo!iCVIb@0Aqu70pzmMWk789bFczopBwTdhW#PeKZ8Ph4Y zWl8F0DNFdbTbJ?vleGR!mdKcr(!X_+d;hcD`d^jEWs%bV6OaA_-TF6miR%B6*53=x z(L7PYU-eP&cPzgEu`%wi2}b^Xg(AxkU#sbZ`-5vFe91?VNHvYCjH}P$HK%tGe0fah zS#5qBD7JO$`J%S7om=*p*3New4qh$S!DU$=>}`@|ol?61ds+Afs;$}uu$#_7?hdP6 z0DFjP7X(0e9iML?@;=5<`_@O>UM=PtlL#~yXWuP!DYhCM&n z#h(IxVAYMu2(>(a7i7=HmOrK1^65i{{HH76A!`>XFtg+gVk-O4hWS%q4-&tjn!ZoN z#`A@nLq>2sd(pA)IIi>(8!4k4Ea6Z2v4)FIjh6rye*Tns1Y5vO#7k`0B3`mi!j|$< z1l$&$P`GiOC|7~qpc4qY9ujsuUSh)zbU9tZj^ZT(cD+sl*wKEGboU;6=6cCr@SLID zYnC0f^^y;L?9-vBYx#BZ#UDdm7d1bH?)H>-PG+LsoIGDkwR_a_wYhXw96AHl1zmwY zESCiN8&p5VOK-R^1A0Rua!F9vhy1EcZ$J%snM<-C_ezeySd>c=y|1P1(uNI+d9pLK z(3^Jm@z)z(CA~r9bWiz6$~B%7UPSV0QIDvc?wCp`_xXIh<{8beCYIjuBGE`y%Z)xp(*Wuu! zavfamUI5xvWm#SuH40T5(z8Y(?4g95P&gTUP@XGdH45QlrkKHg(3oDMu;dz}s-$S7 zxfr!d6`Q9@%A!r+3zL!S#m*RkFUWHftj0WS&!(}+2LMf4H44Eu=zK*I_)8AzOXxKU zVGC91H44wb_|6)Ip<}L5_*T8sHckVrsyPS1SG8Nt!ECk0g5uNgdha`qE8h7zp{x^T6jA59D|2#{ZM?z$)b~ zN2QK{Z9DC#kUWNeTizY^-+ws!!*+ts-!&>Xy2_*fUafx-^}iv;oU7$#Z_xTj(=eY` zG|fx+sXUm!({rnzxSa7|z=HgEJh%EKYktIoVJ}ji+lX;yZO_n?YHszd+Wc^?rrPK= zme(s#c<}eNcE0Oy>_xc_&VxV1-3uxYZp)9?p?WZ|DcHFhBR=ZPxI9;LtE{5~8m9Yq zds)1S&(n8Z`Kq6lxA(%E?>MgT;X3OBfREI>e)>(oDl-@bD|t6TSe`)=uzC|bkn{DE z16I=%Se@}rz{;lbB;8Q9bIH_m{q4nJcZ{EoHAJGK0cfJyD;uPZ%;q?eAZ6DpAwE2ao9>M4VQS}I3(c1a0!@-B;I=GxV z6Z_)0$tn1@nVfRry;4pMiZvc6qO7gBARP3|2n8ckQnQ??&37l%J{ju2z<*+$bJ>LYFCQTv=a}lhG~D)1Nh0dM7;&ur3yn)L z3R(YU2fl6K+f@H$*xZiSfB7q5*x~vwdv1H@)kM^P!JPE^FDu)q|Kf{l7n=2=W#4gJ zX@>iC{txSwex1qenfrByYqZpGfZH*Lz&y#%1>r$|n=HKn;85 z^5`FU*5%QNuWWf_)qlz7^)mNeLi&FXTmN4I{eLO+|68E{->m5W;OkU-zU~(2|4VKC zzcbH291-~j>iLKJw0r~gyy;;2tv%;Wrx-00jkwq6;r~h_@OmZgeJwzZj#}htoZTC8 zOrAHLqU07}on$wt=O3bReu<0Sz~4FKn37wtFV|m=vGbwjvGb7C#`_{q zjq!PYexdmxDaZJ?xnDm%a)#D_1M_bUOyJ`Jd zY+#JIFIwsU2d%#soTGVrymzT8M{y)>)Uh&`;z(N4|%LM%g%5v#QeKDZMx zV(j(#>3QLK$d`BIZet(SAeOJ?+(XumG6$okYXkaiL|(lrYquaKA4JX*%l$%3-jTbF zIDakn+ydk`xa4kI@|tqLK1CgI8iVD2VQ*4A@9)s9ePQh2!yLw5G~_#uE3P;n{w3ve z2|j!$o>jc5c@}PGQ&qpH=h;-?D<1jp*4>(jRqY2JGUt+>(cO&0IckEpbzc&25C?z$ z9{jr!{WcTa=&n=b%`?2IJRC4&wMz35ivk|3v#IFkbvCtYjffKo9NcEvX&k=3aQp`F zakhew(~lQE5GQ2#fF8l_o+W$~z{W7Z6R!5b2m0kod?3%l6(3^}8-zXOzz6zy;p3)H zocK8HB*VwsSg+h4&)`|zADx=};=dkB%ijq6Z`DVC?X(X0AIjY9a%a6iZp%9K zHpSoDk^1P>?>3d^%5$s8r-1*V+RguP&x2BLx9gM zU*g#O4|h**6l<~l55KVH$Ndim`EhR;XU^5?&t9g@FEf|ovtzkmScywc)!O;4!y${E z{)cCrTjOMUy{R~xgR1)qp5G&53yjQ(+{E7NB3RtafKV#e?I^nOZom1 zd*(9g1w89AsteBLO22qiee~j3R*!b*TDs3X`1Y^9m=IncYnVibHRZ4yD&dn@51+(3 z#V1h?`(Yh?66@iUsI+|&A0vlG&CB@?^kJD}Sb)2*Wsc!U+}oYe)wl`weLHgvl`{>W z;LdRME)V3+TDdzV@;-6oy~y0ek5R)R<5XT(E2Fzz3#$S-GP2EbS?2+M0r{>OzKo3C zcKa;#9(4MxpZ#0zDR#d)nFoa2!-ng<t4o9P$$N#aJ#RYJ4p&^7nH*#PWc;viN53ud2N48it>u+GrMa z9t!RI#$WmchvC@L!z$;b$l_s#ExV%1ZyoJ^Js_`tP84!6Uu-ecej`hduiL zMe7eg3355bed9|1pLz6uMeEPzzo~1~{O|PW|CH80Q@!t6`TqAk`ft+uGx%3!@;Vzz z|L49Gd!{FuH`HZDrv7@@WEU5Atz%ADnWEDs{LP}Miu%0*S}ea~D}_*W8gCWn)8 z52GU&bs=m`vi-5g^<32Xs8dy9oM*m@TAU5wi5qcmqeI^q9crmWJ_yq{MiU?9{F3DG zUie^|7Q)^HPq1=P1z$}<+$6^(7nR1=b5Tn%zB3nf@-gS4&P+3S+#K_4!2Iqan^u9p zFTSMAQ`&pcqwhGbc;_*TAmx+_U7EWS?$4n0?e-pZ+poiF#j2?=xR!I;4 zk3DmGxDC(8g&uNn|6-;_4|6~d@PT;qhvDW+O@cq5E{cOcz|XtR5c~oDTZ=!yKgjsQ z91nUxt(5lihhmKH6g!X|dy7Cq3K=e}~E+`l#pZoqPa# zjj)5;@!oeFAO3I@YnAlSU7?5n;=M`_s(*MIbWZ(#6!q)^`G@5_)thjJh4id#fKAhE z;2mca_CRhB?r{#U%rJ(V%dW&ZJn&9BZ)?>xDkVJ{dNO!@R9z$J(bhSNqYP4N9bg?u6=yWumo_T~h!H?QP-)4EGd%5M1kb0}9KCF%8&8sqIf zxEF@Tm41RftC-Ka%D}fN4%&)35;dZ){KlSDkiXh@*57V~*WVt4|6{}J!7GA&bK8GU z4dp4MB)tAA=A-8+q{^IbK`VFTp6-)rPZK@MJ>6HKqZo~j)IGh}WlyU*pl8en^b;Qx zF$Uz|HstfYjhGMic6W0%&Pfw4t(Xt+#$rDBcP07_A$p;h4}9G$#-Q5B;0X|yPJTP!q`?jMK|DwKb|MD%D?EGg*sp~T#0gl;2l>$ri1#pFdkyT= zqOoRzs&Q@FGJ@-<0B7OGrvkT&!bEV!!L2rcq)^hQC0Fc zu6jVmG5EJ-{>jg@{xuZGcmy>W;$@y9&tIA9(f>}ZKl4i*yg=M7LHQY?{-@U83r?^D zZT-&yKbQQG;dJ+f%pXaNOqtC55`YE8L6AQ(Jk)Z9H9wv|0>1>{lfdtPRq{vDwE4j= zQDxjZ#EjAMFypm$zUz?sr(+#Ff8S=r*q)N1>!>oVfvY zMpvLfNf#~SGj z@L#kzy)Uk%Uaa8Sixr{Vh+8G*u@;9%Yiphb7^S6m^ErfpJ8bP0y00MUNd9=79Cq+}@|~V&QLbem4N`<{}&`~fymLvOV>#R3K>C zFVOn$px95QxJ#ti?w{e&|Jz!Be81XwL)7?I`lovIpQQD#q5d*Oo>WD=J>lz+Sz zys+td=ot%@*qM+~Ni#it<56{7Uc~qg-}pn*jyYDc^Bv(Ez&wdplZ6!Ra z-jH#N6OJ3MXYQr^9N|ZM9nb3iRPiy*#jn|}SOvwXMnRtgUI-7+b)fGLGiL!0boT+( zGPPnA_md6?y$7(3id6s)YOLbXA0k$9zZI*fQfme_v~V02KnJG%En*ec{@#MP>W65< zViky!l1@YWW&w{?xau-qd&28|$M;HXq*%elA`KUvdL9J0(9eUYdDGt}*aB|z)2D{# zO@;2K-oZfpbgkGM(8b9gGZFeL-N8_ax}uDqPIdCrEum0L5#faH<_!VI=(i_eK$ne) z)U1Vm4}33}XhfX{fxp|r8J!1NBF13nK?Kg4;g|M>^>O8Id=H(f;Oz^{k@irh)Cg5* z*QybEeyC+6!65^%JRkH8efZh7VBpG|1Ch7HT=#=FlU>;<`<-Hw@EJMx`v~(YoM~qJ zeYUdSDaWrp`~9p?OVv%F$#VDozOT8B{f@kv8nj{i9eFZxzb|eJZpW2&Vk4^nf604q z@WI6~$1t$Z6H!eUB_Ec|qak1RyL`vqK!kU!)q3n`{_r6vo}&r23AG@Y_A zNye0pT^52@E3tihoGLea6ui26sq0?g`#4*{N1_itj#(C74jhbi?2T%Q+nc}x+Z&fF zdt+TY_Xhl4`+k7Efp{OCa{=DvS5;h^fCdalR+~W50uQAF> ziq16meI(=@@~8;j5|*3#hFV@lJ$z<2AWuf>jSW+T-7tgi70b5`{!YFv)D>z8b}jnz z-M1&L8(KlW?WEGfrF?7|yNCW-X5ic8+wKnCsYdjb-=O~bcMg|2{oA_%N0#G{_pR8| zwC0a+H)Z>C{9~eW{QtDqX?vv0xMX|wq6@8b9u4sv|I-*9(f*E)3|D9>O{1w!&G83K zv04Km!?Q-)t+Ga&&|_ZxBFbhvL3@w$!Wz)A+<(8vv%3E}^$Z_i<)@22xrFPYZoKWl ze{H!h`PPpBM_+z(TxpKO&QxIc6ZXt~<~QS6_nE)^G2px^6s}vF8y<_fOP~4wV*Q}^ z65D@%&w)c01C!^z)VR0*`MsnL)DNop1M?}C$@)PX$fx|`cpi7ow&TtZu90zX=lQ*A zt$z{q4~qK|mHzi={k_)d;De6!t8r^S2fcpKFE3<1L9E3-zxRkWKkNKnnK3TbT&|tp zo2ShW@$G73$N!nN)DE$Rdi=j95Qto*wewwvl<|&r@VND>*uyGs>9n{t^sK$GL-xb} zldx%KIC+h~Y%f_rHtY!VKmUMiUkIPz8cnvBgj(K0-U^fLC6Mh)LhQas{al?T+c8G% z^^onWA=^(A=l6ETGTBZ#1IhJ-SYym##6pYkZ3EvX*?u~7!Km|l=&yh0Fm!J~BQ{E=pV}g1I@U-r^ZizAl+&9pt|fm}aP39QzT>#k443IySgZ6Wp2MEG zKe3NSOPwmyK}Src`_!}h`>&km_VoHezUw`%aN~060Oef?UtcwQ=5pyxJnM3)@4sxh zWYrG}@cgX*m3nq(K?g(Kp{FyG5aWbjm&G^}5#t2iQ;busAL@m>j+`g&h&(#~HK#l( z@Th0^-+SEU(Fm=7$fKU!Uah~^I=%L=b-qj4@47tt?EGkX6tw1N$)khDFNX5`s6x9A z&r90;SRU1wv(33$9@SG?JFKJ3@&PDw!#b)gAAs^+#;68hFC2e))b@GuP2VGVG{n3V zbyk@?LOf!fcAk9rVIhy;!)~`cg5AgRs8T48D#-GvXk06g3i4o%h&{GYxwwk1B=osDe>>R2Q^S&(0Uu?tB%tRdj6x-*H^! z5sz=(0X#@~bRT=>^5_;ktF-h@%cFPhYf~P1?-3XHu)X8*zT?$7%ug|w(|rv}|1lo@uhaTN4ptj~ zz@24U{~VA0-_`nOQjSE*+59d#<@@Pce=j&k?;#0))vn|3SRHQVuDtB=jRKaG>w&xS zGD0n9TJxh^k3@p+L1WSBJQrq{U5EQ$tDW$zAvjDtpXa$x_rqz3Jpcx- zclUvpM8)9|zq8`-*`by{UI$oT%wrD@SR)@bAYn~$c;JKL@Tv|&bppRQB;s;uHa>oS zLh%tBsldD?F7DEBalGkRjl`$f`S6XwWbu9UZpXI&o}gLB=|Z~QyVUEXgs zZ8+&dz3ke)h;h{;?pQYiYelXxM0@ojeS1@ek{ZtWnOh>-0jhXykPZyt6b&o ztNZX9%RffWH1Q*^Gg8w7ifs-)W7+1IuZwN2;Z5FMr0O*MokOQlYP}_8`Rg>>*%_%I z%Rm11E=8v)4u&&Hmdg8kvu&Lwb(NI4{M+<4Uga$ZT6DQu?>vUOT8Q;0jL`dRZM+dQ7vvRjlTYQxw%#e3TPcF;O*xPYJaQgn(pwRXPi zaOf0r9bBgvkA0xZ#ZKkL8U8v&+G6lx>>0s}?X&UV#nTQdycqOJ_fri4y&QSYIOz02 zSoi|Hs`jV&u-l-(ZY6u>w&@By>%92wy*4j?7<0GJy9j@29`WRKnFC*#-E{JcmaofkQ19PYtw z$bcQ&t6VAht%&W3{vT-l3y9xm4&pV{mHzj8^xv)ZH|YC)&o^Vp237hOYyG|81lvR7 z9}<2lzvu55zh9Pw^8z@(iafvj#xi~nSda~gGrxU8Efv=M$cF4f_pO&1SA&n!Ie>iI z7du;0F#aC7P`RzhAu&JPx)Ilhc+xfk@z6?44pMN>dFT>jJ#;T>wU*@5F42T_)GaQQNzUm zoR_0Bh$Epx?ZdNP$40GrF$sKNi_xX@Rpb#5Lab$u5r1GfbV7=!QLM5Ux#fF-j|A9* zi;XU?qjt*M`vOU?Cw_VNJxP$SLyW}IRywnWbNa*+Q=vmPz@BYFOs*zCKG?WOT_6Fm z>6l0k@L7U;B#Yi{D&I34`H2(gEU^)3Wal4aB8|W~<)`km`X-`pFmgNidOc#Dgloc4 zWm!y^@K}gAExvnpBgUa~0$VVjOMol-doc2ux5EBf7-KxW{U~p5;S}vApdE5ATkb+0 z^Q%Q?n_I|M6S!S@LUBv_L42eU^ON{}1J7Q2?U?gVfm7?uFMJN9@6(<$Q2&O`X&6YE7dMp9apXvl!^-m490KPbIF6 z{yD$_zw43jDc?Qf&^i3~pzk=Y{Eq8u#R@(av1hJxEWop_b3C=j);Ss!`!9?$p0E%i!l~MzlmQoZ`^C*obyzCS3QIB7IbdL z|90h=ZsWGL2Jo$5q+z?F4-^N&1s6gdPfRs)1CV$1l)KMsOsp^7UtR~EQVaf}&(UxG zY!1M)+Z=eD2r@%kv*g=ueewX0M4aWGgB<-8IPX0HJo84J0mr@Jv*H#l8n*@Tcs29o z2f_Cu+i~6-cbLv9F`Az(0pDB=7;Thr0S&v2|8>^#680#~uL(Su<~IQIqWN_N9fk26 z#Qfqg_w|_9%a|9nyHl}^+~(63{3&Ok{WNnR{SDs6|L$#O(che} zL6-=a{pfGV82y;Z$$jl2T4apB@ry1day<)F@e4TW8Inv5;R$_4xvbSM36PV^OP9pYH?ed{Y9Xt6KA2 zfqt84zR5VpiZ~a+Bp+kci}?=5H)4Uq0g%(Me-6@l%!7GO+z}lR?&#kEXj>-6%LLvj zUX+D*S&5-=EVp;6=3&pQ0IXtx)0Jq87*zbgbCCB$aL>a#$s2b4^>c3X(K>O4TOD_V-?(V| zh8!1pS!`UqljA<7j*GL0He5!Sr)lFl;E%S?NVwpfB7+OwdBJ6y3KyIUodmc5&s7F| zJ4bV!``Pgww0%f^2WLpxckphrQS>}u_x#EbpYw`|oHqHGLB=P4^5>@VI?yJKH*a+! zqfP7VHTvB}<5FBQWVAE@u9az1!vq&O#*;gQolP*GuEJ)d`Ig_D(RPWP^K>z1yz_$1 zd=)k`u|EKt6|?wyINu-5)|2O0PZ#HU(C;$2o|$qz7qRuoG48~ARNJKnafFzd1SSX8 z5|7Ieascb4{Y*A1$${%g4wU3G9ybrq@i@Qr+U>@=)p(a@BrthU33(8}-mHT>NCy9^ z$6Sb>RsMEnE$44<2*0zc?-G9_+r1lTRH@2N5Ve^d!YvM zlJOMK(3;j({2gkkF^s3!e!32ROV|T^ZTVcjO5K~~wTgE__kM)tln`q9rNtJ$Hjjdj`O(KPK_60=%z^wEBXT zqR?~d@h{20D~Oh)`~yue`G~`#7;%5QiIvaXS zENlqEt(04Y+h?o6f1$?{t;}0(IAsO;y@s3&Ci_4ulvh>>J4%&(pT2}O;XUcppk*@) z|HmV4=HO4lc72i7554teZNIj|UUu+bvX{e{S9|Q`_2QeVy*v%~DyjU6?|*B?Mp6<&Y~zay1X{7=HwAX1)XaQGPGovTfjxIm3LOk6R|~QkoNuOaBf)+wai0 zuvaoEClF&~;hkdJl&QAOrD*H4Z3Lecc)L`L%p=m=a4);+uT6# z6tv?;zqGGC=(mjGTSUJJ(eztp>29Fko&*Qd-JGCop;pltY$W_{T=kHm)}7iDBq9y zj_;%@--*ppX=bQ7LZ=xaCzw5qwr|kbL^C;{8Q>)g@4RScC)zq`M%crGW_JFQ@AX?0 znvwE(THE~2K`+=#kdbGa>21)$nN`->$F2!2F7st`Os$Zcf{MnS+RgtnyP1ehKX8;J#v$>VwnzLjK_`F#s*N6T-i zJPP(2d@Rp9WU8R45dw}+YVu<-;wdWs36QT3G9u>zCtgW6>mlZxjX6vDkp4s|A342^ zWc=lmKPmg3%SQ_a3ou?Q@?_ljiyUJ(=){dCT5u+pWFf_Oh!*HSxj(o*VC&N^^2tFD zTs{TN=?Xo#@zYu0h0MOG24AQ)EEz_AX<_HEad&}FXJc(-=e&jWdD%H{`~`Ln=r5ER zG)b=I;@=t4K195ly~DrXN8Y0wKA#gX(Di|~^fS5M<_nzq8RV00PgEI*A2`14V^2Il z^GS%dCx)W-ejECN10T?x!6P!vCh%LiKi%+g6tw7JZ${zaMjt#}=Yoe140o8%7BJrp zx|8(Q7QE$p9@5~Ae57c2BOcRUc#rddcRTDi7kCda*ATpY^oidJcr*ThSb$=`u|2KY zZ`}cJ7yFHUSGC_bFYadEsC>Hv_8a(QvN;)WRe3V$;-t$-`)zLncudFbH%5b`Bfa#d z>T6*38(T*)_W26fZ-1ik$*2(dw%Y{Fnj=w|xNO_{z6ApT1{HrM5tbu%#^eSnR#ivL= zRO3_7^#b6Ar zp4Hu~^cxp#^X0hEbJ@6fC&x`kjRk95=neJcPk@{kIxfZ^#boN~phw&0)O2a|8%EzC zogF#|*KzZtj?2cl;stk^nj`4uK}|n6HhwbDyj8)E8~@${x@Go>h%Nf@lP{6m(h+|0 z9p&2{JW+U!|UI`BNzmqjtRQ zpIC~s?GAf-F4+UU%{NFsQ|<)vDctDw3&4fZE8;KNh{Xh;;{}37 zYI_dMjtS$OPD>nklI3@VPfGBgD&jxI+8ii1g!xPGZ$8>)(;SGe;d_)Pl81Ma{~X5M z>~j6YFLx3D0e_-cB=}}EzauU-^2O_*U+AlQFeb&tB|J$UQe3=?_y&uM;~Ok4E@F{4 zLM~GbyO7&dnDcP+3T@5~xS{QTk<-BT8|)kgH@uTE9{RQ#e>{M;GA?MrNc9(B9t>aj zF73tFuolv@>6`Q5FQD-({|EZLN8cu1O8x?@r7}(U3kc^JBk)_$Al?(r1YqwoKj9D# zGyWYOQ+iDOPGX$%JLva2`JEi`owA9XXS45&HupWRd}p+f4P(^roX6I4zxtik@y_p{ zU#0vG?0deR$;x-mGvC5@`2L&ROnG+(@)cN)0&;V&6*&rdcus&m(wJhrz8df9jCjUB z=D{yPwpJZ-OKOp4R*O6niJ!^v*-IMw59t+TcSDAf+^q-vh?Xc0HW~Y2YEEwWq7ixF z>45*BzD9URPE2^%h}iH5;9xT3+qFkpDW+LQ^6<6uv^|G0*`C9{^U-!8t(SB^$U@@d zu*EHVT*Won<5#1tWshTi>bzcpOq4koGw~b;8V}-sl~2z48|Rb%6md6cAMD2cVqc~9 zw)xQnz$f3EAHiP0zUXT{LU5V@IOT)3gp8zo=xnLmU`+w+U({-RYR7DX$AxCG4iEHY z@W8+G(KcJc1N(mu#-^NF;z5sK-zID@7`@24!o+`iqCN2*;yaX+el7Mb<*`xy?v3b6 zyn*vSZts8kN3ow+ESQgH?I-jP(D$W3k;Q_AKb-N)7SUp?kZbF=oZ#*2y=zot8# zVk7V2dyE&Mj~g#)M6L(%JI0GJrpk-3CJ_gm!f1U^Kg1vfys`0cd~$a%>O{Pk7%I`^U7;EGrqM_;s#8Qd?_@;KH=II0F+&H;SChyPW& zeEb7WmsbnDj(baNf624~M4!(5;94c$h4zUmFAFH&1+~cxS`TpOmG3f0tV8Cxl#y=( z?e#ntPCrz~G&WKw@d^5&JQw+GCR+f5nijjXJzd?M8@=vA_j>v{9!QKPkZg2j{x{lR`ReVp-x6s~3DN%Iw)_ne)=v5uZeHC6 zecU7HL+Vn}-$3K(`6so=fzbU8^1A^g|Agzb-OLM=Z@1Uq!1+S5c^cqKV_R|wa-Yd1 z{7Z7_8O+6!OQ5B8=AST}5v~604=Sy4n}FmwqgBYBhiUu{_!~Mi|Ku#tDdnrFw7TLw z&Og3}|FVqa{SKUKRq0jFKQVB=!oYco_R{OsG%q)LZ6m$`+*Ygl6KJN2Z0RbrhaPvLVvV% z#-g413;hK?Uh&W$+sZ$Y>zDkO@=ucR&GzJb*~fSk{v|v6 zUI_=#+a8R+lKP7rahi_`hZPPu1lU_r02g6LG8nFeJYR`^-=^*O8 zK@rtW8PbE-Y(vad*4SS5t=igut)c`Hh|Ne?3Tca{#d|C@PU7|L^Y|GjC>RmTUyXmd}UJzRbLN^WN{i z-W!Tl(s{htPuMaLwYT&gzcBjE`YG-0KGUB9{Dlzbr9E}DPre@h>tO6RB^XgWBky3_ z$fVn^+ZRR+#31;}O~6Hc$%FvKcmS)~J2NxMpzLt-1woCr$K86<><28)2AKyWpxzgLZjmB^xR#JjJ zFyLFdK4YcUTJj9!8)8AkrxHIIS5Z9qRR5)}=CZid!gr}Z&5LCHLX1hVswXjC7RGbq zEcW6@dib&brByyxkJ!S@^R(T*)u;HwN#4ryF;2tfh3~q>I5HkX9r1?tK^+`l^-g4MhEkCs(WW z>^qIYiNR!*)_P%-wRgk2Hsd^Bxpt|qXwE-3)?QJZ+%00xYiZ8&6R~IauFAIf=CWBm z&2ugmFuX>Lvku>3FMhU5#5juxh85VamFBJdC&tO@V;(1B?d5#!7hBd|pQDv}Zi_e8 zUaqxvjiZgN zS80AX>K%yY8*=ci=1oZva}Lp*SD)+8gsfYLak3sT&snbhGcnFA%&mA*B>lWbc;C?t zcwbO?Gsc;9nf*9#iE-Syn9u6ui1}cgTHo$Oe>q@yEsb-6F%Icx(k%&~=a(=J;v}u0 z!`k8zBO}I%hYa`a809a*x~5>9;(o?BDlczR;WKMlm|Zr|>a{sPSB9GcIs%;QAh z^l^^UM=`F-%fRVwPic1pr;p?84AhZc83nH=<9#_@4ZN!Se219#EL#69-RiZ;t z@pBr+8IN(KEK}h)N5GMdb9+zwamMy%vk5x9Sbuf4Bj?VCZ1o@8b1&uFdx_=7V)ufn@>9CX+L)EnqJ?EP^O_+tE% zmBjexK3aSFVdnfipYy*ku1c@@B!53S-N4uLTI-Wh=KKr1s~+bt+3B9Q#hiDW>JFywCw#u-1#7>DGKMQ&8&zshlOA;wkda1GY$ zxox<_Ma9flwbnFyT(Ec7;$8K9y_JFvD^y&ZD&`DXS6V#&l!!S4hNZsMSqz4M#yDBs z%yX8yr!U4K-NR(&TOPY{YJL6AVmjjqjMJcuqrx!7m=9=Ugxxr$zI(f{`8g+9pe;hhXzRBNr9 zDs1H#!^KT_m!iM)z3pU={zc3gFsvvpJTYRn0Ti|jMISg?}|Ut zd0FQj;H%arWI{iTGYfK6$T8D6zY*hPkz5@)CIW_RoZ9oj%Xe3%Vw^1K6uWV*7vs1I z7b7G2f{mk%W8>^=Ybwh!d;>P02wc=~TwH~5P4ojB)YGY-fr}cgwRaR;e2RC~r`hA; zT)B3d^PJHUYY&keyX8E8F62)Q#%Zv?Fk;Sc^EnT<%sC%t40?7X7;}DGYi)VjndU3- zu6*#j9sP6`a|X@tF3yUNnDZicr9!pY_M>J($e)U0!)7zn&j^mMdui?X z=9nGccVZkSH^`1!7b$-*pHd&rzz-)asJsK?D7Lsg-rwUe{21e^cwYk?c|I9s!0L`_nZ&B&(AXO{;}5DFUs2M@va=hhc~VLe6jW{TKl@wBG$f^?4Mh> zzIYqsG@N9fbFr|ahKq3;NN#NE95D{#!E3m`^Cyh6Zk+u%Cy8;Ob8Cx7XGe_l8p-gC z?#v&49OKN&vmYl}&WCh&*OMZ~3DG!J{h5FMzZl1zvM@R>wsTy3i~1Fn2Nxn%cM{#W&P*leQ^%DXQfy_XtA_-PUQN5v)#T) zCo$bKoaSxOJ(3oeiE-Ry2lTY1>D@jzCYV7!@;HaCYjG z&OG!a-c@hJFii3+Rjl1jG<40G5qz(%eWhjXs_nlI^#H_+fMG@PVR&d6#%VYl5B;03 zeHX@6pC7^nD5dp`WFF-~c5 zRZ7HsAQx(V?g31e55_p|V)Hl=eE22D#S)CG;)2BzFV$l+6*Ip?jc*iOq~TrpMts7A zi#cM>#ovNv{fDr1b#k$8~$9kU^y?3@;bsxJe%tx+2C|OSYuIX*0%I zXT){cIF_}S=6}Q2KFP9nW=meF`=F&WzrlIO_G@Qrcnj~^Y}iw!YCIrY&Y9#-*1(84 zv$gLV&hkMoVVu`XbbOiC-b=!e=&)9g$>}g$L~D0r9OOhcVVq*rAlbn%L5#DG=JSyr z8&}7v_08wD$-^{`;fLA7a6gCPH>gEW>1QFy@y~lpUM`)vU!E^Fc^}oUv-3Z(2YLNI z=lz=4>wxnoyn*RBgUN%lCkJ)%wkG2LcKp2txkjp=qw_6f{dcgjsjN=ZMui7>TW2Ka z1gQQvA35T6xE_x@7@gf?swolsuiwHvsFuNc-i~$uXsq+O$6-E&hndf&qcoqH4)eL@ zF!L#Pnh)x%)&0XJ_#j7Y!WZzDfZBt>_)qvFd?uhKU@-nW;d7M3d`BE+zE_I*ejxJt zvflr@;o&Pj13@KK@qmT~GXr z`l&?xCw%AQZ!7=4gn6xwi{#&D)pacOalQuKJaw3LeDGJ!*HnK`bsh5Gk)ntD)p;rM zX6a$(RUzgj<&AcYx0UVbkrTYq^0(U;Fx_{LH~meuMpUOzHy8B@RVVsQeK988kHfiK z8S`lW3hM7@|B&*}<-RZwKZo{pxPt7SJI^$}=AK~rd!p%YwO)qvm{BiNirSr0m-bv+ zTYP}d^rr7Bxv^J+>guTe=h{F06S6lU5L%HKXedj<{|SMnRTBd{Hs+xnkG2bKcc5;G z4}EfRZG3>saIQz>dBxKRrb*t`Pl4-h@z}pn5bs|V->oI*K-<*4nVP?6yw1yn8fZQf`*-Mf4EBuR{J19Qpho2Wwi1a;@hnt8;!mGpC> zpwrNb99;JWnxI$dd!Y=zVGiHTUmNg!Mu9J#XE+%=uAUdoXdxc3?V+{CqsAY#GsbyM zqf!6%cTw+%eFhxIImX=5`JC$E3zDu5rF&bcR*2&oXOSb{P|t@;eTH_GW<|RaEgH+4vViW3%)YEt^XtOmEnx9Uv&Uq z41WIs{JG)6_Ved3z%o|;>@Q(^H24$yxJ>*Bz5VU`fwV%hyEKV z`74V4^T;{HqW_K@f7KqwzAQc7?8`S^Ix_rKjs36xZT$811?}grJ8=$vto-$Jf+^W@ z$B4f!z#Q3rnkf7=Ss8JBoAR& zvGeC=TaF@sa{JW4H|*1wFh|CpQS{%7a!xVuC*hmuZzpOR)O^VR>m)2;-~3w{Q;xTdt;alG80WsxH@G&YYY*ik??&es4!}2w zlaY&}94X(gKOk6#+7Lc>ai#`xYxGU>2Any-b8~T~S`m8o5MVz5XTIsVvU2Sln&(($ zo(<*Rb3Rh$O6zCOAcq%+vmgd)-b!EBs(*xCcT~>Q;%j`pHGg^5vUhVISocNdqq*p9>l)D#;anWxs;?6IS|gJx7Zx@gyHP`uZhmMo2bBqpx4kIw6~!=xcHZ>FbF> zkWa1!m2}pFnZBIm)FqfpNYGd``ub-S`Z{01Tdef8pzD#BPagmWcJisGGSB0QzS^Vj z{tq<>(e&M?uRH6zj?zfs5eq%NjCr(&p8k~QEU$vJ77-7Rm7dy;0zLU0=&4Yd zrz1Um&-(5XqMO6Wql*RY9BFy9G>hcX-7(S6uy)eVsgs=P=OhI$vC_|!Zbx1oRRRZg z@@RLpLFbP2^F8RhZLD6Yzg`PQbwFfGQI0kQTdIz1WY~dKGsrGJ!G99$nmX9U1Li~T z&5y(Xc>H(a+$3pV`S!8eDq&w$(z>Dlob2O{%B#;aao!QmkBCKHt-xH`Bd@-SLT`5~ zc#M_aHXa3fJJEsOrYiHaqc^GlQN(TrU>$T`>VOyQ=_o_I--k z1K*8)&h~!`J!3~dPhlO5eoF1>r&PTENYT$*13^F7cM=Qz+>AL`-)|QmSbU)~{rpV9 zORVw-XUHD$_`uhw&9S4Ok;*({p`RNZ=qE$q&q_Z#?e&*~{5jWug9H6!3;N+P0<-Lk z6YsY3&pRrA#uEMDOt@I+XZz;%(a(=Ba;BfZVT_K-pX-kT{aoijKkJlv#zH?`9O$Q% z#cJU_ZkN8Q@HCfs za0XE<^l};I(jIwp)5Xs8;#2SttGs#pDA3D4fCoEy(_5KmEcEi(DRS**o_7m8em8k@ zp8sOl8Fu=rGw7c5m7Tn4tm3qKB;`#8=qD#e`l-e|+Cx9@Tq0o@Y423hS~}?87xX;x z`sxA)`dO;XGZy;!y#xK+CUDqM`l-sNeM|lQe}f1^RgjHAZ&wXWy#^oyS5yH#pEw1C93`^i?ftBif^{ z{vzIUr1g~>^iq%WHDb|M8!?ym(97?pI@8O;3Lavmm#0rW^77_12YR_tnP)8Y@{|L; zTq*F_PI*&m_0P3y={o>%{?&Jpi!r@X1K@y{z1|Gbv`^Vz7wOo z>4kZ;hkoKNcc!021uwDEPj0UxPd`-eW+!hx`E$qQ&E*dC^CpegPI)8pt?bN)HA=qq zY1DljF8=(Kcux%Srd{;1qd)oMvBh&rFqihw%U4n8GZ@xcUuHEc^t)ua5j7p0Uu!wKC6G z=;!O9a_wgMa<9Ojm3|!J$r1F!^I0zc2ha<4^s^M}aI%+g67N2e_VT8Fi0{NmKT|M| z_R!DVX%dE!^5503)g<{1n9{KSEN zZWK7Q%AbG@{frTN=GA(P)zgv3F6`<5BlL#V9v-0AYMW)=CE}f?@7G1vAC}tq=cS5& zj=1D${(Jl4+YB+%%jtN3d+6n&Yn|z(zk-KYV<=?0w0g>saWezXQG0 z(Rg=a zKLbYF+sh-w`>pu1v6tILKR1GYHpfUm>6nA{{dV^9k7r02M%p`vUNrbRR{Ci^3iR_Z z>Z0uA&-=cJUiK`r-0N^QQ{>(c?GxMyFl;W}SFnJK{I(qL;cp z@XuqUmm7@x{bkrWcqW_Vnm%CB>WG7!IF8^@9cux%Zhjz)AH+v&~oGUKPKG=W2Z;PV^Vx zUZT8Ln8lu3gl|&#x}N7Rz&EVg?h<2q2eEr0d=trc&Dl85{I1G<@}4%>xHon*ySGQ) ztK#=&(mYWsl8Nt%?2`8ihp^|?(p+9R#qYxR62kJHcPP8}8m(bncYhJ?eIoB^*~Y#1 zd$4bFua+c~2Y8 z?y)t{8U7gaMR~7^-(xWQgu|>--lOm80Y_}iOS9RSkIQ@B)7ZV&2-Xc}`K$51b@HBe zI)9GVUVN^<0Pp*qyjR8V0WPJ!;l2I2fXl=3Uf~EnCc(3!r@tEaR>*taGmLvXPGI+z z@_Wcx{fOP;F#C}|jQ1^+_o|e8`_5$d?vVEi&y>&A`fkU!^YFf3%6s0C{2sw`eulpY z>$_3j)6Qb|W)dy+K83+$Htum7i`%obfA_-Yca)8@*>Adxop0V(m$&pCX^IET>V@y# zW3O}r_Ak@5S=cY#fHQMnei5~jOD48zS0O(K8jmN~WsPHeQH?X98?axx5ohSSAJPJl z*|qd-1NKb<>_x`j*q)TH@lc%*{vMd5!90-m;Dmj&kA&vx!CbBTi)B7(XQFw3cij-2 zjgNg;F6eaEy{I*dIpRhN;!Oy6Ut zZ^Fj~>o!6^Vg0lhhJCXhd#3A#cv~;fgbbyeq}`rt%YJb>&)9y?HQ!H87F zXzKsSbz`*+zEUjb(X(#@VEt~ae=*j-9_w$y`rptJYSv@@8?a|~BKFJ<#-7=GuxIuS z?2RpUFD@w->uT!+sn%^$xD9%tOJUvhI6tO%fd@V~g z%UhbS8{a#ai1|&|5?fp;+SCFqp(Gc3eDm)AFmvk^3t2bviInppyxX#~v_fMz6pN!p_8L`&Fr zT~Z+SSv&DlCkKA|$x+~^zoMo`<)_YqpI%mAB;k`{Iq#p*72reslmPhL1NdwKPc?&n znzY24E#Rq5fX^hrXDHya6!1yBYa-xqPss++SN5ap>v0{jsH9lHr@j34m|TOxZy!Hr z@SD?l|2uow@mr40Zw1{sA4wj%9y~V*|C8h5!GB3LTMjH)K3Gcx?d+cyuxN zZVUKkmCkpGjPJl>;Jd_@$!XfuEcDAtAii_A%!RC(2%mrOoUGCA-rm4^tYb39&Sv*h zn5?+~YrOz#C7DBfIVC~!lP(CmTs4^ox!l>VrL}B%b~%$f&@F83^7|_!Ykq54H?5iI z!%7#b{Atj*K62k>$eIn17qsTZ_HNcrVX`KHYT_XGNgnM|`ZO!;2BqDKHsd#iR!1nbdKLIi z^4reiL>}!}k2Tup_oE??0unw#zwdk&?}qRDLy||g%QYxCexBAL^#Ac7kDeyFJ>KLI zVgyH99^GnL_xCQ3AcM*FX^%X5m+E?iJbGJczs1^I9@Vopmq%NaKGjOQN@@QcZL2)$ zq|mBK9vvfp;;nU9r;WTh8vX>;yQ%iiU!TFdA#aW+e`1!LqashrX`aW4Kk*ppH$|5G zko<{*RQn?QiEowmH>}P5iB2}~&sE@m9QqTeLoodFedSoA4L=<+M~ZiRG%aC_jaZI32Srxy@$2A z{{BGe^PbYKRoabcTlIH8g;rJl&HeX&di;{&fw!XWN1kItu{^}~nCxg-i@Dm!jPs5{ z4B`p724VAm{s+7pGUHtlgOL8vHkR))@)7jCK=QLG4lxevkY_s%g&#_>tuTDD5MqYJ zC+QKfIxTp=e6Paif2DT|KDXwdcAiS{f<6ZP#^L=_5M#^39C8t>%kZ{lC1}qUD>1w3 zVcOL8#0_SU?|h~?X0U~H&^W~DauKJ?!+NG5W^g8A26#^~VlH-Z18Y30X+DpuOn`6S z1U=`8(|XdGmI*k&bhf5Fi&)(|AHuJu_>KH~IsJ|C*SoZ5;aj)lrX$`77?YlyumO>nS#Ib;7<&}JBd~rAZr-?gNB0iZv4&a)mXeDG5BXT2a+|3!IzbJyoq)md@&kl z2V(TehzZH@8ePfyn2rBxd!Fc{0C-C5mlL2E^ji1`lnV)gFRS_`luSs`9?HS@9%H5# z#K)}k(oL=#azI`8rf)eOjPLn!{5iogjPC+USW--h)_i z&|V69PDYG!C}RE;qomxxDm_NYa|6huu-rfZ^qYl#uY;Z`MoBz00eRvK8lxcopjK?et^j8jNv_ z^kV~Rci0+)e$1lzC&i{8hhQDC>c=hey^4NJP+(`(k15a->Uq*+UxcC4NQT!#9??pDCaFW}A0oeCt(1KPj^(VyT@1d02&hg@|*L z?jc`rFu0h4;4La@KB+! z(75LUPV7$tH3dWpIE-v@PDOVa*rT8N_$r7E7;ucG{PpI1o=w7 z64|)9mT%9%#V&N}->mJ{$G5qT8EPTY-AI=ZJ?#Fxqej@7oVrbg(_G z-%OzTH`Vscg6&DXOTI{SzBSVr)j^FDzB|tKh0W$}*@@bcD&f16%{Cc-kB84qHXHe) z#A_74VE#LJEdk%`Se(e?F-2V=i@;;VyNi=hV~6#`DvKJy)8&vwjk+vy*{&%O_B7RY zZHN*B`59Z2i`AH{R$?Fl)R^SLmM&*&N{Cz&>Q3^s#2S(tVc6bFwM151Q-I%G%q=Wx z+qR>=W-IDzUPYXR>T8-HTlo52@XHerk4Osc2klVJVLjmoYa`e-L4HtOiLBeAx|2qY z*ZNuGWK^H^hI=uqub~+2;c88&)<@R0QJdGb4Q6$1tAq`1)V1;YnHlg!%yA}J*XRyT zqq-}+m+FPCRN6mf?Id>n2DE?7{&oc~5x*DVSIVKQ(Von%yMuY+cLIK`vgx5G@GcSK zJQcDjn!Wxc&i%5JM+Lvb7{G(I=JRO8hqL4wgglx>^N&#;-HCO?YF{ME_bT#ef&x3M zJW4r2_Qi;u{~7kh2C8cUf36e1Yw;^-^=Y)fvwd+ow=e2QrgtR9_&wPdGZ;L$eQ~YQ zzFKc51+PF`!fF=URvs>Y+~DC@?28i|`1$6?jvYT!y&GGP;OARtEiv+Q_=MQ`xx0L? z!p}ce;ArLN$+=`-^w#q|^~m+Odrs8rL#uO8ADV|4*JaR0mp~Tce!Fu$W6ZgpDI~A+ zpueU-e_euH&tleq@?7hozn4LOPuEZ{dYU%%2I%eOT58P{{LYJW*JK}DzC2q?DWMwC zzf_b!f2Xu~5vyv#+G(#uor`jwq`y;xX*TO`K+dQMFtDo^r8%sJZVw_ zn(RKBKjp5;E4R3pl@w!MP0*!h(tMR%*G|Ai&2>FYe`B0CSkB4ak_p?Y;cRYOk)0RU z+UA(=iWaMEJ{vZOhI|+B*$jNrSQK|O{F6!hWWH;)csJ!y8Yo_hzP%75?TB610K1Xp zyztHjqNRwO7k{sp=7#+YA^hii82I%gmGh!pa)ZcuWl=pD<}pzGX5d%ul{gjcWIaa^ zX*ahCySX=DNA0;v?xziQ7Uc{k!^X^pjY)PO@r@n5&|HYWs8)w^Ic-$G12|LrfYNS7 zTh1*JbDIpCoW|Y-oALtqz|r2(2s)PUnf*`7`?y<*$T!ZS+*nG>Ym^&<-QIwBcva7Y z62kLM`0k05?utrZuy3vOMgA|rXqyE_J6f&zF^+2|xKn;i!ky>Gl7i1DFse}6PqH@U zeo}%#1$NJ)JsJ5i20Q54SYVeBR$#Y|a%KW{us0hhuP9)bN^wsIy&n~J@DYwB>}DzO z%2(PyV{Hz*X=qEjn}c>hm)%*T*Nb??t9ssy=Yc7gJ)L+0JU}@znKxTTd9wtbH`}b_ z%Y6E~qHpkmP(Uy4oR__xZY}Wh42OE@jJ!|vaB#m#i>rM^eox(T!?4bF4 zPP_c%tvJV9_0LvcM&IyB^zZ*)jB||qvsdIgggtj)6W$%8JvR>Ph}A#)y?n1?&wWbo zcBtR!NWAFOua4t*5#(#E@uJ2(+@3jZ<3-T7$0A;IGs!&2ljAC01Un`ZwnmZIZxt_)#2sMZGKy)S;>WxvGRX~DNyJ1y9#UrP=C1?_F@Z&z@u z_ju0Vvf_ud-|!l_ z21V|yq;&|nb3E)fe30}D@g8_81iky;vR~n+mUaJ-_AC66YLl3a5g&X;X;-i|_ZQz_ zZHlAB2ZKtVjY@l+(tZ(bt329G`-=sw9&W$FHpELT_63t2uRe@1Y-GmK$VU~*H3*qe zMe~o*z9_>wVzn=3%J(XKzD9vvMErWtVe;cWBljz0W}=21_9vY!G6%ntv}BxfuvDCL zkc4v%=!}uX7Peo3^sBHzDK7RX=^XGjv#Ft9S-l8!Db6tI@P36)pasYSrNanu-Oy9d&0zI{l+?44MKy%R(3%0ujYNeSiTcVTRb{XLF26xk}n<_uwRD5|HGaVW~$Qx1Fv z`cZo>&X^d4eiINUU8N^z&qk`kt99;J29(PPp>*f|rlZq$LXGi~I$>6{5_XJby8Sa%ibZyj_04)wPbJGzEy))+3` z!K;+^<*c0w9J_<_Ses%_?%<_LpNo|C1xkB5+7sE|uHbm_>%*_~{VqX!slLVz*5)Jr zpx5Su-+RH9l(qRo*gI*y@xd&m?O|;m{~Cq1RTtbud%uM)_#0xEhpQ+4ZC87JFy^-y z=NRdO1E^7A>k#^2EUh6%eNcdP#HtTIlkZjZ!O05ztok4Y{+e2!Pc`{;c8?opV#(S^ zx<+-8vIdf3%yqz_27O@87xCJaJos^J4-ELuZBrxY7Bzz9lm~$fAbtrU4t9rUi zy#IEN2V4EKbxKVZ$+p)ikA-;t;pzk5#2z8L`ar5r*ao_lesFv018e+2I*I+y>V)#Ic%(EEaijvc*w<$46Y7t&f{r1uZg zW2g6l^1TYZ=PPiu()-R6%=9j4T-N=v_zGg>6{w+estJsik2q5MQ5J#6#(^)kVgHP} zA0-=qv;8QrA@uzy*gs?4kJ39qduSnQ0O>rzVofVafUdWmZD&{SM(2^y8U}%fh(56| z=bfG4C3BpJ^LZ+C1v_hM?od`gi~Vl;zQl2`O^kgt$!uRu2Kv#tOBDA|_tj*X_SK}Y zy@X_|5I>D-GWG$uG*`#>)!@BUr)jqi$>%ZctLYSFUri_bn!f9)P7JbTw)ic;?@ZQC z4$ct2Kf~{}teq5`CVsENuT@rTqP^HcR!mmnHFo)+$>1xCe^f!Sm0v%2?Bv5}xdtI0 zZm0RjC?9%tKt7x#->b-ns}$H-C>g_K1q3y3(&EUc7 zUw@~xAJyAQ!7{WZtk$7z<>xT%7Zv;*OZ{tS2Y!Cqf9&}A7P%h5&lR+m82S0*&aw0J zPvmM_ib z+O+>h-9MHs_TOYtE)!>k=x1jjR~WJP20k+Bpbg)4u$BV0X*un^!FuZ1daSuwzMdnx z_lDNQ-i10yT2n{&-cWpi;nRq}^&`EDG3&9O5O78BA^Tg6wH<$ZZ#ax8o;IIqu0$OB zH%j||Sew^Ul%V|!_O~l|i}?LHex;1MleH6rbJ;yE+pbgE1xjCfo}V3pb9>=)(K)&6 zlJ-5H*w4q}BWn>i-P+Y%(u~;5BrU0C8FJuT=FHtk=L{DhW;z#f)F8!D5i_M2aq_`s z%ZF;oC6qtkS+V?4iWS$PCXjr`<{`irtF=x>ERN2DNeNa!4(RwoK912lbY~;*);z@9 znwUZJNN!n+^Pab09$PSvH{nwzQ=K(pszc+FYm$-ow#HV6-Zg1uvwJDx$4NDm51_Mg zUWH#9KzwvC;-eF>)>n}`7>YbN<;ZDo=2wXEy{X3`hm78WT1SetZbz&&6Zvp@o_xzB z^yfHA2zF&~<+1P1N;{Rc3HHgsB-W-iCj|TH*OP*AXj^s3rL=a=S zmXd!ppcG>qqj+N->T%c_g#O5&`Nya~p20d|wFh65?^X0ioB}(m{y0+mp+5h(V>zDV z%^sXdbyT3o8RGY6_?7Zw9@^j49!xlk?}zgK!1hD+WANZIvyaj~QEw*&d!Q|0m4UXE zho{s2=nmL}7di0ruocISpFc-Ej>^x&X)Q7GbKef|^WWrq6@Kolz)|JrJ-LX1#dmE9 zV9(Q`^j?Ndh<#7tY0xoOz$U~#DB7>2+Jt|W=gld5h;F4lIsJ@1MOpMWY)QGNNbU*F z9jHy6gWMqY7?os0*HJFI8M$bl4^2TnbQyAjN$h(UO=OocyUfUmeogdq3G5Q=2_ab* zo(9|G3fLyFh3I{>f5w8){ zX!AlBGn*H4Z^E3(=DmRFK)GLM@;@VAt?j5e5k1p62? zBhSnGit4BUd$OIrP}=`STh8ME+7ajF5v}1F{k%MkDbLGedxFGyd2CM*>;|g&T-Pa~ zrmB;>=81UceJxS_B-r3qnsGWaZ)wDtc^rpM@U%NK?tWCM!q~LnAC7deJ z-UwSye!qeCwb1t)jCumTr=I3aH73h|pF#M}!vxrkR8N39i>VWlbEfai(Ag;iSiYI( z#7o#a`TqH(N_#PDa~u9qwDYhp#&l+%4W8D2ten}`FBkh*#JPs>dqR*iRoH*@@1_ps zEFpW^i=)VM4P(dA1h#%ozdofsj_gzN5V(SIP1AMk$G=UL*#q)g|Fkp?{??nR4TA} zT4_I_x08Ya1x|lNo7pvreeu;wz*^X8yV|k8>C;quf2;aljB||qtzx+j;cvZ8YlzW4 zdmQVC)!({KzE^?YdIf%}eb!bmqGcOmZHLm$`w8S;0y+z49b$E~zd*+8{s(fF#p__Z z$aq~fYD8qb?iU@jBj}rUEWQOkrdoTay$9`yZ+S6C+Iz4J^&@I+9evwQo-HHog*xyB z`TN)>p`ZD3xbM47a4&Axcg#rt80Wnh-!XGB-Gsdn&{d7DyDA4^e+1%+TA?&bjo53b8rDD8Xoc2aN| z+7ea|qivNxe}B}FKR*(6H__rfgDmo=Q0%WPFFAJdXO>)tkU#5a4Kd1}FL4fYtnz1~ ze6J#Z7Ax?x%AWws7Z~U3vHG%yeENAAnW#s$*5Gus)_4JAqh9j~nx`6)#=g+IIP1ag zTy(2XC(p}>^?PbxK^{$qZJN^G{5`eolcjB%H98Ts%3E+g#_KlURV(VNO_kqOo2MnP zy4MR)OEVAuTU=>4GowVDnbApnS1pCrywaK4{JaeM#$;k}oWuI<&OUHsKI(b#)^G07 znIZIjwclfH3B7alGd-v#ndyJjAKY0r}}$5fo_v7DXjk)hY+8fSW(Xfwx# zUXU5UlifVYrw%xr=RxO;>_Y6?T$7y5YLc@7JLyBvStPP1ncBQ2Ih)la(>W(plg!VH zKuvNM)g-6j%o1LcJYA_tF3{ZiIVN^B$>Xr!Ec-d9n&gz=hu|HRKBKK$&66|&7wb`* zogiwG@4?^gsY#v=887t{wbh#B>8Qb)3;iU|Bg+Nd(fXXu1Sa`;Hr3U!n&kN4NTq!S zYg0{fd~hOblMagy4r6V;CuFG79;CF-McX)&2DuO6|EWTnGvAMNL42?idk3#6PEp#4%DelrHt(+~eGXE65crA4`BrJCqmNa0 zOr$;a!gj3|waHYoDfP$qwSP|PB>6qw1IsW^8{7D3?4SD+V8-AibkjlF=L_BRL)t%g zuUvzo=W1vj0@ugG{<&(RS=iP8ZTsgITh{$U+CSGswNgU1gq3z3Yjauo6>D?3^be&E zt5*}xzOP*0iMCZPWhk^t`{$7ReKrn0-9YG4ANKr&k+YqN`h6etN;zWNx!CiQi9J6> z*z+@UzHg<+y{IGuaX5-6)A>|9t}Lt3HLVWc_@(jUp`SA`ru7>v)|e#iLHD?eaE2%E zOEG2Cf%xgV57%?FxRMO)hdFNE_XCF)>7PBW1eTxKhCOF{T}ki!?%Q#JRq>ktV5as? zA#BmQX00_2esMm|!=-&3d|yXgaPq#d%W%EY13C$TPJo*l4{)^>bm9Y@3s>I?%`KloO~%eBzhT{p^gi{R;wZ zt|Uey@%Q=yxwwZ~@}BWH_bmi``S5;8U$l>3(wOyoKn2(@LNqrJ-xklIx#L{2gUZ-p z%)h<|{Nj~b>sMj7e=pX8GkUuo{P+2Rg9SJT9Q;Nw{Hj{>@5O!f-e=-o9qw&K%)Wjl z;L=W>iwDm&^zgR&G(^!VfR6|JA7X)VD2?bdE_emb3X6r#L*OYXr}+7JzI{?&nf?~*V*8J= zuD@bk?OD&1@3@{{<9lXDb3G*jPjWqbT**wnkpHyTm1>qRkOOsjaSTsqILHC3-pNsOfx;90kcXB$w{NIbi+6!y~D z=u-sVML(5yKNfxJ&(3MBF9(gF&jW33W%XlnY^tlsCq3)VSH9Fd&zkeq_fCL7f5+>|iZr@=lz9N^h7@G}i({MzXi{QXpbj&?pZ~aNPlckQK~_&MV%t)wT#p2;&1HrpA#%d zUp16D&}&gAGrfwxb$TrUEfyq3(CcZEUS9ycE)n#Kek#2VlJvR+^jgE|wGuF{FXs-+-$3YV59q^AXWQA2q_ZWROWiK*O6W^Qi_*Sb zBy8KY!j>I?y=;UhiWOPMCfkS3St9!-MD`14m3ZRmgYBbNX$OTtue$wmI(Q!T(gfH` zgJ3T$hP@Oo?3sm9o)t~scPNR+zNI}gP1rLtqu4XjW|sC#{JrCuEp!S!i&`5ycoyI+ zdx9UqiR^mLOZ?sAvF?e$!xGpj*7E>1&d*y}>|Ro`Ros*31kiOl7XWAKmfQmwum$(G zz+Oy@ORU)fTX6%vFV$!=*UNk3BBLn+AN9ZEOsyE^FmxMXi& zCVs=<%i*AD;?D#V&v3ho=tjd?XgSl`$EUhpk#-#BrrK?!j|XAB8wBhq9xdbI*1fXw z8>;IyS4la>S?Fc7hM1(b=PjI-OL4c46x@y#xP1-RNFN<*|5?I&C$k?Ec$590;8=|d z*x5IP+xUlakiX&lex0DNd%*8RUqnL#K|d47z92seIHH{9vwLIHsSUu+uxymvEajJ1g;pq z6uKl|bg-aDm-r>RrvI6kM;3TTeqTh*HCt(jzAsYXUR<(R%=-<@o8tU*o%Ufv$Cb+CK*S3HUn@1Z!`M)e1F^2PnEgT{B`^@elzUHI>;Ha z1IeEn_BH$|*m48mPkB(kPPU=6*9iXLX%+`?vV)}FyvxCsbc!EHJC8jNyK**sQ2E~W z#2@7I8Gu21Y{aVse(mDX(frNuSKrOwL>wcwbxAn|8c^kwabCQjV`2MdigoG!SvB|1 zQpi86w(-xVb9;ANjJ(P0-RXwCdzO^V6ho=D_-Ep8-QK;7Y}rWv>~?%RhQ(CKFT;J+ z&b?LKBYWUs^2aXgpna>wX5Ze3*vj7&8D2yCdm$GBxF-3DpPypz6V5ka{L~TMJrFWe z`eP3{_)1Q^*Is{&^tuP{A-juWAYWs@njNn>z6Z7xlglJeqxgMs$-cmAkeMe)+F-V> z^xe$9TodLo1afl+*6SpqkY3b{x4 z+2iVD_{&wMScc6I~=W*0HJVa;mbjSy; zv-rTEQL7JpFZ3Lp`78a1Y#y^j!=oWu0cX(s-= zgz+EwC7f6I-yzJS5&lYjF7iH^$df=Xsq%Lo>TGoz1^3l^v&22JQRe;|b|Px}?eJxV zM?}oHFwT#?4Sup|r9FQk?0JfnNc;q7Un%gjQo)axaBwvIIQUkyCrbLns=v1${+O zR=5K*aRy!(-xs2o!i0;o()Ba4{7rb4YGYOuP2KX}>JQD&0w|d~hQ#H;Xa@}1SE`S^x=51ABdl`c# z;D^5X=V=w5D)5nOer0$%`VKMooy7VkSzwMF}@1>g*xmn;&Ov%!UTJ9UBG@b z?GpummMi=j3;cg zHt_#4o#>gvKkhtjx973`fd5^#@ZZ7uwh#WENcdMogMYpw{JDJ^mH%&G{11NA`M<)J z{{cId{|6GhvPSs}02|_e+TS4gf6ztRZVUfcF#cySNC*tX{loJA{So|cfq{?i4b7%=)XV4(891O2TrJu3Jpg$G1moa#9 z`U9;p7&AF6_+RZiiS?PAXr1=@ z{IkoBvQS!1>jc!agiw=DXMTj}+k1#1ZKrrS^4=t~GrXZ^03(V&H3JsxJ1Nj5O*$+RO|bX|HE|pkaS^cCE$-Dp$K$MO zM_7FOTW45&iF@oj214(v^v3iT_T&TwEG7zAPu zo1|+0GpK)Nia!2A(uGSq`Pb5XKm%lpsQm{~{{o{wWLK?cB&&?;cS06g~I@_s82K7kC)yD{h`PX=}SC(AD2}hDYfgmzvtriB7NiMP(Qolc%tywNklV5`>;7f*TddKt^&nh4?$km`bwdHAs1BH)g{VUNi-J8703)}caj}T zb}+^(^^HBjpNa88E8qu!u9!}FtdF1R6v89yPZclEbOtP!K!>0&vsL$Ia$Q9B6UnuQQLm#kMkGL*$zenJ7h1LFy5ucgu#OFna!RM0?Im^rq zxM#&@E8-mk&xbC0zq>ydd;3*CiP)M|TCqsi8~JPmP77h(7gKAWmIPF|0U0&SNYKk-jOV zdW;3|p$+?DP!yc@$GxaJ6|(y8onT)~gMG0YHamDyw=Y(3`{KgG*cSmjUnkbRKb*$( zDV|*e+2);&Z)X;E@z40QscZt;>(Qn@vt1V5ifdBuEgQ9~ES}`ifn;2}s}l09qWHp- z{Ii98+xeg~KZI~^f0*mr{h53&`wPTxIsct-KJ?!En*Sc)mHLw2V?LRK-4RFnXK%W{ z1nZbC19}E}3~;o{s0Gv?@237HJ%f2LU5j^HWz`=`gq{&JRVQT9ff7!` zKM^vC`NKtAzszO&rMs?QkjH(t?$?mX3({CT;=bz@pUjnJ)+^OUJYg8%UN;Z)3tWbN z4c(B8xE0P*V7PdtKf{GecS`_k(ql}QP=DmcPDBjSM|SWnJ^W$lceVeW)Su!V;E%na zX_e-iQTs-G;R9}bv*P?kz)c9TUR`gzbr#nf^8jayeKCmWFNw<}hN~S}+{cD~v+9_W zSYNJVa>!0tC+rsT$1OT0o%OZom~`kE%zX`fC^g10iSWjB$;A#jMqC&8Tq^K+zlzUl zo^NCFsM?%wWAbP_mq)sPGd|m19#!+4nMoc!4p~z`c{8&-Y7lT=Lv@lHg*-w(6*nJ? zKJ^=6}Tql(d@IBJgQLSQK>4A z-oTpR-`TGB&$ze0pfj7p{&Mjf7QdNdZe)jlxj#rMlB%cgpE^L`md zzs(x+&+{S22NLb*d9qpWcNtr0R!i7lAdnCor*0CS`@P84fo{xs&Q`_q7f^rvaB41*2# zr}Z@lXq~xSuJd({4-AB_RzT~#cYv|ZJm7Pfb)6|#CuC}FynhJJSo9HHly;BM9iRK1 zd8`rlNKQDeGtb-l*x}X*Skwbn6gO~M=gqWEtbz0$t#dWv1$U!X3%IHEbsFT)1a4J* z_bTR9w*>uxW7Z$O|HX2RHu~`y>R*KZu)(Rn@aHQu)ZKiP41azB?jcUo)^<{Wk2f*! z@a!FBi;-_3UT!QpiFCUm!^#tN88&hx#=aBJL$~iOFz>l?qqdTCZzEv8{=$Jw4mGaq z#&j>!r(I9;`>?j~66i?q0c;tajwTXJmUL%*^YOgr$_zi@K3s&p@Y~eBV_4rF#<-)! zxS%l+1JK7E!TRwBW?yW4|& zA(p)Y7ioo_np+l%$Z+ID-MIN3jw)^;cQavMY+*UkF&COc1;tBouBARmHSK)_D5 z70z2GWU4EP*SaJ@2DthMi)fE|lDG9qabE78cG`C*fChNZ?F_7i*>?sFKz>L)_RN`} zfq9$;qCtTj||J{R_~4NThvt zGivLI#_;TJU&U!GZXxYEMq?kHhPfl=KQ9utPo@xDxP8a)09nuQaD61s*0R3bzGLHR zr*qmZK;I!|{Fbr4%)YDD^9K(0UG35c`_9l=s@*4W*;U}uWZ&g-dp(=k>qh>tF3rdv zx{yPShuuvz-&<$xC@cC2WN2Y;f4GR{5e&SR8+bjB@Jet8o+$njz8U){W@!GxYsmNd zkw5MqO=U%B7oZ(3V)+DPoC0H%jzX7_SxKc@}vkWfAJ*Qk) zImRitt*1W=_D%Rfo{PvKKGk~g7$D)s!h0hKHzF6taK2CQ-tp&ISi>CmT3`uUp}9i+G$34qj({Sw6_%r4{x# zIJiXeQu}alp1?swKDa2J)zbvJ!QL!#o9Yw2UBOdjoFAwz;jID{2hK3OfnYcdyu|cu zQXo{uaqx=idB`GF&xVcI?A7%A6?h(cmg*Ylc^}RS3eQBY1$l*V34B`h*>dCADR>rm zs#S6dwQ5e`apZC9rf@!|adS}rhIl{hgG7IABJ6`a+#}f=HrLjqqs~y5y^oyAW$y~; z2_9#y@W`CtH1L*1UtY}c3Of{inLMpHfy>h?(AS~^b6MZcvTvZH`vbWUNGlSJ^sCxKR;N8i;9E^Jw8^6NpPk)*O8y|KP^J5@q zbw5Vr2q}m7Ic$5%DME%;NS~T;Q;BD(ogxF5wO4ONy%IVL|=;K@{Wz!~o@23TIPJ>_q>#kDAIBq0RCuuEanU;&-~g4;)B4Y3>;!{%GV^D%AYSHsrH` zj|#i^#%s98d?6V_Lw;o&U?D3ad@+*IgGS<^H7Wt3T{sNz)rtP5+$p|-mq#jgD zWyFEYqm1HY;3c@J)GxnR(PK2bHVS2%hySIdi+C$o{+CI(NlpzPk$c~ou1B$g16Ho-iQWZ z?^3=F=jHMI&a>lKoK&TOflsWr{LY^;@`5h+jCGH7F7JP0^B);Z! z0{g(g{n?TDe1-L8wzh&#&_XyeU-#8wvkZvDr&%_fCGZ)M-*Kfe`(Q3RzooOuKB%L5 z5yU$wzmtzx^FWF_zn;bFMNIEw@u<#Bmzd(Izob}cWPayi)D03ZvAhoMt9-UX+#`8E zOXhP%j)vU1)5OPrK(5(Iz65daaPmGMunzr_>P0N^Q^apA^&+~gSL;R2B3wa!5uNNW z@5JM$cvi$uD=2>Y`3Ee1TEXI{=tJ>S6aC|wl&2?f`Y)C7Q#bh)N&XOaU=6Nx=c!= z{&+X_S9KZ9gT+trZfpG1N3^WaP@S+lmM-Qph|b(2pMv`n+@4J#dp6f>&#q1fy{;g> zO=dZr-ucX)g)XByyJR!$AtNR1|9Coh{xaYa_H1Yci5DNUxWYZ(~>Ypi@q&4RS6`YxSh*zF7rZ{pzrA{ z7NGZii1p=mZVuUWGA~3r&m#AhvA*2S&8NPl=kr<_(s|r=)yKV?_3dKOW9fl9tkY_{ zK3^49 zbd8jEA4A?{CP(CtE*AJ%L;J2i6!|0cQ{~7Wce>dRX;pCqOFb{o9`Rqh<{wUqYY1pzOcK$3HBiMwaFjp^hmZB z;|0jS53x=fljNDO$trB}NBXlh)F1Dr{wDc{c`*5hcU$FOyiU`crX=l760~d1XD2fH zT{eRJ`Q%9Y?ZxXm*Fd%pB>KHK$)0|Tk~#gt-lcC#)I+W`ZZ!O^4cJSxp7s)@^@sm8 zAh6$+?7waRY5-C9SfBPYT$|3W&FiQXe0c!I!oTES495PmVPJTc|9M4XExw_8$S4HEFbgH z`9?klu>`7DX##BYyi*BsYY)ONFL3#*zZChHx`A{Ch{;A-8fA?OX^oJtPWrcginn#N zSfeTLgt_W@C&0lWAEU21jn;`ZkgjT^b>f>D1F_CriZ|NjolNUQe(gcX`*6H}*wFxv`*wu^*kbU zXeiT)PsD>CguX0@_ctR~6@t%emn-eb*I8=k({`qHW}4PnYKk#H@4bGwbpjUkfR)WU zOJ%&FjMhnZ0MqrMLB0GC$^WasLkA$VOdDq`m;Z z(|&+@)B%HrcKaHJ`9~m52YaX1TyKz|+dD*iBoiBdi9L+4Q>^te=L%YATL9TH1F_e_ z(f)e$+w@*jSqOjo@OQ}7iR|%OJ+|a>>9)YT!w2*X1U@t)TukqF@QPN-3(qp%z-@%zIui8 z;cnmFasDvisp`7~;;VV+KZNXem&x|K^Yh*rR2KjHW9oiP~J%XEn3*>|l z3xWUUN;T6S5hBwS46a*1L#G9U4X`aJeon&>TT_*SFn`AhITXqx2=kc(K&WL^({ zHR4DzpCEG;-eO;1p=oU9w;8ltZj3#E#?BLXhaOdJ{x3>6-eIR9rihwV&`e0=93U&$ z{>_<$%W1%mMP8l3@WXvER%7`|GGK(i*Ic)AK22+9@!e-$>6-=lHemFNHj<@XZi;e6hc5 zGi(bzmsAi5|Ci&4pY{EX1`SM)gntF=%kqf|{O$9JI}5?1EY8dGi6;0f*Cp>}3;0{} ziS)fEp6fAxpPlTBI_%@FTjB~d48ZqL&|Z9v_nZw~y$@{Fep9(#yYqopHSN|$?Vd-I zp6Y1N~tbbk)6yS1qaag)xTt&JW<_v3NB8F?MquQ^^D zMdNJ7^YlG7`o`aBV0D0rgE~OvY;i{c)Psnh)DN)Ysb@w^R$@{K}yBa;i`0>%a9nPevDfo8>_6d#ixUe}V^BxwTsfZrhW!JvrF(PGb{p z7vUND?nyy9#)6Jrr@3nAn>RD@zx+V)@)_8#Pv5p|8-eqxlC|eD@E!6-*w5>6-q;(7 z`<}1IoW|k#UC`rnKHo09W6TR$?VY)U;9GkG9LAIO(HSSC&xm%^Yg_u^3^P}1aJv?_ zXA$N}>$(r$FwZ_gn>uvPtkEfbybol1wmiBV=O8p|DZv48@wd*zc|ThqZ)ndgou9vB z+K#e(=pT=Un$IHO9QzxzbvUyO-*OBoIA1$J;+)UNX`a(w)OO$LvYS8Ohp5iK8T2pZ z3DMsl-T|Gkxujq&s7(NkRO$2Uglma`!f~Lfe&=9c)?JmM0-{N(Eq4X)u*|P&9O~ct z_44QATY@3Ljqm@*_vJ19qOQXh5B!@fpP{a&81UbP@1d^({Nr&RAbsPeGtPyhvxNuG zxncBH`W|P->yJ*tH+0r(Nx&0_|Dc3@&ySBwD8YH;ez$wy^MtoF7w8P%g)bud8lbfn zXsI=H)@In{s&O4GT8=a0N{9xCZ=Zoo41=!o-CFC%FKHFC9vuH-v8Iij4Zi<;>5j4t z>{pxtJ|p^Sgq#`&d`DfU4ZfW47jN zysF5C`m332Kz$aM4PNa1(mv_ukF&^zmHo}KLCThQEYD|*gD*7pWdA~Z167qRC6?zw zV-PA`uwL8aO&Be@JxWXn~S zeo@z9%PU;AYy}U0U$W&fO~{r`OtzHjvIY5~zoYho$(Ce8whZO6B_@11;W2i2aoKVw z;3Z|tjAINt56;w+a`_?&J1&quf5xl%fA=Oy#j6b0g$&r|%|@A37~2d2CDfhqcu@D39;D$}Eoy z$yW0Y^{=tW0lsN!UHf+FTw7(YDIt*7?rz_=n^l zpM7df{&B}-ZU_D2j4RDD7ydD1W~6`okG^J^6jj!AP-gD@YoyHFcZHlEmzivS55dMI znXcHdm6rKwBs1$y@#m0iRczQzmVQy!5k+R62zou1e6RY)EeD$Jfa zWJ`rzoFjI4aoO?=<|SpzBgYtasy((?!VdPB33l+0|6CL)mxX`)y~1vm0=vnq&E@h$ zw5@Xaw|5wFS@nVOpO)+dlR8jxW4#0!xhkTJ?vZ;PNN>S zk-T;}t_|pH^pAtDD(`KM!@X|CJr81|^4@T|cd~IWhjJ+3eae%(CS#$!Fn8pzo$@5l zodQ|k6|vBC#6pn|W_gk>h=l?Mlqb32o3^Pp8nIA=E?8Z)o7HaUzPEDClqcyfVxfr3 zW?vIM78;~jDAji$PxAYpN?Ax}V{{65NyhaY>EF!kC!?<8%07_w%Dd(B_gkKa{Z*?y zajrk#^86%+=kJbu9(&BPg#Bi`f3(B%Kes$zNb`SajNik2X5;yx4$uG0@;r3aZf#C4 zc*@P!25Tv{K`6YcJ8#?K7u_kLF%V^DNelcitObx1o{nX}YYQz6$>J9sVg zLsDCw1RqXDJU&{U=ndoxWu9mq@`V(`e;j#>9jJ|KyaKWUytE5B&l$*>Y1#mejxW*pt<#&QtpAGD`7MY`X_<+2%3#{%*x`FF}#?!rc55Dhmi5GbHw(dlnt(kK7LRX~p z)>^X?w0HLQbC*c`HNv#?Uc2xW5 z#@RL7k*BOio^mJhlQ$qwc>&(p;!3SaK3KARsFqyPrlqvZ1)Uc5OF{lSndL0Q$o*|j z*B&a=@QrLi8+o7&RaQpDue6gC9y@Y$Lf?x|3jUbU3fWAF!Rr*dnQ}Df1~m$eXDW1) zl@mxqO;&s8X2o1VH(f1sgB;C`l5UWr(dp()K{u#_u%#Qs7TZHNFXH@&2)eP1ZKa!A zB;EAO=`h`#X`!1J4<281Q%!Y5pmU;|k64@Mx&MT=DsNQTKi5X~tMZ0q|2oJUsu56S zKgs+=)L{;GY0vFI%}XO{n3)d1xgHb)ACJAw#QXV>%lVpiRs;Av0X7r;F2-{WsHq_z zr4Tka)m)ftOvsi-)FSW5<8(sx2-V zr+;$X;D-A?w<-9z>S*Bu{tLrLF7PqNjE_3(4R*u_o-362Kpff@A7g+I)O{1*>iEEO zPWYH=!NqEMsl2M;*sze9j;4U{?hnUt#TR&G6~JK-=n1 z<^0<4r=G$(Wc|mUT>kxm$)`{aNH3!X47xZB{s_S~s)t=f{s*f8gTAZ>{6esCSe+^8 zmeoTXff|qo@K(EOKw!f<`8~fLqQtmh%QC-*YCtew@_W=85EI;4O{4f;0oH2Nhw*DB zzemkEW<>XUcnt`h4U-t0@e}6v)bbjTgurTwf4?$Di7)f-xSVvNjB)XIQ(YH5f2rkp zFV&FT-kHb9SPY3jpK5vDX`LoIHLYLGIr2F)qmGK|nWKn@ zs?U#NT&SO>+K$^Z{cFfCDmUuOLMNElS4V!sjpPg70sqISFZ;;SFX}oZpP1IcV_Xx# z53251gt{YUtHSP@Y*SyR>W=lODU-UR*v0*Zl6YQU=A!yC)GGFc{jT8*0jnHYh&nTp z>jRU7tp*yTn#I%M3-f#~hi%k#Nn1@>mlNKij$;cSF4qrHjhLt>3!{D1U^PU*3g?Gd zVI_57`4FK4306a(W67>n)*f|@#{gE(D6o2jwRsHdw`f~sZo{t(nY$kA;QNXHv*c~x z!N;$>b^o}1^7hX?&GJaf+r5{XpLdeCPg$Oil}7bAjY8*EdHbg=k@EH}eSTctYF_A* zNiP4wWV5`z$1=YRFXVF1v;6hcPm#CtE&Zad!&aVfdAkd>O-D_Jv_syWf_;a~jy_K1 z?OLk+67qJ*(S%hy15x&nx)8F#3pt77V|y4eJjrRG1<5Lnv;DyIlDdfEuB}C7~FJ;Dld}*g=C+;k|k>D zj6F~@dq{c9-%aPQ(DRR2o`<~Mt-T)a&tW-WbDZ~3)m#2w{% zY~)|%zoE)ooNaizxAhi%ek5;G1CXN?+DF6uaVe0aY>yX@i=SedANuXqW{mRZQ$I!C zW?1?~U582D%5`vgd;eW#c{>yFSF&$!LQHlUax>9lv5Pw!vDoVnm!(+jJj7FW!1tzj z2z}3M7w9o*-Go5e$mlV(*RMq^Ry*7O(k#T(z(;FGvY1+}9*Z6BZ7oBc6^q3VC*I>c zMsboR#J+aGKi>tK)?=}P7gI)Pt?ogE?`GfSUYWhd{mx!3rDQMS1BeCGUXR!e_TZ1K z!n-xRn_{vdoFh_a;bVH<`kuXr1*maZf+NLcn{mCZl&_iMvo81x!w{F1@!8K=eD+=z zpB)#M))Ij4TRcByW$|kFJB3=3DNb92Gg+7}!de??jk-O{aR{8(>M;bS|M~SX5qp24 zUynMDE$yVi$4v<~Q{9`0w;f<@9&f8h`>5$~&=d2SqWA&l^%Z)F;0Bs_^tgc=_nH2n z!0KVv=6dNtw5@t6^b12TO~X1U_Co)dKTs|Ff%8Z|onXXYrb9nLFNL6|>I)S8G#&b> z0Qw2^&Gu{y{d5z2Q8kx+9%3nS4_+Pi^2~M`JUnwUbMIN+^X~6^-jlAx zw>#5sYCgCU=iY#^X2G{oh;hhgmuHA`dxjTh_m+vXd+=9fKz4OPOd2ttI?y_kT^-xV z-;AGpGlz_~aAz6Go|?#c%_qA{*~Q1^{*a{b0quPz`xXx5vQK$`qr?0E(%v_i?_?~G zX)EvFtG(|8r)d5m;it+z{vEe9cs)|`?QGb^WFKHbz8%QsRNNn8&W~hY3dz1wRGY*FU}GeqMjP`(LocX< z9(@paZ4^*kpjU9h8_W+~X2u0TlPoTP&*gaUJ>;&ixBy~7%qOeTYXb0XI?ACG_RNLt zu^)ha65?@eKcJJ;!T);@dP&+W=wC*M;M+Ls3SGc{Kk(iyaz7Bqi`ozDK^^?W`=Nsz zgnTyl1MlhkA$?SnI|}=f_5<&)JI3~-gR&nVVeKk?wCUMe>`S3`wpPtid-oIMK!7Ib zY%T4Nncs()OE0k}1$1UWz%d_ijERFs0hj-Xc}ZMe&)QtBKa936*FU%+BG)@(?o6Kl z!0gS8bXWGKtuAZkktzDEMP@7U6gT!}r?XX=&FoE_C5^T>_jHvqo9och-aInh`abN< z3OjrAY3==J9F47;Tm5_dS>4`zX{Rc4xxM*!bAH_3WO0(@v|u{@l8l#KD-h8xoi}q%jgPpFOAvSq|?f0NL=YDKyj_X*x6j*%;oMw6qV*UR` zTbE0duaC&3D0?%P=TGllf&6K$9x~NJu2~10b1h`@y^76wH*C&(VRNp9&ABe(6a5hO zp=xtpqS%}TsgeBYQ~JRtiah8wh?}au(QNpcWM1>{yjI`nY$aDZ8^2L*^-d*6dI#lJ z_YyhTN*?v2O0M*9k&}%)Xmgxhtq>i{|hPJG@`1y&s_W%ewP?X=VHewf8MNL)jPDaSO5d2TJr{EwlJ_Zdmiop&kh|1wHq7*B8%90<`1nV#VZi@pb6<9(4#g<& z!C!DYzX1MeqVGE7gg(V>7+bn_+ApW?-NTE^iaROSOW5PrYp}~<{;>{?=YW?kKztxp zY+xSzbTUtSGW>KD8<-BBUk{l1H|2#o!k;g5Y+pof_I~&&Sq>%mV^p5@OrEFx z0M8BZ|HCFMHFdSjKvOBflk&7PNd|FQ!*nRXbw7M42f zzwT+xzrOinp=XJGA45I>1$SfaowQ?>=i3ekc>eXrSgX{tk`#Ps#P=#Kss6H7pP_)S zn)0t}ffom{_kjz+*NoGGH{pyms}~0!fO&>u8R;0H9qeV)84BnacgPwr@WuS)KcKy3 zrvD&9d+;A560V5aT!c^J426kLbcW&x@^8#D6k?zLik#Z-Zf_F88`-{aop+VC7i~wI z)^ih#HfLgw;IE?7>ouQDl3Ex*e(dJAC z+7xFfByFm6xlhvNkFrDeqwnEfqv_;l1a02t3As8Oq0#0F)Z}LVQnBaf%RFkKUwwD` z&uOy*!vW&eN#RrlAAIeF588PMh7ZW=t%F@;hYxcvGjKOoQgEuo2Yxmpf)DVG4wU#n zXCov&OceNVkpn)6vk?*>V)5$EgcB;Sc5~)I!-puFUas5^dFDaik15!X^R)fIdrq;9$Guis@kH-Osp$u?>Mv!MGY^8cpx4-b z4<78?kF71h_v1~<@e;c24%X)W`KQp<{UE+;@GNTHQtiu~UkU&GcM)$_YOF=Y+m)Dl zRJ^@g#7~jkig^3!;Cn9O?UDUpetH>aRnJ23?<~HER>s>;n!JB)I;)XE^*;RMi>NS4 zGq^3U#Jm5QB7OIKY#DFwti2Cgy39!H#cgTj{g)ly|9XH0W@@b5k5KPx<5iQrAi@6R- zf6APtE&l1x+d(E}*vH!|FU4AL4sXt@8V`g$p~l-2FsHVRw3jEk zzxisH%55KlW423 zsz!{Fa^dOji4gE!_jjwXN<`gwStF(vH3KNd)`+}XvSSNL{|2mLqDLzI49`-Ah#oIame$Fb}y^80YmB-4aW7Qu~9&Z>oK)m_P6EbE1!;`2!EL zTr2G1pLv|ZmVY?ykJI-t_um$;xgJxX?As*P=Da@#ZJqZAuZr;grI@>cf8R;HY~}tE z^=waD++XlYZ-w_G&y&TD9qupq>KUc>0ONge-fg1remD0Q{2_<&#tM0V0ql`OMk(qN zQtUV*k{^9dlH~n-KC(XJquTpvWT$lVN7Z+nslD&CPT*px>2I*CU*-LL4*K0FSMOlF zA8R3di{FiMvpGNF{YjMnU1}8gm9zOgzj?Gazj78s7cx-EwHm5D7jqpJ8j<_R^PAU# zc2$1Xrut-RG(S^gp9}YcpTU2GTnyq%6{bE(ybU=fq~jNWXUV%!=>CG3>$J!MzD}oo zjM?rpYzB#&AhUzoMT=P+Y-4V(g z60oacZO)J1LtE#^r(7A~$CmnxLLWbn|Lyegb8zNL%`M7Pa*N85|02(`+=VkIbY_KW zGpgrW9#zh@yo0(0jKZX z??FO%6Xq@X>uR)}_QEc6z6mjnL1mJ5e@Oc+|^UFJg$6na!S<}UyFg;7aarAeJ#~gMaV_p)M|ADrO%SRJ- zyXpk&Z1k)n3nP3&@_<_8g2cp^qkwlC6xgj~ZLVh(qpj;%Zx%-MtgVTK1p)*t%<%78oR`F4; z*5+rBj&!6W&(&7!)Fs+;G1pcMCRfj8%cI;SV`A`x85W;fnbZw7!T$OJc>ye!4f=yTN6%{ZLN8(GK!KBHo+o7n^+>8aoWAi{>3xVHb z{PcLn1Hog62l_-EA5o_=BVr%k;E_C#k1c(DTeSDn$gYufDwX#O9NxcQdp|($FZ2Xw zYre+wwfCLi6pix|eku><-|4=>Sx>4wnEMK^Gv_CKg~VG=&I(rb4s28Ji5jBKkHv}l zj0t9Ib=Uf9&&6Dag$K)Za2~t{d`IQMEyamk)wzVPkj06Nq^R1BGETIplW|`W)hQ4@ ztv)8N;`5BTE{op9pLg1~nElwohwH3)ln*BSTSJcqtZZt6${GS8Srb&i>aV74bZo$? z>FNlq-b1_H@hV0wpx+)R>_`DCivMsKcx=Gxe-&8W%i3J-m7=Z7z4r?uaxYKFJ&Qh{ z`@^aa+M~M?(}MnL#w|uvy>F3o%KKZi_np=m&F|#;RXN4K)9Zsi^#@f>@p{a=&H0g>f_+1B3U%mq zYV|>H*XGCS2aFmJOxNnw-K0Gia~&2wEZ4#1R5kK=+Krz;=VEfohWAQ2HK>L9pfT5F zkyCtKPWu+KA6xivIrSjrISDznq&;CZxaB%*6T1uE3wkC0pI(nS<{FOztj<$lbvkQv z-g_$AI`1u-72&;RJ!UVj51M}r)CXnvetpaOpwHlb55&2iN<%IS)y*^c?e(_&w#@3Y zkaa#(yMlk`$Zva|SM-Up7_t`l?{IX}&OHgf$czvbWQ^;#||WBe9tp&SBUuVubDKjOC?LX3}Y?-|V2 z>Vpo@=7;A{w|Q*vQH|gB(VmOB4huh#>)`x$#e6Hj9U$t1o&rBzehc+MCn@zo2Z{Qi z!x1ZOO?}W}R9SUPr~QK4@m$ zEpHYl`$~!ps@LKxp?)b}f!*1Zi#wZGy%sOxaXrItmq*uY(Z|qhgDwXQ`JGLZm@g*- z@#$E1Htj`C(E8e2-rSR%RI&$iD#x7E`x59_Z?qdNQsz4*vzXYw^ z3i*s2LGpXIW&XrhHu)3x#K@l*9B=*v&bm3(3Qg<+IVSTbrYQLnSSR_%wEPK;zn^nB zx>hLv&LYRu{E6(?a*X9qFu#0K_&-^y9AokQ3bR&dVWdv=)+17m@v*sIKPmj4_I?5L zZ;4u=%KHyEy#Jc^emTj}MWR-y^8PA^_y4TDkJ!K=<8*QVrt-LE48|(B*KB`l;txu0`Y=HTED8af4cXQjOT35ZvhQIOJBceN%ZjV908P=OWhv z`(U1abq9AFraV(ovi32jYY*_XTT72pFX$l$MMJ5e%zt#$CcWC zv}yi^4PR69WH0n4Z^lc>cu8#^MhX)@!2ulFRbK-9B#70A?7+P^kVftTnRc>`TciQFShmy zI&alIc+d2R|KV2UywxW7AFfBfRcrhYz8}f^Ns`QZvDCM$7h8$34UA3xhvy)RqUy!s z{g!+XR{)M?z1WIY)Qer86jd*FqpU3ty~OT*l9+pL(Hl%Zge^|T?8g>&`28d=Q2v|n zL;Rh!xgX+Lv{jsH(^z*Leu!QPvFpXgTyML=jqAUw6qoV4? zF5~rLhu)2PvCDj~Km6sy&?5;(knpf_E$oJk@JT!Z`Mgf?NvwtaunsIy;uuQQSF^&zM#d=p?qiYb13y<7ZkYtx!U`c6t9r=VwLy%JG?(bd!NBy*2`7i z@1ni$geMk#L)kC0Mvd}a1ItB4z1U`6FZQIcs&AlPEMoa5oAV=mqbuF_TV^aelj|EB zBlTkI|7*n$rf-yHMd=&wYR|=7hm;x0oMnxgX~->9WkXB3sH(m1n2QSkia&F5sAHCv zi+Yu?{Xye4xu~U7NADN;&^N#nH)I)27JXw>py|TdLf;rge3bJ`lEbX7B4Q*5!4u3} zRKZtM5I3>QMWw#=T-34X-uvMoLgi60-HLH`zf_!c#Acf2Ef90DH_jxl@~rQpLP1s{gB7d~X>hB~Hc{9zXO z1AHI{ZSWxz=dy~6#s#mF_>ji%!92&d34Y$`5+C5dHTeVlgN#4Sa=-`FZ*|}g6*_+y zt>Z(#+*b34h5xkT!|m{QsQlp_wPt~p4@A!L$MJp4eq!*4-(jtiKkQ^}&L6g*t?~!e zADNF>cdVKrQG5fLIn}qNc%3kDZdyyb=6*?nVVQ34v z3Iml~g(Q)y(2;T#E&@DY(^1`WqC>w{4|fh~m+P_{z5>u@=itgIf>$F(qQY_$`F;uB zRIeO9W0N)~3fjDg)25lLAZ0iF{VZ3ZQ_8;LO5^ofdStN&{}V!wfLHiLz1+C-6gv6$?ZJHXJcX}huAIP? z)v_L_usve#ce~;Zm-&RxlBWN{+MK5UfVLA&w>stn{E4ca3w%P%2Qh|T!7Q8wr@b`K z*J9sT%m<%TJNGTrzGpE8__|rlN41fmPnorI!3WHkPmJ2R<23m@;F#GP?t_@G?8iCn zwIASnmfE@4kF?9k*X9fU{izuHf%k5b`vHDwyB~Us$n&Omf&bHa(?@Y9Y!c3lred!s_vJD2y(qbo>iMj3^c(IQGVfVe>V9mHXH@B~ zTEqvP&S%X_gkMIU&jKE>JW4vB^-Ga|qTE$$;epJLFY^Y}JWBqZ#V@1O&Rx*LUA50r z{SJ|Ta_%VRm#N@+lqn(jB@P+e)A$)xC4VFNGwHwQW6Sp^Xz#BlzsS~cyzYeZ{^3vU z-yfm9&-@aH#*11>k^Gna+WSs$f*lyqB`ol>$sZX`XJlpmNOJhUo0(q%u%I{y@<)aT znv%@<@%$0^B>*3P@KKic9?2gm*X9Sm1pF66_?@;&9OP;3xtQyaI*w%>Jbxq;bf(Ir z0d19siQI#FIu8qcjz_mCMy>baqO9Qglc3wc@4vxDw>bs5X{K%ioTuC}=9hpD%I;|g zO_;h3`k)-N6w+-D-1=s*4|$kH9+rnm^3cq~g#0X`I`bHt;vkD4FDu2nGJj1U<1@%b z^^W#a0YjFD=|;c7eK31`$iu{(bp2*zqxD$lxdjMZ5tg&%Ew)31gUVMr@kaGPH+PYkycwt1YcfvR%*X2JZ-zqHSp5yfrhpUC4*y9mC#7G#+= zzjD%}^2P;cYxTRfXwSu5hea01b#VQmC+Jz_`E8n~H8^(u>47)lcLJ@?hHn8fpvEp`?H2sQT4ZVkQ;w-R+{CN3N z0c-N{VLybAugvuEA+Pt(c!v4-px4R$xc@udkA(0%WiO^_d(qx_tmYezk$4PU)dE}i z^KOu^rJAM!kEed8aN~G=Sk0$K)zae;l4PK^8*a0sk?3%b=S<_>VE)O7j zkv!mctj+UaLTIO^dH-MKN(1);c|tYb{^7&tM|7hnllE;QdyHU zBcjv1`H|E~_}H@MOp5k?fvOWJ@9)yycUot(ERyS2bqfBSUNh#6M-`ny)R(RrF4sps z38u3l7bTt71TBo{6zjD4LH9UhEF2$I6Evtj7jqpJokFgI>lDq%{c1OUk{Vm5`1|YN zC$Q^g+wkJfm>1J2h!>v+odS9p)t8RBPKyr6*Xgv6G5fKF7w5%KQm&lPDIPe=uv6vO zatS*dUi{~aBRYbF9o3hPx#pt)ySWPN@>!en;>l?1y!h8RBP{*TYJKVE!cmQ(-o%gl zMr>2)Ue&^1mjM56HT)$MTkY(N)FvE+?-8@R2Q|GuUI?3fF6tD~J9HO2>PCM&8~){~ znMSZ1dp{NTETo1nr{6m9-wJWwDuw>;W_)}Ho~`j3+wtA&KKibw@o_fBn%dI{?gu~h z9%+7RBEAQ_%gBbG-7x@LBQ?xxh)iO(A<-PolY9jm5HF_r-i1CEz$Q$ZKPT&D;U}1i zan)LRe*+Bwrz>tVex}$+E?ET_ZIEzr=>OZS<+q?Gn%{nQw$}6U z0L+W#*BN*eLfeP=C1UQ6U|ug`Ui94UoL4#Se@pPY17lXgAG8FYCT(R+S`&*x!N9!Rm?hcMAWzs7tVVEdAYq|6PgS;Ww-*>B#?H-#u83{J5%; zPW z4d8scbPj41EX8@J0kG}PzX*K0qY+Aj4$bK%oACx{=(1G-|Y9-hzujF$#EYd7X-F=m~zp4N<)9_M(y zZN`fient!MGujY-AO18x_|@S2Ey*zze))Z9zxtW@PznD*6=-EF@^$+1oE^4bHQ29e z@a1xGrZfvRM=If0r~-a_y9GjteX>LTw46}Nklav4HzPE#k0&%ZEg>{?h&SX-3p8b< z8BJd7_r?T72ibkH-e6bIA?#lBTq@BD`S9s87tcO{b)^9>0>FuCjFp4$xNJxWmu3U^ z<@oUTtNk|pK1RQI_BXO$;3Vr8-^qS&QTqjM7A6|ofx}JJeOWBO%s|d0`NnUUuzzh$ zU-+0Y*JW!wAzBCF^)kR|8Qv=rV-x|GYcS7w=%WsO5WRN58Y_DnO*{J;CB#=DukWkw z9cT(bcF?obXC3-ZrP`a|>vMeBp;W`uNPeOfXoLTk(BCy*H_tea`to`qGksw%{9n5O z-vs39>GRD~=iA9^neS4(H-qL2dM|?Cj9`+BK5E2#2V;x`?BM|D8QiZlD!5*QG2sF2 z9eobKvjNdx8up$1PwDtB9lRz%<24D`(;wkk_{>8d>@%nPJkD!+NEjuC55osu-Gjr3 z<|kpFYIqrpCKcx}807$7E70Doz=-rBf-}MBHSmtVV!XfL|33VG75}A7BffT`pph)W z*Hn2%`rZQM3VhS`qzJvhuBggzrWYxr7Lv?@-B1Nv_jBktpMjRtSmG_<7ZgiO*a7(M zFq(*O`g(G{Inai04g`*UguDpio0+{i-^>KA8K_s1j{hIz{&#IP#tWqRg4Gx^8=oVQ zKgHpj%i$|{`M=NReBotf&61z5hW?|jw*b1TiNjdCTwg!nLnZc$(GkYo-rS7815K5N zv7Np%Aa4!GOUw9DcCna*n3IrQJ7`Y+K+}6-PI5l2ga4RdrxxI!DdArV_?N~9|GQ(r ze~k_N-!bgrf7`c)|Cr$OID^?D{GpG;3;&B9;J+8Sk8b3J)VY2~IvD7d_=6q(zYRJh z{FkyM6MSNjz zHrB1ecQ}8-WXnd#mStGmQv6R9zDeSbZ{WNt=@5$*UO_xk(r0}9;;djd4PWQm@eAn7 z@#5?6XkIq_VkmN&RsN;&Rf#jC+hjn08H|0~0C*2b1yAkj0e&SQ2FLk3>7|)HJ)wkT zJOlhdUM%pVL-4)Ft@uH_mgz9~%*C^})BceT0~{rOoP+PAu7R_Q_eq&RI>sFIEA^{a zV)ct>=gWRUBdlM1C;MHEdR`W|2|iya_KxzmZgXsChi2emXK-JiY{w3ip@wL2w_Pu|w6X6Wm?y%?W z;sK53))g7r9SXu%h}PxM`b&$)PZ1??x{3;07V`d^Okw)6{xHmAWJf(%Or zebW1sQ~xq>z>nXP!2^o$-XQRqff=3<<=!NMKbZ1D*fZb-fNihfOWGXBC&73OK6CNx zJemXX7_w(DhaAP8S#bnPI1@C>&Do5r z217^fEFEQ1{)_lxLb8Qwch ztcC258uT|0b_m6_N#{HhaQCLcCgXMpU~^jVb`3T(e{+BEY=7#H_9sp355C*nClE>k ztY~Z*tEPOY9(Z;jYEa?*$X;XuCS+3$5irBKIcWoabe00MJgYGm`hbj0xgDF1e0vGnux(KGgS+Z4^<2xsq{u$4jFopc1J*B;`0}eEx zzx{YW3G*LxxS5ZSyTMXojSt)n$?-v3#J>yiT_JoBJ^=%Xw?3@@w|JIhiVF8*aK0r1-+jqeI@mOQw+39jDz`Y8v zOviW9rl++^{~_7*0X%E9>8&sRtzVvL!&n=Eb4=%Ax`i(| zW(aUa%)uyt9ghFgu9mu(@M#EL%n<8;QCojY{!F?4U4&DZ6Zua+{BfNAKb-B1^8ac0 zEA?IJ|C8ep4imhYO$EI-i{K3$AUu>hbyB~a(11?RouMZW>X#5oK>iQu$_6_F;|=!E z@XMkrh_&{9U6aM*F+YgMCGK6u><(glpOOybgXuiw-L2v7dl} zPLD0wvz#8f2QLE-s`@YRL-&7`8i+Sp#*U%?9>!TuJN{sP{NKfw1O{apla-9G*wz}vX~j%AQ9WFMbK z{ZkwwPWyPL!TnwE*T-)ki(2R_;qQ7$@prw9vG?G=s{b7?aP(XFyRi18;0(Z3(!`;_IQw_WS|oo-Fc5$`eJNGk8n>0R9D^O3z@P1!t6a9_%kmJP$e7WJhi! zUlqLzUEm}QXDo3%Jo_i)&zL?i;Ed`6dk=mMNhe=*hd`8ad% zozxdzIjr;xJ)(weILLj{`M7WQbcT<&k5P5L1k(8`r2Q}t@BNC#AejoCqz+?jg#Vbv zkbOKi&|aplqWuAHdr;Hw;@~Hi{QGyl zq>SyBpWMGCHa|Io;7hio3x2}!j_MaCgu7t>WGrwQ{O7cPG7d}pq(AlVf}cqLdAS>Z z8|o$6`Olxk*mS>y%1;smUVJ-#k`fF6t}XHt)fPu|7(OFMmIb<6%X3%-`KGnE5^ zqX=h&Kgdr0T>(DJ@HGqkC5!97+$(2uVL`vv(ij;&=l))Mg{GT&Z=m*Ty#G&b>4$Pn&B z%;mgP^l?=ta8Tfk7ydIg&JaFM+DsaU=U#MI$Kigr$T)Z}U5*p&cVm5=qmDC5$cEF+ z^&B#axKH%IKT_Ajd5b9<@Sb0eGfJ*!vRn`AV>HI$^k?<&4MR-oN|Do%gSH>~NJA%M z-zt1pZ6vYy+Z^~o$QG}LudWJtg;ns^5pIyb68FKLE^+9mq*st#4B0?(SM{$=h97!r zW_D=W$vL630sle$jL;DH`-YvI5IPxqFd6dg%CDNYb05ga;BXyx(5LD5!?XL48^LG} zvXJ@R@SWmoGWUS|ZsmB^$?x`O$VBOPJ0I-@fa84pSNY_QJT5=q6Mi>oAM8b~gm1c@ z5b^&{1blKW{(lQU;_}l7b|N@U1e|i=--%$4S5#uhYQ zRA8QgPY932c+5ACcPOVx=S9cO9tJlKD8mBTk@-s|4Y*Ccnwc2 zK4Lse`8~}41srGoFMOx?zbaI}?HhPDmjCOGTuzs}9o8R*|B|hLm*T(t6UK}u|MN*P zw#;ArIG3Lf-}^7(3B668fb%wG#*iNTj4XUCHTYi(+0{^eU@dZ;OA9vo7%!cNecz0E z(0B75%WJxq)((22zh^(@Ycj^eCcCL;uqpw0>PkQVPxkY;O+QcMHQk~1^MtRdU_5dK zD*6Yjx-QwK_Ona&^Q28b&*U{-ulDnduW24^#LY#$f>b}O89al|P&3@b+`OQ_#6^P+ zSE3Fs>e77N33*$UYbS*s1r1V6knX2KK6~Q;h4t|w z`gjNL%xOlx5B1?iys`v2g5b6EeL=I)^l2J!5xk%5F$q`WV$u^%3GTQ7clqEBJ9?h_ zBpvP!^hvU*7y8RYf4fm*rFce0(1-Emdn6y0jx)+~(oPBHdWzoIf_~=qzT*uMTPh>@ zKi4pRRE_770dtzmY;SfG#XS7z7j)S~zYTz2adwVTn%-{^TOV7C*VD8o#+*wqmZyXL zocAMlgXUaIbAF&l)SPq185KF}hXrf=fo(UVpW2@mS>{|U*8UIKPd4g*UN$7EpAF-T zLpg`igEd_P+pa=CzFF3OqSo%`Ykvj(s%!V;Aiw_bh{)Rgo~D&C)_yj|+Ntc9W_l+ zi$q`R&kAOMufB$UGVig%S?dZ5* z!B~%Wv)|KK#GLa2z{BL|wa+0Md^eHN;3Wh@^dosD$=T)LKZ&5_r_s+q@G;iUqMlJ} z&!M%CnuvaG-!_HTjyhRtKl60n+ncX_tG4z>aldr>E6I_y_x3bh6=UruV=T{1`?aqY zYxjYt75D5EHD`70C&pO&FI}uX8T}N4AIi1c%ALM^?F+QE??jEU^qaaz*523CG$h8_ zKfDgKtngk{R!$RZhukSGe&F<&Ykvp*IPH6uy7q!--iv*Q+&L+@(I|RjFZ$UH8j@=# z{E6E4RKE6M+S)zflj(~yBWq9fG#%*gjPw7Cv37Q}-}jDU?LNZ!KEtEdzLfaJ4O~xn z2>r};p!X)k`b~P@Ju<2vhCi3}XS8!C`l(G_vQ4gC`Wr|NHi&*U5g*GuGpe5rL_2B6 zF@Cs+V0c9YhPL>V!D09>^sDj>CcD!zA~4MGG(8XlhL>ZkbkM1t{CZBzxtR2pBhkE$ ztzGbq>FCD^f3~6@lW(+uKW9=uzR22b@n3( zYzO+eMXVpXW<{~DchsH%he~s13=C#~*LOrewVfmLR`-6s=qHnKacVRjzDV>le_}8f zbklS#`boF%=cl3{UpDA@{xJLbEaLNNKtFjsto=mEp5YvhQ#Clw#yr#ejEmsVa8Hvz z1`Pj#v9cX>-=Sj8O!xi!#Hcv~@5^#B{Y-v8M|1Al!kkC)Irr7(oKAY%yNbLV>1lfV zBxm072*#>HohpgL-V2zWgjEFKtd|E0AtImqpSh$bZHnf1fMIFQC=a8Zap))0 zLI3-W=!fZlouYNET8k)+MKgdw=I2tqQsxlIb%Id9b?S70%OhY zZsLz+&Zmeu=Mny7CPd8{`&A)z%|D|bMP`($x@KSWBV~(w`nzXDU^vm! z^jtq%{=?R=gkX5NJq+JP-^72Qvz8X$WXc_L?J5kfjRC_~(NDZEoQZyRM|4)U7n9*r|H%hYY))cBl5z6KM#wwGkJkKnta^9W4rbdG1gw9u05i2 znEhbiVW)AOwI8iLqO;o5&J@1(+qAVqXDwB9*3vmsJWbo+_9|v3bA(3 zds*?O5m9SjN<35OtRGzioR8?N7Mwp@^s}4z#@5bJ{V@CyI_tmD&!&l1oR_q7mgomM zYguvD(5QYk5Df~QbszefJH@`AA#y&Xw{$x(s-G9BpYs09r|>NL@uir45c|ED&iCR( z^sCZfHu*u0_#${X-P821zRooGTZ~1uobC4FE5!PV2EjMVir1JrfQdg0hC=sUgML&# zrs{qNL_gq%rNu4a;VslpMEA8{`+0or@1S3G?a+P86y3LU&Uv1uVL0RPn;7fAg4XXq zhkq3F1|3!ur$zH|>{&(5)DxNPIh*FK$sUPAA=wZ4zgp?taBE=>aVT_4FAW9_j2tQi+<*k4`c3xDEa{|mgd|y zocTTvP(No_*Dm{+Ecz)XIvh7Ts-GN^g*U*Kg)ICh`Y9f5-_PlCKIDfkPl@UWxKWnl zOJ(%@68iBKTls_=>#UBa7&yj0Ge4&=`u*e&=_NBBJVoz6~pG__46EpeR8_=)1 z_B+T1ySP(?m(BEu`U?4nDMm}@dFlM|DNWA#x5!;VK7SxI3+Iy3QQKu8@=xfl`S(aG1}K7Upw)JI$wq!+d-#%;#i> z`J`y|D>5ke12~QPSPXxCz)h+t@ILO!N(VmsfZKx@e)}39MQt^HkE1tSdqHgc?Igyp z7IATzuhLfI?`~oI4{)xM=tm!aHS#Ld^Jy0P0cUfB;|;TMd{Zp_8@@@}-;*tW z6aLEl3eJNg`4y$8>r(19o@#DRz@4mK{P*GPWp;?pfl;2(nZrK>E+(RuZBnRqtsnm< zh3X%f9NPcb6tol2_M+_zRj$mzGr9OKFT`a6mrJsK*%*SYANebQZTAG^_Y@`sA4%xm zn0=&q#%CEuuxEnN^uB^WAMXh_PYN|4hiHn&c&Y*USbq9Mt^{&RpQ?vU ztHb{){HHvGo{)158>isCsdz6ReMkDJTQ@0GRgxFV@gRR^7Rk-j@W!)^vcf=muogKP zSO2kLZ9VD()nV@|XCW7(BtMjd{PwXp7eaZ>yAVh7A{Ib=>m%gD3`Fj9I%-wW`EgIO zA>cUuFzvalC(K|DIZg7u8u~or6L)6=?m3})$Z4wQ&){3b;k)yT2z;MZ;7j$7@+34kqX|0Im#^OSzjge=tm#vEBb5psO_9%o19)|JocPjXJEAxOC;e6LZ%koFpN zNaS8Oh`BI2Xgm6<_`cEC>|t#~U$Y4A|HtU-p6BAHuimYouMQHIj}m>==d?^;bvQT5 zXxxV+0FYbt+KBoYdZt3$Z3EQJY zpU2DnjzOQj9d2|hTfmS*-kg~{zI_;4nE^ZU*@?9Y5!dxa8F-z2&UvG zY7hG2_Fv>Y3GBZKm}5)!-*`Ev?}on0V%dL{3*dh_#{4T)gW86^-p4u0|0DEOD*Y?R zxuCDL6W!C-odnaPNMBcCjxEvGJUJ&f^yO^-m9=31+0s*c+J7gt5k2&ENe^+_e-VBN z`|ryMV!vYOmrXc_>DC_jp6iz;eGYp%e);zVVCh!B+#q4w9`cXdf06x${dc?E?-=^! zZE{XOQ2PAQz_yWBqX|xJZ~sO13-o!M+^-n)*}WC}^+Tc0oTuWa&zHx$r_bkb7PZ~v zrwx7Hk2x~=8G}B5E$8HdK54&6J{&+yS&f&Z;yfyRL=`ee*MnHjjWh@3gW%k*)kh@m zLiisVA9&xW#6M*JJiZ*czXf+o9lCW{GP_%-8uj3-Q16Jon~k$V6r%~upm^bkVA*}h z8Sagm1Bi{)Al5{&r#i&$DpCKE`>A-1K#Cdt1mo8#V^jP^jz5&GFA}e%T#$dyiLS9H z@3qX4umu18Na<7dw^xhTQ-3w63s8+X=0!b?`(`8VMs+Sy5x-AHEQ(^J{Csz6xDvT0 zeD0#wC}L|hh^5t{mI9B>c`Ugn^zPe$eX6MUN^`8;Xq-uF?xW1Jc4Oeox0Jck`q?{( z;dxNEVSo|XmeZ~L?Hcbb+vXSv`*Qji!Ht=#-^jgZ(_bn|+ z$9ZhZgQ59UVs0`9EZ48c*9c!ydHj#z3~~}qC!9$@{I3By2ZXzXH>rsKS^SFvcj`xT z+}W?qUye7F!P`Clqyc~GfHR30+lohtwm7sK^QckgV2*EtKj#!WAVjuC@5|**(A~)JAZFPirxcc<|{!418Ll?2}u3dZHch zslNk0U8c;_5uc8(yo=&T!wGL%kaxob?l{T2*5c1x!XKPTcY{CvIPvF_dCvUki&G;g|N^tF(?*>gRX&ZhQQh-*PQ{MlLx{6QTgH~2FhbI`}P!=FDaaK@jrlznl_ zf8J~d{CNZULU#P8n=(%~`19I$xppi6IWm&dzm7i#;*?*U|MUq?cEF!Rfj`_wU>*D4 zVr)D6ytVk#hwumWxZL2+A2E-3@aMLxB@CnaPng!yO8(QkPuugK90&XiA>lPlEnaO1Az^vd3^ni}DFBMve>W?KY*O#vb!0LHDuqCtV=MaiL$A+1UGK zioIV!_Wqi?Q9}kbP~70lNX#W3eEH2a&iK+_*$21$W=T8X%hT8gJAU)ohzMT0!IvBd ze5s`VpttJy;=pf8b$vPQa?+Rk28Th^0uNUL%`)8x? z#KnK!y^HKEcmAOzn1epPoxc3ijS_~@_;a1IFK+Q?X5Y5wKS>Vwlc&tn4gPd-;6J0p z{aQT%UyajrP9se02@W)Pmbr)l|CI2}a`17bs{`1kv@!`+SzjVf*_s~ac_2rWO zZI3^{Kn|82|Jkn0(+&RI;($NvsXrV3<4*s{3?78su*07a*5Rc8+#$wpOZ<6$4cY7N z{5`WUk9hb`aFH|qoU81MTmJJ=JK#?}a&zqPCsUcH8~mBD9_sujUVG~Z@(bdz zx4sz8@wBb&tx<$8sPXN_-g*;ri3eXoH#_6Yi?p6r+UFOgwmrYO)B#@}Q0D0dUygIY zmtwJxI=;lqZz^X(UoPqvd<}BKj^C`oI-K~;JTZ2h{HD~#UN2Sb^)j;8*O!ogXR#~% z$;CY4!Jp2zI^)l2%D%YeH;wIpKd*w0?f6ZyGEX=7^PGde{Mj&jd1c3MC|{^A&YkM{ z9Pc2vp{4lg+hQCS{3b4Z=?Q#EM}0gu{N@?VB_4e7EOy41Ewr9i@|z`TZO?BeIN-}- zWuA8U!f@<6h@Y;u@jnx8>HeUiE65(}6Wjv1Li|aMpW5lr0fA>!??KHcw6VY9!mq`5 z!vEtEzf$AGufN8?uP(~Ix#dUiw*!7{0gc=7quQYnIGI$|F2;K%qPXZ-kbNQ6$^;>XJa+8#gd0qpJYqe7Xd8~nJ!0Y9Fn{%rV(oj=e~ z{uB)eCPB}z(~q}d9n2qCVeb!oNQ|%VUu*H_tyS>nxWu1ZF$aBoJAYtR4E(uT*%!C? z^JzQaPl5yf1eAHY!Jlu=lC)!$M<M!sIRv5;x;4h#@*x}C*fj@S-OlL86 zTiRDsfj>K4;!oq?`0%IuQVGLo`SdpWXsy0{O-9@EpPwNw%Z~q)Df4uLKTkX0&qLIo z4gayT&+YgR$DdPz^^hBO__G=7aI(*D6Jy7NKe#9FkZzyTcZz*pO7{7Vm9WoU;?GRX zBOd{O5^wz@KX5>Db{9<^tj0Q=_|0rFc3bkB zhgQJ9<8|lXnTUDBgFjWvo$+UcvM+A=P49tik3V~mPh`h$e9AoC;LkT_%C%c*|Ik2t zdF7xlN8wLV0rZ`s;lZ;U@TUpuVES^Fy}n!_#@F{x*O%kvKb?R-*)H+t3Cuws-%ej{ zS|MQ=t?&Gn*3nA-b89=`&lwK*bCWVpH~90a1O60<{nPo6ga0N9e>ndc91KHl5dSgd z74Dd}(~DMuE??(f z%p)HBxnzwq{w!7Y#V!6cv;+Q}=zu>LEAw=NKV2N~Cr|95&Tri5JEMcYf}F6^cXDFj z&phtMz}K784EuQR^<1AVksKVI7o_;Q^CzWh#^ryG1p zaNsu&P=7Z3CZG9plz5e>&jO!d)OqzK$N_07-{N*LPQ3XR(2wK7mmN!iFWy^S;mb_S zB_95A^RJ!pWty@NZu!g0C$~L+sm31I@s~7Zo_6@c-Z^&iEu#1l7{K{xzp7v>NTeoeaH8NasCI$CM34?d;s@oSm`eyvjGX@_4< z`4)p5?Dd<({zb{J{?_}QD%pKOKMGQPsf3BRM=rTfu+U%h#-fIUYuRr_XRzO1oPfLP zj+}}6{%+fLqx>x}hW%EJyL@vhe8F72ceVV@$YQ_c&~ICZ2Xk@HbfNsMod31~cSz?P z=@qQOZlJ7)v(x1w?EJ@#Aene4YS zUjAly*lz;}W}i(6W&mbgIsAsMlb_=`>Fh`od33z`dri{xDj*tK>k*g$j2jCr)33mvA#O_TOf)3 z23X_n)j@21@5$c`zx?e`PTBb2My&mx^0#v3x7rEpw+i`NQ8IgP4vmL<&39qEz4Es} zO60e<#@f__elLFu zbdr5m@9doO`tHe-CS zrt9t7g7}U5%(#D&>d!4o+rQRtQ!kC*=hoNEmy!Cw+};7)YlS-{Q7@0an~QpXwYc+X z-42}fT{*d_{37^YiZX*Q5)MB7lk;PpUO{ z4&}Ar?*V=T>az6jO*%|Ol9K4Bx(Do0?~v7U!)i^c9yBin@7J>#qhiTh?Dd@ejg3FYes(ggbSIT)_INmPdH3PMJhjbs8ea*l;wqEN0uYd>B4@3=^&R9R`io0y~D@D71 zkKL7t_4}~?-q)N4Er>r-*33g1z!#7%OJN^Ops)QIeK+OO3etn!5B>%;w@lQF+pMpC0U z#h6iOB$ni&M%@&AHlW_&t|QCt%rLwqFBtyDEoCboe8liJ;*LFb_g)=pPF7>j*}5?= zKEI^!yOcKxysH9URb!v(P=`{*34+OPffG7Rb^|9i0VgKmcejA$F zy+98o*wEdS^K5YDG2qM;;LKp)%u3))9dM=)I3w{(;ud{RxP-caC556+ph8d3CnNNf z)eUR3p{EPlfu5R>KcmvqnFJ@$(;pQWNq&-|-4Ds|3h*I%N(6jX06u#_Qw_kMdLwDy z9?;ZQz-KDpGX(Hi1^6W0HW_eOQL;rmE1#q9H{*NoqLN|(pLpr*6}bk5-u%jb>-R&- z^&IG7M{n6Cy%iqE=}6MhRiL@4_@C@a0R8#*?K!gY&Ot^JXfL_(v9eX5y`;t>;4{%3 z)lIGR5 zGYxBRD+J{-2^P|p`3kR7)deA4zGb~?Cy!(Ojy~hSuvlLvl z@T2y#CoKBU;m%lt4Zmp*d*WHZLghD2{V?`1W>1vLIV$|*Z!}LKGrntk;uXRA%iF}{l!5nhot4j+s!M@&JtoZD94L4@Q z<2NWE+j+FrXYdK_|3vuda^a_&g7r*?&tNos1{kLpJ{LQ`f$op0U(Ed~lVID|!(W%~ zF?!OSEQz=uYo1|jhp+DSf5NUN|Bd|nPWl`DZ}uA7VOuxmc7?waFebm-jTe4_v%AJq zKKO6q@gMu(E2O=x$A0XFT~BMN$6CmL3Vp68`Fy#LZ^~hQA4{OANRA8pw|b<}G((K( z#hCg%9h=}^%7cF?6aJ-Q_?MR9o(?bW9@N4dc@00wR%b?rW zg02V;DgN7;(XKb#QGBN0lXP{O+wo}oP5(wF88$qAM+bnz6ECP#czn?b5gxx9{Ym*^Cm%aQuGq=P^E#l9qa+`@$u)?W*ZDMm zzdQN(&LH>l@e}0f=&(Cgft@ZNQy?ewcw-G@8u9Qd@B^yfZ>0HxTYcaO4l=|p-Xvv6 z75MpJ$dLWu4dher0KAFNJdY8k0N;iJ-%=I~X8f~3;hz)1pNM}>$9vR1kc;ki6?INI{VMS}51(^c+aI1IJ`3=vxzTfmTcjga=o_vE-viPxIw^1U+q~wYa3Gby$a6`)!&WSD~lX z3LK;8iN$*(_OFynzEPw{8QUp8hU67=?$_&}lTQVIC0mJf++4CnAR7$GgPUe>8_2ai z0(r3jY$n|un+`wvp?4Cb(3eAeSr>TaK+Ep3VY z$lvji4FLI9Cv6JI#>~XSO#k0S`u{_dLXSYECZJu593g^L;=rOe*7xzP`^z`YIA7Wd z8vyWPHUQvN&*0??OWTLe+Uhm{*$28lP>c1ILOw}(IvBbn$x~@pZM3lkHZgdR4<;%6 zsM7we+4hImp)Fyx6>XiK8;+0AbAb!__@iigt{{KRlm4Se&o{~S2zuU5YjH`>-d51_ zPvy7@J^xyPqfXBYPKd2^hWTaI+GW9ZP%0peVTH+w#4v(T*21lWjQA66(2|l zIVQQ#r8lxQB}T6ac_&khqk$GE`cT#8YTtD4UM)_GU`IfW%8uGKY zlxsq{J~FS3+B~mq5X)SvO9jlS?o%2&d;lrL1QwC`YTKl}cE zv~Od7d&9Si&ztcn`Opfq|A&3=3;$ev-iS|~H?X9w@@qQe*LjHbTnJrzEcEWv z?c+Rp{-n&Gm2n=DU#o>LY-kMM>)VJ2QC@cFEY0_NX2kcJI3yAqT8ZZq5r3M8IM-&# z@70jsvkc^mjxc6i4Y_@%(P7_od|u=6?Hl^_op%m3Qc5UC^wqKw$nTWK0DM*TSUa7S zsPt0IljL`Y@EDu**CJ+A4;a|xi_#o6L$-$y6B^pR{Otoq%D$l|7{Qd=^4IP0tu86X zyy_uKN7HV+7H9bFkX5p`R!Hk>nI55SsXAw<+1}H`*<7TTVZkEX7W;>O5*>&dF3E^v$_I%dn`6sub zosTnfY~K*qbhB@h{-*9*US!`8>#Q9d*|+UqIO}UMaena8-M0ZIjQrtLrQMIU`M#Zi zw%oTt<}(T59_BL%;ciO1Gi&qMB=xWBb(b6mIuo|pdtY1Y^V`KI2cmAUrq7j;zi6-* z{TwCxY(MgKRDEs;t-+-}_bKYDyVd7jmE$VFA{}%b^m&{;-E0&+ zE6=`>o+8h`>Ha9n+nVfK!PftKdOs_A{fJeVKC=bbvwY~l4M$ds{Yu7uk&JMlUH@#FFJdZ^UN#N`y+E%eUqDrUE9nJ#?QYUp+kjq1V17h9LkC*v zWkDwB1#;7tUdRR#Hjkv2WdmH|AM`#I|GuO=M@cWx=PdBYc&&y1KcE*d8%^Nf8vIQ$ ztX(3Hk7^_2_H(u`bU*k;C8v(^_+Ex@c0cx^it#Ny4}$sRq1@^wkFee_BHg_){%tQC~N$mBy#F zHh^~>5VmG9=#0+GZxZL@cVk|Z%R##G0in00EEt&80KJX!otn*@!RWjVKc3U`HYoRm z=WQg}HenojWpr~DYgQ}OvRKBXV&8??>5zTP5dO~?f^uMg|p zEb{u8?eb7A%UP4Q3+46sIv2fB)F*M>xqtqqb$&PK-#RTj<@T+L%I%9S7wvNU$`~xT zzwP%*JIvao$N9sLp)KLG9qq@kkMf);>ECqDRO;W-_fK=C_G+eo56YSZ9C*ZlF9ouB zGHf3@4^J`PlVEc)-Us{XE;c6j^WUkoSF$$u^FM?(#ekNw@A$lzDDB1Ucb+r48trdA zSLpk4uJy2n{HSPC7%vNy=t9sOQk>gKR#?Mj4oT#+N zp*;n)N$3nP=nFP^QaJIY=4X=nO=Y+`2mIvaZm5p{nw@I+_k})K{N|qd3l2YmI8p|9 z%WCK|q~BbP&uQ>iCBsiO#7Hh_hK_RpIu6B~DzT@O$J#)84s4f71)1lqtf2b+O+4%;X2l)wfe$en%~3zNBdjj z8S28wecl1vM$*J9Y#fefFDdO8S)1e8Kigvb4w3N}D&uce#@wv5Hz?yjgEsB|!|Xdw zlMgEGwd{9Jlbg_<(kYS~%yK8dXU*IR;Eqq^PHZIqP`_y`ccL2pA*vfw4V)|Q=_@(- ziL;%o%PNvZKA*_72M+4|)hTb{74TPU-UR2blsB>Kh`YRrpDOUUP-&lUw*BFA(3X7m zQnXXG+}z)E0gej$_a2PjQa<5q+$*WszolgVUe(-i)a>6OavdU`F`w4p(*7NZb-1;E zJIHYr`!`>KpKAZo{S=Pz$yJ0e@#jA+`tc7VJ{hK5G2l7NSHtHP{4H_wNwi4^W%>Qk zl^6}f1~F+EeBYY?bbfUHQ}6F*d~z;>3+HjOmG%{8+aI2ZwuIGuv~@aujLw`2I(8MG z#J$vZ^!)R0jvhUqF4rUI`6gP6OL|_5b-1PHt(J`FQ2piaKKI8Zgc)Z;$FFI=ZjEDyxjeN#Wfjh@sJ|py@48#(a87=2CUPyUz zu$Rb=JYQ*_!`j@Yn}c>f``a6yB0eYKQ}Uq;(9UMx`@$2&=XiYTylG9x2ybdBpD`PB zY^Pt$JaY8-Q9ro`!H+JZ`McytU0cDAzCo^&4!iLR?4tM)%V&(#JFSHOx&|?nYQzz$ z;Lm60`3j8S+0Vic=#Yb~+o`HAxoS+H34YFf_0X#+PsJMl;x$fX{Ojcy`N!A6$3bVX z^E*>cb>s|os1wgW-bL}Rk%6YG;D=cWI|qJ}*Y}U*=kC%BL(7BV43$YHj_D(%=Z*-=1;7l7K=QT22(G7uYv{zj^4E20g3jWTGY0qSv=d*HgK8@BS&uGQUHz@+_ z>5P_|>+k~6n1nt2sq%aqozbFvY`eT5Jw7&AoR(r> zkvJ`nffe96iia&g4dj7%ZW3|`C{9ax2izw#Fe|ZNAhd_Y1C#bq&f_D{b23=H^`w## zL4fVTd34P&J{I~n~hG54cjTd-P>qDr{ZgmoJ}jz)?N$Tqjggbl)gswyjr4% zpH&-pTjXro%g{$@-Sd^$AJsvobuSTl1~T?Xb&#n|dR_+BU5@$?j%U*x>O+wIR!Q~! zMcnY;O8afr?!aukk64?>jsLDZ^SaW0O=;Jl{VMz08-7K6?!l+D{oX`-mAS@N){cSy z!K@tvnD=IJcrFVbXJgWQ6T(}S_GZ>5yEP&F9NIcR`T*`w~ti!E5m?Otk{9lhM@YCf1&L&yp0o9Bl-du~kxnkta$(s5t z-Pth7w|rj%{J$Ro|A{xtbNy7?h5Aecua3&)>gytx4t%h>hn2srq`Xtf-=H@#{stPa z2d|^?TAR!DTdX0mkH&{FcHDdzb5;59<+0}ZL*v72?GZlQUt2rHFKBV&idMe~Qu`hPKY% zZ>Dq2g1^5V2Y*jFA&S4V^U+iOd-V8wvRsGY?^9_FF8TXE`?%-t2XQZe4!@xa{B-`F z0)L#U?=$`mpPUc;UGix9j_R_={Chg%Qi(k^pzmAHtMRk*Q{bnI6{EN2*#shaHpIgr z4=A3Ow!f8mHsBvD&j!ANmg#_iB-3mlfY7j?213%zuttr856_Tfb{5Xlx?vguTcQSM#uk;%`I!FTzAFGFlx`3}A04-VL z0Gv)bz!qS4-7FZw>i3}DrdbztB62OsC(Y~nC9}GIX?SkEsE4Q4^~^-E#rVMtda zddis^sYB*PZn+QZh^NMFR9!!eTko(AN$0NW`gMv?*RPX(O_85d9vFDbjpFlqd|t=e z$>D|K^J;u9U~RbzpRFTyMG!7F0%hd=eU=MT$1KYIKjPp(1mhhmz)Oa4%T zb-1;62FY<1{xDC0oz5TPt(WNHeC=P`x6byF|%BnNtW;69HZ!|jq2|# z4z$i^d#vTdeL}fLz|}+I^FR2MI^kDnf9rg>WaPv3@s)hv>ihkU!Gr71A*H>=Z2Q9- z(U!0(LtCfkj}jvE>?XhU4$y(7KbKLy`X4_%di1Pg5(p?3ty*8J6)eF7 z0i)#}wT%jW3}NWKPAS!*)e0EJB39!}t1Y=18MK90R8rLZe`^ot?6dDVha`sK_3!uj zWpnP{=j^@qn%CNE?>UR~=QHfH+CvST)q~xJbH}ma+&8G6)qV$hEQ`g!k0sBZ7IZ`0 zg5_8wMSs!YUCTw!Q*oT9Kzx+hdBb7n;aoG-?QrU-V-8U*7pdFnHk^7^dj;l5XHTjA zpIX1NpQ!)G&Yt4@hILjOxgc@1|6n5%U7sgv)3i8O4!UU>@^0#|o)}w?o_oXB)26lm zXie-}sKY{QYHjU5@(-~6wEcQ#libBSV^~i$_KLnk`nMWOIq_=$aTrs4WeMeAiCnow zO8Y+6=DBjEX#br3I}n{O{@#PXl1D9O?d0fB*l(P-{a9(=ru3!p{O$tW8w#6?&d;q) zIfV0bxy(PZhMk`aTIc7Mit}@HrmX-mv6~Smi{gK}8H}Nzv{MuCy;n(bJW7SJo!jr$#%oHl3qO zik@vf$C*B~by;#<0^lKZL#o%}XJ1`&s=NH?|G&phetd@99kvD`KL*hJTPQ#JVjV5D zuilp5Rpdtp1$Mgp@I3F-!t)V_F8R;U2Y*C4SHQG*+*&jvf8NsgSLd#0JL=)o@>}N+!B3oYZrHV9(v%|(eokX=&1BOjMmaZ zdR~Tgw3MFzD!;4H^XUp4ReHAS_vDaH=u^K3b$V2t@D(#>g9!xLea-kYBAd&d~MCc`xp_f1(k>|wgp$pOXS{oDo0J2N1VfX<3 z8*!9%^4=_}^8p>1X#L&VR_eTv#rhfIOYt4Mejz_6Y#7>oUC_(JU$pKFM=kWXBIu=5 zlcSbk7FWBFe>48RF8;i&Y8R^ab%iK@4fDtle|zAszAjeRL)_QJ z>Uuy=qn!S=?UQzFX&>B?n(AFw&(}_Z4zAC6k~-Do>n%aUIkxx{&5=Mvz9ZMLcDsV|s+KH^qVbp}YDG8(Y z1S8yw#$W_{DTsVU;vd%8bjTcM+oS!dr4`(V6{`C&ns|x6>VKlOQ3V)!q(c`jQWaKc8=4}!sM@e z=O4#TKMTus2z#rN&d#<_Kg+;6TB@J@SbkU0&wfka7VuN`GpaAK9lo}2J37yc$+Kc~ zj$$qJEjm9Yb31;@Y;fE~3f)Ee>ne~VBK>tg{;G9)L>+i5^KXHU=`5Ak*|O&Nx3V!u zI$O3BXOGm}={?}b@@@;MFI0gp$lixP&bo7=Ik}3Yr%_JtjgU=r*9PTMQBE(_4zqK5 zdF?Qs)0-r6dix9uz<;w6^BWIcqAqYR@}RPCKGSfy^M{{nBVC4kPWvcN2j8XkZlzs^ zb}jpNAX+W{R^hMYJ)fhk>KcsqKyR~n4`AS^ivc}jC3rKt7l`x>@aN*x;12Mg9p|6* zW$WsPK`t=YiP1Sz zK|kk zi2APEuhi@Z{CgB?TCtdc(D$YN;8icRIeEjYz)RffyIui#VA-><4;}XGfY#fyCv3e` z$SO5=`XqJz;CYVqw{^W#*kgo$zr3K8_~&AawHE)5TfJ21@hbeE0Y9+t54_(2|D#ne z6?}l|rGAB4^IrFC={B)?#=RbV;6J5a>J@;$Z@pBk^+c_g`Yh#Pfu5cgf1kwPSMh&@ z{TuZ^#ou-KE9Lh_v{hZl%NF&lmrD8$Y^|WEmzo%9WxZ4vd+TWWRc0|*a6M;+(!PPU zxji}!Z3(A2Xt$+bMXi^b!@kM=DkGHkaMtF2l}Tt*F7$=$8K3uHr9FuK&TBJXg7$Zw zt4F=muI!t9uAP;3C)Vb3?SuAjtaEK`TQBuX%8e3n z&88gbiSd4LveQoFdZ}v|4EesTRN5<8o9G}l`Z#Ozda2J?&r_n0p#7ck%%fiFeD)oV zXFpTgKV@w`-x9QmChlO*I8FRWY0qW9bDFpt?XkEgK>FO6P3PxNS~1@CCy~D`kNcBe z`CBXfZ7x2^*7%b;!k^O;f6_S$JlK61!nf4hdY%#uDR4Ru?F_A6>8*{nJ@@x!)GIx; zlhdBd7PUo&?>%<*+}FstV(Sq0+{Ltp7TR+)9b0bC{at=nvFCay@Kf!%wyalr*~R}E z@%x`st{ilj`Qq`!@5r6N; zUx}lSpxrWh{?DmbI*P%A({ql}9$~dpqQlXauo{Q9j)#ls{B0}f`EMt=)AQur$Bv%6 z$n^+%oudEQ5Jt@}~4P~S&C^Vr(j zJ;cAQ`UC7J8w-ChLo=3Aj*B6M(Oh?XWT2DH6e%7$wh_%wW^L{<#9Ur}iC8NH> zHrx&L8giP~p;pXzBWXuJ)-P>e5$Z}@iaJG?L6pOL8F*bjFIx!3qfi!RpI?ze6=FJ0b8pCoGh+z;Go zPK}@Gh^f)KDIQ2|wZ_kM)N;HTK74uqd>-(Q)|c;D<0moNK=&oE+7gM;TBRLhZK^Gi z82ys9$?i>ze!|+k#@bG${h`v{i?)3SF>=ij)1fL42(WpmxtAvw~O-~byAe;U#)uX&vu0gRw z=P7%ABGjY2lk#BUACq+%|9`1RIYe9c|D}4AzoOhC=6_9$KBBb4tj&4lI@acV=>etB zVx?WIv>!)X=S!7z_E+$wBh{n4qkWt{%Xr7iI(MFNH0n|2%QXm|v5My3LVb25*3nXZ zHdlUEq4R|b>~wv04|Fv>e@U%(jU0fudXyEY^>`EH>p1+M3f+$G?%MYCVo{GW74;~W z*!3vkE0z9vsz-Sb$sg#lG3c_@h}YH(hfa&!7W$5=za8nG&~?H4OGZO)sD~|SLYA_8 z2Gk7e1D#afRat<0?VBC@C!a3UKgpMz1pPBLI#Hb~^f{VqE#^#jBzo0v)NADG_qvY3 zTn*%Y70SGIT>d!E{fW;X=g*Hu{B4!u0wp_hd_^onqY-pu*A%R|BYN;08m(wSU3uRwoEZ|d%k z_G}B^Q*#>4CBc4Q`Rb9h0dDUiZ&B=N!ANFIJe&HXNknc!2{uUvdz z;+KkxYccOpn0If?yBPB>z&(G2bG?kjk{p^l)~vp}2J?@hK4kTBqw$NHpm`8$S#B7e zzWL{f$TtPXyVrx>2!>x&80JCzuKxA|@mm#syDMls8e0yyG?V5ML36d8vm0}bU`fbG zG;tq+Nj5O$`VxF=z#r-u-%DUJWr1NFcnUFqEue2U=Z@ZU9%RiqF>cQNtT`u|m$qik z9a}zUiceGtUFKFgcMDx+GM-8PBJINn&M$x4v8Ux9TNMP}VtI=i4@rLI__tWsP_eE*V_nTzPsMj!&t1mR zT~9z;&w)TH<1geNIv8l@$Y))hGqoX6QgT^m%(0@B2 zBP7l8f7b!`W7yZ);R%gjWF>)SgASU#4mqzxvkSw}6^Eiv5oj0vRN9>^`oxCjG{(w+ zBk1#RQ&VYdc#bO#>wM)t$W5Z*I^anzblK3VAfw?r&YOp>7`T_i$&mq>`I1P8cHHY3pfFsG3YQT-?jpj@GAE&WA zjpoF^1)*Tn)~(ND$KUyDAm#lY7c9A7sA#<7xC;%imXcf!}h`{VJo zA8b3-9?VV!zC!1S0sneIUWb4mZZg|Vedt`(@!x+yMw9=}O}^{!rM)KpTf_Kopd^Ivk`6`tLf<7n0onD{jPC}cG>`U}$6Cze zc){R4d|T>4{RRDe56>9C%1dPYsvqKJ2lIjsew9yp&@$-n*gMLtmU!PByN>kpmr*a( zjTd|IIMPEGl5UQ@u3d(EIv&eI9LRX?4T;O7o96`?uUmvX^3lNGb(q_Fffr*8ju$rq zFUZ%@2l8<>_NEYd3)w_-kV9pYTE=%t2C+HeJ#0=mKhWIoF1i>sQ)!NNx+>iZO3_AZ4)|-mE&FJ2jRNQSgXa2b5+k#6b@$PQ#sQ{qS9?cLcd$-aLQ& z^3>)l<%A5b@l=(3({G4O}FiLk|rV7uU5sto)Vxo;#VR|Ah? zMd(ujy$=16i9UpbOq*Jo9NNp@p3XkrZJOE$7jH-wM0 zj`pz6E>>v#{C{#8iMXR>>)859P|;749rRvE`t--#?s*Y+hqr`wnSSyy?8rwa#p}~W z$(nw`|840f&?~+u2*l|pzY;KAcr{@92JH>tj(#fKACho?1AXRl{p3y3Pj<8p?x8Af z6Sr2MexJ@8EBf?-iWCO#G_qeR(&FJglIw#%YavZCc#pL8!67P-tVnahTm0LC_h9IH zfq466fPf`~Gk#a$+(-OI^72PyuMBRb{#V#Cd*v43_S*_>&lB*C;MuC=R@x=NbMoVi z0k0u_;(j4FNT0}s+#q@G^;-`35a}6N;8h9Wb2)fd2=9`zQP&A+pY-2y!TZVgIYYh+ zeaQBZcE0q3N_#$y-KS{#C#t}E6H>DyGx4_udgTD@J?WQ85(gB&0r52>-!Rjj|JIeB zb$^>>7fC+^=BD}`$e!$j^-7uBoS4TtBT!O?_bdeO1#FQsU>tbso2Drg7vHJuZBXp( ztAcM;0k+4||106WhuOahyvhDm_E^<_-1s={ZQ`Rjkm(%1ZWQ=+zrZiTp)4IQ9nZ&la#$YX`X1&o6+Uw@CDT zUFd(Zu0Cwcl3BooV*Fl=`O;bBV(d#T=1cYJ3k-wV7{qh(u|`QhpB-+R@;3$cG=B?! z8NaaoH&x)1O zvv&P1L5ITk^paSY^!Fa9;QmprU%2>3r*r*cMhkfh(=Vob=@*)Rv_kWbP9|ScynfLM zIjStCL3$j1SM`fD@f+zEzasr&ax3)38}e}SHUw+b?6<^ zck1+|)?*%h!8fJ-w?x>5zkyvy_Fn_|U=4WlRz*i3`|Kas2kE=`dLO6hCj{T4{W%b5 zZ`(70lj8O3H#q*UzPx3!mEr#zHvT)~11CB4>j3|^rC+}U{Le~>vu8%(?j7cDt%R+z zN%&jQPo;z5qEBoS{H-DlfQMPfVqqh94NvaCyAZ*ZAV`9w;j7$ zF@h7;=Q=gs=X%v4cY5&R(GH*MRBxZ_dIud`dWdv|MCc?f^0T(jV}91zc$f6K=25%- z81_8Gz5$;L)A9K?j)q@x8*G##`Bwi9I{Yr*hOX0UzwXQ5@!Q|Ur%e3E@+lAGKIKte zpzotDcP`F3#5yKNYEMgv)Munds^JTYrH_f!bRHY2J9Av5VFG?nPsG0i_;)bU(4W&d z^1>gD4RrTe9MK0|rTL(Nqq-0JLDeZ^QsM{P15o7K1bq~I>`U1!=wsaKyuJY!uk&{Tj zk&cou9(rP)`+n*0h>O`4CYYlE8`5c|K7SeXd5TrY{mBvgvs~YwJnpaG-o5Sp^_3nv zz31LQPhJR}Uia6(Ecc-e{PmkIZJFFYmj3!lSZ7Q8^{NkkVN2Jg=w#&gEq-+Te~b_Q zS>X7QeDFO4?fLoOyNEuj4}L=VvGc)?Rp|FhI#&$-+BuGXx&NKnYk4mI_jkCR{+9_Y z!+WN$zGM5}9sb}v&Hpa`ZRx8O;Dved{`cP_ztiG{_+90N&x+rO7vlca(pW_+dEu6p z`P+4S?JGL(2{=o8t-1d8U$>C{7<}8<-#$r&ujX$bufX@m$I;)uQh{&w@%HaQx6=KW zMTied|0U%dsD8cUe`;u+`yMMRL79l(&UoYi(P(JER_zfx7 znsTFL?7>a{myHXiGN`%D*XtgcBgYXaFD zYY{uhet1u5Q&SM6pM?LDBe@qF;oP%_nMKI8uU;06%*36;H30*6O(#U_CK#3L@_U>0 z7)x`-y;R}QxFP1$Ip80QlSogm%r(ws@2*~!9I47mFk>m%8_9o8F_v2VA8y!F%5_Oz z6OzqqRbSRmeJ*vl$_CDxWIThfU+C9}2Y%bJv!!1bra@1>&1h_DYR6zO!vTYKP8gIW zS}^4+ri$;eWCx{F_1l4%nqQVW-kR zV5idmtJtI5-WQq$fDO?-&nm&q5u88%r%BP{so-)$6(C( zuucEgJ{-EyqJIVU?)djT3--;!zdHo%A%0`>F9W}2;5YnEzh#kc#FBLu zjG3$(n%($oz`8m;r*SmSd{hsXIYqeR4>2CfA$kjW;ncSV-zb0_ti?C#Ap3akIPRyW zy^`z1nDr~*>jI1lFy8{ei0q99z=EB_geI?x;K z`R!OsRZ0TRof?gYvy^Wjj$(ZS&*Q#YEf`OukIu8Uaj|B(6@*!}VTaOeW)IVsR{nk+rX z>c5@MpZ90q17$BuCI*mK>A`A zOJ6kFgIC?eb+!b=^|NPDt%{OHLkJJJW ziwn;&*P%`8c=t2ljR(JZ6TdOs2VPX)1bq{^1UMY^=zXLwh9Q5!7gXN$iqE??(YuJR zF#VJ3outQ-9t{3lnS1f6W)|L8y)1>{6_eX5PB)oMp?&1~r?oEy*q5rskRjk@t7#7p zW^q|XIHK+O)vPacW?HAE`?rf!LC4VbPqS9)KbJB6(;*L-9mJo@J$<*9@98pK|7_uY zzCWaS`}xf;{P**EpFQ}2%YHT@kKt94MIW4E<^`Smd8yC4@_hDl4ZZJzi@=-aL7!;e ze*SY-^Y^os^=;mM_GsaLUhlP^dHlT39y7(*k?GuyQ=fPhd2+;iSJOGOsT4lYvH^QQN=={G-_3SPYku&4%cvbdpL{F<#2)cTPEg4a_3NIQQkAY%f&28wyyH93vfr^+)bXSHuXR7wylzy|Y;Z z`L6cwPyNZ?0s1%yoK|tZ6gi1R7uAf;63im(O*LY%!rrS4y)}f(jk$m`*Du1-ZvL=< zU}N#5aA&tjj*pe|FA!9K2)v%#d zAIG6;DPyjXGN#gS*x3BJ+|OZRKYyX_X9drPVf?7VnGeJG(Js!9gnd()JF1`LNA|av zj>2@R|b3YjN_UM+MwhzW{!;LGUB=Q}?Ds^oeZ%KibFn(Vwu-xg_Hc#@jo; z-OKn<*v;OF(r-?FWWk%+JJ{P9fP3|m;72%b=-@}Y;`mY6&E6S8`zHBO!AYDSVXWXs zVd6)h4QBi(%=i)d2!2#)`HApM@}pBh7i$QoZGKd#@}r;ltoKLw?QlT{HiyGy;%|-k zo5kn0i1^XYkhvbZ67_ZAM-CW)A3-Z*Gat> z^I-f4-`4q2F5$I;QxbodRJ-t_0Iw&pv>)VYz*$d%;ctV%?DHAm<4k`&G{mI1KlCvt z{svN5ETA4X8r`wV?DG<%aW!%n%IN%GdI#iSoD`|b3z*wbQjY2DOEml9PU~v2Yr?0*$&M91>-;7C2E9e`8#woJY(I0!v`os3WLaxz8J{C~_ zBJ_t%Mg7U1Uo{E7YondHlWJfuz;Ey;G&P+O;qMz08S}@6(msf{5G~ggok6nQ=3!;Y z77wc}!Mo>SJow_l0%uK<=a45zvX}9p%X%?BRJZ(ODSOL9oz63Jv9_AUkddGR#ydnj z=F1s?$>LL3U-$tkLsw^-wD&bd=nK0|?Yocl?QFkyn0PO6O!xroePeyQ*nO9XzSt*S zPJhVyp33?H)|H_@3E#p3^o74nox_`~Z&x|r@(}WQSd3#V`T~d4zMEO!(^y~lM9M=? z^)P4B+UB9Jrh`1k`gU{h)w<=UBOZcWeZWrD6+W*LJXP>H$x{c%0Lzr@#;4&+VESDk zjpcLoyO8*4x+6c9@za|~AIOWW#+)FF!?~ZfH_vzFr|F!ZPR9O&Mysb9jdkzKb9+vG zV57i=H8?L>y^?guE|KhMq{E+Y#tH&v&+}o^;@`RWcXgnP6WI{Phv= z*P28#4RKsAzVq|l-u(40`pu8;Ov`ROPppygSFDloSIpJouYkjm_)Y??6Kf#8L;F#O z@v9JP9s4q){ql8)bJh9mMco6S{dX`PuwY}e4fAT$uI@#;c0P|$seCKPXU*ToZ&f?+ zu8I6zt8tcF@~CI2uJ;@GZ329rWy0r)xvm2)-9N+F&-|)*E_|K}pR#?Pf52R^7h%P( z8dm+PXVCX6@D1=`TFdHT^84-0W%T{c_zkj%{f0B#`OF`Bin)Y-dkMcm9$P+N2FG!c zHRG}yyAv$0gdSGdjro4#^+9`%Cc$$P-Zfl&XMmhTs`(@O&hPLW@o<{oW%4(}yor8$ z7QYQve8L1DobR^aljQ;*Jd)W06T}`^`q%3YD z1J`xleIx7JL%!GM-EW}p1m}CFvA#W7U&xyMmXEpueZjxg`A%YeGg#lPw6ipMI=ARDBc*AR;CpF&iyw7@{!Ea4XJrEPwpqjfFj^bfwWKlGaL^8jYVSJZKnSl^5YduG|WBE|*(hHmFB z`Mb1pIqpb&ef#emU$0hT0S5l#`Wg2h-^}VKy7-S5bAL^&bN0qHq@OK0S;nKC_!@BW zAJaL!K)nC>e1VG$Pw~6T-}{T-$Uijz{^I-Sn|F7FE%kE;evbFquiR$fXX6dPPn_`^ zU8wns7jyiS@n|pn{4>T|_z7Pqi@#zl;b+zLuy^2}DIQo~T8B3C&yc@V$4@+y`1$k_ z=AWrl{4?dMf2M=adXw>+)K$Fv#;=1vu6ylda}4>5p}*+<85Qq{h8b?cKl3csN$-?$ zVjKYlKq|n`#o>qJq#CK zxP;-tD8Rb-gWl%rzzd2~_r?Bt$;nLG`{{h|_1s3}t%M8yyNlTy{?eL9cy3dSWQ5U~ z=M>Q1^modGx2^~L7V~%l+w()hmY*KKk6T&al!(f|Y94XVZTk18av!bSCT$;`xpm(c z`$+Xoi7w@TEy*w4{sN;<#3ZczMjQUhKHjA5qs%XT(J|h8|EAJ-k39h0mFNEV5RtFP z_W<-!9)gdO(Vfd4%vJUPys$D96!CqRJ;)b(;Gm^t?tAcf3-{nJpK@A?%P%Y9=d&Uw zL;oyt)>F&w1ez-4^gwyebD9amWP%~t?y&hNH@CW!=lEXj7|-$~?LDlqb3MMiALGf# z0eg<}q-lI^C)8k{0pBX}lxj+n$p>SPEwjfqU@Z1&zqF-m(N=Bgv52ErO~AWB=k(qj zoOgvSk6e^=^W}E1RbgW@-dp25OZQ~G!h0V(m-F6b>CDz*`zq~7vL#@vsQh&Abwr2o zyFg9?U&5jCQ#n7KioVd})V{k|-wv$rYLcD1PvLRB3Gwv(0qcvH0N$HJw&Cr<9)n$| z>xSD|-;Pc`y{r@S1;r4{RqdEW!Y#5Xih|6hV6c{PJ>|LN)488=+`7e;z6E}D1b*dd z_;nKSYZ>-0{RUyhT#WrPSr!R1b#5yKW+r${VXqE z-}9n){Fur1hR1RpxU?W1Kc=$2TsE`50|Y;r7mpv8vA$_Gj)q0w+v4#fhxKiz;Ro;= z>(ue%o=*gRB{T|ArVW_M_6xpYRcWW3e~vH_O4u44T_zKHsd6S*GRlz3KC=3VIj(qf8#$ z1zJaqA)Ilh+`#?0LB!->$EtX;$>&|=^e*^E8GiuWRsPT&Ig_Nj&m{jd<@~c8K}E-w zIfB3;Arq{9zEx+HoefNicb1w8l`1IhP6EeZ-JBsy9 zCz^*}NuDKwoWk7oT#tMIDsjfr-NTmu$whbn<6k+=-=@$!_a6v+IzoP^#HY>u6@23P zp*B7h*!Z-k*dL$9`|KOV``NycP5^s|@oOpjw zw3gEn^9SK~mCnk4v*Rl4~r$J1Vce-WM>E^E*IK^QCiL6zhWGJyN=2O&O#{6X{){vaFw@l5j5 zejNYH6@O4z^#?8WS?_)L?J#^x!zn?e2YZR)SeGMWeZpsMg~-5>OWzX*Lq;80Zx_Xn-` z3+F)&e~_q0kw*58rjM@bDD+XtVzPGzJl{~7Xr1d!C4JI{J$R&q{hLLg`N`Nz=%Y** zh3_GPyUy2;z37rdcoyJYH4*(uenH2~Mh;=pznE`5?3P1#2K9$dLo$llLo_DHYq#{r z9B0D6k!zfa{CQ2@mf8GqHO-Oa9PsU6nNv3XcMYefYLZQJE;K7B4{;fnAzR5_k$H%S zj|tnx+OOYTL;Q)`L2S=u9^ypw1)Zq8>^H10w}WCN$7CKN$vp16u-^M?)|cBs&~eH` z;Sv072FX0`_qO^z%=(_B$+3>W71Dj2w#|;6ak{IM4{5q<`d>H>-2pkq{S_xMe#i5t zJH_+6j){!l#o&L2tcM-iQO0Yu?{tdicb|aYAy%NrYi5f5SzVdk82eb{E25vu_pT9r zVjm-45$9uw|Al$J;{M#7UD%lfRfa7>K8BZm^>h4oB>p!9Ft7fE@~4xX@tTgg?0lBY zpN6jM%Ky@6&m{k=>B#vX#;W{pOFxDGp-&wD!!t>Pd+uZM-;@81_gQZ)emh*l^AZnd z@wpr>5P!?~U&L1` zZvtPb+hE&W>rq>39qJ#%(tE=GLJTaBYTlTE988?Ei>2RyXVclU*=J@)8gR}pR?-o< zDV-vegVg|^6P+*oTIK-m=KdBHe?LU5)eC>$#&5p(3x2Z*aIW4!@kTAr@wB*jqbvSi zgYj1WAI7Zjo)^i5t&04=@`9Zs?EJq8fDiDz9dn$0kiLZ#`nu}t9r%7 zR9E<{@t3ql@K-PS8-u^-GO3GhZh1H=&1TR#u?CV=b+pbER-R+nHP6wp zPCMV|bG}ZTw~EhmoawX9X|ztr2G4cE*LBK~)(KdU&Zg%%s_U$qigk{~Iw51(I=hdN zd8^?9nvC8{21ikPRx;T z)^k4r3%bYMWu4_x2Yr&(NqPX*K;vk%Ld*fUC-fkz?~SZ4&p|@pNcD>)W05X5`25^PP2PBF_l0*7Gr!ekAlD!N;Y{c;_R6CF~n3A2Y!1 zyUvgo$aPomORS>v=b(3z7crbW1x|!>Yx|pn;HS$63@rZuv+t5DeTQ(5cw*h1BKJhg zPq{+iLem2HaHqpJUpUN+L7#cKZ++=~_;)V;T^(p2Vc(E-Rsyzvx4!TQv;7C2rR+9Gn?=El>*3#>0<23)_{AIdy~ zpHBijDVJG&@6)XB$xd8cj+|-CUH2{3e<Pgy~v&s`N47cSj1~U*H7dyt%m(pw*&Z?M|H)V`BG5`N2hmR^!>pT9`>r{M7}^7^NU<3sl< zck|8OhTk-KZSg(E8xiw5ORSN}F|3j02V<_5UII9H=p_~{HvSjZi8YYCrv0F`f`%d^ zE&4-#u+LunZ2{=%4U7jY*w}2toP_)S5-G>dB|rEgpEaM4-&lU`1pY3OAIxOl2E3Ey z=Z;nKUolsaAI$46Wbyo02S39zY1?eXT)`Ktx(l^vt1-<}==(2WEqUVmJU*&lYo8&G@6t z0j@yb3C_N^v%Xwb; z3%y01??l#@=L_P!VJioC6Z%4jRQrx%eU*G+ng9Dc^wo5%i_lli7tSG{jLiRi7X39n z>s;zzVCVC)xybzAC((bfb1ot3UuO4@(cEQy4ai4bhdPz|*EssydK7q!F6YwN{CPev zgMrMCERgjtl1;LC)i`+e2U158_XnhaZz9j^{tviZy3Q@1w}{)W+AxNZ-0`QTYr>?*{wR~NiU2)cT0Kc@xZleBKR=#dn z+L=`If%zx#ZQVclkN2d0@66Y|K;Ww*J|ptcws#`_>C6|(r}#`M*;~Bk=@?&Q$4;)I@z4`lyrxvm7wT*dL=AG8PbPEK zvWs&gzjnMk+4=4=``yFo-Ovr0U036b%bbL~Nh{yCH)sSlVYSFP!~RuLJ;0e1gPUf_ zQ){0tC;SyTXA6lReVPgw;j9ky8zD=rzPYR~kF}sL^cLh1Q_cYN8zD!nzC&4GZd=Ca zy_q99W`)v(I`wauRyK_gE97q#^BBevTmd;@dI)D$a9j6)E2k1B|AN&cyR^-!TA27ZT&(oxR=+Cz7^-YUx#h!(rqgEqlJeCgMGW0jyZ}Ql?E!(r5?{b>KeO1=^h^B%; z`*`l%8CESFmcIgs}=_$wHeusL9`cLmwnOtPT3E?Vf<|4I%D3$n+@ZRI^+H) zQsM8T+KyCnnC^89ihom^p3#{4GmXX!+zGd9l5t?SVN7{robhf`&^WL?!I(nNkncBz z^80pOZ5-%F&#p5Ltj4pxzF&}x)Q_qK-pFS}qy3-R4SEW4`t9AH=gMW-{Q3QP62@Z= zQLXNHy5P@^Yw5iBY34iMt1o3Xn$gQlFpS0-(DSR$%x+9rVnhgMtESLdpEJ$SriN02 z2Wllm$fmf1_GWQ*M87|S_Gc;Xy8gCfH+z2|FKXc9sV12Op98@-88D~<4~~Inli#R@ zY)-6ux)I#>G~iVSIMkzG1O6vC*QaJbysMLOAoC<+O6}Kq@2|vOeh!|wGHBdEaNCt? z9LPbA@*{`V0g8!*srq<7Q9f7l4_92P!++X~)p|lwA-y2Act_1uO zQ7?YF(QaP{+}pSv?X%|maM&B&vL9~9eC>&GxU+hlk%E2V@b8m!Xw#^Kq>^InOE7q7 z6YX1i0C;Ak?kghv$}k!WjCMN;P}8&~5ZDp;rsx6O=~zNIKy+IGepmy%o)I(}=e=l@ z&w6Cki^Ya2CH%W@(?MVB$~ANjk9{>S(KZuI|9l9T=~ROsJ89+ag2 zKO-korT-B2SJFRtc9)f@3U9!^%ikWByaDg>;|*0~z#H0uH>4@NA=Ty$?Z6u@{;s?M zdI#eT$R|$=`SXU&3U4r+N@x0|4Ykr)!R9%AgO=)MYruiwnrL#6a#)DqIfb$@Qx1?$P zeAnShE1b971sXnHyydbh1#fAu@fPIoE!rt~ORCLV&OSE0rE;Dtyf|;^4|qx5(&-q( zE`&QTC13t#l7laYRladudQ#E-8u)~1^awecTo<9%_fmHfCqgYjdm#n$z{K$aWyKRo07*cbtR z+`Xe2)A;eT+WfLfCo}?Pj;8Ca)B5?Y!<9xjKkf`#I9~jC_e2Ljws{Kpap+@De(Z{u zUcAHWdCTF&`SBZ=m*go=p?xf2r}E>+CG5DKY{L$E@_Wdm(DmdKfgj(k!0vk1=KT0t zv~_+Q`Lj1a{=Z}&XN+o*ee8-SSRc zeQf&%CvSj#yx+Jb*$ip=RMA`~Z;+s<%&w_@J7jG%P+*=>};|C|EK2`vDN!~K< z7{gB0$A(DQx#(j*lCX=nkHa4Jak+yrPDJboF^w2>Bl+wH zc$U$@?w=# z?*w0HNBBY!2V`-Qli&*l3@A?W!>^jA++zDe?fqoA^gKpx>4C~KN1Wso;R}Udw%>LB zzR)Q7LXpQ#agr<6Bfg5fPiA`~hrNpQr!E(mTbcf3=h>(J5WHUbwj4h~8xQ@f(s=6o z<_vB8p_|>upBFzKXD53L{muUVZjbRjweie{`RH&n#B64J{7#SYCu!p$tM(gnPD5-E z_X-B=@qg0BJLpb<3-l+OPL=1DFIRciKzRlWIz*@@P8H%UAD>w-_5ylt067|nE!VG; z`vX~pIysP4?YR%!EttSUD?=)`>timdvT*3Wkxl7A?3u0ouK_(TwV zLX}l(m>tq?-_xMO@$kp{#fe@=yimr8)*@a=KKv&Ux7f|{mcc7POM4OXG!Qd0j3MSv z&H-FNH`ODFUJ~~Oz$>ce5q|;yKaBr9gOuKl4+>y36L+Yqz6 zKb`g>d0z?kayR15b;!%87kiPiHaC*qJ-e|VVtxw}()P_nT(2sS0$fN#>@FQ~$n1^1 zr=k8`VJGv?e`qKrSgz@AG^(&%i}PVoz%sM55n0uRWCNE0bpwItfa&gu+1U5&#yyC8 zG*J9p$cnUXMq}?JkL4kFhEXEVYEz8MR2iGGC|3UZ9syAL8~L(Q3e z2C$>Nt03;K*o8P{1>%%@5TE=Z;*^)-oBIOocBFn&^1#_fYDtrkw(n-(X<_#?#J^Kn z%(4ctzbj8S9xXJC=Ou281#YOk(szHQUaQbp+u=zX_9rEpz;K1+esZ*{f;We;7j2F= z$Wf?6?!SdMy>lYz$mwYg-i(xZ(@Db{_yoI4yg`h{+S|bbZzg!)4Prgb!JC`i@J4&L zjyIVSZ@TBS8gDAPIq~MjZ%!<{xf3uaxkPxggtd8``&JEaRNjBH3-4F?4e|c9;5U>b zpz?m=`N_x^J1by3zZ*F(bvRqXWWY4YWB9-io?Tx`v_AuUc?N_+EqFr`bSC<{2;&|_ zP7V1z3!#HET~^gG!CUHZW?}bOjwh6lPysro{Ipr1^CHkYawv8LzbSqo1i3-E2y=e; zWvNQjSDi3>!}a&x%6_CBt^I&Mne7LiH5%^RkFeimFwl2kTP{n=aSS#fg@*D{M%whMaF~>}QyNBn1ApZ*dtW%lPtI7YJ z6v-yN|K;I|f0@^YfAdD^DjoA&AJm!d;R^&$QT*KCfXXN8TzB}cO-JNBw zCcCK2&M$jdn_nT>4YvR$fqP*8*!g8kw0^$pkamM(AGzJ|C32t~ItTKOn63)FYrIQ- znJPQhA*W2rj^Y5f8%h#+ep!I>%aE&hCiHg$HQjVRvJiP@#MgVJ2$>5Uq@2Zpu!U9J z@?DqI)s%I4?VIm=T;ap{$TO59CiuuBM-x_k1*~x9N{5w{fs^kRGLT@^7q%AZwaVIk z*LVzIRiMCX9BXr)I~r}B=RUg4=DF*z4qo5sKa1Z6E@?i$_1Zhj&!p^gTkzZGR!e?l z@!Lu_e*2@@?)-MGHXi)8+;HKyH)!L%*6BsJmY+shzs_%OJuRN!&bQ{r`Ryvo@fa5{ z7p6M-?Swh&+LGQ^BgKZV~8(E9nV!HJqNW~nI3(D^4qH@_e=2G zp+^%|&EU6R{q)4~$A@8{p@)mZF}=w;k>J&va)-&7IJ1 zZ-ah2SJ7{8f_^&}`t5DdZ|{WsX{LTFV+EAsti}k`oVxSKua7u_b^gIC#~D6JFa37I zaE0H(H)-j&n6Iwi#?!B;x$4kw`7HPmoL1kW;Y&MLtc3d@6u^0)Df5n1p<~ z6}G4v%f1A@6nO@(3bjJy8JwrV8`Lv6I7?^6mhXmqQvEL>CBEH(epBZ@E!8mjWWc!JtKg#dqv{xUNCy-BFL`xh)E;nQwLgSva20@Ggu4Bu5%ijrd)=1 z(b+xVbEVT~G2sxMk967!{Fy^`A^ybtQINy^&i9vHFR=4DbqLqjj9gC4yXc)jWd ziVK`>{sU(#A$!WLxBzI9#Rc$p5yt%jxhpI#fLIXIS5WT0iBTlsLA4m92UN?bI1_h-wQW<-{ZOmoEP?_97617WN&^6`4eYv zV*HWp&0hnKmc98xE9}jxq&R!ChZyv^eNPDvr)-UDM7kIAX z)UmcVubgv4d-FKKjq6yiGq`cvJj&W!E^R1D7v zm&4{Pg-m`#u{oE)=6nP;XDMvX<+e}sbJ&Nf&3TPtbLMB*`P1iihffrF&<`SRs`^HA z;AfIHeWiFbbpbPjXY@UI~C-EJ>B-f zhNwOTcqHXk52N4Iyldn)%ipS{je92644d4`KRfb5$jdIUaXZ7tg#RhHMw^9Q0gKwc`}rhH)nyDwcPiq2xt#_+9HUKCF$eqVeS? z^L%OL`0V;LVj*{)Y10iYF@1n7)CW@1_M*i#;`ZO(&*r02e6l8@b@H zN9S1cgT4{y7=gYKHrj`{zENc7efQGl2Yn-K%t?yVH@a#4eAglM4Q0+U@B98gIb}ne z+AtI1Z5Z|ZQ$JWEMONT@CPD1OGp4!my>Q^+ruSf+yu^_a+&{WewAz z0N35{q3i`er5tUF4^#=6ly)}Hx82hvSTZunXdKzWXe{16?|pjrT*L;RL_Yn#IkOH8 zNXu?K8}IKw*oZXE>3wKq8e$5#Yli&$&C0*-;>^GP*#V(viG3eRJ^%%GefLh4a1$2ysvIY!%G4n@)_KGb3flYhJ*?bObQB4qn}o zGY=X*{B@ucAKsFA+$RV=T&Uo~1O*=kY51V>>QV#lawzUE zd>cXWY;_m=*$Vho&gyDBPiLOC;5@bgTW}Md2gW+9v0h%|HzRtJ^uNIGAm4XT_*O#Q z>}T-rFh9*goSm2bdW&bVGwf$C!OueL&4FJ?_B$WXSPnrSz;vFsf2HAj@UQfQf29Zf zEAxbZr91p9m^1UQ{BP5gPi_B7*kLypiTl3*6L!9X^l$OZ;a|a-4(4Bh4{QAM{{EF> zmP0@`HR}KVs-bkNJl9^-F|vhfe99UoHTJpgtF9IP74hw+CO&?NHa?&H6PY+yPUo(b z@wp!3@7Bg6o)I?QI+f?oDdW%g7(YiF5B~`4df^{Y#`p3Vf3-G#3(a4i>sQ8~;xT@l zHa?sDQ)hSM=i-&|i5}yJY2z{fa^t}ZL=J@w|Np(l9sXx)<1;C5?@`o8?udI4lxA<~Co})lZ`11qEl~~%?sOQK-MGb?AH~B? zrn&@SZK5XvACi%O%k;$Cgq}z^a4pI0 zfVutj`cm2tOK->CF})ps7h&AZwC|+1!;i^wU?AV+{?`Jwb)+ZW#`oXS+cC~dPrPKB zh?j}I*(7c3`E&pR#GxuU>cH?!l z7iI2y@yjFa1$^TV%DsTETkgf@u&0jaUJO?DqMNoC)riN^xdFPTBLdq-j}55zE+nDG zzO1KHi~0(rFYiMRGVzWA$_)lx_~nKr5p03Ov$~9n%p3=r|F1@jI7aleT<|I6 zH&dOL*PvGy;~uWb5h2^gIc3}WY@Gk6JweT!RoU2MjHA0)=nlZD<*?sCd$UIw^qqI_ z@03)s6*+0^KAZo(N14M%M8HsV$c@8GxA6gdO)tSX zFTLcnYn*zC3HYx=+6Eaovx^=p>$#6De!+BI$^8%b590 zmwINk*BX_@xcB|>4MNT#7EbgdVYwFd(0)qrrdS-}bW(?}gO8Wla8o(0SZCb;ma3ryW)g_8|Q^#1y(=NVAZBMK7f^_M}gg0tj*&fS!nBVkRRhbu8f0h#@y-bA^rECcwS*w|K^`p zaL5c+dqd{AAD#0G;V|>hR`N53?7V_qkA$6}h2u**>d)a^O0fYt})w!zZ!kK~1(7 zXE!eRqmb>zknQltQ4I?H9Dya<@eZn0k+uY~{WN)AA<;UoK)g)K_I!Ms;>jf2-$ZSL zxbq4auYX5BAAc|4Xq{JpZ#iY{q?XC{s>C?izWfO16@2$x>W9jnd*QV2dt7mc%l3D$ zA5ym0vNo6P+tF5Ws!e4(^miuPea^=(o$Y^K!FRn!6>eNUJ+8p&=d8`;(>%0w`Sj-R zZ21&-ULnBiw~Rjl>bJ1E?BB6|%TVZK)*Y3wtJwJfs!s@7r}(v6pU`U$ooC>=%yPu9 z;k#q;YxwihkbB^Fe=V<1$m_4{{sogy4)0{@M$+&KEV#`y=UJ0#qEP7#f4PAC0Ii5B|V$f)J6_kHok4(+a#ZQ zof$r4wurIUTmEvFUrS{^(bvZ|T&TH^6o z*6C1fDgMkMt6EvF<&uX~S(QR(*}_IRi=PEk>ZN=&Ny;kzZCS77Ty6Xo$`Q##{V0}e zW!HOY@EG4i8_&K!u6Nw`Ki0;3!6}|UNcgF;jz4S2pju^iy_Wh!Ro3x(Enhq+;X|@6 zjl*ZBI4h^rYk5|iUpB#E&KH^8Vi4^` z3}PVcvcB-Q!amEt25Tv7XWn-*i$QqSYw7g|?&B$JFJcggA6fO4vS5GpMGRsf{Hll% zS-BDTp6+*(^;&*h<6p1E7j_QW!C~ix8@}&x-2=`8H)6e#2bQAU=KBHIyVYx9`(dP- zJ^l6rXA53=QS1lK7PLjZmNC1O{lFgT^;&%4cntRA3S~bAYx~ireo*X-pC2^yeE319 zTQMG{pA{n>JRAAq*N8pINBmQ**K)jJ*MxaVT&`tpF3)3V>+*b1xh>DFdMy>a{#xX` z?^b{9p<`M99)2gU^XDtiQtZp2ihT)Rk&At)*9yrB~m6) zJ?4~1KKU;PoyE^zD>A#?M0c5;t&QJ8vg*N8;$-%}uW*iUDUMp_r{2Ds$5k zG?@$e(9N2kkh$d7EbhhY-zzfrJ#BvQlZK63Fh;9?|0k`V?>b!hJ(sx`f)-RBe zmxup&!R8_FqpiZKO>?3ED?k3bWf14Tv$|wQWf zg1rvDy$13Uc6C_V>+8X{_ichKrJN}6ZAVTN@1UHhzlwLToG7t} zufQJig}1xhY}0)!RQ7E)YjfT|6K$RM{}yLkWen^-%w5L6nhFN(8{eOJe>c1KCeC2h zOoo30vHKYES?G)kyZdA;V1|5@>WT2nPtI<3ZD?70lWIe&wKvt;(7SPFMXkM=qtxYm z7{5_&TmgJRb8~TBtd^Kgf9h zyGt4G4|CsQkk^I|qka;r?QGjyC6`Oy&A%=0_uZp1JBdO$Kxn}Z#)l? z>sRe9{;c6l;{8cDn}B;xP#^PwraC&CfVGfs5qGnkiToIAe#HBeX?>MOeu{Fp3qPAM zS(_hZV7YNf$Uw#38n5;9U5A6W$#rnvzX`Of^0PM8Ct-)`{7kK#@!&x4GtkTo*j2=r zthhRO+v~sQI(|NQRt)%Amx1~WI7{WbP6to%-$&o~xWbFeg1LZ~)F&q$W7w&+6EBgl z<2ea7?7-81Dq%;uxPaYXT=}s-jJ#-|wXo~1z%GHcIY0gu^VRwBhXo@MM#zp1`A@J#vJM#;-jyNTk*UcCJ2Eb#J^aLy6_ee!)XUJn1htd)G} zp{6O<;ayZKIex#IsmHT8LvY_ih%@X#{b|2A(QjEDDXz!guteeIffULSw(n}Muz7j6 z%Oo%7^J!YZ$6uk1H<%sJiTlo!@u?o;M`+`#==)y}wN*#v13z-Pa)q$h_@ zz^=8tMVntX!Le4H7gc1*@3nru>u~T!xehK%dV`KtS)%&xT78bDKm2vjX=*_Wtfnuk z9W%`QWqahS0`IH)EBUI>$ym*E*bs5&XyCJ(A@ARX?(_M%kUh}RL{683f1ZVWC@WtT zdb7xXw{+h1sCUu>eOSI~7w}lpc`=tdS02k@#F3-;UtdSNKt} zf0iE=<8(i&th2oKauG`s@LvS@^B5e5xi1VIx`O{6`M$@M9=NWMuk6QYZ9m#n&%(aw zdX}myoKLupJ#f>r=88RGdX|9WV2;OO51YH(swwBRxm}+FcHZytf!)ap?7qYtRa`!n zu&Ws$U^c6J?mdlThICp z=1z96{Ex*mi@5*u<~-83y4p7IRPfpY*uc}l|E4K6@YHPl8+;k~Rs)_Z???Jv)3?Se z`d0pFw!U>P>QA`oTREsJCv~I^Lf=}g=v$LDeQT?tZ|%XiNZ*8>RCXZtP=Gs z0ysw=!(8dyLk;8teZ!%H!LR3~gIyLSwhp#wywrjCx0@F5@taEf`L4skH|09G4pxC&IpURVa`q3jOu7&8J?rcrbf3Q??}45DgYH9T{{q}Dcg1f8 zch~s_qJ?6vZF=^P^hNj`YC*Sq5$EM}9yHV1fzCmr4t){6JI14+cf{$7;0M;Z>kP=w z{*VLk?UBBy%Yi2d9`fv;0yE3c3LVBoAEqxt_aS~$hq+KKP~Uxa$O?Zv_I-~l{1cNEc`hx~4`bj2okmUW1boSj*qnz$|1|O&T;P+t+^TWem zLg$aY^o9``&>K?WyTQ45x*vx5Zjx=^&E9`EO&Nf93Ez#zSEbE;gcvO5$#Q(5H*H5v zazEeAHqsl|z1_*te-|aoE_>m&b^+Y~RO1ZGMo?VdHC23rLZ>cWM3N`6!=T zyd0D3;BvPPw5IZa+#}RcR_$%iI?AxEQ+j7d(!mGinNU`n6ZT#m$u}17OJVo)RR_{p z%n#>7Q8zB#Jo#}u=0`kL%A&RK5B~#s4lG9(c8knoB6-B_SRBgpn5;U=;JI|4TpIXG zZ`^UH*XE>m>otBp!uy>yezIF#YwJ~VxeC?MwzbpOQZ-Xb3%|-SW#T%DG&;Ks*#XY!S}qw|~tk7YP)Cnb0EX2fv) zcp$&)kH;dPxsUO{N*RkZNVk7^cw8)U&KSu9`L|^(@_)4Pu$}CC!Lw}J>uQhjztF~S zq4BpQm@~9k=s0b>7o33eVW-cA&)1p9!k_7}%&CVM4+bpkSmuq^{6s91@>m88Gh?S^ zZ>%n$^>N!LQ=4Bl_3MUO1KK&hu3A6ebvSfcxem^Qi@|qP9(<%cmO3LTx(jtqW`5f= z<%oGKuqoJ?DANn6uFv~>?VIm=T;aoY){6lj zsdt5r1*|fIaj=rU+enHNR(}Q$rmu3xnk_%nXSAsIP06f+J+pZ-#nQ}AJePF}X=M{)}Jq$GcE&-zx9 zKV`O@`l&X*Lb{W7P_MZ2e79)*eAnUN!*U&5PW=_RW=D;mK<8p|%7ynzIdxW|;Jv^> zx-Ztwx8(EmU6(^n@%~=>=KCI3_;5M(Fy-P2ztmkv6ISpKGFbWW-l0Dbyq91FKVhxK zdru5lja6VZfVDaA?T5C`d+%Or^WJq>hg#p`Kjr*%!x;*{9jWl!+nU2~<@sUNx6*d! zrypCO@>}>bNUwi6zCOoQd6M7qZ_E2gmuTa`Z}%H6=cjYE@$q!X-y2W2a{Vg5<G|opd)_Zj#rbK2 z?jsGB(0kSM)0z0Tfp63K>GzUaet!C1z_7*Vr)%$de_JZfPh(E{`RPSRI6sZOu5{)f z@I77bapvFax$k>iafbVK{(^mwew}}?HuvkikG6_SZE9nVJhD6*IKlt?wC{QyvfCe? zzVC5`8<*W>3apl}HkU_>(AMSA2WxD3WSyVRK;?|G!hw z|H0R(c5C%r(EsPz`hQ#IcODk`25Nri!&<(9n%~)%erryCC(aR!GLm-8#Q$YRU`N^4 zMGxc~38*s=j1D;+a!lrTjumo@@;k9kvK!R=&iK8$+{JF-&m4Axl3TDR$KP&X`JGLa zlb9T>zn96ea_%1!`G-4GMJ_w>d2TnX%8_!6f4fPH|419p3qE8}n1#(Tjzp7%)jt8$b-<8rhe?3Q$9w=DP< zlcRto`PbU9dklVI&5z`0I?2&W<5S$zLGrQ8mZRge`7wDr|Kd0~IzsE`yAB6!%XM%$ z`qYz7-q)sQpAgH?W5nuNfrVL!bAr}qb;*s)>;`&J>p_E#su0U3J1`dDXP?%xdeGlD z-+36a7US07t~toWaw%)qBPRb8a-Z1QC&c6(XP*$~kAdc9BfmjE`=q{u&OR*{?_g)2 zK${fL`vkhRFN__0n8Vl$hkW1Tx>uYJ=U}g-4Rw~bZ)#qyTP~>T7xl~q#eP|5>hla% z>wYixA^!&Ge7GmZLz1;Uf_z5_@ouWv6lY`oi%T?8o1*Ub!EyqOIx>ZMGkX6S6wX&?DGAtJsgi z>q+nHW{&sU4~*M`y6J2`^4%6{CS?MIvD zzPRu;H8*!cFV5FQUQxMq1`2W7VzDRrlwT_F`ZeT09B*7cM}b{O*5*21d$e^OZyL^? z$~fl|xBLxJzisIWP`~Xw=xrI_v3}bdU0dXTaJ6xqaZRqLJM=ci-#fkq_1o^Ar|NCY z|KM7`?fj8aZ{y#V{)ai*c=#VG-TV)|wDIxy>Ti2E>vWoIXYtZ)VW+j;<1c+AfMaw9X z@Ap5;z31M!Gf5EC_T_naGIQsi?Z0p59Nfnv>qMN+4ljc)C@aa-mseQg55~ThD#RaV zqTcFw&TsRcC(ajL6K|X^3jJRp&liOrs?abt#UE;*iz3b!Mf>*7aJv?8G|m^Tqw_`i zS#BLaJ3Kz(e9?9P7J3SH39~s2J;iYdoL5JQL)2Mw>IO|aK9AXtBkl0>MK@9Xo47;j zZT6YRA%2U`DouUUafoi?tZ|4ZzcX;-_U{4(Rx{XVuA_?a*{-8%o;Gz<#QCD7?%ku^ zDXoJarTaj=yMOh?=)fwsrV}03SHf>thnU1F=;xJ6OrjG0!%D;?Rv{*_&WuTXj9NUk z#_$HE#;_1~Ny-|-p}6-lt(!In_hnjZ4V66&pWx0-RaX@$dq~UVeVjN?K-MOHjC(fI zdh>m(X+6zz-`1c;M!vH^+{NjFe3H+OkWTDpzMrAqBTB!WZvK{cirFqCYavm4*nC^` z{OFgd(3h#mkM=@-^fnRaI0bPIz>e*q_^fTx3Q-Gb;URVhhgY}cN0nz5eTn_NtQHb` zYG;?kj&nT4Y9YI^ILGrpVfwOy$2stf;_XM$_&&>G^S;O#mq4E=W4E>O_D|W`mryNb zT{6FqP-%Z{l=drZ?bE4-@!5X-zDuS3*eLDi+1mS9EvLAzQ)z#Gl=ipV+Ozprb&HsP zZj|7N(Fd=C`tV{aeZbzR)+$Ct*c*Sc zy%%#GQfDZ0miC4pwS}r~Xs;Gk_4lLJq9VSMkUcig755lP8-vxN&V(I;I@JT<@p_N7 z7InvsWN-A=?|cOI24vz|+hkT9(Y*L19DszdcfT`Z=ybk z*`L`8J&Y9eP#lFG26dbseuMrk^zc-{anplVCu~PS5AN?6Jq%Ll;Sz-&GEWvgWaIv# zbQ?WP0X@K1iB1nm`V2`A={9;moHt+61LC)ad_a7V$%iRX=mGa0byPkKvD3o}1ILh<$jlqm6xd!*Kt_>4=w=8~gAq=Qg~8`WA{|QoM}x&F}f%MMK}vxedR;JI1*U zf^SoKOwIK3Iv}G@oa}Z7uT^kykqsAa5i971Si#_SVg)%$tRP;*3c6CP05y|z=i6R^ zi-hdFKv(2Hq}+Cj6->LC?$b=u=dTd58aa|LUs3jvAoe?%;7#|8A!cmw=4ip2*Kyu7 z?jn)88}a^Zs#Qo%sx7P6b~m9`f%=tkf~FkKRuVolo>Ed3p!?%y~M1&(U~#wgXSAHel4859lY}D{>5|!EHv~hj<$~ALJPN z>BF&4ns904e1JEW^TFRmXjg}O16Ym$dx==CPW6#tPtiT&`>x@1W8{3$E?SPE>|Lw8 z&HT>bhQ}ZZ6?}|2S@=MnfaQEpAKi?658-1AJCCK8{`MC!@PT%>OMF0HI^qMlw|!UG z@PT&G@UgMgijO}ScWZJ#JtmDi+sBSP6tf>kUg7vSiuKAITm$>eV?rO|vpps>^hvzC z#D{&Td4Y$p4ysXS^^*C#K4mt}!}?nFDX=fpSkT2vENBbP9Fwu2havxIzv&vB;}wrR zqiMhu#b)RX3^o3v?$5fIenb3dE86Ty)DA`6p9Ok}R=55$_&P4RKMQnV?9aMS)Srag zCQUTsGN$Ze`?F--fLce%pIPEE>i(>AV#j4(WpNo^e=_#omdXY4YzyoGT}^S3jp=-k zs#3q9T_EH9d~8{Na=xv7I>kkv#hDDW$5m;6aFlcVTw8kt-XbA6*$3` zFzH-*Zp0;&XFM(;>qioUpB!iwun_elLww<5_el8g`Vqt%0G|YYf0|N1@``PKJP$HR zciHMNe{Fj&<~k(*DRY)_i2>jT-O!iyqOGi7vyX8YdU2(urF`|trGc-CwcUdOLso~`8T*FrvGLM9 zHm(T!W?+tp<717q2l!7$9N(y$aOCZ1G#l-C=V^w=H14AsL6QGh!9H{QW)429w50kh z$8Fz$ehmADYFb8ureHVwZXo-nn|=g)AuaX|aA(xCz)tza8k>Ei)=+?6D8I#OT41|& z#J+j!6QNHDH)wyycLq0HpAJ&+(apdIzjJ;Yau-vyF0Jq2%%#D&$2e!!t+;dE7k)%iQ>efVtG>mz?*>h)xdLwa5Q zv#3i3UkIBUM=8ThF$!q@o?@;%RSJ^EC!RKoVyBnrEAO9qq|lT0|45H#DEXXm zaat-pTcG4`{_W+@8X!+){^n-!EKkYXd?xZkYm|J=3h@lN7^7`Ao-OW;^RghfO2m0t zBf$d=SZ4_9rSouToKHmFD1**T#dkUjW1e`nfX?<3&r-#+hQ8*r=U}Ta8|5_fStg#b zb2PF5zq_K_D7SZqjWPhaqyESpfft#LavE|+m>;W={ol4pZ#&s2j{;MBZ$6tLhY=E~>LrQzdmG+yWwEvj5uVc9{%pc<))Mkm?k<$K|DDD4g zYhOY(TB@kARoYiZY5$I`y+*mCL4A4dOKHC(O8eJs?R_-l=d&!+Sk+g zPh7yyfK}ShjMDyBw)SlPv-(8L|GFscAGWo}{HwL+FN~P~xG3!(w6!m!^~>CwGXIgb z_BW|#Ehu~fybKT!B=Oo@tKjiv#J{@{?=VzwFEXQ^vl{wEdEw!=pi1pS}blu`7+p;2S5X> zZ=@KxN52JonF$|891XZ*b|(HVLc3$AS7C893Lik==53j`_||d5?aW6Me9Vo3j|mQOP4%3msJRNtQ4NDV2fQ#m;O+)ZJ5N7~ zJ&ttmE}dm+lLE03Os_#iTySRXomf6@*WQulMaGRDo zJ}`AWY(I5B2+7k&1#gJ`AZ5ru(Oo!~FBbB2yj7lV@Zo+5!U^4l;{%S-uF0dpmURW| zABBAnd`~aXBKCu*IHUa_eMBE@KZwBD5yYjxJ)ChKdL8qUvCp;mOfv0+oDr(fu5m`_ z#lG;Le+5{k0hSkozF`k>j=M} z>kD5`G+F7)?>fOl<|Y-G8T^jAnx%M$@jL2dB)`vY4{j%!--ju5lNtjT#~pJ4pU0yP zi0MMgQ&LVz(S<7y$IyjncaeZ=3F?O&bs^=HuCwVvw2P(-dz^38g-J4}^c~TKwOFs@ z<7#}4W}6(hF1!XfK-|m98zc1#fCr`vuTgjdHLo4w4aB|l-r$Xu&b;wIPqo7vgM8tw zc!%)@YJDVctVLet+moyA;4B3f-?!mns)%iWts4I;fQxa6ZG%UMClabqUz2V65Keh} z_ziVsCFkgRnb32nqf&KL)c{}kPJ%b(?NKKq?M8|(GQZ&p&MQW28?uUGTS@82sdp=R zZ`r)0m4nw%Y&)s^a5?L{TITLyzgBA)n_}CqLYCHxwsH(=Zy)Dyxi!8$2XJIH{&?O7 zo~AYL(GpubUgPhIsPX@Cxwv0Y=;KtGmo$00&XU6y&mU0F8c=-2XwN~5(fe`KZ@k9; z55R}?J>F-Zx$p4`KCAqFLTmg%Q|#;;U*x@va!=*`@{BeCx1C=^_-xVF>!6oT9Nf4~ zvs8iA9X42<&^>&BRV-Wd##C;L(jGqWnq?2)<10jhFL$_||dd27CZ?@D8S#{Ru(ZIoMIVB5df#Wp|G-5=Dpd{1w%ohz!@-ix^o zDW5It;O8FP2_9DE@CnOX!_L|ZKZJ6O2~}4Hx~_<=+jmSQANCym$%WAEGZ7P9!R3wg zA*#xJ;rmdx!gPBXbo*VtaN}Gb%R92OohfgP*pQ*y(MQ8=(Ctg1+fNny_qMv3ZYMcL zdOg9djW`UOd<(|bFgEG-Z8)^fLZ|l*i+Cc|NICNZ zMsAeTTTEO_`KsVL8ZF1{$B|~ZPTxiKLn3eeA^XgA`gVL)Y3YRObkGsg=`qf;EA?CV z?LGCKfg9K9k1MdcpMB0W%c>!lso$13%baek2Jze^vT3meQhKNP&na-4L2DCnMY zoLz8N0M(AsT>;T(wKMz4JEM=9ZnNqm=o82N3V+ zDrbH4tA@Yu8&w9)h`C~`Y2W>#`ky4u+5LvQH?lHFS6B9O}4!ka~+Pdh3ljL z`K48coE&}B{(f@rWZX5NovVM2b5@x?LOz1@hM|uT!+sz27EB)@hTUO(1iz2fQ6*Cy zl~>kLF}u3S#r2Vfu{DfM`sj>LBlS^xx~LW~WOY}IS4~US7qD6zv;7BA+Mi-;4?TELd&|r3dr-!IJ4$=EtvzZz4rAI_OIF6 zM}sr;sExNI{8hh>KjZfmn|I~a?qPZqu%ucKoXwr)3;%t#gfG>4B+@zK722%RcrDC! z^BnFcZ1YQ}brf98YhF-8)`v!c6!WpT673sXEZ#<&Pdpysez(}wA%{R_DVz`*hDKFE@YJUsGuMjk%P z7yc2!`f?-pV8R;psL%b}jL$U#A0iKL?is{BxwUwQ`)&fVHf7LA2vHCHm{#(89@9ZVOPOEb9?Ave74&|A7JmO^v_?%+^N2r?zfsSglwU{ z=Gnf;aWx|E7`g&$MXfQ_3$wcFaXx$p-(P_^7V?g=uKGmW?XeF&^D5J1!c7@%0eXX3M67XPH&l*LbD?v%sh`&~r5)K4-w)s)GoH)xzoF&nHIb;^cJo(Y+Z zoPmtxNSWN;or7|(%L`&ZtK6H4dr%FzTMj=n+Md>A`mG~-T5;A$GG{87-AXa!)JWCr+`{!@al< z=`nMAm!B!+waD#>_6s80AJo!w`I+iU`-`HqpJQteeNmwexL9|Q5395vVrw4_PM~$$ zo>o3z$5?EC-1|B|3Ht?b{yB0c7k{tvsu9JG7@Il@A= z_sXmP6?=UfK(`_ILPkCEO~j|LjZkA1;Rk_Fi?9ckXf_0SKRg-w;U?|}{R8JTsP)LR zA6NV!@HqKF^p1?>Zh)^;hk!B$%BNATvJ|!Ddx4Jx z_=B^xF10v2W%qthQf=Z_%a$iWzYfw8%iEBTDMlWKWMU84kj?OC_aP@&@1YoMTrh<5 z(Hc=tJPr6P!#$FNa9(ZG5Y#7*rkt!6Y+?H!UBMRMoa$5e8*LNO)*H-*TyI3KlWI>zxUYitMb}$*PjBX#-3lq9LU}$p7Y%dxlz(z z|8jqGCBfL(ivhS3jH&*g&NNvG__4hhup3zYsj3^nA9TOkzG28u182rw477_@f4c5N zC9jS4*}wt6>ygWym^@;!*ZBJc&+Gi{D$#s3RnPw258 z{Y_f~aF?>#4cLaD14zDg!=3EXC(Fh2szl#o@YxRCjy=WGaL+2Wp|e3(d9_1D;JfkJ znx4YiQ=Bj@cr*Q$%zrBeUnkM`6zrMByNw=gBcAQ{(z8^Yk%6(sr)v5>&sCc1&|2h%Xuc1lkJ+$q;%7}A^`_Y8JRak!dr;nm z&CPI_yLbZ?B$*Ucr3(z@6nK%cVG`V?hT(5H*40Y4S>ha z^leWB1|?9~6)S<4LYD9vvlWH8My6Z4|^bpss* z@Y##`#bNHNFt2Tx7rplo_l=ldbDB?k@SA`!>mkp_;jh6LJ)o;SX9Rz~RPaR))URV4 zOFi9ozW;m~_HZBGZrgvp88YT3s>3-~|1 z*YJHDeecG<7xvaesOfJg@6NxM^wLAna}DJ^`1dWTdI)l}p*)3uPsex2-iGp?;(I?m z1RdH?ehUBY>!XJtpBu`1@$V&lb&4}Ll&A9V_1Lpp+B@)j${&`V%V?8*-hQrL+zWDH zGi3Zax4t*wp_&%xs|VgbTp8=#%9)>oE=0_SYKpguedr0CHhK_kB>2J)f-YpdED1Dv ztVfz5FSSHpAQSqA^wL!5{)L)0A`|x65!Az^chv&vu+O-x%44#seu)+!x;uisq!f=k zAZSkZPduRZ?@smww3NI+7RJa%EJ4~B+c8cS#>s}=(2TJ%dtj_yu0STnONZUyH0D3V zn9a(1j%U1G9UO17!+0Hq-?Qz&@7WUwzn^t*J>?GTnSk>Xj`bK|&_g}^g$D52MReYw zu-nNdYy`eS&`f(JA$y4a=HuP#2!@~wA83O76hEGE-Q*6A zdH}R9$A=B1_PZulzj!xK_6wS1{o&-bJIl=&um$ksRJyAbV;qTYb`y##qef=NF5XcY4uh%wy2VJ7SxsX#}HQ97Z%h3Hvn7!(cR~%+Fxt2fP;J^LhnFWS0?~2}XZ}?6?=Wxd;E};{T8E zKP}z!XDQdVE#`7+|1!}ll3d*W)5hq5^y8AncauW&1}$` zhI-8m{D0!X&nwAK_u=m55XQ{I-(k3`nZq}q!&k`iMPkiwDr=VVd>QO7b-jhKl?@uk z+U5Fo?8W+kFUCh0cVk-{zWc)UnzoUi70v|jr1#S;<4fJeYHq}wgzhS&IVJeQABs82 z`5Yhod+Qs?hKK?Gw?PL~!{x33{3|*J|B*4^Kf(e2|InP_pYyfh-&>#75%|L%=_vfQ zDDd9}Te2N};Xwa=^+^PO@GZ#)C;DF~;4gJaHsnOEpnHlf?SNd(hOEd1-Tw_|z-M94 zSx$dfAPX`h2XrsxnFlp}ZovbvPqBxryMCTBwkO38U6l`ARRCQDy_DjHuJS-vd7-PI zqwuU0G8Az#*v4J;?tm-xEq(SzA?N7tG`#z3%q1OjDMZ^QtZxyXt;ake3&YHZhivws zc9F?t>=h-s%z36a(<6(2tjgtht6WCApHu%Nm(LP%8GT5(+zoQgA}^s+T&@J@l(^ss z@SoHvc6oU#{E{(cW0<^jLte(`l)U%mJZ6UfSEki)xXX1aFA|HRch|9-$ zimV_RDfzQw@}jT)O0!j7%yNQd-NOa?a--&m%XhL%vr}CGcOq&yKp&tj&_`c=G1j5d2gzDy!{Bc|-pwWakqrYH zC3)<}GihsdMID=zNn~S8rG9TA{n}5zJ66AVH%0af9%23Bne2BN>PIbb6LP+*z#W}` zDe-lD{M=tJg#M4k&yRp^NS=0tpPL`<96#qNV|SLHPqV?*&dQdoX@}?B3Y? zyq5Yu4t}l&PCLxc!<_kfBxvS*{8#yTG4}S7ANTe6xxc=nsRR5B|JXv8vGhO9%YmOK z;2gJOJx(+2FT@cVE{bk{`KAz`4%9c2ek9)={=Ad^2>~vQULgZKUgo15)U;muBUqQp z-;HQb{7rwS;oY+(y+A%tEPWB4Z5ZGStWSqO1Ra(rbQtY_dJ}Rc0lz0g1`I;GT*#T6 zELQ;aDd9NC2SZ;7e@4oJJ8W~Hm;{qC_?wS+yU`p-#*jaQIrtTSX7N$jVPf4LjGF}; zo@7l3HY@jMxE^Y{r=^l)7p-gRQtrkVf=39exPK(aGk#0C4xD!zVNRkdb<> z4K^11;N6|nAL-|Gfge0u-`5w27k-G$U(k7yzsI{d$Z=S7cQ#-`KGh%vW;jcW)>5g$ zEHRGhZUbg$_l$&Dw#N3&t*a<7VTL~5p9-2|w(r;@6bIJe|B=skEAm4#gg>(opO@hC zTdCaV3&96W!rp-veDCstFR*jg>?29tkP{H=xfOJV{W~KL49^REj5YlnbI2X31%?c9 z1qPqX_1Ql7_bu@A_k!+Pvq67J*sl+mrr$uiCsE&x{gf7(hh4*H9)G8S7UoEpf@aBA zU4&-}OpQGo1k)KROrie>r-XaTWwfBbeP|z#`R5*K+o;_@{&g4qw|x9+!{$=Q2kl-Z z#|Lkb{4U0`V#FZ490t`A2VRUn7Vna+=)qb^*Q(=JK@Upb`Br@X1n>R}|5f>TX(^YF z^`g#!Y#sV%=+7LIN7np917ewqKUl5CPqbo!aWB1s>>r91B7W#3k6s2(Gk@fI_#@ZD zuk*pL!~Z{afgg-^`8a!lY)XH+L6@*~X-}m)cxbNRG4x%U>?OKnb0`H}l%k!B;72@$ zGaDMw*L3tDd2By;EFZLvcVA-pLG;%T&tMNj9*)#6v*QM1FxtRhvWE|#HpI}M=$qNY zCcjx|V-Mby{I=*UUpNOe$j3QPA0BHQyjv&7fnD50`hgJRO_MiN_~YH>5-vFRhrtEUqQPap3KyKSGzM@1`~jCFy)M=`c=v8O z4$fp^jg}?$t#;KIer6oHlu%UPhajfi{_*!Mvv~O=Pqw`E@$l-AMh?*+xFd zOu%(r%6KL-Wgm-+K-*}`#+<0aW~ja{)|~NfzMS(!F=srB2AfeTY_0@<05%IJ8N61f z2_0~%Wj$T2>p{C*xt=TKdM=YXfc0@T*28rG&jpgd!F@P)uz1}u9>bxyAYjpib(7p= zI)dVYW%B^W*&HJk0FDy;&X_1Eu(e8Eh&usEC@FMkvK04xK&p+0lO@5{6WA~Bx zxiWwpu7RJcfsdXW|z<+e0k8HgT@-Y^D90N?E_>WA#tMQ;80)GziAU3Wo9#lc`AhIvy*q!hnt0^9| z9B?IlYS<>QKbZc*U($bP5-oK;9>j1)wCc9dDvJlPb&&2}2pxBdq*drWMyt?Av1oNG zXpQ1Q$(@M@iM^>y5D$7oi3dG{u{YqqDnDqy?$`7mvG#0zgpFPu;z4y9^0ytO*E*V) z1HCT8y}2>sK?beLc+gJNowOGZ^22UnwkvFBw~an1-cR&Fe={M=)}lX>HI(C|xDCaK zqS>yMc-OF9i8hkaha3xba!b9H7A<4p-6e7?*vSnTD+AAz989&EgPDhStvMKLj$od^ z^RIQc?Bd!akV(fZ{%iID5-;3JTYCHt5=1vG-^q@%P#*w^^Kc+D}Pk3|kj#Lg}j>)&Qu ze+Tl-=vq~n1nYWdPT2v3p? zlHR_=epXd?Sk?{Lt(5B)@XW`vXtJRK?^{`XKV0BAh>3C54cJ~YbR6pJ}$!58=7JMp!wH<0|zXs@Iz^A$$l z9l_s5f78+a3R;5$f6G1|xJBC5R$iVU)hV8nY~*FUZ``-FS356oFKb54eN`R-yHxSk$6tc?_PoYE_;T0VB*z0{Jj(V%AD|- zC}3chXYJXSa=qh0U#fix{<7zLt2NYDS;meL?`?X>SzixsKi_V_$CjH&#+<2-Y6l+^ zB|akkj|e=xj=Gs>c=+ADk$Cu9lsxZqv_|+^yFhnRf3^p2xt@cstnhY+TizPiJ-2-SyX% zu{&YUSCBpbbHEicxgwf9e?I2YS$kgMjBJ$dcd5Q7v*+15N`*at2KC>Ge2}!~QJ>QB zd=TA9niyYhx94BP*fsdC+VgHfqsN;M;%gtO`)u^;V9!@;sHf~Gy?*eZvwXlkX%_t> z^@(B+S?HC?FD+LeZlM{aeyuOn1Ss`uI8%Z0ChMSEdE35vl8t68b!&JxfZ7RW7mKzK=C^MxF$eu{$eI7TR!V&o5^Zd^;H*kUE#- z$rpFTmM2}P|4zsgSue7sGx_E7WGu^CFR}__KaKyYJo(o=P8VNKo($K|0$f#l!%?1~ ze!HXc&0YWs+VIkIzDEp6p+dXRfAv&|&OT zRC&J{HhZ4= zqr;FtGXD!1xSiw=04sLhwGNNDDrY!%<>t+poSc-NxiZNK-EaiXEhs;gg zfjEi>GOd{VRFFp_^$oT;Ti}Lw$4a=t&tY)GGbQFUsXN#QYau(E#+ z&-~Tx$~ZjFY>tC=-Q+mgVjMHijB&c_7pUV57rJ4DGENDv0ccdmS;}n{BR7L~|BIRo zww~c~J!8%FppP_+!}-se&ps11STjTovmc)mV2`vUYqd-9ETqM=Sol=LktmiCLTeAy=a@nL!&JMExP#&h^P4exHE^^&ZHE@XLTJX8E}0|%66eje`{{y65R z&g&1*i89Z8B|iTU_@a6>RZdo6|0e0r4@DkE`UkskfAg^({mgoo(ST3BCBJNuN8J7z zs2?GDIT~=vhn$i1`Ivu}v~92^4`OOK3!h?_;H7T*`~R@XAhc!hz~5je zXhSvpG=H^*eaX3+aW#77dSUc;M! zy=i%Y!-C$|VlUfa(E4Yf_0K@-G&a%t2GBb3fjQ6K*gKaREF*lTfvzx*Cd`-efQLc< zpMh4@I`SIO71>35@!OlLQ4^2a&7F{4`|;kuHEt6}U$l)FcslO?LVW|_s19`b8?5)& z_^;CCv7d6foGk1*d%R>qCedf~`UeTqM$kkEvDej8fh(N-d?l?1IE+^R@MEzKS@%#u zu?@U$uX`wDdop<4!;7~Ge1d+c?m>=Cz82LzY{yy|J{{^F-UU9R)IC6kj?|OE8`PiS zCt?i78~8g7GW&VzTiSJ)r&{+Qal07vpqiL9cvtEfrS1XaoTq>K_ZZ`xNEQ|OVn|O<2~qP1~1e-{M9y&z3$DcdF-)$h^$4R^p16919LST$F&Cm| zRo;Yt!sX4rZ3d8{i+i9-%_Re%_AyZ`aeD5+eP#_Tmi^)>0qw`JJyn5BVO8KK>4vIK>;NKjLFG ze)&D%&mM1(;|*Lcbk%17uGF`om!S8VUcz6}OH|)u=q1>G@Nfy?A?zcfGe_tgvIfK`a&evyXs?dq8RNcc8~hjr@~jF_enOcT}^5&?6XOHpxN*o}TaLBG&5Vfrl-bt7AS zT6M;NT(&;8mSR`<*D>Zi7h}1)m~$qZW`US=`j<;H$zvFCOPOJy?^8ex{{b=PcJgU-Z*- zsa9RKv3o>6+X#l$s5S5Et4TpW+5N2jM6CTbzVB(17=zgo!F&L(NEJDE1V_1dWn9r!AE7;IT8J+ zYprI?QyoXFCadBJKbFSTvvF5+6_G8vL%eDVW^ixG^A0J8c?u$UH`+9;_=hsX}Khv&p?q{3m zr@)8#tWJ!W5BjO|AB@-6LDpSE{q#2bkvcpMIITuMh)0FNJ9TBlM@01FXY)BW?TJI3=3L?bAdbl&H~J|+KT=<)Fq|S_$ojcIHKHHJ z7sE$0zBsrRyo@^-)qbYi_09u)?N`~>?!q088E++;Yk$BMPKmMhKVvM{P0njSN30$C zqOL48IbzPhm$CNk=qK9R(>t;D-=d!~=mNQRN1Z#Lul*F;+VdcDGVbYVu6@2My!-0t zy!>;F)euGR{4Z)ch?fgUU;HAH=GC>A#aMd-`XSz7crSF+JJ7kO>+7_V_kM(ac7TWE z+KGN5@LtN-{yzFuX}$=&oG~xkTzjc2{8)^&Ux%@_c6G-4MzQv3MDu-zIN`m{e>b<0 z#-N{Rr6pKOySJYp&gqe#-gU^KEO#IRXbWE>?J_9Q1=4WF7yt7%+GPV|t$W6rxURs+tm7c$S-M@9Bs zu9$NbXsPV1xQID}PpkcPy_j#k3H_A8hY)yYb1oBpYO3f5`sZL-bxK4(Ysp97!hMMK z=%*>(+K&xi)kUlL+T(3&&$|R`pVrM>`zlxXjVm4boxy!M##+$bT)WEeEvR83erL40 z^c?3o3%}=n^y9@jHBM{)v*>3B{K&Fdh7V!joyof4F2*}E&`F`IQ zpKQ|Me~rWiqeFpH5Biw~zHq{6q3CBC?t&;Aagj4^)LqJK|3j;QQ^*9TetsbOVKQNa zA;%0{u=!}*huA~?n6VINneYt9g%ACzxPTlxn2|id#KkkNaN8Bp`Ch6&~$y9&b*F<_{70*0CBXNPI~FHcTW>*2cOoJJ=@O-Uk7E(;IpTr)6doF+D+flfFbxD@e=MkHliQJ zcXY=4CcgFp+uGqfRx7?^_0&y>|HWAQTNo?PjQ?5qJx8p48m+zR?1;68$OaI;zc{?UkS(Z;}yZGaS?M?dGH$a6HSg)qaQ<#wL^z_)Q{w5Bj~(yEwbvg?^e~BRc8tTSPx)B*#}f+9lQgS*I}j_>*6uADbNzp$oTj zI9_RkBV-xuT1Ad;cZF90j@@Ix@qLWvg8$@XPYsvrCqLed{~B^grK7FrCmJ1{fqo1+ za?ppYAK}OU2K^|0yfYoW$=9D^TYm=WG1HH)p8BRM{Olv%hllP)KTYlNP%U5kZuG0lj||+Io$-8EQ-0LC!WA*r z{zHtl)%4>nYp+q)Zswm1yoX4Zi(F|wt^HoB%#-}HTJ*DnWbm|0onTn)e_{yBy?u}R zQG5s$hL4DTn#hm8*bx^M{<{$ef*q8Ge#*{u=EHerKNV$Lk|O5AWVttu$?|UK$6IFY zCxQ>(<+z}F9~BqKL)2wlY53L^Q{Q!khdSe;n&JVUJ_Vb?^e-z^pN8srgnwCG_JI*k zWbG&(u$FKke35$e)8x6oM#!KF6^56HehNkd7bPCKcB3EQv_j(akLah$%n7l6Y-_J5 zdY`X-m~HLMmb^Y$(qYBa_g&$CO?2czHuj4cYpZEbS=OE+=S+GmJ2PU=Z0$$RV)^ei z=x0Z{fiKJ2kD;D~!I0>%&WNcPYu`p|_o5%ak)eEw?W)zp6K z{PTD`@jiDn8TorO zZ)*nV*$djvW%TWBU4uF^It#1;=K=n;o$)m>e#l0@Cu;mx+8Mtddn<{5?Bg%PzA5$m zE(<>cHWq#cf5)MgFc<%czlq=DP~(@2|IzsUu_*Xj(awA~iuwLO8@x{Td}lE{$7U8>Ho?eJ~t#(Dq(-G=AmioDz z1)k1sXC2pybb9Gc^7@s z@2(O}FPuf^YYmC`-Q%4YaL=NBh@K#8>m6t5U-OQ!eIIN2uGV*Qonh8@R-o3j!lS*^ z*5(e-9e;Gsx)*y3>0B?WS9RU|5qKvq5PCE|&{Ua#|6>AsSB(wqduALyyYbnB&)z`& z5+Tbry&H6t9+n#RhH!ODRtK2q-( zJlah_-)0}pE5`&H$_oO17xtn~Aw7@U(aUick}pGVLQUv7AMdT)i~D(+f&2O?s0A&b z5QxWl8>oF``)s!(uIWKsljQ6sob{iB`t1zd6+!2>{&LVqq;IrY&`0(CBJ@pr z`bzWWTl9-&(|=z_-%P*h#PCBg!KoAard@fMt%X;r`<2ph7L&wRdUSc1cO3X)@cYlz zf7Md|{ixNMKM9VsuU6H6|Hj$poz;H_u=n+(@hA56Tks7#bSLJ>_!Il!qUpak#jS^om`16M2z}J5Ze=a}JasKRa9Q^5)uss>} zsRMt0_@nmu^Pkv*%w$Gq`18csr;hxp_rV_n{2u#6JHrph zW1l`bN65n%`tO%C4~ijl0$=|v`tN`Cb(}x104zJppMDA3lfj=3`tJ;h?-=&!>2gk; zz_<2)SpRLk?!@r>=9!)2_x}d{_i0PV`RhLHi|H(X-AXV$iSbY9Kem6K_PSI2b1dfA zUVLVZoYS|%U)4_jptLW26z})~KAF?{h4;{2GO?im;r(5DHhJEQe z4t)KG+m{A^p0hWq{)^zxO{kIRto{p5KZ*Rw?MoBih<`4|9NUY3E|PQlFXhimet2T^ z)kOrSPQ*iwhd)n~_=>@w{f+})|1JD^S#!tv^Ig=2be2E2P5Wl~^J&bnJ^uWaoKt7` z^Thdoj{5YwY@g;$Ix+k{n&93Ee*X{l{|x>2qo$7Y*S}G}&{_UEP<#^ki^o4r{RjVV zC+66mefox+Q)l?=Kgd3P@R}3D4-XKWI>8Se)PL1Ry%Oxx8zsJC=)W6|17H8i`mgaa zzj5koPjk7=xQE!^sHz|UYKh5O0K4O&)NFHZP<^6 zd4y0q*@(GNZDKQOJLwEoJ_mkIDAg4H4C6N`V^e*e9Dgusz}0$b+S}03Bl1p2s#B!C z7D`wH|DPy*%KmoQ>d&daM%-gTcg)YkU6Vzq%cOf*(om0{2-p*B`T3)1!FueS;Byyu z3#0b35w(_0I75}!Zn`XcDX8sffO{J5urO*V*J&5fJg-;g*|g4g!C#fRs_Rc;>o@WL zyCk`GD-H_;4nGzB$n|!Lezc+bBRibw#}|Wsa>Uq9^fQ>jyYuu@2>NLT&BSTIw}p=4 z9BIglIXI5*KtEf1N*J1VL`(Ylw8+%&ou!{j?}?|M<&ZB<^z)W7&(6@#tx@P_BlQOv zaJ=-h`WBqoi~7D}+nwp>4_HSu`SUX|wiEs)94GzMZH4^t%&(!d0Ic*AT@KB~JnZ{5 zoaE1;Q=-$)R0S`crJt6QKtErg9>$4&Mk({`4E=PELOuZ_=tXR7H?tgSWSkJiy-mPRN71I*8AkPnBzm)F-zna8mKv&{YdF zzJ&e2Z3mBGXRy5&uq~X{&+i*B?SW|a;A+NC7wAtykCHu@Hctzr&2!a939 zSKz>M-@tLo-@5_tH8>BmGw|-!L3sZx2E5%-;4SGVmi;&7B=FCZs7-Q`zki)#@_A?Y z=awk^vxE9m_(!hSe*bvMOvqVZ51jj-7MzMRvHYv!^?aPc^;XV-O7@$U!hQ?kEGGZN z480WRYHgLjZQ;Ky#F=aU+q3m`X!kq$TS-sW&VLE^us?M%_Fq3(^P>C>XY$Z^?6-NB zu-~4Szv1psV=hY**j(1*H`UH2dwB)cSF6~_a(#S%qIrLt^iQVs@nN49_IJa+r)SgP zpEO|)Q~yo4D|^Y#$DG!`O2V|D+jvn!HbF0r*+wUT@g`utif{ z*gI8(dX^BrXC`Q1M_HH6@0+5z7GbVY?RmC8(X@x@zUMbUchZjwK^~;Ddrso@VRUvH z)f}Y;9`4hXC zKWgr;r2UcPKan5xIMyM3r$Mm08vvt5%sGVq>8_U^wtMAi-1p?TVy_v&uP2Qya=>vl%4tpq(04rM_*`G#W4F0}QZr=Mz)|au zj>8>{n!Z_cA1cK@XqtB-?rAK6X-K(&7by*i}(m0&wH*i+Ys5snl zxfAQS41Hh5e(%znm84B7$69a0T8r_wSaa9j9;fNW7^BhSsm=eYba|HMDR0w~TU$1k zW9^<+4Y=oP_lUJ81h-M`rLuOpZd$8-jUL?7G99p34_L&x;%e6e4ml5wS^0){QTbRc zuJ%pfhSog`>rTYF2Vp(MV%_s?>poSidobpdh4;23(z>SO=Gz92Gf+!1K8&-Sf@AmJ@%RQoqL0)D)01CKBp+3bMSeb zhhU#Ois&umi4QLNsBKgH0DpjJXew~?W=dRn3*a$cOQ;QeH1GYLvt}Pzr6n@F%m%KO z6TX0(30hKZ;#bR-55hg0ZCaPs{ng8#+=KV(vCd}1TUtPiM7#B%!v>5K@+1Xsw&6t5 zV>4ngEuhKxbeczE>r}|1otVc?%;PQKC9&t0zwZa$2DuVz6Z=Kd=%5G3uWa!y1&t=u zh5)l}lJRG357F_=R>)4j1Rk$v_u*k8v! z6YS%Hw;RtBf>+^lniAt88NT{v;7`bK9rKa;I>|x*L1sDXzq@{bKE5ISH(ahk=)b#Z z{;;PyqyKtg9i7#Gr^s;?{dbiDy9oW4Li*2YKQuz`g`fu;pohsH(9*s7^N3~UVP7@Q z^sOm_ylnn$rM95z6f55#->5CbJ1@51;~ z%1v%BB!RC7Lp~?X9ym%9d<{E<>7~(vwr)f_`n(H#r{O)^xxRZe+Pgnmi)&2+e{R8hCCPls&AJm*av6CnF#3gqzi zp*S-HHoeM|GqpITGsoj^B6RxBqf3_OYVqZyd!DIY`XuShLel3-F6wTYZD@U6&7JgFh ztn5+Vz6F6du$~E6_h9yWQfqOxHtAM8yBzs~g1&v6XSmdwH0wbi(j4fe<5qdzxfjt4yLBy*f(tzG6U!8jyu zon%f&WbN;ytUZ;>S}Ah|<9h*}K?oU2@^T5z5!w&B84Now09$7;Y`k6bCO`%*D<2H` zcV;&Zt5(nm`5j$npE;@pG(z}mGvs?02CHANF}t)bgYT4p_tJZEIk&&3HmN1y!5Wh9 zOS1C3vK|BpP$waG_UEZ1Dg<)d9) zS~GvU{7Lw5ty{n!jm#EE2(AaulFVjz5My1W+w5>AcvAmM;D5zjGv-C~@e$U%0&7l= zvF0C&HIoiwYwpe0ybSgu`C5FM^1zLytlB@EE4mPN=2&Bk=Ps@%K&q{Sg1(VBfn0w~N19@%OLzzgc{L zUHtt${{D`AP6)mt{=Urql0E7UzQ{h4+;9i0mCr9IpIJQ|c$MCHhCL_w>JC;ZpVug# zseijJ{rE<#L)fwpiF>_c>C@h@y;OawvAfyh_1|BPe!d}lcAi{^(5J7_8ak;@8{M7P zr?<#)6@B_E1%7sYn$*jxPo*8}9qtS7K)gokQW?(~4<4j=&V0??nxDYqHX7`}rInvm z;=HbxaJErRG3dVuGNBYSUkuu;f?h0uUd)DGEQ4MwotMAT<1JzogFDajEjL!+d-zczp4WI3N{N)WM z9~UaIWU99)#J(%7NF#Z0no)05kGO7QK78AYK)<8O*0#oXgF+rqoOOB} z;=6RGGwk72@I5_{EggyJlCIqgJ3eHK>z0Gx>Jh(bxCnBAV%hnK>y8H9gZ62>_0YFY zv0b~3njm7kV=*tXZ^<`~Lt7b-PQmvQ#9t*n@fhXUBSdH8AU6g=ZtMf!B@(~W9MDHI z{9eZMm|xDZHpcU%#Pf*tQha9{?qw&tIs{*&Dlx8nONzIA*cZpi^N=fy=K+VkSU=gm z#Mi{5yI{YoJiin?PcbT!=lMFK@p_{JufI<9L`-ML2Y;u0-o!pr955lc5uc@8+=|c7 z2%Cn*T!mk=S=g-PUy&@KIn(E5z;_P(nlX@56e|xPo<0`#TQ2-{lK;PiY~bgNdV^20 zF}Y7xseFEdeWrMsHyFTY9`6O75c^|t8F*?2o+OSeav5=8qE9B55l0Mx_8^yQx1@S& zXB@9w22I*=)N#4YaYS`uz%s~H@)T)sm2Jkj`^5S)O|5?9yavt2I#?0Vo^*jLAd zeU*;8%3a_Q_lmqgHgtMNVptj8vho7)ZWVMC#kwfA<;U|p%~hU(Jb)YW1AA*XW(gW4 z9&@kA59H$+r&|}xyOWJE4&(1be-syg7Wp8GiN7_E$G}_AUjy{jLLbYS?4FN1yKhHq z^&sHaM74w+Xj_W5e$e0)(e^_{CrN!0VDVBj-@n=mn+Up`Y@R*8`;66CW+2{&`>SjG zuzMO|_e_N>@nh}lVE5$1?#Y7PQwqCh>OB8Sw|8NAs4K;;UBO!9T{Ud38ZkVbfgj(G>`lIs}^ zU+Gv6b3N&ad_5A^ z*zfe6@J{pHrg<1VLRfzW)=#w;uU+^#gI#7e)`WP9lig^ygVqVVaWCMoUGpHW!ecOt zH6DN2FmEizTwLzQZ&_l_(gvlr8QxMhpLEQ>Bk+6oIu1WNUz6Z>XnW%B(e9MiB>10) zw|Ck7t1m_eR=Lp^>UvAufFtfyC%U-z)z2!O@M@=rB7xTo&~X#)X)k+X3}QOk#`C27 z{&IexZF?7XRv*#JSIYNhoV`hKY`Vr3{;V`kKMXmj)*EMo&uLztm1_E7{I33Xy7;Xg zzm08ct8BQ2ot+**zjnKQp`hPpz{0P^0hV#ZKYDWy(#6_t`}&$#Z4KGZKdsqJJOU%@HH26$DHl*#y%g3 zuf|@4FHd3Zru0S8KPY-8V>Fq_-a1kxCJ3PvA^zE?CLXRfnZ0NM$R@{-1F$wWk+|$!| zlP}za7~dP0Y1Qisv-Q1z(Wn1!FKmf!?A-?3F$wvPSna%;#_RAd{8jbc7WQs;_O1)} zkY*eit@|-n<2879i1pnM*tybJqS?RPhOHzlwQ^YWvno^Tg> zv}d3m>ukWiCRF1i_Y`!wc7G+8t6nA-7~WS8#CyIP^|_Q;mkAo11sapGiT*Nr^Kg2b z0KW(F*g|jhJwb0v2w!ml7j#5=G5lTaRQa?X@57uSC0QzfWU#KasuGjIn4gzl|}M zAk787B+*?xe3>rrY1#O1@$uDuR>kP&7u3&4^aG#qF!)QAmtH}?A%d5WcyAu?pU7xu z4fs0asebxYz>WEGHahb&+DT&XF2G$T8HcmYrC1L=@H zRv0$M88BQxYcS;ZsiOUu!26c=r&`;uGuzLh_EL7+Yz04R_egg8=`KC*sd^T2{h>#> zjAiuvK_;i?+d!j;C#W=9`e%~eT*l&Elb&bdUC^}p?)~iD6h`}y-PIW-m+DhVc01^V zJJ`FBztA7--Smt3yAC>GDtq@7lc%mcoAZ=|PPmS}+l##mzOKmlAQ8IeK}Vf1k-eL0 z5>caTL^Nn5jG>)_bN>gekq23=udkqLv!=O zW8fc9Jpk3Eu{aFw%H0Fo?d@>eBzku{^m8%vGvAv?b}0D@sGmZ6sw<^+ez`7LpFdv< zG^6br=*{}c#OK}hdF!!14WHNJGrcq2quKZ++2FVJ$M%u#tneRA#Ipx$s<7^|iKpq) zh3<@tvEE}h?XUcDT~{`TFB`?*EIy|%i}~L;=+E_iFVGhQkM!>J{#qcD^h*>NfmW+C z4)@TX!8)nW!URpydv(T@>9DQl*E9l-cDrUJy^pc!eFk^Hj${?hgT}1K*tEw&rRDdo zk-CJ_P<;aVMrQ>33YxuE&@AZ-+V9Hi^Ue4#`L*(n5VlU(3AE1Ul^)9+npfgJkVeX> zSnY%w8ozYPkz)xw#$};x<++^Kr`K>^`at0&!@eqwWBfFM^jT>_BtQLI3&$b;+<^II zl1+2vNN0X3O|bG4Y>4LV@XLz55&U%bEy6E@?RXf!t9Hh0@f+EdO^6#ZJ7(4e%#Kp| z=?>6PG=7?a-&kxr3at=7olg9;-4`AMpUA>b|E7C#+UKW3?+bpSb)wA%#6SJe3;BRi zaq5{m#T!~+8?u@i@Z4Sl7V#F@GDN}xeuNzs*%B7`t>LS-N(TSuN3uK3Ral%E0~T2X z3#)9YkbVV|E$}t|jgp*3-uN1Z$1)d1V84RE<#$QkkzA!{n6ta*Xp z0spOm@-Qs0$?Bnge~e{(~HSC*y;@jCUJ| zr%QydL%hrFKV$yS)0j*8v3D~_UyjJtx1oLGX1t4afS-+b*RXd_lX|T#BmFdPuVVc| zCK&JjoW0whc(G!=kO$2x2f(h3kFYD>y;{fuLI0BHdJCQ#sPLSW2m4XiZqEmi?N?9t z-z@P2nke3m&x^o-i< z?a%jO?YUArv=6y}H^*zc+q~MLUC0yAvn_Zw4DI$@uN@jp&n9b!*5KJd>;)k_w#`6~FDfwQDTRWfn*^2g*;~;&rtIIy@b#`Mupday! ze5jejU}r7yl3uCPvWGCAFqCEbWIevxXP0etn)DqN*{0nb=*a{`8IHBbyqqPO1gH4E6An(boaY_a86e{Dk}*=un^at|iQ!Xp-wHe*eN5$w4`8~%ROf*au5_R zrq~YE-uz)`OQq{7@H=En17bQQxLZ~m)E~42pS01WrTY&_TH<5N_P@5Z--3N%+JH=b z0qOwN_Oqh2f7;ewy99FXwe$6@w)WRYY5$0=J;txl?isBY+1ih{wT}kpFJIOUK2VzL z0Do@(sqk-s4M;v>TO0Y~-r#lXz&{L@Nq{B%dC1ur#{81;EGgi_elqRuL_H6C<3jMQ z8)1)7+%DZVze4Px(+YF+HS`|v&f`Iz;HkFvVyf?W>JFCO)KXan`Z<6+@hZ>{ zaz3D+F0CJfF9M+P+*!AddXsXd={uerkNQ5;i-FEK{lq05*;L?)E2nylChVagx@$!~ znf5Of6JJ4h6>D8;DTYgXg*@0RR0Lii9ZB-+2Iz#wDZcQuC-MVR5fh|3Y2u?0a>e9# zQ~ZVJcjK^bUyTc|Yx#{T|%K zu>-9{qoJ7nIO2-$W9bK6)q~FoZ^tmlZxU}Ah|5d7wZ13tmg)~oMLf8pc)LL24f~2! zm_xUQPnCE}iGsJ(_VE_yfVVro19*E5^OAV0u;I-OokaZB4Z4l?GQ{Gy9Mo({e)D=c zzjZ||74cgs_|A#nRJ=VX@K%I-{s{i^uITBw4x>NScFR-jy0y|i!#K_GEu-0I zhp=bfl??l=E9^7)Ma(|y0{aYWA^Yr1_-PZP+GpdB$egfgpYdlF`>eaL&$?kR;gHz& z*(=OGL%ag^*|kGd`wX@|*=Mg^q&Hx%fokigd?M{LJ~rK%O6|wm+G}JV-QP{mu(j8s zv_Ie0KAqa%?$V2F?GOITI)0?Cp z%#ZA=_yFv`gW5;J{wyZ@mD^Wu+2#j3^Psk|kKRCbqGDhD!S-H^b<{mz(b;kx+`c*s zyr$~ug^=?k?;i#~OmL9*&03scU#*9XuhP0O`>M>t<$XD9Ba-(XlJ{xmKE7$Nvr1uS z!G^5$epR-70qiWYvHpa;h9w&AO$80pc?EqzQ`~mt^TfKUt$qf74*b+v?cdnXWA@_+ zA8yk$QSFbgX?EfBw*jjR-CAl|lKESa607(edU7xHSQ>0;no}LVr}Z@7MGV5wn-9@%z0Kb;5I2xI z6=!p#ru8#_%Y$x~zr81QD(2dZ7-WHrcOdq$?r5oqd3b{Z5};F0flloSor?G&)2S)Y zseldX)FAGFo@eS*n=BIdbYl&sPUX)mIu&^<7W069pM6P;)1~~bcHi6Q<)z&^z zS8%vS>KuuG)h6K2TA=&L9^mn(#NZcCGn)Xoq?ilr1n9aXV}4{4piYTmE|YS3EM=W( z6KuE5uY_!Z+v%L5pCU(P##~;ty%%#G7M&;8!EJ(ps3%nQ+zIsoVc!EW+8J05p3VTZGX_M*0h!4B~y2D^d2Fzo@1x#n*Gb}JOv&9T9* zJzG?b^|fn@0(R_73Dmemvl-S56E*|U7T|NfVKZ>L`L~gLS#sGlg1gZo?)9V1w0Z zuVw3NSX{=e=U#q5+Hibq%2!eQEw=WsVJoy9ZavS|{-?I~kkyXsggmRZ#tr29RU3{! z<9V|r*l<*vniyR66wY2{YatsBxwK)v@Gp${kqy@+z~VKNFV!1xZe*y~%$r?po1c$t zy~BO=B3s^UyzRZ1>#)dWxeji_y$l{!WlJW@yLM?E3jb*W=*b?(SK~TkkpJC)xDK7E zl8gK=ouM)Wc;AP77v+!lB5!s8^q5dJCeU?+FHC2U%y%WVPKDm#XPqS>f7X@d#CA+Z zjTq`FLKh(?20mIlLJQyYigr-u#Hz4oX*233(t9B%2Afav80DY$BCoX%d9eea>HWx& zwNP$f@M6+%Eu7u_)Awl~c$pTr`!Hf8)Gy@>nq1n5!}(fx3&z$kc7rE1*yRPBA8X@d z`xuAwePOjO=_SCB>Qubgf4&DXtt{~Ee#EeDh5d@NM0U60ESSWv%Eg&>Nv*pe5B4_w z^!=TQ@#Q-)r!ANho$Exgn?}g|A7bBX3B|g=mz1+RVAvNNcQJ8o(M|mQXtW%&A4i&@ zvnLXQJ*k!r^QBsVT=tpk_^viuYR@iHX{lYi40OcovKX4;@Eyr+S$rCL-S)$S0=d8~Vgd`Ns5#t#`;brcdl#euEuR z`^!xGVU$k{cFcG_v6BF=womMfhEEK0aq)>cWP&fcz^i;0CHt5@u>-^`37^=aOd-1j z^EF(-e&@@i&j&uSJQ;JeIU@T^x8X(h-K&1T*ztS78**OvlQB8Q@6UGd;lPQGItZ11A1Q12q1VM`C6{h)z&KAhKqt#ztBKH#0N zKVyz+t*>Rs`T2NOM*75jj`7W+9db%hOw3Wwc8#BM41LZc3h(qhr0jGJ;sg)5>;yh% z%T9pjwERFQ6R|0M$xhW*S+&*Ri}#L$>;xQLgSeC^*$MjnH!e}K6LfoxzqVWhUimI? z!j_#Bo@XFdC4c9w$WsH^snQcGJHcO2iM}oLP1)($Fk~kOjd1p{2YR9@JKcyi6tWXy zq!X5%cHD|Qevq9oCa3JQwMWTLz-!7*zqe(81ok>gc9Qku!E*92BW0&e*as~;y(!94 zc6ttF6PB32mv)-R!1tztKRe}c)28(zV%Bs#&DvDyUwsrZ<_^dPou`0)1CHK>jL-s| z#6sNJ#0|hP>~|aFgYlNP+Xp_|0)1A{bnx$T@OmBVRt6tP2Wb9c9XEAKNzcREU{8U5 zI~z6uElUgAD{KOPK>UTa2@n>aMSfNj7S|*8`!}eQhuF4y*kf9`PZ&!D_NmV`J*<1< z4c}<&#bu7YI3zj|#d?J<+RNxk8;E-4W1m4&sI3>PdpzKI)<`YbpC(s%VDfN z^YIgh`y&ot+lmVDel28s#2D?q4tCzT&?WhsyYU_|NxNqwE_+J86&xsjFV6*B$!}Tm z8*o3E!M~v!EJj_Nt9p|3z|VI>t=*;QYsye7xC6E$-zU9KjmLYvZnJSu9`z8pH!|-$ z=^Dq$xZE|MOC0Y#Xrlu1VCwuik+@v+Ytpq>A+Lh|*52wX68G;p+vPba#?h4K3i+v7 z+KzmoZ2CVZ3<#F;EGEuKG3J&r$@@BY)bZSki2Zkrv9IxqF<|fA<|g-?alp}Y7QX?_ za{EmH>w(->h!OVeUIM*rJZuL41-pC(&r-~vKXyHIoUPfL9;~)f!_O-nr`p>4bhVXU zb0^kljb4{H?SGcJ90wTX_;v`r(X%@jwF$Zx>wOR7`7C|z z{~~e68{UVfjUNNRk8l=a+9ZV^14??%ap*6^j|#w(GoDY-F4%Kwa5kB-*Rw8%9EiKN zmg4W$t6^iDbsX$W&}A}HLgMenV?pOqL+1!sJ6-IVD3_fcEFS`R1`X{j^Wf~?qK(_3 z`!2p~PhDSiA1?R^^D%w>DwZlu&gp2*DXpZ3@NMd20^h;!o%zmrHtHPkQQAL1|HZxb z?eKN-jHjm4^TE?wiZCb0%O3*9o%dlrhHg?`@VggvKZt!7{nVC4^|KrLfTS-nzasCNB&<9?QNqe&SXbL#g7`A?K26@= z!W;&Dt|wq;DA#io))Tf3xAh#Y))RScLjIx1`wO000C`65&t~ioaw7E46`QYP}nRD>(N9TT2*M@#dvT=qTeU;(~T)R)sFLJ*Y=eJbNZ<{f{WuPDC z{APjH6ZS+-Ps~;0!pk_ni}+M=w+`n8{S$w~K7@18f*t}dEZ{{{zfmx(#-d<&F2@2G z);YZNdT#>_Gsojx=RDY4^&Sv@XI+JUu?{~+UXH%jdk1I(;n#b2AVeBr0Zwx7mN2UC zBhJOUGYLDHRwx^=6EznFBWJ2LeBHo3;-Ec#*u9g%KTTWi|k#jcs9Gj=-UUJOc`Dl zO3R)Q$`}n?ALtDg4EKeKvi+gr(N>QS@2Z$POWZ_lw)UlX_af|+e9xS#GqKKB;UD2i(~zG`kThgr9QZg8 zzG--PZ*4TbA%9IQzJc#V!Dt`&b|=S`7Qr`-S2}N(hTml(pJ;S^JLB4QeNCS<|B&My z7yKi6BtSIU^ET)<{%$CUsaV1RZjCR6kdK+$ z(+B;$9P`!lJR5KvMIW$kfPN6`+fub>@VU%-Lp2VCDrG1mwzNm{RIM-_heEc+%bVSNQGp$!d7%%d!EOUhn_ z$Ajl8*qVmis8{>JM*u@hAU~$Tp0wRh*b3ONwFZ1_4}6#cu3$saa0NTH;9rq(O4v## zY=N&v!4`azAD$8oTjWmyw(#wxRg#x&#eVNZy`t4}j@N)bF8yck=|#sQcPHjpILZn& zV~A?9J8J6{+@Y|Vb(Ps9b^nd zFZQf=QL2y?NLze>hm@NO_qIS6gr9477Jbll6GJ$^9&E#2Fdkwi;2{_Mf_56}j1#`Z zbDF0G&m+zO7MLT2IMoU|QwV*SYs9^pyubJKw41Nqdkn@?fW7L%UbWUt47H=(eT*Zh z&k4=}oU%S;75FSp=leOQP3Y;zIe`E1@7bsMdnzxbJak;}3Y@)N+|!FVP>c`X0+l&I z_)A0^-2hBU!^_g^T9j5(OLJx zK-^O*@l%Xv3EJ`lKiknxz7H|b=VRXAI4cN!zeoSBwG6Px{9X&s43;C;%8h7eF7Mh< z?PxuL?YySism8umUtAE=4syfn3XIGPwj-b19JG_4<=)QosvZCN$QAYWaWU;6pH6ci zKPQ+6_`8_n8Q|W|W2&9}^D&+q$HlaR@iYfE$hSHhR&{r$gQ11ozb+OuuN;T#!$X!uA zB`apkbGU|YGe^~J8wa7Cjv+W#?6Mcvt9ItHojpTh+6i#(W5%PM?``b8p|fsFdi30@ z)p)K@?W{#SO7*UDW7@%ZY6J6+3$`Pd&iiZ!FlLS?W)0ir8eZgB!&0u{o#P^F*zW0h z`26j4S$(YIYv_-*9=CNoS&cg%w5s~Y#ct!a*YSC@gZmL&*Kwq32e?sNeL-PNJ6OkE zfnCQ3>ycaTF|<={;0EdFJSPlom-9c$G5^)fRkFtung4cA&u>P>$LAlQuf+}+n(geX zTlV!2#1xqDD*CGSM*8aZ^la>-uba?Ut3f+VczqphE85XqeNt-7`mEvld`;r~JhZa~ zaaksOXgJ%X+d=$RwN(()ju-hn0@eM4^}zWrqn)`0?(HLB zi`j!cT*ErU2F?^9Z*A0xU;Rhb2cgk2`>g^AdZm$~&{|5C;{hyZC zdC!}vFZ+;FH-BhJXeMOf)v#R@K%Pp)zjyF=4*pJo+*62u{ChQI7vA$)h=1Zc|AxF? zh=1Zc?TL^r3h_^T$KM6WPmqd#;yZX?!AbZV|HOClL}ee*^5EHD>#UoF94_sUZDysH zhT0*o&Q34sIUVm;dGvea;^TYBt0&`qi>2R#2l731#?g3B`JTKuO6O5}`Ndcx#=HDN z>s?or^l05itl8Hbe?wM_`tF|)_4f$a%9LHB)@mFk@=xit=ab(((4(#Sv|XJT^WEpa zAmp820=>j1awJ>+$x-cF{)vviCq?~j%3o4vjL2WLu)EaaE|T6}FJeu6_~#G#k<*s8 zB-xMr`#J{=^fNv`bqDMJ$Y7esMqRwN3FLQ?`A14@;s-R--hEIn1Oh- z%&buRkp8%5`lt}sZ+qSap`9mQ80tRlqR{sGw9w8+(?i`)WQ3yM`|&;n?^8qDp>Ivb zJ9p;T#SX`t?~8T^d;s~<4@1Y%RWp-rG|xks)!@PfF!o@=V&vO4Mlp)TMB^UsL&ZI|o&0?vZz^?kxv zU)p!4!iN6ofKhg=jerH*uErwpzy)834~@Jp9kEJLxTWx=FMP86Wl`{NIq>td;KR5> zgb!yWi4Om+?Qq^Xyn?+%kTf!^r(Gyj|^ zAJKPn$z`$r5z=Y4b-rHf<)xtyj5c+9+r)YvZ_{74*ABZA?;Be&$hvPf_!9FRj)IRm z9kiNjt84x$sihslgrAbjVRx{`2dBk> zp9}>*a(>Z$w?aQ7?6ezm(ES&S^-dmsMgo310W&GkrK8~}#TAAcF$UNEUEt>{U)O6G z@vmw4`3dKu_V5E?cdacgrB={j+(h~Ju&bTpAMaZaX9Ip z8~ypO%j3h(=Zt+x7JhCx4DjGia)Ku)_;K>DZp=gQFZdzdXi%f--?@JW3qPMc4EVvF6v@EPN{qqTzZ?8Ke1%@a zSo-sQV_%YmpY4YMehTBj&s<}i$-vL|&E z?0iA>eJJVAb%Y<-RFi?90T@Rj@U!}=`0(@Txe>fh7Jf2^9(w-uBg8tn(Vy3iaV7&l z)8fESBisAT^ym0szc}#o5auE1&nj)-i>808RR7NXJ6QVjHqMZ)hAlZ6_*sN8IQw^_ zKhMmJ4?ou%`;sjD+;AA+Cp8ZIOfbfo4Ezj>13zQb{yFK-wglzpmf4KOIWu?*bX1cpY6HOpJIo-Z|xbp&bFf z>7G%rMM^%UYzaz7U#j}p2|Y{eR|g9pTX?<^ckd(vAJ?G&MBroUT)jrI^37L`bx)SQ zygKaA!^hvS?r!jLk}=L?;N#sm@G)HNT_W`59Gp*g>gTI?M!oW^;2g*mLcgkv)vw%S zn}41y;W7#Og7XqF_MKY8zSBVa&gq07_@0x2pEogvvJ_Z(+B+gN%egw;b$n|r!-0Uc^czL1b%)qKR*1d=Ufhw{&WvN z^z`TaIPkO37-ur@GdK?X%vXDOu=K~8$@sGqgB!s&+~`jL^N2@(rmDUVCHz!B&{;P- zN%$$kI1+)M){6M>GtAhRWa-Zrk3ID8^Ap@<;6{Jm!9kCu=B$o5?1 zV>kWEm4D47|2i?4tKcV5{puI0-$O0`?75%%RdV*7I*cU|_^G%~uVJkGe21|w$->Wy z;|@Lid@c_BTw#ne8Tk2i9Qc`{_R&dy-1IBLk5j)IgZQEY=~t(yJ`SK?B_!Wm2l!Z> zBz+lx{u6-@&kgb6^F-rmPFv^{XXF5dShRbg`e`n06(d5;Aes{ z&Sc={TXEoLjM_&heaUc%zW{w{j?vGrr2nBHcnjnTH~Hoq%%d;=)j-w1bN`(7owu0h zz@eY>ouQv&947}aAp9V{J{kS$1D?xu#1FXHkB|RmeERcOw4vpOWZ~zn!vH`3jaVx; z`tzhQ&Sc={ggEfCitV}3pE&we4E#X9YPPKO;Je@(ZtxSrJmSg6i&fu=$j6Do&vQSb zeP>}(@G}$RNCbXzz8xQaE;9BdS@`Ka{?PNUF2vQi!B4(1&Sc=H>vTQ$X!&@c+CwM( zNfds-zW_hy1iu~!e%{AC;=#{uoMR;H9!mH*3GkDH82x1E&#OF7nE?Gc<3_!PvGVb+ zIG2Oe&&xk|=;7z9ap31ZW1Pvr&rjmOPo>&JC;Wt5{8z60>ng&}nBcF$H%Nb?^ea2I zF&bveRiB-G_#+afH>-XKdrp$@QilE$ftS_ai4QNQ8vBqmy*Ui<@@vEoxzU?+W1Pvr z%Pn!>We?6Yy7DU#FBgeVXS^WcMW6NY;C#wo5T_t?Dfl?u{8WEYZFehNHscu&R-PFS z_?Vp}d_2o@n+ed97jKFWA7RerAnD05*@vE<1meI)r7_NA;N#jj@Nu2mLnl4inE-rz z_&5#YNCZB9b8~$7$TikIS^BZyFu=zzu=Z~BWAAAZI8FvW z&Wr;e9c<4{-c0~LeuJ2YzUaqqRNIFVKGFdntCNI}M=_2>;Ny+&#)ppwjdf2JKAt}e z@NsG!`1pn~&Sc=j8wWnFP1XUqvhcI-Fu>0m;I12eX*u=a z=*z~_^xUIm%U9T*3w?=WkBNbw$}72V#lc|;ew^{dZ(<&O*<*gJ`giW1i~N!h{OtGv z^ywtwrv_ti_U~qodE-{ShOzq4Eylhi3qRk^IrQ=i!;p0``3F^}c!OzzSKWWLu+wA*7V({~)+v3B| zyJ+KJ<=?v8Lk~Yo5J%+(KaIvXlYyVYIPmjhwr9{E#N|C>o{5bYf0rmf=?KC;!kiUJ zoKIPr;C^N-ioc)#ZLCwW^x(9-L%*L##o5mbjB&c{r+@*R0ryyy&*WGo8*>IW{<#e~ z97-)uQ_gVYNX=jNyTA|D{ylf<@BY3df9Kyz7nZKb`K0vT9OV099s-`%Yr)w)y{Gnm zy2NXa!ufINzzt5H;t0g(9LT45oPwhrhAw;neK;X{Faz)-a-JjsKOc`tj2>Lr2mExQ zjf15JGYjtbDN}WIz4C<;m0)<3HcVyoLPo zvio_2g`7X=ms5T?So!7WwXnY=Nv|$X5Z;cij8Cto8T*(ly?XXAz*`&QciiAD+Zd-C zylMK9A@t+OdAOra)pL)Qf3wv79jyG)IGgZuZt$yd;AfbEA2<2s{Zl0D97_3RG~lN- zGr4$~CXB-gzi#sH?bUh>W98ppa4rXFzZ+6`==t53;=oU>G0tS*=h`^%vrz4!6Ml+a z_#1dz%z1>lh($RNZ!1@Q^c61yd8olfzqa!QK)(i@o*Z1Y9QK(c=}Q^JEsYN! zryA>?EPZJ&I`r`IYplB)eMvXQnGAe`sd|QKDe}M_71@n;CYq$PZag|KHW$tYMKh z$7G8(+x0i(Yhs%L_V?sCV+#@OM`X36^1;zt!I? z=6D|!-o$TnPYIS`oGgykcg=zOfO~Y~nPQxG>Ti{}r(KV8ul%-He?v|s zeiP%|Bgc7*{$}NhZ)@1*4!Q5&*59y({M{z5XVw_8*4OE8m3iXZ66ALa{LvFEPp$mj zJpHXCUwq4Dn|pDe8uEc&rN1GzhHaw1+CWEEupMi5ss7d|zs+HP9dh3<*54`%Wq(}j zF=NI4P1WB@io~}$xF;$w=Ime@avuitH*2)~#x}1TDq!gx{jE`cTf(sn^#!Ximech& zac2thSh2quS-~p6+2`?1@>$8BME(!pU!I{8X!&57$e$j$??cnixyO_s?-p|GB3}vL z%|*VI4&_M|5_D9Z zo%=cFKzaCg4u7DuM@RC(F#jF%!7wk35A)EuU`9i3YsDII%*%o6N@+d>cSO+Z!2ll5O`EA>f>y~5bgw3g7e*RdC_Y)w0&$QWl;D@!I zLY~)+)fitV#<$k;H&tVN>oLAb7+)dAcL&C|W#NPset&h%cI@8{)Zu<)pg-PG@hP?~**#>GA3&LN)cNlS!#hrj!0;u&Ax*EapHc8j82TpUW>@?_9&H>c{MU2P z_|NetiT~p&3*ekfl8m7AxEb|UxH@r*( zJa4zYyYVH^4B{neO9Y-JZISStBH+0Z^>8;s6gSzS zRt@*BSoLWy>}T$D%nkoZ$GBcypaENekECH;zIHcFKi1Za}iai!<%DXAp9%%&WI`7+kQmhB@HZ}aXQT~ZtP76P3 ztkus^cH;2ICq{61mLYqX_DDB;{!@WFK5rg*;Vy1BT*aLoLJr8N zC=zhBJqlOT1Y9ivT#W~AYy;o7P*3A(G5+oVo=kua@LKg;gXd~dP7AM8&xi4J z(u(&^h|r3u2jKU|I_SeHanERK@YxYZjy^2Zb5Qi*IgUR``mjAedHQgb?$@9X4;yRe zqz}a>M$-o&@835eG|5V7nh9C3zF5lPrVM_Kl~Oa=N^6>eXS&DRwDpsvcNJQxHP7Q- zzDFAFd~hXxHw!W&^+U>nyvK#Kp$@c*`W1Oq8(>xNO2D}v`MB=@zHWv5z8&&=mzCPI z74rKA$O%&*Cya)ia3|!1)Y~SlSm(c^hGW}_cFBwG(l`lul{yCH+Lc;9$2iEdj>Uc5 zoXfIY>KKJ%^OcSf%CTllf<9abe&@fxOx(pZ6>USthYpg_U6yUlxE6Dqj(-a<&uRE~ z9dLdc{=Mt#*Hpa!uDgn@jGA|>tnRH()?nTl-4ZUIdYx)ts(;ut5wP9StCp_BN- z&-ef6fV9U=r=l)m(w?R0hy1{e_9Vg!9#Fg>G+6QiO?xu%x5)>V=Hs3_kFVwg(7clV zlFn|19{Db0u<3Yz66ogwkEiKw{_AfA7vNvFFS9B0lbX9MPiD<{PgZyC<99#U3;Ns$ zcx}g;v;t1w2M%#Q;tnssD|Jfeyg5JivlPC%oq*lqL5+V7Ss6{m$6CQ{3#URqTUJwy zah-^9alhUJoZb!IkyUZx*zJJR1=z1%1*hY!OaZ4~5%bRMF2-HUX{eVyNX}^)^h(N^ zY2X`6aZfMjd?MPOrM{Pg*G$8^X_zP8i#abC1USV%!fC%x?!tWgVZND|Z;hBQa^>6e zeLTVWR>L>B6m#7UJjK1J!UpgnbpCSx?KK4$&-#IKu1hgj%I0Ymu{cTn(y43uQE%1I zh-^;&LS8R*P4E}o?dm3*4`D1C@N1BI4#2Yz|N4u+GsBtcnSp0E{-ue()50n0=@U<> zds?DQob`tHGhPOKndN^PWwtNxnDd7Bi1(yz-tcat{5PY__MLp}>|(T`Y%eQ~I~e-X zUmu6x(9~ZwKTA6fZ3&n?{PwGtF)uL}#m~|?k0kloBFrOMc{i;4HTc=i(UCQD^0Pyw zzrH^2KSO_=Cg3q8JViYx;i>i4FQfdK_1Al){@U@$znA{%7waMQSC3Ktl<_g(+vEd` zSJP{ijyg_Uo@~HjGWzSWaqxM_u}2P{U&q``d>+cVB#F=45l@#aKL1SjYvA*TMe*^u z7&4oA-#G6&^RI%h0kKxqh_!OFOFMZrc@*u^+o6lJfydHbl`^*Kne_?EoRj=_G*ONt z9}j`INt<@z*mX+Yd|vT!%Dv=mFQ6XF%WxlL0p!hzkl9vRDczxAkfmYAZex!3bKpCH zZJ+b$fIpG8Z>us3w&9fUIOwvolhnnx!xs=`(}ryFE_?#fGMMzCBx2JRc6r#eX_q%` z+RF@mT-dZBCsk)FoAx=~) zQy^1~rtJ=MNcWWVOi8t#q^&{d<6xl}7 z_9PW>wG}ecdWY?ezLN2lw7t=;$MR0dZmUoa_jpR%0{$+8%v6uLybJ$UiN|V+mY3wd zzr+|G(6$%Vb2FZ_$G;%{mbUp{8Rciy_h*cEKQqcth%)W<{&0gROI`0VqZ~&0PRxzI zhtYuXczz(xjeekQm zy?qhvC+zEe)MGj0c=k1V>{{s4?5lXBHDgESZNMY+HN5hfJHfxwp?AJ)r8lKR@7%F) z3hX0yHf=!tMElyN`dS8?fanW!O3VwqYX|U7^u>Iz@%lpjMEhE&=LH|L=nM2q%nLrJ zbl71;Us-+3OX-)1tl?rkFYqhT7xYUpucI(8@LM^rKKeraMCWy-o)_+j7JUs@^MW3~ z1O95!m%op`P(RVW#_4(C?mf}hNHs6`J$E2KhUg1&k>0PZfDPKxx)uuCS<`ydXJ1-J zFLJS)EmCsK(V{Qu52oF0RW|#AEgLkt1G!eo|I4kErdiWFis4zQ!D&s zMMgPalqqNX!a1UxF3O)X$|H)Y;EiG@l&L zKaKLoqAbTO;?-20-A0|i8Fjivnf%cg-eHtGQI4#CEKjs)j#z)t9K{oDnggDgk|Aw( z^!IH7ACtV$7yhl$Pm@u88Rg0SlJHfIEQ|G3;vQQ1D!=*9|2{_3kjrRdzWoT#2&Q_3lC0$@5;x2TUlt%|!Iym%Zj5oO5)O7gijNHja?IaD|?O zk{2H0_>+_uF2_8Ql^4#}{Tlk+ZN}O;<%Mm7qU8n32wFbiors7Hdx|pO7k~@&K@iS6 z2S{IKvatoU>B6Si)JgvXa57pBmozIPhvx|&UwM?T(kJ-yRT#^7%hx>>^nTU+Jlj_p z0=+MTPC+@m6>v)bMhE)Tu>iOWH8dH%4aNYp!)AM@l`8xv<#?81TBP;>JhY{7^I8>0 z&=-FGX_PyDJ~0&S93lL?QO`r+=aZa6lKA-u=8-IZepUBt;O7sG^>gB9Lh%Eu1_d|# zo5v441e?o$Lj1tBSO4e453FFE8tCW)>RE^9k3=~=e4l#$0MDQ(r-hfR=RJ5jX~f&P z5gKv8_<>mZ&_I3v(IH2UK3u2gpyLBtoO8SzE% zhdbko_NGL9>7H`_Iwcsz<7W}=KC)2A>sMr-uk{`0ZxdC1&BZ2IyK)4#5{=k zDqlb4<;jTKkn=U-AJq4H*z2!Vu>g#J5U~%gu>kI|4?js}z6XeXI00iybbn>+Lq8S! zfc-sM!L>{5gMexEov{zsTArE(R;GY!#(PXV8nGVu7ai*nfoC)J;adsL_kghv%3h@P z`lMnXVE-Y0QihI+eSq!8O@@A*Fj=r?wR$d!-!^BX?d~U)#lEvrm>3$7-{w4d4gU=O0evX{4 z6!8r|KKS?s%DJ?cG3Fq(Y0~dhhnVY4%ng6JZVka z!OKF3>79z0-eSb`E<;Rj(QT9Avs#My3h9e`$+kfijNJ+w)H>LZ-mz^^(iitPHU47w z$2eBbmE)fZ|Cn2Rg&*>vh_6^B<14=NFA!hxB<8>~gS4-h@fF4RTj(Q@@$C4DlIZw~ zZ~i3`UyD33PE1t^CwM;S*oTEtP&5B|K3 z=h6>85OZ7!TR7$70{FpSgs+)+&N+6$H%;8{6233l-vH4E{dQPiqnu&%oobYQM%hBS zuQ-62=$F3vzT#B0PtJ@}`5!Sp@?mdyJLB9y=UDDA%B?6ndG8pWO; zZ)<6<>OBf=93lC+QO`l~TZ`jQQhvSx^GKH8uF?G({I-?ndgJihZKt`!6Apy`UBL*Y|e7XSsG~dw5XS5GX`>#@NlQEp@QJ*%23Y&h!_f;_lM9dp8 zAoNw$3pvNvOZ%_Pf+wFXcguKpI{eaKtx~Zee|W` zXcCzhV?e~bz?Vc{h>KYXUttI_AYF(75q%+#M%;O+IGRNKeT)GS^HTmkp3|VeZz^cA z<}>j3xt!6Ee3!I1#CS2~>sxP>>qXfo==Cb&{liB2L8DHc@%}!e95m{D-*{hRlf z3{hrGPrvY~DAU(XfBJawUasp&b{&7X*eDmGyaBi?<3Z!cP;*`a#s%*;VyMacA%l^| zP-oa^@_(bBETf!(^5Nj^RR(Y0RX`Y*y#0Nn{4UB)-ad}!)D?gFI@&nUdG|ALPohJg z7W_S}KiWA${QYG;55?cpIfo?qyASh7mcNH}zXpHb$#cB%`1?V`lYBn?|HqRw5MSUo zYGrK9zhOMdK!I~I{=C0Y?kCDJo@5ltsp4;6*sq>mJe~M?i2+}U#FH$>J-8-*R;u&n zqq2@1ezqXSO3XvyXEx`MB!2Qf-(>M~lkV5RPmi&FPWyF2@gyw+gRl4{PP*kk=!-`l zDu40+&qpE8^85jQg8!6!6lsh@1dmQpPamFMQBDtA>iH>Rq4qN#3Np_=_3XjZNh7B4 z?5*NK2Z|?o0r#xC(T8I)(Z&(t-+$C|Q1oFq$Dbs9SdMulOCNrr`!(o856?Nq;onCx zAH_eo=bGn1hX22kkK(B~^LEp5{x|bcjM#r*+T+FxVq$Kf$A6ZXoB!>66jQNZiNv7% zr{tsPpWu8C7?Yvw90wJX0Xs+Bn2b32C~jb!9PAwbrJf7$T!McU;_uAxHR?GJ&xQC` zF8)pn&sNWw;wf##SBSFAL2;Q;{;E-C`_iuO4PPwElz+Y93ytzLqs;c5eC$WVBeXct zd=!@*lq&e8Emb3uEA5sAp8{N&m6Du{eRDV6tl#7$asw_jq=y+a$5LOl=WK8McIkV^*oQP z%iHGVnF9iMMVKXUjyM$bp#^EWt`B=NZh^GFt-2kU+fe7?k3M<+h-L@uqE{K&BD zyXB#9`iAvc;AHY6{}gsm`W~kuE+8sDGW;hzD;1L;8Ga3s(`y!E2K?cx-}v}{JwNhy zI0xoO)-eJ)Ke8Dk069D(qoijUb1*PBs+|)tBmCGG51b=8o*c*=6m|{<$bpIFNRGCR zn=u0CU@nXiU`&9B5rE%@a>7(2Mqmf#qT>VH;sMsehR=9_EeDJTkY~~kbv(dC#&rQU zXul5_RpRvpvK%a3*&wTj8`^vqLNMF)tj64s*XN~ZFVi$B@F?j=yu+MlTVVhyCc`nXa4iM=++ z|BbSiSAUN3XZ68$A~w~T2k6g+4|ciTw>NyZQC^0!lZO70XML5d{5aa^>%8!bL*4n$ zBPnR(2xTa-;aAXu&>d=DWmse!uH^eht$vIpQ5mneGxL(}i%>s1fya?s4QF zo56hDTM!SzIC|%KehV=+l|Ji9@DTg%gR3zY=59+iH-VN@Ij0VlpMdd?k@yWM3s&M> zz1w*pC%1R?|0ph#F+5IZavjcIhq*+~%$)05#9pXBk zQO~FG)cCvwd4cA)&Gc<&Ft zp`O3T(}{1n2CO8CZ%+-0;cpGpuRib{Iecr-b5Z!VYjE=TR)u*a%in&W`!(?GHTE6H zKRFdPj86wd?&spYTz5m-v<}PiTc5LFB6u@|-hYjl8=p zk$g1)MfbNs_B8X=;5>$%uZH)R30W0#B;)xIcX3cUBW=4p+b}DJPs#D#0Y0T;gq^t{ z89zxGlYEb5@+om{2Rh~=$gLspDV=wWW8E&!H~7MX1U^tU_l1u#%9$wl6My@{B3=#O zQ}MSGXTDGY;%?cazDTKKFlx`)4v4hX#6-p`K}Y zriyZU*sq>mJVm@3;(dA<6NBe|Je@S+0-i-zJmEm`KFHbNN*_je(Z&(d7vI)%Q1oFW z$DgG9de%YEhhOP_4f?R3=YHex(<2%0^D*}vJXOTF{vV3>c_z-h|JCAsM(sH;?TP2- zk+uMtYy02*{+SE0U;mfleFh~s-+#4upKmjc5q6<(s^<-O-hqGrCH~F~FHp}4JS*|< z8u52pc%FKei>HkDnI+0H-seiA{B@(u_I13^3{jTxK9?Bfi;Obcck;0Z2SjLbqVYbS zLGJwQ8VhY5A$~Sm&qeXG`J6|R{Or|%$;-R_biW2an`*3~Q{FvP@jjMjo$jw`%=Xv(yWKw{;?;x?J~cdBtc~=gTxFNj!j~IsH6LXs zET`R$Txr3y!*G{+fnEzm3+8bhKnpgz*_Xxr_0jek&fkyu zSF8LC=AGegx=l6a&m0V#e+TBj2)?k*uthMwW^l}%>%8;N7ybk>M9%#>$JnoU_t$R| z`}MiK`>RIn-Jgd$LqK1-S922_>jZzb$S=V&oPEZPD1RRF`OZXH=JU;mznS-LAh$7W zFVfbMH@3{OTypsa_BQ%v{z2v>_J$i6GbP~J8-C0vhh5g8hvya*+-`E%TXw=G6$7tc zz$T(1nhPWK^}t>X@8Yx0+}=W zCel{gH)&6W9@q{)Tjvl7SBb9M!Q4MOQ{Y&t$QN$jKU#s@0F&Tf6!(uJH~2a$wZ^=E z)Cd3LG|ZRxj^dsLkyCp*Vpd3t+kL*Ky!|>~cqZ;2y$kn``no~e#M~ub%KJyhIp)nd zyXk(!F->PWEE%Kbziq;bwf^dwiTGRRUg#@tz)VZtfhFlmBu_Z+LB=`=o373iUIsW5 zdBOo}(LPOSE2fEIJtt|__H7I$^C3SOT_~q28O)Z zEe}*8@c=WuGRCuFdUQO%wrPk5K%9;p55U|I=+lnz*;3jw5Amyv2k=dWd;s1}+4n`v zhdxR-+jd{`VLtyYz&jDsBl_ukPR_U;#yIG>ogB=Gi6Fuz0UbEQ3#AgjFy`Nxe{F%J&!Lw*r$ z(O*=4mW-#eD*KCj^j6{walCbRvm)GVu2lh1@b2aNYn zcQA(!Vt3nonc<%UZ#f^f!Mtg1cN&X%W8XRFevg&n4&{=K3vj>GqgH0q0^Bdvv~c>0 zYJW{lH^zs1utjd13y&@N!DG1F?ep_b8ar+OKM+^@Guow7pC-&=E!S_97gF-N}YY%2?M@87-P@q1k7 z{@rBfzApaUJ1}?J7b#y)$J`fS?kCPK5_8`Uz8sl*nwWbp>W%lLbx$3|xfhKUcUfcZ z%RUFZ6L|@<$NC=-H1J927_WtetYCGwLoT9i#a~KZ&pYoBM+lnst!>H2^OH6nN|;D(sLK%`2mL5I4RC) zF4jxr{3E<#Op#cr=v+5D`iT9CiRZ`Ojt5hCG)ISEhxW`g*ev9lTBQlosn z_-=(Sz;haMP!c!0kAYkWd?)Q-?!%psr90m3eVX!|5Bax8tj-Evb7BeZi$acV=x;o~ zL76?}oXX#=9qC_T!tdGN{kX2w=gte=_S~k)X6_?FljG+;ni40zHQkOik3Qewmiy=v z#?gp1O$+xJ<&W%gzwkd$ZUtO>#F}M!TYa}E5o>AT@>Scs`)w5H4%M$h4jPg6` z`-kfJmiQ+3=#NJE4e?#(T;lJ;nAbGWp%dm8i(HDupux}ExfC<(n2MEFhRUT_JoZJv z`ASRWQdIerP7$%RGRFBi(I4e&fA|@r{4-IOb)FDqsb4i1WyY&9UQ*nbA=WT8yg_`I zHm-HzJ87CPybf1{7d>BvScZ(rozQ?nrNUAN6Y6zCjZ*uJJ0qGWPzE0yQ$|m&a<5j zey4H|YTY0OvNq$rQ}Su|L2gCR`=$7O3hon~sB$fCfDOZW4x<`(VD13iUCO$v0-8Ne<}=2cY=b-|?aRkaIl}yKj|Tf&23wSU z<_Kr0`kWtrljwR6eP1ch9YxMlInEu`+yQubN!^bcIV)Bq&TmoP zj=+nQx24@FP1&=H#x~-+s?p$)3XD1Ri% z#0ziuAEGR6P`ixs`$nC2jrZG)a)(i;)p-9`qx_ap=a0twH;nS{j5^}J4B#rq_KHzw zn<)1a?`8Ys-`?cL;Pi_e zoay-!aKulohlMwR{x+oYkR{Lk~p`&ac~RgY*AJd4?!+A0hvv zOgWA6)KzvJZ+N<0#~YqvlqaI>l&|jNSz0Au^&CLH@?^TpSLJ(;oP3q9=b+@Pxg39z z^3|*Tl9#Vib-#vuHPKi*r+jrV_nXe!Bki9_$BP38M7+2pYM@bKv7|gN#~gd75(IIfNI-uv@e*eXx z0%3ENcgRiz|6PaQ%v(5d#f$#iYnaoUe(+BC!K?2t>CtxCNmi=3XZ&h;&v?yh%TrU0 zzIp#a05WF)Z3GsUt;q2&smac=g8Qpx?)@}P`;bS4qyAPneFNtWoPJUHV|G`izc$`G zP{=BKs`|b5@IS|gR(jDE{N$DJfwo-g5%WHJesc59!JIlSE$ykkZ(`_0=ovgKEo@2q z7KM7N`URz*+Y{bz{Ea(^ds;KWSEhSVOazBe{g-5qdFV-%AwQI+|&9S^<{hYBGOBM!J zc(I1^&XTk7Pi`9BP4LG8&pa0RHy1OdRz~6#c{C(Ol z)~n!}gTUXXC&anZx(2MT)U2{+AiU-x);NV?eqSR`Cp*;cUTJ9`Ce=2T{ZN5s-ECq0^@ z=vO;ngRs|zc3MEAehGRYV0>)VGY13T0oC^sMK{-=pE;nDW#BtGt4e!tAI6h8@G0h? z9(m(pOY+4W@VHX{;+njHm=|Q}DAsxsy8MI-o0qYTX_Xv2GXW|FjFPVKMGA7Wq>e1BNY9RpM~}Z8<0IYJ33`#^kz)*lCQbuQJOMQEF4Dx?N>}6}K1A@> z+X5>Bh*jepay>r#9eM5&wI*g=zF!mP{iZnY+v2?U!dFOsZ@D9RD>v*f@L!TG?*AvBm zy@=5z|0RuVU4S~|zo=*O-yX!{i5R;DsB@0uzwp(!jtA{l^W@s=IXTxpfc5rb4GF&i z(AAt-9)Z8@;7^Frd2JDR>?`m^yk_v&vlYDD>;f;nw+#@&!H4z?$zVD~y#tUX}7kN*q4u8E68gid5&7c`Q-3HcjFvyt-?sd* z8S)3tzwRy@;wpa#xdY!?Hy6an9n=>JDQ|2(NO_|%IeFtc(6Zkev@A`naR~2hd>7~A zBlN4KKj0a%MyrG89!Sp50UzVK($4IZKPax6@Na?DFwj=^1+hgyy)#QmIwSktZGsaq9IaLV&#kYnb6j_2S$ z(Y|D!*_0O`8zoBbm+>4c=vkG6-tR8++VakxGJiCF!7f2K@Me`(`0oo;XxS@(u~TlK zZTAHwhdF&|thKP&@P6Ew_3uio##N zz+W$XK6X2A(8ruI4suJk3jnVQ= z%W}k$33~$V3Vxi6kn+w`295aCBVpx8$vY=|55K&#P0cA;dFRV>4S5H5oE)sY^V(;W zci>A-NG5dJTN1UGELQ9DuV639?fBQXmz<&2E5=?@mTSl>`O);0_Ri%}Uis4;cfRN3 zQ&IBD@_6z}zC&J-f7|j(73GydkXPL8B~o62on&*KtGse1<&~;~l~)EOWgl_MD{t|< zD)?5Eyn-_prhTL({V>Wa(DhAu<%Zer`{tB)G#TN=fA1s75MGFipQDqN?&&4 zHIS(_FNQ26`~x}2OI!+>ARGKD5&iFWwXTmk<$)?`|KMHFpALxFKPo8;(Ed?d8cG>n z8Y2s68v)O#w5l;V??Lsz?$M@X0I`1!3z*}RWf<=Sj5mPs>M>9b(()Q@ z-aPZF{Z~AL!F=6offtNH)^>dJeE{!i0}5b#XkUz9w^t6kBIlKBdBqqtY)HG-s4$=Z ze?24jq;s7=>w3};b2#))>YQbOp}Byed4QpEz>tQMb=dcHN|({FF#&VYF>n(B2kQV= zYXK|H_&9#!nN`H+)szE<(0Xa{%Lg!H{sYsQ=mexHwPi?!Wsf_>XOWgAL+f zr5VE;(rVD18qmv{PaLRV)9tcyG-6o z-c@ROggh9pKVe_3>M!79>PXmEs|G~D2V}{^LXTTM_C)M}kgsS5eBdf~_=_u7L-v8} zEA41`ba8=l9hXyKAX|u#S z(pRqKdo4E~3LR|;+NKS-&CutP)!m2>*#8~fUNze5P`Jb#29zg>FS&^McG_v% zEorCqX`J+HZIJr2k?Ya*iOLFN%N78U%a5Qmd!8H$CL3w1Sm$nEz;4@aq?L)-6FffO1<^ zdZ=-n)nMI!Jn~sA+Sr!o#o67GjUC`g)$4cEdCx|@u}24)|H6N^wX3@Fgy1@qyF{Ix zb>3;#u0Z9P>Nlfsf5@nC7k>K}-_E+0GT8r5LH~wR|L6VP`HVk}yVte!paUzoIVIN}aTPv>Af zf%LP3RTxj(@{ADU@jQ5!^U$%uIasImvXY*TQ{WHBI<1?PALN+7x)AWWw4bQ^!Z@or zXGUIdjfJ|1;ovnsV1{enxqxx1 zsWH54q+0vcj8naayv&0*)zql{VO*$)leq@GtckqL6FePu+yKXLC+r;<5B)%$fK~3v z7y5vs6Yx#s-ocp-#-p11!~JI7%hp@F>e?2R_Dn=PYa8}Z@;jXISSk721&CW^UEegT zxg2}bfj&FYmW*vp2|tD3x2SpVE6)lpT4aSf@!QqF+w3cdGe-rlyP&hK0OfTkv(7x9 zMcA#iaTo72?*4Gyj=DDBb>Ne9yt{29aJRPlg5!eo6z+cL6?g;ui^bi);oH9QOfiOi z_3GKKo_TU?x1Wu1H2Z^HX}4`;-FYLdkbuj`8Z~Qp7i&Z~-!mXshk3G1*g7Kce{puO zEp5@pcC4digbC6Sg<~Q^EFT2~!$|)Avaj z{*r=WDgR4*@6CT{#;*A4L4uMuQ&Obw9aP^w4;(Vd*{~rV& zY6w{8gAZj!<8ph153gAZK6E)~;#uUS>7ll#0Tcex(4IHC>H;_?9B{NBuTJl*+k|oeWt>}!9>?YgFRny8n@CeE=J)vC z#x3AS)x%E?B9?z6ak9k|pQii?-&($mF;E`p9V+Kgjo3+h4xpP=L!824 z+r3cK9S~{v;*%wue-U-1j9}Ldh`IwsUC0OxId7+9A8*^(J{@(Xj9}M2OVl0Yz=^@Y z316@k`)Jb9Z}ccST9qPra}-Vpn}B?;aiXC|;>7tTecfDO$OlDH_#otiUcZnJS|Qtk zb~Fd7EiE6^S{nb@*XE*F`Jl<)v)W=DJmb((V&dReGYTzqrL2ljdk-iN*Y({~{sG)?H4IBRgUe9${V z=)VV&4<5tsBl1C!ln?M*Q$CnG&6E#{T;ziy8z1he?^`~2--?gRUHG=Iyimyp>e;TI zd2(z8;4kZ@K;8v^VckUKgXNg#zWTz1<%25LN8htzQGvFPffblb%09de$$L0^iEknO4Kr%JYL=b^W60P<@0JpMrH4aK7UN z!N>Cf^VKCIgPp#Gf`%@~+6p=;Xnk6!^O2IC)!C3gE+ehZ2zF2Htec1OI+Q#6pw&mC zpIq|z85x4dPoVBLdQ@;8=nZN0cly}h>p2F}TJQ_@zY1p~_Cx+yLi(6KHrVcvo#*t? z*5z!AbXU;*!D2qEa7JPfV09vR*E$RHs2c28uL#|4Ujw>5S<-#67B~x0c@fqEct4hR zR#3+zO$Wa;<&mEt-jDK#fWvADhn*{IJ*qip$6%>Pk@h-h`rmE_94wXeAM~_2=YpeU zUD93$O>Y-E#-q)BTj?I4b2*zdd4`eX+AEv6m3)9w78?bM(h z(9?bG8IkoFUir+fDaJbETTDB6r`vgf?JPw*po#nHjdn&>KJ!=E4s_FuAiuGlRgjHs zy&Ug!J3nPRRcHtFa9_F6PIl!pubA!NTTDB6r`vg$?JPn&CjxJ<->VV-1G?Biy7+h8 z8PIYozL73E>>}le+f#IL*Sa6)1Peh^I#(PkWJl1MT{&~d2HQwyR)Ed`t|7lRXgz+z zO{9y*Mda5TM@jj$4s}77%(@SYx+5a(HmY{-MP1mr%(_1ibw`T29@5Y!5!(ZKuzfk| z!p>#ZT`KAxugB1k1AZ%H=o-|Oble{ALQ(f~kui)MC+D^lbtN6Q>wZ(z9VO}t+T7@s zw7Cj(B^|fxUX8l@^3rV?rIceHjyPkk+alCIF?!5jXZ`X>eY9Vj^NHdUx1zqJ=XU!S zv3`A|K6ucsob2PIJrT5rxiHN&39x>x71|; zw{6!zj|Dz|gnQKHkWP0L1~+33O?$-jPf`C;3Cq2`DR4Wd;$Is6rH3GoGzaDn3+DM~ zYe*4$2YszJ$JEyxd-3sq6NXboUBKF|oW`Nht6+PgzUJ76_e9+^>PpagwLKL!jdD+n zOj*G76n26O_R`-h@L%gM#(TZa^VB*&5@SC|*d7HLXjt%?$-*AhtnE=zbO$<(UiTo@ zUFbFuTYiISkJ`Oo@WTc-e)ulFIqgv?upxPAkJ>vl*pBrx_w28IwDl(2GVM_~L-$W< zkHQ>idtVsUR#P8sZDCvB4}#9+MazF<5c{X>Q4N6(*eeMC${r=~Db_x3e}|GW*2*uUH5CEuCPZL@Z@ff3Vx{JNycHu!jpWj;pw#xCEmu^qsshJ z|7LtcS!$HLRyhJV{3>y{zrf*HuW5S}=x3rx-Y=GW9@qvWrf;amG-EM z@q5^#u#dDyWkvtq7y13)`1_goJ$N$lSpI%usKov~Z9(bLzsLS+SpF-2PZ|PVOj;m+ zKPfaO>i22Uzi*G=!f*L|(iEYS93y_O>|qVGhy7rZu!jK`U=OQ0#?em1CiNWJfjz9& zu!l99_OOwC!0yq6-7jMdpo6`=!{iuRgiTJ2;hRxo7#2N-`p6ho9AFIlK8cUld+<%@ zd6X0CqiteW;%*e;59o43;Ps<|^`Ogb%cbrTMPnC$ZaR4M|9pou*0x=9ybTBNDq#Me=Vl3DjAa&arm}R*~RviOZ(Wqdi89#?PbmDN_@dC@ITgdv6n@! zk?@lY2yVta+2*W>Kdm7r)}Lno_G#8f->e@cD`Ff%Rz%-Uf7;*vp=CuC*O-QTN_?LS zpRVBbt0uf|mi#7!+~IpRNAsJK&w<~(Bl7Loy2?xap{tOWK<^|UYI}$A?#THv)2c0p zY~NlJpATJuJps%&1R}Py2Gf@I9DLlAQK^dxK7+PPON1>A`=1dUj{To=8Ges)U;HM3 zesXF1irCVcO4#q4M_YHYEt_v1 zE7qz6=XB43Q;%lN0#tJIE^aA$rMTwJ6e)Bxyy~uB{&alZy zIZ*Q((E5g)pDP<2`He%@^a7?ezY%q{Z4df|Q`h|X+pKH&O0;dS9CaOh>^)J}<~I#F z@8wB5;7rt&e5_XM#;u~R!Edx}FT%&{x_=OLCBKfv0 znx94YS*GlVpc`$I0aJOfgVe(|m=|k5+@N6V!!n#f#&^?Byjp#0!MD?;y|5wBI4W4~ z&_hG;4~w;O!SOZt)&`y2uov3vEcn^vlAg=3-fi`;7vel}8{pTr7v3Q4g$6$ZzQx9e ze4hKI=4spc@Y_}JJACQ4!XDPJ4)ILZ<=->UGfh(3+z zn5OR_29PvzB5-@%22YUpaCNSbHa5tuwYDv6rA;GkIDFLd+dD#AZ(n{ENYEWP52X_7Mu)bkqL;YR0 zO>QabOC7^3 z5N(tD^KMB`8{Ft=g7&$J-{@G8@sJUOeJ%q3Txf;RFB*(^v0BqU zmw|PT$A7%s1JHBQ8XYh8CmAo+92j$SjD7AS_`l<|^#Q&`+2@e+;d&h}X3;MjZJ%rJ zqpi2u7U;U5WqHx|xhaUnQ}(&qz);v`qV03dF7dPWzTfdp!icob33!UN&)Icv6?JX< zT!V{!&aV3nQCHaK40v+4&xLkrc(Uzt4tR>T&+XhLaX7|4SCx3Y*v+qK8#`nO#ES_S z)^XeI5gZ-{SQ0o4UTDUP&ByPdCjb^@yjaxleUaa%^7qsQzylreVzso7{kl}x$7*%F zSX4WkBX+hu5ALX21AI5^V~E|3#EZ@719mPX>`;#YOq=myXW4U*@nTVZL$=fW_YL&z z7B5y5_4^@?HH^d^yvW~A*RUIH8>{=LZ5yi%j2@tDV=`VKhQ2xUgg3uI*tO%uBJfDr z-@yZ45q0f&v09gSF&lPY5Or;v8*BhE@nUw}pNYD*%?3cZ;>8S{aE}-3 z_(1WmDj8cK_D1_aT;j#@cS)RxiWjSr`Oc)hD>~nquy?&FdsjoC*0y&=@K5wr z7#lBEPkR^hfVjttNqZObmc`~vWqeqrw0AWGZjQBgtwvl$Jev9-zB%k&_WEjj*Cklz zwtCvT21Un*y(#0v4x}FxaG!uHq_z9SH3S#VCr`m8VVMxmaH-8}E zHOk&qrOw~ru9ZDij`KHzVef)&gR?2IPCvHPTl4E+A6}-~+9n3EPUW zcL~2mLqvCr(9=~92pM6Qws#?>f0t?Rvas%g<_VgKGdF0vbe0t?xeR^7#&reuKY+5d zccqf{Mf$0a^m7OL@ltk+*t=>?dsi2Hoo!RuPVCu%ckoTnO~{YEy#vJ#FQ-JuYqeu<-0UyE!S97!oJadYy7VXDw~W{N>v&;b0BwQY1m6^0jo=pE zX}bE;`vKq7?`iL-H`+nG)+=T^_!iR+-syH8W;=_}4(%P~Mmspe{M&899)$709)xc( z?ckkmr-tp^igrMcsBepNN1PXMc7r({e2ZxZ?{qugWji;a9YK3Wg*w>=Y(aHK8=Y07 zqVc{x&HjA_fB$X#9(04hT@9M3Y38reKr?T^H$fAk?RTdlK9Mv5{AAaGoM z+bV8AT?bt{Rn$E`Bz_ON#Q5OO6|m{lrv!5xHi`xBE4rlUfu=u?zc1-eyJ4e{_Ffs! zvMh_|tA^O|LnWEujo4EiJ6(t~Ra>ngLB>u;^QDMh(o!e*A9Up7#rYx;J3Z_8;6&Jv zIOY<>ObB0#;5`|kPRw;3d`XeEh20~9m*tVRw;iDEVzxa~!l2X6F^{lUnDe|-+l+p{s?0#K&fVO|hw&U#A?X;i1GAvk#xUod{t0Ia0 zx+;nNs(UZF{d)5~iD&kHDf^$y$sLK$D^c-zrtEoLD(L9tlEyM_kM=$KTJwN=<-oo6 zn)vwPIly|)=6cg+02=MYk2d;o7UB%~|6}h<;HxUG|8L%V*$7Jz6c98EVRu2LfP(Up zu!tMBQpLIu2nsG$sntqF4Ga|x;5VE9 z5Ah*M@c(Ah8a8A_x@+fRH9mc9p}wH!5KZjvZrA0{MEs-a|69*HpK{Nb~>gi^^IL5rsU&uSmE+9y$a+RJ34D*2*ICXpQp|KHHM(q;Ip z`2VbaRR7-t%>P%R`2R|5{y!huIhSbX0>HrZNh@D;kU0m_|7VS@`u{MttN+i|p85Z* z_BECrx`EoCEooQt|9!)07v~!dd7t-UG0WBWnf^cIU)u9UL1Put4*ldBqFrt;E+sou z<}VXp<9ej|?z`+=C0|I!rCoq`xgKf0yN12X{eP@q&Htyu@B(|+^#1`~yZ=vp_bK*n zd)gCNM;RyJ;s4tqbVJMkS7NtW?fIfPJNcfl`Tv4_7=LB{zhFP7y*io4yH(*_4?c>L zyeUV@_yGG@!G2Ev-zkZ)rL6ASk>2rcvyO~Z<@a%ocN6}yLWkCZpWc5 z`Tq=2KVr*}y3#~hKLYOvd#=RvHQ||*M~R?+`2WoM5s*i=`Vm+7%=dEqws(0S2E*PO z@o#qy)80ba4`QL#@6HAPL^~mXs9xo$GhFKgVU?c|Cev@_-b~iVJFkRS%P}OUb}7R~OIyL(L(Ep-&*l6F zi}|lrYK>t3oW;MAGAKI59GS#|T?v(wRvxo%75woR3sP{<0c8SRXwnvln7NNq<|m zEewBP0(?+BhY`F6=iWz0s?cWjX?3Lme9yyo`h6llZ&23F%46Jqe-k_sGA{-AWi@tC zSFU=D;=@bM<2m%G14etni$`v`3OFR40z9$~ZI*JsdPr<2;(+Kujup^cCczzY#ba zfzOoRP475)bUTwrKZ5Zf1I-+7_(N|Wa)$Ctxn8Q=UFS2$S80wHpfA`UY`sx45R{Dk&!}=^0QQ5dtz^D0V`mHTKF&MT_j}X(sJm2PoxNGP@#FFSDEs@}=>0L-Qhg`!&k@LrA`4MV7%&QiJ<-bshh027g-xd*UhO1;3b=WhW5C2UV zaHf;3_JiM?GRo@b>j?U}AN_!zn{mQap8)Z+>1scPF8$z{gr|!7xext-mz#0I)DPl> ze;lmLtGi1-cqaRKpZb}Hei+|Z^6!gtqnRe2A@gd?_+AA+R($Vk)X!b$2Yla*6DD|y z^P+8eKah9mXF2bu2)4duXIcF`Mg7b|KO_&(erY#$?gbs{hzRtzg)+zARx1E?T-We9 zV+_csLYFb{OwM@$jd3f+=mi;4Xpbo#zsr;%6_2gRWV!Tp^Z40S7V$@lNmvA4&3Svd z^kY0W8T2Y@0e}x#`5C2nm-A`!-G|w`=DAgac^-B@-sL>neD^-~u2~BJ@t?345F;XM z0f3L0?-sLnd7LuiwK7h59{T0H*?e~zdzZ&4vv&>n(5TvM6AGYju>zl-^9A>LKvl-c_-xBm{j&v~->{zddY&R?Yr0`45S{puXgruUay?`IJ_ zGRB(D9=QxP`yWQ{*YNjQKa%Hn2aR~t0=T(e`fcoS$FJ6No`0v{`RshCneoQwu9dNd zh#g0~v5o%0uO)5nECFp^0@{RrL+24;ocq2LgZ@PN(DSF^y<2Vh;G+;1;dRb1ljO_3 zfssO`9>7wv*;Id=wjN(!Npx)5cMW>HvAP!9*t^WWgH0oSVea-_7U5KhD`xYT@f6B) zDPJcDTpS1?+efjd|6dG@8@Qy)(cFL=wCw(>FK z)&*}E#?(6F&WBTA>rq`^s{2ZJ%7nys`b^KLO?_7*mVr9upPg^)+GZGI-#XLypfP0Z z+L&OBrDv=0>_oKtY@D&H4?Vlo*tHbTdclTjG>lzalNUeSihiGh=OJTkV#1k&t}q4< zq~8O0z7_dI^1ZDAV<7dj2JNYic{OrRk9>4%X&vfN*22FbpAn5bw-)zb-4){Wlhcp; zFyPCO^m7U5hvRu9^IofW!TA$9=`at&9z|O3OElIW>;h66C zsRR$Lg04WeE6d-)yvG}%o#(=LR0llN!dk6hxv@xdAdW~#ltjc(Z!?X;~ z#~X<|3o%9=^o|v%DLxW4=O^NC`M%=23s9T9DwtHZY#8p|Yi+E`OxyEf9rU2b3}fDg zR(oEo!aRnd{aMJxJqLa5K>vH6HyUour+B+?l&{N~Y+cB{AbL}uy@|T!wZT?ppBV|e zX5tQ3!o@wfcWZP{V{Gp!lLn`D2`}iA_2$EOqc-_gBeg6eAuttpL5_VHYe0UoO2F1( zO+ES6;OlAw-x}xyJ|5%MA(1NBUDXPmyjLvggu^4-2etN@u-l9!sgW$L{c9fWzg}%0 zzku3b+BdRPYyXVa-V0AdUNA~-&8Pfa9e=!5u!_H}*t61CSQ$(ydvzf5GXfXnXG9zV z=z5b0Uu!%|iiU?m57`1=U>b7O3uzxw?T%pCYz@Amp_s?JM@J?klYIc63jXN5TebIm z=P}D|9*L~x@%At4ON+7oJFtd}vHoiVwEnGjz6ajYCuofAG3DyPNvQAqMCb5=t(of| z#ytyVNub-2iALlNBQP}^bU?L}>(IV0=plYMS}{2OWWtfc;FyU$MR44MJvlnX7~2zY zyd_{b6JysIiJ(_bhmVE!ytu+>HLn=-SsdK+BGKcqW_M|kVXUIPR0lr(9b~P##=i4%p%X9q@$JWTol<}w z+>Z+URAP@3t|uJ|T;aUJ3s*T0eq+Pc(}x+Z1}M1d!aj!>-j2d&DNCyFOJMTkidrsD zs_)B@jp8>{-klO< zy!+K0!MiOT^^93kcJQ&OmH@T?t=1m0qrq4oh~zTfZ?!)`Ywz5PykF@MMHcVhH`9&>-+9=0ikt`M{a1e>c|Yg56QS1-&;4~fW9(eelONBW-Db~=kAvsF z37&gpYvQ>{JFmgIZ-YKu2fer+_V^CaWAcg-(X;{KSRe50I}%cN;_LysW-|6;D)h}X z$g}Xu5Y9r2i~2_%{HVUP4*O`?03){OMWf=%`-i`Lr(q0Oaa=fdBjSHDJHY3E9PK^6 z$Le5P*28ApHYAL(!m;hpZMTx%D)wS(e~(!aCMTsFOi&s?84 z2yz_s#N@b-Z0a&k$R@%YXyW0+25(%B-=pB_H|#T)P1obIE}LGjwq(;KLN*!rkK_~C zJ97sfn7#9B&EBE=YNfqX30tHV_ReD1uFrrkEDk9)jUsi&vza+-X-V3<=)df z402# zYY_9Q;_5wz#s*GEAHLe4!6zlbUeXDITnV*q|v@&_t%ZZ*kA zMFzruXUf3q=(luBK4!rNl=87N{npX?Ef;<{`P*8+$oz%43!x7FdM}&r!P6i+(_!*0c;l4X&^TA%|Gu&TxmND5$ zc{xdC$*-!iGclS;vg>W+IhnG7-+i~{4kEkcN{NHz9!dC zmEHW=R`3#8znOgeB`2w}8)q=^e=RoQBiWry{z~|B=^g|4E0`Od>8yX8E%?0#)~y^Y5Puz$&BZ3A0tBR=ak>tpa&N7+M!(CJU zX_fAp^iKnKP1&`B)(Y89v<3W}W6Jhs%+UoW;1?~5t52|olFnYmXH^es(LLG(oka`8 z9&OF&ti;@-IM1%$D)wlKMQ7jt!1ky&eH;SZ%~5do>z@#Jzmm8MX}H7L@%<8aIICs+ z4K(=FVSqap4=2t=j%9e{I%QXU)^*CO|841%*8_IaCFwua-+$F%;O{>kx}SQ6yg&Z_ zPJ`p}_iOYo{lw~7F@I*${S<#c)e&v3zkkllOm{2cev_0abf*Tx#owQIo7DaI*wWvB zi`E{xW4W8Z|75MbQx2HEQH>YM`K!7Uf2RBUb5CTt6XrsG5AN?j--M6*`zuK|T@i>( zV7eupM{s|CD-Aw_{QV0DMb>D34?}y;cOEu*Cg;I*r|YnXRlb}j{Qc*`-+xsT{{AZz zfB#6~?>~G0{rx4y#(>Dff3^AhOH_aV?+}NxU;h64g};Bo5g#pyn3 z-Pgb9u)!PGy%#9BB6=oUi_Y(Vi_f}jTDQfLO_yRGTr%w$7u!fWL!e5cxaQb7`C* zn|_E5kW=LEm;gQ?eG@m4>_Uu_jE$P1_&d7OZ|!;f)0=G&|1>!GGPR2VhKw%8)Cm|X zshzQE2Xwql)TlDRQ{O|5a~0-Ljk(l7=b-m({tuipdig&t9H{s|aE503KhPifKX!a; z^M7bE@T@&lx5FMU#h=+^pyL0yYN)>qe4P0|D8@0V?5!778Hjiwl7ah9I!hsLpW;1RDNE(+)2Og`QP z!T1F3^?V31F_{@SYhRKOqqwdwz>ngGH&}L>fK|qp1pp)S)gU(ODtuv?jvK&2FkMx@E+;lj_&-f9~6lD{XOkRZp={!j{^E&j(GmOI&4o$C&kd{(Bz(AaG^*I}Q(A zEmCk*q~U5AWF*n~GdLT#3bIl6Nve9#hGZ*taYYjMNj`Uq+5Rln+~=vSx%nS5LL{;lveH|7|-=8*sSN~65k zKz*KDChsW-W_aajJ>Chr80gSI{xRudl#fgCg4Kv~ ztN{%XT+k1h4w%~+@Z&qhz#oBU?0hQAKPK_ZQ=p$6jq|B4N=#yBD<*Nr?#8jN0)OIs zO5=^vwr#>kf&2E@`BYb9Z0g1S`q_g_KjSfl<5$&}Ca_u&6x)HAL^}Ui(T$&Lbhly( zyG)b%8HY#uD8^{*GbxVyOyuK}ex$Td^=Lm#YtP0nImR)5>=yU&Pt@8Mk$ySl802kC zU#X72-J^Ym)*kSe7|&-q;Qxn5`*vD;2LJS99q@1TXy5p}9skh35YOL(>z4}tUiN7J zAFaJX>o@#Vu9qq8qaN)))7q~l{G}vv{ZDEC2aopeYwZiDeZ%P@AHt%axmtUt>^5zB zO$U(luj;q_*;dF2H750;zIB3@g^vn6{|OU5?xO;JN{r0($Wo%uLd!=rL4z+$?>&M$ z_UIfCdtK%uT%^6{I}e)J;{w>;0VtO~q?7)f-6^J7Tw) zCUcuft{1bJaOd~gLe`fO?E9a-t?*6t3&zIt{ zZ-ZAd-ME6EpC(2P(v4kW=f1j0+6H`V89UcoYrlkaQ{x04Z(V5RbXRNbz2*sd205qt zr{w%q-IPD$apOtImx7-a^tP)P(@ilK(oNyp?i!96CVV{htcY~Zp}iwZP2Vs-KmCga z-x9L1uEo7E!Qb0-({k-S-+9>NvYZFkO^-GAEcYKa<>yg#Q%^q+{5naH56sVlbB{X2 z=2?E8&XIeNOAKA3!u0cu5q=*0I~(ne|4jIKAXC`>y#V$(Xq3gc!pB3otlMyIV)OH$ zo$lw6vFShSVl0HuXqAj%JIahr=eY32oeK?k(S~n7u4}-3l&@jF(nq-rpH*9-MdOUH zE`ITB_gy67j1VhB>tn_l!H4!X;!Id9pp2ElI;@AT>^tW}fV=Ay++Dyvb069H_^k8$ z#ecK-{T#rq^ZWmm{G$;kLJs)UTu}3moa-y|PE;Qie`b>dO3j6M@{e99SLHy6@@8FY zF5K{2DF^u2vgX3$T6-o(T=I_!Jla2~wa+9u#ynw{F$EX z^vfKkCtxjwy$Sg@$%K#Fo9v9EB0-5o;(Efd8hiz0Zw?s7>v$-7LPzaA-+9>NpqvNS z6J{bN@SyQ?*f&g1sC33)NL%pXRZ7kYY?${=e?N!QcV0Hx$KUr_H{X6-@x%3m(sPO{3x!kmy`-fxS zBQAs4&8XWVb4*U=c5_^Oprz?-iGsV?KOydZBXNfsI5yn%MlO!T9nShB?rPvK_uX5E zV2}P>!QH^05O>`r?vNK|!ySBKmrC5hhbD2i@G!t#K*8Ns!1z<`*^ho<^L1H!7QU`F z5_i(q1>QH}Fu>h&fJ@4ThuCMX>py_cx~^YaVd?s*fL)CT>vI_7gY|=ceW3YZ_xDxK zGjMkASO3k)GvryCs$cVGHvL*T&)DAEU%yuCzlEMw^=p<7R^pZq_WJcwzvg4hSgYMn z+1nfBzj3Mm_N><4Yo1Q|A?L5^m;9NY5B6G?s$cSauy;-Pc&rWd=LX}ro;;RGiM6>? zgAaOggOSsf$6P7;<#g>m-+9>dCpizUU+(ya##2PBO&i#DeVWJz>!IX>C5e2nwEfHn ztGxuVHbsLXN3F5)!H7qju{Nmx_VwSP8|+X0w+BV6%^IE$M*UKpO>)2(K)GS4d0lQ` zY{~~a<7Agu8?<-L2b*cn2aCJr+iGVXSYIsyh4*p~NR=8oPR=w`+#C*gd=5cygYkPoZpYpsOuiSoqOD7j#x z#j`BM#}tE{qxWVgzNILhB~cu6nCFVk!1p`hCz9iha2fAhymKXDouv<|C%)Gs)>*b0 z?9%2d>8FCvtqw8IUO8oJdP9yPPCD~Q_^A*B&E#lD_^HP8xPY?|v;2tVr_$(!$I9E| z0{AnV97QZOi&;i}pSh@S3G!a?-YVv_HbFy-QBoyB_TWTKh2h$vS5^;D6Pl{Z~=@{2^yubJCvnXkV?h z&-BPid&HytX05$J_^%woYXT|wpYPFrt=69TmvRj5UsBpn*V;SzlE}$erPuh7^rz}E z{F$B;H!p+fF`y;#lkuFmhfVlMk4cFFzZJ$lp~uu%IdNk(_@KvB7~mHy_Fd6q&eGoV zorjIT%6V`-<|V`?k!{o>@tugBcm+9e&=ahjxTkYtAASt|gW@}%<~easa=(P@{)XJu z>dHuXgJm}fSa%>!m16L!kqbw;LSG>Fbu@hYez`(#;C_dC-0zSSZgVQnhf67=J3->d z8<*R^IM{ewksF&W@wS5F?N|E+Z?LSFi8r6P*sw<~A!LVJyxgGuf`#KQXu@+4a|v-@ zq#maub)HkST*46MqUK}y(u7Ut;k3zU*5$cxKdyU{>pZkyr2YL8KC8Zq7S#`BE@9YP zKkWRtJ(uuh*!YJNuI4DX`n86uree&RolA)OGhK2CODLCc_i-%7ti+5l0}nKF3DIsL zVu8pnTZC9Arn@#Lmk{l|Xm`qW_FTeW9%k#2qpU}&SdW7yTi`<*O86z&0v{UX4z%a~ zv$$o;zbR%*#PI$LpLN@!@4NV2#PIG^Vt7@5S9Icm6dG(wa--T5haK2ZIAXpK5ieM>6`ENa^wKM z~AVVb{74&WS* z_OEO0i>Q770X$Ay8UGfK_RnhVmr#3`9L6ag?H|?Jv-w||=$QXFtvz&x5)Xe1c$(AS zQi*#TNT200nbVM-!#KGc_90tKD~IuB6F%-&#rjql-A?1{tN2y>Yw%$n6~^-ce!j2R zBR#eEeCJ`)edIpm_Q=AITF@R5`DT}h{6Lm(mL87%3GqoxW~6hO@d(#tz47h}Z?Np= z2OC!8Sr$uJkwZ!HZR&o)+Ec*lTTcY{nY!i_fxo-i0O#!&EZhbNnDB5LAY1s)kB9$i zw2S{-%?B8v_|JO^|9L;@KUZ^ASL8+0P$Sjv{*>a&;EyW`MMl0N{O8CqC3-Ra=g3d& zPHRB^bL1yBJ69EXtvOZGJ}gd8-Bi4qa#cg~s9!p>uf^RdbeBpI#x^iE<*Hr>IjHBV zHkGGJYf5>lp-1vqerk948MmV*g1j?jC%ZFc9=kK8(Ma975p^o+E2n+q2J9ub6UC{pSg|X zW8cP^*I3H+$T)cdhv)3(z=Jz~UH2OFFSosR;{m|at2yw*ncq0(0N@EW2c9_d8~Ysq zJfCg0(~oN&Dr^n8UMvq4_J&+1H4l}}z~iTHPB*Us4rzn@1)p^rBy}Tx7dA+>utAvp zk^kS7Kloy{a^Bu_{-Cx;WgMV--p-%d^m^sIJ)Zo*-YZnS7`YOsK_7C-AFQ4%^?E+G zjA!kvwTE5_KY}xVaI@ClNmFKApvGh6{8hb>KhyIEtGcLqA1^ z(?a=!t6Ccii~REkU1{AZXZ>j-{x#r!$!9QM>6cu9&#GUtMdKiw$RE68v=vh&bt-n3 z0C@CEh)43sAN)yice#SQeD;~gRE6Sz~ z{>&x^_A`I*@nwupR&f7Fh-#3!<_{KJDdhkkTjmcwsI`Y2DR;ZS?0k>*cWUho^3S;B z4~Dh&UU&iz!TwPF3le{-9O2LO{J}AunH&Kw$iKkz2QN3_BRP`9^DDPG^9MU?@If9{ z7}qBA{0POr&{liTcOEu5BIm*7$aL@rm2b7^d5X**tW0;DJ;}TPqlx>=eCOq|K3?nQ z+m9=LIFBDd@th(rpv$4al~4ZQYx0~<D!7`(K6Ck3gwMMCdw+u^|NQa?|Ns4E-mz9!W|{2SYYmpjBq=-j*wTi2OKWeFeT7!6)(nsKFKX>8$+z!vf7w)z z_D^W-+4wFwg%dp5mpa=wxZPj&bFIDCIyq&4Tt8KI^JjWaU%^qT?1l}9oWAQ#_)HtH z+;}MH$m#2&!3P_#!RVOa$mz?_-t(P@O*YASaM^v&U+p~hVA~w({bdtJ3Y!BtLa;fk znkBfuY|(qd=Fsjh^PQ(nKJj^at)p*0uK41zJQw(q@~P*+#9b44YaJx+aE4*S9enfW zNZe`nm-){55a8}Bz$J0_2|mXo+tss*mbkwx`3WVL6gfgxJ#S7oKQ*qNP;fP0!&Qs! z(I)6@+6b{nk*8*(GvukQMEnNx3n+PNbbr}Tjk|FQ?oR&+ao1Pk4slAroh?tTP~r|g zZ<*sq_m=^8751}gPLKcc$T9bN?%R(Ke@j(x_a(*Wi1?kI_^j)cr>(PeO0WCN{#)|Z zwsuqe=S}3RIdLz~<5k^{KeOq6ivK*Ge6?|pGTpCS#+77}|J&vMvLhx+-H(qg<6_R# z+B5&VOTJn_YwtBrCr!%vtGW|^rsu1*@5po~%tgdioEVN}n(*=cI2y# z+5}#`Kly6+%6zrlZ%|3HK$4GqEWzqx4*_7wGuK8-GA6UNHdx!^7^VQB&<4KVpCG*wVptcX? zNS}jz3c9asHR=RWtY;SLE6G^TLd0Y~-iqHZhI``6=}wDP$k)~L)lR^B>K$eYh|7_E zY{B^Q4zrQ)>t~2q)RlP7;ysV_&mTLfE94sP?Z`y@kC{J)_#c@+_73i3zf{C~I_W^> zk*IQwKeNd-#ur07??D_=>Pi0bp3f-xW6K^<Q$D{;G%?9u|s_xac|e{6wUdzbvP zb3EG5bZhUDKQ`2({cp7PkXsdQcaj~awfDlalOIX^t8$e;)AOf>9HGipo4;!D9^WbuI$~%%D`otc^8Ozcd zbQM25oIf9D!gCOFYYM#cMdts(o-gtbEw{#ZUN-*B@$5xMzWuna7w6CWD27J(?5psZ zWLdoV2_pW-ez$?heUmx|i#5f0bVrP#<|jM=e8dlXu z)@A#nZ&e`>x+pRos)FY<*}|L|f(z84^OLdy5!agP(pj;l1IU#>|nCS>5 z()KmTHk2}6$w|22aw(hm*wXf$tGB0^tIoZ+UtVdS@6mpm)*iCaH7Dg1kM>t-?Tg5E zcgd;f?$Q2Yt^I1!F)O~ z{x3CVLeh__FogYL7Ly-+{$*41%yJ`z2aA z2A{JWgZV7SU|2%h&M0yWil?V8DlTx|fz^JGJ-@(`@0{Lz>C`#dhA zxI1wN)^FHnu2WxR(v**mA7}hL=>+k^$>BMrIq<}3b8O}Q{5ba;ho_wek8AvVYb|~r zI)z*O{DuR78uxG z98y`CzPgU*7tHNX`s$H;ewdZ9hj>Hfcq3MG4S3gNoC_6l9T9iFb*w}^pQ=LKr2<}G zgZoZvgNbEKUjlDX{ZRuIebpe{a9{q1iw$FHi`-8%#5*=-@lne8$PlHTAK)FP-B0A) zqi64N-fhpH*>ptZd}K84uJx-!#OwLdojyrr=?|$oVlw$TN{qoN%H8SwZu@sGkva+= zo8JkPRAy-HGpYTYUc3$v^ONxQf6>}|&C|(a<@{A0hd<+foD|$ogxY;Li`&>n)p2k) zEMiOkUMlBDI!ssPK#7^3ft}{nxnnvI}aQ0m-FB{ z&bNp;Q}u=xv9A%wo}|`}!1?tK&}HUj(ASDGBUd0Vm*lo-Ut`~}+7bA7HrgcuCR^G;uk_9Q{$Q*JaBtoVj=M~$rasx7ay=6K)&strrR&9d;2fOsQFT4A26f0)+BOLH zMWMEtxgKceyJj=LI_jml4$&YqN z#w9;W>^=s`cT^t(f7TN6qv*l<(lut?hGe?8r@>8roc1es`Ei5R-k|m_@}sZT9(&$( zp5PJCDODR;&cA8-acb*2F&DCtx%@cOginzl{rm9y?G*VD(BOmoKwd#d*hKdG?e<)3 z$Aj-YTzMClA6J4m976d~LGt5oN7t1OQS;L@`Ee6sURqLq{IaA;`4JZlc+p1uYry44 zBGy34j~$qMi?4^b{9x-b)o(o@2inW^Xd(Hr>po>Y+~vnlx*kg@=1QEk+{r$3`7sNh zb@{RRWgq!5i`yU3zRf%jhrK~HQL3>YY9OO)p;wdr;d>rVb&Z7m(FQ&vx+iEg-4~?X zg{q#1za#z8s5k0Y^R&2wu@LtRtuk6!XV#CUT4&btQjD?Hm*C!Wz+8v(l@H)AP7>$r ztHH;~AO0`O)5Toqy&C9z_s6-X+A!5C8W*Z;~RVo zwgxU^R|bP+_k!js#lBmP&noY&MqM*jrxWK@QN)Ajbvo5}=|tQUyuxTTuQ+5xYLoW7 zNc(mt{06nq(`~jCY%6xx>t&GZkcCHJkJx0PdR7UWXeDB8Y_br0$>a~v*U27YwiI-D z(%plosb=`tQVZ_=qI5OoYKwhId$AtXs+Vmm?$1cx(`*B?pE)&CSUAUjF z2m8!l@9P|f3?=0#ofB(8|P^4opj6L za`JPDKb4>JXL`QzDXA(y=K02XCVa$?MZPioN?GPTYuvB2??O9%mXJ&s+Ly->DQ9P2 zY47>Y!?yqAJh%>00KTL0!WNB}l=;R*M|kENhhTK_tZ~QZ@z1KQ9WrJKlRd(}ddcN`S zWG1_@7Ua|8`NkKR@R96JrdqiTM(?ypZZdQmW-D^p-A02iOg2|eU+();WOq<|&vza+ z*(B$|W%pFX@Ts!9MROTlY88>fA zQMI32BHwstseiulPmQa23a)O@aMhxFvy~RATH8V78sogGv2kqZkrB7ivbn@khV%&o}m+ zuM2+IzHxc(+m9>WxXyj1f~(`%XD*Za;_zqXUHDgd4d|-34emjMWQ=yD94y`jYcLRcgWy( z$IO&|2JnYE*ha&R#7z_Nx7-MBTE1`A-I+!ZwdzA<{o&6{NI`y2GR{+RW|L?n&f9=< zBJ$a>*v-9-V~;~$bmr;Asr1dNvW7pi$r^TEg&bg(17(X^L)#{bt^MF8AB_jbn!%=zddl zyHwn5<+tB>tTf+m8|K^hTbOjaCo>{d$SFYS(M+ zed)@^+a;a5?ANYFjQopyzlO?g4`}%jARH^m2B*2|0U#*Z&9qsIeZ(rz4nh;f$%xk-1N zRUJIpDiHplcRiX*3iY!_52n?rdYMLX1~A#duAm zd{B&6jd5#WLld9=V~F3mr=G_Q5YLuEFOj^wHYo1qQ}V0N6wfB$%tXGoTioHdM!Cap ziFlTUTxR*+`FQp??&y=S4RL|38{WCI6ZE$tez*8;O3iT_}H?2C%5+U zu5hLO2OjN{-P+4qFG~A09__!o+YUeT1q@H(dZ5z&&mQf!^7bW6&&B*9cT0>ZnOyEF z?U#DA|3qt#@ym@ZDcl#Kw2yeSe@km$MB@()@f<0o{S1%xFKX@C{69Aw^PlR`{t2x; z#<%WDSH_><(Y{n`zl7xVaeaAApwj;59_{ba+8b>Cy?Kt8(mq#f4_;nw_vLW9guH`~ zM~(H6`$yGV_%oKren;zQ;~j07opHXw^cK(p?2KURXeHw3#+&d#Zwa;`pA^np+jE~( zFlhRux@hoW9mAJ;YDx==TYF%)Nn2?uLE){FIk z--2SZX+0{(fwqiZkvV?rfp)#+daUO4Hw z<0Z^juE!toxk)>`$m5=P=mBna_%oPq{ItUD@M!`b8P^?ShJ^DO8t1|3R;%=$L-3kqNOLAlXTqSU~#KPUP zhXL-26x>~*;cl5YlX?cW)JB)uFzQ*t2IbD#$HkqqPtl#T@RQdKGGg_hJCZY9m$Z&d z?iG%vJpy`4G$MB-r0$#uepQM4ORIvZu*1{J$UZ1$=Tb*Up8O-ur9h9%9^p7O>%%O} zjm;*UQhk_(38pQ|&Wu2p+eUF2v>o?9Zw(q{mFRkJxOX;n z-tHUOnU`4~rih(O9Sz;AV_5~{p=>MdU23n7v-?Keb6^ z8@E~W{)}=bnq4C%*-;nw^CVF}Q0%{BKtqQIALBJ*KEj&FbE@s^GnZ9=#bRDa2 zoWx%cenn0q)%WTJd_b-um!L+u^{=aJ!|KDWr(re(0yB@wc@Hbh%rVaSL>i?Ul z`2ULF^OOF+bK%=k{eRn#OGZ8~`2Q-35mUeDmdSexf*Bvz^BRoI*Y|Vy>#l@9P}WjJ z-d@LgUVHIn@|`8n?^Ih6cd^s=f587%-yYv_Uo?IHv+(2PD!#qT#IvQS?=1aqRKu|+ ze0x;)Vu{Ev%};~x5p%7^oNHj;(7PWA-`yJ2I+Sfs!?Tf{G3Gcv<`L4Dhcg?$nvCmk zk6Xgg@a1(;YBF}VYBJuvyK(HRmM>4E2^m+Sp4sweHeViUTryuC>O*cU^!Mf6PrkfH z)Dr+54!ECD%qrsKao+IQ62 zhv^K;rKaLvJ=%w~_C@4FY2A{qtITgT{BMDS4eo`xRRIC4_&MnwFPq?VY^O zjH`ihOFn1*0cW3nKACxa;giAqCZI+t&Cm47bPUJV)BMOMgSw}rqtt=MA8Klj zE^FIzYtHSNtCe*g^AqB3sKgy=$l7p+dYd;%+#yy%;%@X|fV-{=?hF%mK60R=ha7m~=%o0_BRUgmpt3vkw?4?Nui9_Z$7@O;kwU~%qA4$n)?fhW$|vu_^&JPVrxPn@-9 zR~!I5H)!y<)}BRti_{|oZ;i=y%Kp)c8Ju|laGVD?q+NP8KI?Yr!%tXt=_MFPjThXN z&+8j)Kc4KkF_HG^JuMJ3_yg>)X2lHl z^N!sZm7v57LI*Wt1_3XN(N$swZ*|lkkU5yDy~m%~>^&uBFbaFS>6k&pz(PL0G?Upo z6*3oiiAOH*Z$?UckB=>LfuGdchsjn&>ntq?VVo}!vSh+9oU+#mD# z^@9F`*g>iZw0az^Np_?Sa*ZJqD@>ms_6_s-;osS4_Y7*YGoK%F^w{22_f&W28X3^1 zdqJND4V!20Xs4g`%Cq;seJ=D=&^g7XTlG~rE_`w4LIYm3;oFbv8gQNEbc&A?XYbkC zdbFs%hjsDO_uBOq`MHQgr1dfNJ@Dx>#hMhz+&|!PJ@kFwIUfSteF?ZE?mlFnd7ecD zKI^3a#yYd35!r?sT)};ftA^pZ#QTJ_FnCTz8TZqU*hBGkw4Vu1vdx!a zKN7t6ppUCyJ10$B#k{bk%sv*0I^V;MQ+e)i(4pv3yU>b~m@G}^&U)*5e_8i5{+UG3yq+6Rj;3EZR ze&d0UnK<(shO@9=qZV5#aFRG>%HYR=k2f>dK3r@hmAzpErp|=!QEcpavDiqNHwQRc zCh-D#cI*E@=F$^%O7Lw%95BI`&1%G@>}&%%isEw!@FfEF#ei!q;G*|#2RsKdW-8k! zfwE+EkF#LRBD3i` z&WZT%fyfN{jO@sz%v}7N|LxbMobTl`zE^pd z5hWUajOK~6CdvU*>6g{Z!~R$2TL4~7IBNx-T8X*K`PCw)x3U9pLA(p&KHu1g@8MXb zVLVUImVllNtfy^!iThdO_xzYFU=p}561e}jfJx$?^4NZC*UiFzFN_J=^}@fT>5q~C zA9SE9(32bf0|NiS^l&t>b8a*Tc<(9jPI7%c@SX#__XOTA2Hv|Po}owA1gPv-AK+cC zPZ0jcfLH_IrraoM8(F1{9Zb(d|M}76%;C}0-r-pH^gy&n=U}u~W+>VRKGGnb%?cRL z<4g;@AT4q)@T%&5HGrRVKl*nP-aP@ZkPo#0ZEG>V*?9IC;KVyIZpQ`7g1C!#9r_IP zhpmNt9l2(dW0v#)bQtK{wdikF>!hfh$1KcuCfXfE{ihkxqT?Xf(SJVrs6ih@18o2Y zU(ey3o;n$^goI?|X(W~n!1`Br0{uZAP&+wB2IAhX245agJR+K5BNuL#)a?dcGVva8F_EGW=y^2LC2$_50GYb47!q~=(4J|MUl;=-y@_T7zX%vdM0SB^G+-Zfxo*vqr(QSX$&5f? zC+gIW4V;-5%RV#EEPnCS)872z$%mc%q8;pC#zVsGIS;|V6YWV0sT&04~1`(6MyZF{VUgq_;q$oX z@b7Oyr;LAN|7Bw@23qGuiEa(tua(_8K>MnEBKk*u@PKSQ3u7&4UuD8qY@3t7XIS8K zvxd)R@IN*WDStS<2OR4E_+JU}Kc-)ZvE$%> z&_&WB=YcK=chdIN`QMj_lh_abhrS2kd?--%ChBcU-X!=Rn}_6oA5;JP!T*eS_}~5R z{O=mz`D*;B{O>QzT7v%tB72ahsqQxy{#Ri@U$fDs&wg7-aJlfm?Z`b>_nX{X`o5F& z%Jf%Y6`fp%~l9gg%A8h4c4veX6K6=Y{z934`;;e87;;Wj4l6jV#s1 zCY_JQrhl{XZmyuIOo}nZI9Yg>g}m?t)DW=YTkwL@#hO2*$UG_U`oKoj?e8k+`d;{5 zQUJZ8Xkes-@JqTj^l!Q6lQZ+6ljKLcr$e{toB*990G%Wl4Q4`5$%Jl#b1b2ouz60_ z=1DO(OgF*5lkje`+?zP_s>N8d@$50o6Ysoi>L%cYOgF(9An7KO-_qXvY=PLD=x^5i zAmgFLqiJu>Lc9Nz@ii<053ND}SD=qNp_|bCT^yI(#_!n$x-oQ-48$*;1-W@;D4*#c z)sP3t$S>Xo{bMekbxcTN`bPlIcSEl~G9h)|H;~yxOLTVqCdmirIToBp!nW>MHk9xQ zeTU$v1-y08si@!GSo3eN#;UGQ`2W}d9fY8_wHlhGnW}}Vs5?raG5a$WA^^O zaX{}b;n;JSZ_n;V6!la(O#*HU@u%{J=azEbFb%((^nsccs=mzZiWICT_gOJsw+{I1 z4*DmXVj0HJZHfS%&rCC(uN1mA_E?2sbdGFIu67UDbybP)@t7%wMs-QMK&LBMqh+U9^KgaB_P^TPzn zvJo4(Oc}q-Z+yIamK-1Wg|9l6g=g8VVNYQEEQ}w*_^A8wa!`y;aH-rx8Hot5!KPih8 z``e*^P6OQW=%0U6#*SD2d=`13sve>1pXU({E}$2jco z2i^70O&I$f{HZeLXh9PPW`8F}#sRPDestA8;csm2e%!s-eLrqz^3T^_XQS6jCTIFZ z&Lo-<{LzhGJA>!3{RqB3Q_=mhHG0wY&b3c+orUzy8uUL2?TeukK`y*Z_m2=w1Ryh( zDY|SMzdrHqGqO*}9Hz_Snbc+Py!;}DAm)|-v|T^`hhJZKcbe=Axou28 z#xpUC;8Yf@;1qfc=co4g)Q{s60!pp^Ld)N z8aDkH?+&AR67N9F6Vs3J%%LAcXJ+~__&w>zkQab2#BA42C5nFBn(4=EF0)8KM!Q~u zE{dRkGyNESNd34A);5p{yNA;*gZD-aUa}3CZiRod@oopXE}776fSW8lv#$%+wMX`_ zbnU+Ie_dG&y%s*bJbX^Boc7_?bYs&TJlkz>U3(&ACh6MW;QUDF+U$Pu$AzwK&6(@k z6KHKTUE591z6ZQZ>e+9>wjn;Y5jfZZ`W%(T^lLMRb`)J@M`a&>Y{lp|Yp(`F7ywHvFkP^SwtoeO}^1pMCuG zbGDxA6#e`!7+2S|T=aA7*<&J&Ke9b*(x0xMFGgQJ`gw_}pFcw5`snACE|=$nBafS(9cbJCjIQFKP+Ns^C3{sfBJ$D^M+Xy$l=+e1I^`+!qFZ!h)p%5*Lt@b9G_`uR~}&Ih2M zv-yt2x~ckri+)~i;JmQ8`alEnQQh?ORB!(;!<(+3!_KcTj2@BU%6hoz12<#OGku^p zc%{4lx5U)F!Gl&Kwu0?F5C89Kf*&$%Km5NodV>B9-kuWaNbvjU-+2Ol7yX;@0oDKe z2f*&4f3tCe%K29TonOQM`wirZ96JvE8*ryZ{`!NRhw1wFb%e+G^>0RVq-%}5*P(y2 zd5{dH^RElVI>oDh$L0UM*IobKiLrO!Pn9L73A#7{{hQIlEx@a~-(2+Xas%h_&E0Pu zJ@#9lrv1M*dS(327!sL6G$Z(*+kQI(JWbQTF|X7}o<=Xa{#}iD4e9sw)W0EXg#L{_ zgOTI?`oz2M$v)w?Vfr_oN&WlT5=H+mfc}lYguC{-p2M$ugzx!3Lr*aES7vY9UM>-S!-1JxQ9-Ds`{D)+#s<-air|mhR2a^6e3GYT|zO?5sU#7R>nL}@d zF3a>*=%J*yN&jPzpX7_c~ zF5-KyOyF4VzvkliBkEu3$3FNy+Ha1)Q+SV5MT_nfe z5B$!j`P+13JAUVT;5UkzlFgyt>D0dmeka0)EfP84Yca>YFBlE3a|C`T$~h|dErkDt z{1lba_rhtig6x@R{rUsWs2+cFX;Q)^?TKMc;B1({*(yaIH0AH7F;ssBm!~-YCwVXJ ziPasNZBNMlR2#Gl!R=vB9JRn{Pn;y}37j)9e-r-Q=V4C-#GDVvo ziGldV=IS?FkjEO2Jt6VtVo#J)ZfbvJJ>2x0iQtuf_5}5>+7nMBUc}Fyc$(nf4|_t+ zqXzmg#lslCqIj6Jh(YlC*b^rR_;q`N`qSg-W&?KJo{-~e_5}81+ej67s2sbw_5|k- zX_3EtZ|4uXJ@G5T=U zV@{@BgMI0DuCRpV6$K;T#q4{*)+c0JsqB-^70_oMo=LmrmV02=i2ZMfbA?T_aIS!7 z`Kb9-1K9H(%H_I0ojDs+rz=o)_1)I~ShTuzq!8;MamMxt+D@Z!Ddvjmg;9U#N5-69 zj5&u3^q&q`X5`)3K;KSLvvNS+IO)@}b#{3-39AYy=KDf{LO4R5wH7`*#$#8fbTkGccQ zmc=uNEt@H9*&NfB1wB)Ji9p#4b5&b5WTWL-X!j=d4;nAZ6t*n-Xud5w+$Bb7xTh^k zxYJ^k1f1NK?LaterY%cysyVhSjj7tQcVoWNmK_3mI8CF8yC32_)l1%NL_Vxnypp7i zb;^0j%@|MDMd>^wyOk|o3HvuY@(S`ysSndO5ImH40>vv`LTlv_uSD(C^N?{guCzzA zcqNr@KdO(Zorjzu$0U0MYeT%;vPXFCtc*c|jm~V6xqf|uNB5C^k{yRW{p@6k4{4Je zP4lwZarPLbqs96y6m~MnV)~ElWtsmS{gT$u%KtWo0Pfx$cwKeG)W{k~-mLZA==y^so0W?O>3%*W>U33%nc0Onhc7nv~ z>akd}qT?goHlY6ti#F5yD$RvJ@6*s<4*FYh25JUX91$TIDBD%#V{e{nl;>?pjMM~g zTiFWzOiC}>91{Hy&CCXDBugg~KG07s?s+OMIhyseWGtOQ93P>6ss|eld8>z_pW9dN zS&x2@>n{4KQ2Y6%=w~?Swivn%!K3yAcuMlNBr$mE(N7L?&DDOcFpQs7W4sj50B}<= z;k#U>&y7OA*?^CJ%Z84b1vs&tEK+Y$f4=m$0Lic2~>VCL(^=l*;2 zqtK6S-9JG;P0~;QVT^vJ5Dt&9=C0y!gMcS=I_RfkD+fHlVR_z^qa!uRcdWb+{j5L6 z-p?eRei}IrUqrtu{meMsD9_3qVBxSaA$GG54u@c@tW*n!GWL|#{UHJKB-%T*y&N#J zy;E@-n|mLcd)n34$Y9QllxNKuX02&35KHh`(>F2JQotYBC}{eZ8Q7oX$o2RJl&!ZP%;9&4h~hJ&7y z`P_rr+?Rr8vgY@+=AImgt-aBkC)|axCMY~XoqH|f5@_y>hqq2}pZlxHjECPubJzBu z`8>3Bw@rd@dDF!U4hnAaoLyh@6DpX}&oCc*R4sgYS&%j2mZ zjn_HWG>xz6z35k^=LF(WLxoO3GA=C;`xG&+=lHB^dyJQW+zB_DzD~fsf@tyWBnR9o zpK4r-^*}!=Ez0${RPE=uQyl$ZJu32cCr6eem;4L#vqD)9+8d7fx8w6aPn&-(>d|C% zZe!7OyFjds&)hd-tSay_Id@gYpD17kFDoy;mg`AUJ_~_oI3{nG*`|& zi+*a;ZZr9U%3IS!KPyl>h-zqrG(8D?!IX24P(QfOP_6~_}EeDPBBlM}MjqJxGy@%g`|%|8qFO4c?-&UXsLT4Vlc`1`#N4u%m9Jmmc& z5(h*}gHLq8uI{7b(a$94o$A_2esnkbAzCU1ofq$R>fGu+>WY3=DE+wZqplnW(={9{ zh5XKXJ7m#7*FbED&)f}+mF2-hE)#QSJY-U~WA5tuf4K(hmSN3Zm5XPKejpnviZ6BY zbcRErFK$6Up-%4ooGSVmemZoN<9ayY0Ueq9=pFR4KGWWhgN`yd4*TgiME_ZDceiku z5s2-W>b-~lgt2CL&`)bQchajuM>=3u>F1B=rxv!h8~uEb*ao7X5NNzO#VM!Nxz9sC zUi#uT(NA;q#cAkAm9OfWevE#Y-az|eoRc;fJVIZbO!M;47uO4TnxilN68$u(FLvi^ z`U3h@d80#L>>h~S@vd4tnmz=l(lw?rVrARCJK^Tt2Z^AU4o_?(mx(AKAMa^la&i<*L3o zPQVO(v7vZ=j)a-DBiRa=8}c6Edfs;Qv%ZVD2g}vDkCgqKj(%1TarBc%dWF!>K0!Y@ zUETW`Ao`g^dgowsE$r|J{dEKSnbgC*pKQ_3dg3h|Lk@V@yoCPx9Qvv4Z0|=~i}DHm z_*!&CzbYN(f(K?TInG*(et}rwef6cAZ*b)=Y#yZ;FBf{1&~Zb z{|No6^RGGsv^aL4HUAR>vHN}IJ`Q6k{tVmPR|%Mli59Qz;(%G5`$+T?8e@l9&V9M) zXA;f*2GfSN(~y|^0K(xf?EN_AehQ!a1KQkYz^2J6>SN9Qlt65(&)mCUtO;%0*ZpPz z^Lmmi<4$nQJ)3yPZ_^^(p_eD4pIX$8QP)e(eUj{lWb?M}j($`ee)9%+P@cUX$J__; zxnHQwJr}smI__j^?t=ocBYo!nPmGnD<39I60_GLOJHn=IXJ0R&-@lE16#d@DgL;U5 zYDtD!eo(U?$mWVXp_jaXeiZ%Q)=vis5BWj&nfkri5B5%p^kc0+KkKok>RLE(2!Ar2 zYbRCX!qceyj@!9?Oqq>!)18LwdI5 z$1?k2Ya#TKT`2f|O4kA8+*y0rWHkKs62q2XXD`p-J9zlDP_0TC0$YyMK5 zz(pnXrFZV(H3DUP^jsEyW#w0Qr}}v*;V9~F?##m3W(eo%R5R~0BeZiVYPC|_Nfpjo z$30P78o>D&ot4^RFh%TD5yql;MLOG*=gX`fp;k`~aph5pZ>M{yvXDpG1NQ|a;qNni zUy59>MC23n#2QyQ z-7@F1C+1NQFa}aCNkK|(w5B`mf53b*@q9^wcs?heKSylI(Rf~I$mhfPbHs#nYyuxc z1wLNa@v)!y-}AUX{xd!Bzg??uq2hlA@T=lKf$)tSs-E~G{LLWz4gfy!N8hn;9QfP} zxWYjvKHtUjB8lfB)XXJ3CC0&|_rr|-?!;W&=&wk{i9&zBS8+1OqQBoZfs;oBPFjlo#x*fskr>ah|F!y# zD*a_)FR1jl6#PfuucxW=SN7|GCg8bLz@yi9oO_tjLjdz|qlbNuDSJerhi~!R+#?D- zG~l`49_g&ngK;TxT19Lw@oQt8_C1srwf!C%Zu`#aLs7j&suR2VC{~A;^&|dAzb9b7 zFS(LpN&7i|4~EW(2Bw5##FyDPp;5N}jnD|~`$*e&HGYZLthC~nN;-sNB|!se7y;Z_ z5X4_78Vcn`Db|?km~FUyC-_BTwEDiJXl-dS{zgRW7mti?dtwwm2k<$F&!K4LU3qvX zAJ2x1dm_c%0;1;aI^?2Kj=`tkJM9DE*lyG^UL0t@Gk0Gj)klbQ3>dM`6#l_6+n-8_?tCsa zYJVQW^F%yPif%<*9PYqawH0}P$@DK`k={a#Z9Qam9sa8DM{zzKA;-5aABA>jqTOip zZS_&NXhgJX-tcH%0^;$;^SZJ5qfyH^oE51>%+t4R>r3lVYpV`xUpXGJPV+`bMVu_l z9iv#kAZ$j`BW^8)uNX0RS?v;_W3W0}0*_~#aog4RC2*WWPLs}Z9pMzby!yUeJkN{P zLrznECBttG$M2eNE&M*G;Ft7`(OP^tqlEx)i(1Elp)8ik%{)3XrcYk2>m;r{m|rk1-07a-CxhnKeY1iZot@-{F^Ibif4cQACiB$(_3ag3?n?np%3nl{5w{zmyi5A zWJzeWC?*Sh)p^TUPl@6R`pFM81QQy2NS3^20&=_CJ^N|@r=pZ~-5--ugVX20hX z-s9Ns|A*yYxwQXoPIKR1|3a<{)iF@*zrCo{AFurT68WYFZGXZ3BRFM@CfR@Q0LG@| z-$n^jJp0RA{#7(#|Dle*)1PuM?Y|knZ<+mY2jMA>{m>lwXIn4Wf0xVk@{xa+?Z?m{n(#L61NA*{$sm;F>j61N9W{#oly=YMj&edON+2~!;Vlk9z>zf=~V zbgUVRL3W$u5!Hxgpu6L!K1!I?Mo)|^+s11$?Zz|pj<{cfk5K)kjECg8bRLg!5V0bI z#onma;uZM#R((3uacQ_U*oxhiT}@-7RuMg$aCUBtVi+pVr`l#GM1EV3SXR^usz&Tc z4Pc?zj5@@&RH9xHkI&?FfGDP-3&yThV-padAm`r)F;{9mSGw!=_~FhwV<}F9`bv_x z#`^z9=~MQ%QH%GY{%UaFb2Z|8#?yT<6!ejSdqU{GVHQiW+&Gos+%j8{Bg@05{#}8U;xiyU!{=`wJ1WMmQRX1w z@5AsNKmF9!)t1(QW)cn1n2nASU1?|zU~nDZg?>&NA#rHc6qfXJv$8Jn($D(`fqvS0 z(9byvoV9V#&p;3Q87$Utf9Z$uAJogAxs~&u1k~iE`=v8(r@N&ScH)l7u^HoJ47i; zj*EUK1CHj<&$LnA^mC!IF7eXOQwM>5zC;X-8~q%oz!?wy{H3p)yPXGg7Hhb_{D;dg z+$ZlrKUqHX6Pv|pwufp`WVJ5{FLt^(M_l*r)N*&v)%wp8s6# zK|hZuaK=MFcY4sz9I=Kv{qTCuP3u2ge{LPw47ox4Cu6!1&6u8mzX1M%A}-iYv)70* z)q2h@@~Xl`U#^h)@@mv*Bz^hG8sxvB23|b$ayG_q4!!(vmN&hermRD}^fErZ<>_TJ zVuRfHO}YYSJoIv*2fgf@=`OEQ-R-S%I+IuJt;)+tUp^@^QqYSouRg{+n7vh=AZ!LZ z?Q9X_>+83_^wSyiQ-%6}@zBpJfI%PMP2U-Dt~dRZ(LDB(-)wE)^7NDEK|e(bobk}l zX&&@*tyn*u-)wZZx7_KcXkg?8$O$)olVP5p*y-jxF|L=ryub7_ryBHwT7&V>Pd~uY zEc!X$n|_W~)+Jv4b7O~=r=OLGnR4Sl4Kpk{kB5HF@SvY9)SrvK+(*j~$v|CN_QS#poCEn8Q42Vhq2D(k^MAw`+hNm4dwhTC!yx)Vz1(={V>!le4t;$3 z3vc>Zpx`}T`l#vH^7PTygFdDxaK=L)c^>pJR;-=mFSO2Te$9cd=lm+v2tb~DJnMO4 zGuN~30`K)aR>4!e>v`jmEx(>GU>~{d_uWPQ`<=Bx4jS#pEF-)!D}D7pt5Its*GSlu zg*qY2a^`N%Td?A*?9rRQnwhixtK8|ii?a6R-k*hf-INDO{=!Q54&|E4_1w<1u)Pl*mHXpF&WYIf8whsrmYpvCxc%P$pqJb@>18?KXwLrcGuE44 z7AWfwFTMQkAka%+4|BK>e?0VYdK2_Eo74)L@E} zKDq*q=FrFg|JyrUsIS%x(7PxofCv^*w^AkP4c7OlX3FzZB z_UE8KB=Gll(m!GE!hY!)JOy&y$=|jUa3u1#J*~doMSn?`?BCYiv|m#5mjp15uF#L` z>csSOw=plN(oe=I$6g+tn1Ft+GRBz-e@Rb3KNqVx)cghdMf5H#GydctFRC5<8P$eA z19XM>ALesSiu|B=7w7ZxYZA|Ax`C%u=X29>n9u)2?voQgc>kx#`9Vy-D1H7|>K9pd z`vUXc5BEsH#;DNeSGw-^g`PrAiO?|)JL?!vas1#vdu{QOqotSDztR3o&3_TV7`n3l zf1ZS1?l$HjReE{hIMB<93Fzf2W1Ok1|C@&BwGyviT&(6#uYWCn68JAF?EWvvk7}#* zq~Lv!`;;Fp+yQEj_c_Ii&rsh@!GF;ueseA92WQl$V$U49w`=tC>~$K4o%N5s=;LVp zUnBb*d-<^l>(+_iY%#`}3jJJ^fPS80e-8Rbmb3q~6aD1fNd4pN;3tq1PWs0tz#;sn zL!9$fmZ|UC*Z!q*zLWp7>H5UyKL%^qt-o%2AO4OM=W})!=kwH?63^$=2A)#o2j4&K*w5#O$jx!$2WJ`MbehlOrN2(F z>#y*SoBHb-!$*DyIR!`Zk$-lNfaV}bW0eq|_@Uikd<1))#Qvx4r6@08?;A0&KAM0ZH zSS#ljugv$91#su3sH^Lh%pbGTkLU2s2J$nL`(K^(mlxEYY%~75THGUhX>bSlzLWkk z8E^~z1^4GV$)Fn*-Pz~cL4T=mu(vA=d%K$U_M`9NE`k*4ZDbeeZQ#_z{A#E%kE!yj zL&t&MUdEbt;#Zb2PA7WP_K)5F_KQIp_IUl}gS#c)(DFyOchX;+=x5qA+E1?Fg$d~A z6Tp$k|Mt52b{F-RF40dW=x0re^z$UfVW(dw{rBf38i$?rm&XXpQSz(FUpw~l?i&f{ z=MH0>snE|q641|$Y7Xu6Q|KVyNI&$=n6hm&@?nl7+ltjUju8Lt5`C2Z75BWPNFN3G zepl$@rJEDe$B72sQ{^v%`yG4w2m|j<{H67-7#*iVAL$A7+qc=DgMGd8l=%G+t7pNE z_6^0|;r+rhaJPW}#;*s9aaRAkqxP&2?{Ky$->t=+js80Z1-IheF8ywce3!;{o>PLw zIG_HH`d#T+y3bnwvWtTyXt!0r^Wpwm^w}Tx`uJZR9^8s{FY0%YMbWW%z9Gi)EZ&t) zk@xoU9nQI|@Q=SFSd6<`e&$o-+#=hFKBtWkeLkW4EIn8B>E}2PUlMdQOZ^V{Srr(tgm+f$;fq%~MU<7kCM!)loi1qoL?DJCn4tJ^&*M9c7?1Eqc z#xhL5+aljJh<9!Q-+6c^^&%+~xF@DJXnw5CpS%=jdVkTQZ*>0??~$fHG_$u4=g{JA zX6)bLvzgd`)QB@$NAiB;C1cxxSIE}^K>`1i9s>U5ILjD!lD0SD%vR4MR)~CcCitqj zg93Ydu-Bv)56{=O@j^O+ueVJ_A@UN; z0aI~ad?xm!EI~b%C-k(Y3_v}P*V;7|cMHtzfwR6bcdeM82<}U7z}@K_OH;g9IEqFc%t*QC7NugXcc8 zoCO-JL%r3xIFH)0+UA1R#vqp11Q-e|cc28go0e+{e#7&kCCy2EZDf9tJ3U;jet(VM zdUtmCDe-p}_UUDZLq>VMD0}ccEzEp1d7ngDc(qaf70QHB@8Kg2fAHfN4Sx%3NbCQY z&ra+AFVIsR*Z&;!@nx-l4TE0)9Dj=I{|Ug6^7_}`HP^p^JNx?2Iw>B1dfj<&&%!p# zdWLI~>#^Kp?P|iDjR(ze|K$Sk$zq(H-vE4Cpz-^kIUv?0&id};H&};tIU4J70M=zW z)@2#|25$HVILDf%n-wiLfR{L}%M8$Si*?t=SHLs4F3DSB^elOcq-U?7=Pjt`!G=!hw_ps1)$eEcC9QJ5Y6fsS4r_Zb`f0`bCGX<8ZUX%ao{aTAz9{?or8TOGBA_fw=PGzO&VRJS$g!(XpZkXVQ0d{gaOoU(MhF+pr$V!<=L9~uZqvih8s&}Aaz^+!2CiO2*}jGk{V2AErztr|-yi=aThB$E*E3>S>A_cK ze|hWqehrUW&#w}e6xVZ)qgcu}_I5G`gV3d_9;Fu)f$ZXpK*`J4ct09-kbA&EHIH(I~IKU_C-C1#P{Pg() z@FPMW032?}+OF~g>H~yhfYJvRM#Jx*dEAl#V?!lYR$wUBvk&$Jc}Q`-H3feMCc0cTZO}7rb-4q}P@b4&1()If z2kzXO+{4Qruw1!;QLgN^{=a?Tu@1D`0{uM#-ct|$d=X_b_yqY2?Gf5bcDM;2`(J{4 zz4m~Q7M`%>uOTa|rtnlNxO4sl*d9v*g&5aRjEnlf2jGj#z!!7p4jtYCyomVFrvfkHdP(8Mn7Rt@e<*khvlYB2OL&*U zCZ>)o;q}GfRqsn6CvUM_fq7PrfO#I^op`bpoQMBy?wp#O!vVmX6GzXu8!k%E_jM88 za>Oy0fRw8I9mngd;W9}f~v!I>4DoV?p?PL$?t?naX zrJYRK$TckOWXMMNA)M@rR_5P8cWzd{jrbM$aN_UmaGm=78-72=|M%73e^tNl;`bx` z|Fio0ZT0&n{O-a3TJd*A_zm^@8h&e3d8hh)1;2JVd&&=Da`wkx$h#Vkq>sD$I?LP0 z%r8&guG6q6dE5B?)aC7)h=-;sZ|~FJHRSDfemjAG?O55@)z$wV_Vpk^i{9`6_1ho6 z+P*#)<$u|}ULo!47Z3m6vajoy-ve8o_Vxc5<-bPD8R2(O*0^d!*}j$w3_483zMhM9 zVDpzD$00rVQOTFLo~t!HYCZ4!Uh3<4*io$KhxB)i^}LJUc398*%iOz0rS)tJ4YQ^k zDD&?6)n}tZtJ16>^9JfR!B4goKAz3cyI!!`g`EvO8ZixFXFK`D?0#P6(`dg~{buIi zxNDkUpq=fG+1ZB{ggVN+;=Z_;T~{FN(~>wl+b#64!HD$}3f~cLn6Lvr` zZ0xPD>mr+c?Xz*V-fZ~$TDjjDvb`0)v3@RVf46?t6h3cJ&s*@kuGngCnPjzhWLo<- zz_;Jgk&8POyM-DG+`&w=MZ5*{Lz|ucwT$q0Ku7!rePj(+TJ6*Etpk2FE9_p zEcfB43lM_mxWzE^e}ij81a`xK zp62hT%(49{A`IbFT!U#))pLq=?Sa73cAnD_+~Ta zXwjUT4{Dr7V3U9EKO0xLaL04gIA8l}_&}OLXY>`i^QTAz(c>=Tn zvJNkOU@vIU=gJDum$|5V$z!xlfVU})h|!RLH^RPPf9#8GSzqg3dth%2c4gGGKrea{ ze&9*)1D^>$Z~%Vb+4qiHxx}+X_%)w`j#lT+4L=E3cU!q_J7Fh`o_p4C3-EG$v>WJ4 zAs#+>!q@(w7r3{&1%8coTi}QN5cKg8a8N(@y9Zgn75H>p;91p*} z3}brG<=gl)?5DF`-D;kO{dC*Cm#=K`JQ#QyWp9QGXJ^@?u`=Y;$wk-I~ zE{7kDF&y@H|A!q@?!-It5w1Pv@!9zedCTlPe<;h!tQloxwN*kl-wQY=x-tXVR(8#q zR%T$H%c?2-{DB8{!Zz*a%4tjcZ2&e%R+|M}wE|b<1$FRgagD43-bk-U`erNeS%N#f zXDj`@9I!Bcw~p~TZ#jHVx`@Y(vZUYtWYlB15M$a3zke}k zW|Re<2O4D@YdiQ}0cab3fSPIG2T}dp;HA8Gwu8AZ`0nTG_mKF_3ZH zL6eMaE(0ymPN>{VUwN+JwP#@*6{q?h>X~-e#;Y*5%RV3X)*GznO50zukM+8XdVNsu z*Qoaf`nv*i_B86zN4gpHD)+OV^pO&N>H~ifjh`u2Jvn z)$c3fU9PCN%_zU5-oJz2{}RvL;TP5KAMk6}GqUcC$;XS7&5+E0za9G~ob-!#rlTL> zr#Sxc_(wGy8IaS6C%$_JzMYX;JpN(8k*d9LxBjl7Up&umJLnhU{Nv&D&&BdD>LD9E z)yTEL*$3rT>GMu;dAmP{b}r-cEuiIxA^#b#s{^l&K>jg*gME6RDr%pVZassw)K&~# zfM?5+_CN6;7b1b*&(1%@diAKdRBsiRg4}8@pse@Abe6KI2fxUW`5anjvB#XsphxJK z(+wCi%RAxwGvitG1&&633}fq&k>qJA?gsfY25Uaucln4NmUZDO@PY|LAnzfw2Z0|@ zeu`&LAyMb<)=rwKoID+kxZt;7dE;H)sLRY_`&Cc7Qk8b03=L zk6k&|b6?G?=qnrJP4|^O|BB*gt!S5_WL^j|ZvtdqA!OcC$h^Ujc~zbzQU3Od;%|d7 zh8>E(?NLHMBruPAF^}&d2WUj}aZq}6X(4U6@hE~9k1=(MiVLe0G zsOOSCDHngbLFIe&O&s5GniKk=8v#ohYyk4#nUL$e$GbkkoW$}y;$yj7SEI0&NJl=v z!ZPo?uS3jtT2JZ6+LI1j0Qyb@urS|;@a$E3ubuAQE?;{w)=3H0$xP5Yb8r}sru=S{ zv;;lQ6Q=I$gYFQOwFVEE1)8ryET4HjlVg#T%j_Zem8tAzlg%!L{1Wt#l(&fY zGSA_4l<&v*nLjiHd?isX7xNCLk`G~y$bT9+N1(4g7{52G^iP~$oKnH!eZ!jvn-G0er6^AuK%+(I!`stY z4sU=w9S?ar1oHHL$kX(Dr5t8E>dUcpH%P2I`txJ!PWton(f=wdy=^ICas!d~rsZh} zF}bKd0Gqm*`A;^z3H|NbiSM}klsrae2e**O_t2X^xi9Vy!EJ0xaUUs%^>kD z!mW8KVI}`xD82=_VJj8@ZrFR`Ta<0h?t3s!d@DCGT+BJ_>bJh5zLk}uz9o1Y;6l8p z89ANeTbW6|h5B9n)(8z3VU+Yny-_o|`VBm)H<%C1p zn#5-oY)yV^HR4FCU~f}SX}MH}IhxkXurm$WM?OA_`FNmLmS-5{siN!_&u=uIUuTrB zHtI|^o?m5@FE{E;G@g$$%A<`sMWQTa%%w(oB+3&Iqb`K3-3$E%ao$~0@6HHQH@2_E zX2{JZ=stDOAJSVokO${&tAwtRwZR|Sjks_F=BF9_w+TAyw%qiZyc49I|Cdh_`|6!^ zBb^J^0{y5Fx(9W<7G-lV->m~OXeZ`J+YTL=pI6&ErckGd<-$o_R_jeesADKyq#xvT z1UYc*hwFy4LI1|5%)7#zv3$TN?-ymxXLk5Qlx&r2cJcfK{qoFU<7~c{3YKrEzFo3 z8uGo$z+Wf%4!@#(e}v8j^x$06necs6Kl?i9i+*U*_hMJ#m_@Q&UgljeX3=ye?SCU? zA^4xn7f)9*aXn-W*INnX6xW-yQ)JBICX9vty9tmTt5Hwq28JLzXs1+yA90P*M^5{Z z_7?YXc;W9K2Ya1<>Ii(9_gm?KOjlY>34V()uE^oC2Qa?CZs^>vRNw#DW_+U*>xn!` z`aj5fxpp(cw~`N{&w9cF-v+z%>sl6*2Wok2x0ARxV!LN?U@T+-d3{&q%PDG| z)0av4Lc53Zg}%&U_%dntK)%42nHKNMG;mD0@)~o%)Oz1(ly`_SeTkm%dnmsw{&t5& zz8dE2zwozxeRebG>lT%_tNnen9qsg02fYvRF6?jUS}u4A&gmo_Fz&<{PXxXw#E`_A zuE&_Thv&5$o!9on zBlZz=Ds9J;jq-^Oc$jYB;bj}WI_(!(jB|@kd6K90i=CT*=8ngHv3vqA{)C zQJxHde#gA#&i-U6PqaVz6`THM`n|q|@r(iuBG82x_<*Q9$->`^^D(!Xz7e}Tv9K;m z-O5J}J(l}7J{;VA`QkN26$=a6l}XSO(r+@yX>xk*`3 zYRFC4t3q~^0nSG7Qp(F_tczmieqntTsozof)%hitp*&JNhd);R4#TfqHr#hhjOYB= zi9b5*&-xta$UCjK$v2>{FG+vvrD0L)Z3^K?QGcre9I39iPmrTy$Kf{(9NO301lZ>G z`}jO+t#L1?SZlDS8U`b-L)nA%HU>1x+-;|vlcf3^^c|tU30umpzsY^WUD4nCiVk;T z&6xTd{Nqvmjr(VX-Ub_vIv3^T(fFL`8>O##TBmg*$9tdBH)$W){g|{*Y2R@jvdncO z;wX?&3!rm_ux_M`%7blXgB zPT$uB`E+N3^|IvpFK@k!*Knxyaz9~6alMQ>iuE#7f7g&ta}E62*Grf7Klwbt4a&v= z-F0~%G3Sx|`>U}3sTF!5_ct6(jEpdRRrWt!`qaPA{-@iSHweCPoBExH-&;gEGdxHA z-i+T_qMQ*fQNPpiYv&Qw+^ej3gt`AIvAtFL{J&yvX`NTwTX$UN%v+9!z4dhszv3-- z5_a&G)a9M@Qr-H^X1D+p_kb zjXdR9h}TuA=S_ItSd3T$VB4(oloxahbu8!}YA%*}%HVmmu{>pO_2dV}1i1Sjjv9;&-&bfE|%KJU{t32gQk*EA1XqtJSS-s=)lqcZ4 zuxOt0lQK^^)5SdH%vhc>aG>*)%Mkbd5P7z>_|F_=<}06o9A)N>e(3IA)BW(zkf+>T zf|lrf%<@a;r-%9&o~DQAj2<*5R`?rl3^f0}v9S^Qh& zDR*-v&r{CyGEX_PW&`5J+%HJKJAL|>bDuooyI8j(PkA!lXXSmyPmf_5Q!r?+fCc%ol#nC_k&-*NA6Q zN2nHM8Si`AD2GLvvC*_J`?u>3pUjHMzG4;oi}SBL_>b6R>r3(< zm1|g({;-X3q^LiP0vxI84>#-Y8u~+(fkRV&U_Nn|>|xv;f8+o0^FT)bo16!7H}XaG zxdm>-DxLfjPCj${xdmT^^FW?t-Wgmf-y@@=c10!5+t9Hb9qXZ8L3={m776VN@M6=hSV37Z7`o4yuq&X8G2YUIn7U_3 zYIX%}o;{Fbly?unt`KMRAXZNQE_1e4seA(3MfC5UD(nj6y&=DE0O}1u9us4dp?qt~ zSmf9Zf?eTxv^caKa7{qph2niyTX7!GD)0s-;r~3?P!sY0R_J9s?}BGDa9>m*_C-;i z?|3EvdrIz$;yIZzcbKu-^zd~F;C9k=Jb5u(*zyWRF2PRNMDcJJ3b-+518#Xv;hVtE zRE%lDsf4?5_%`TagnKUb#&L{ekb^JIR>b)!jIV7T7dta05$|!z$FlRDCHPJ&<~V-u zfQ(~hDLXLP*-*d4xJMy}BZNJ2JR3@%MU;iV&2yoa3^2~qQ0IqiMSOBE=xUP79XJd8 zljlo_Gc|C2$UOXyKV!oAObzB6(?@!wGgJ7TB}X_@WJpOvTL*L*-E}!5s6fzLd_?Kpy2NjEgat(XcN(=9wCuaw#P(opc-c z3D(yM>bD1e2jPD=@pn!*NBw5uHxK_a#NQcVuljY1U#Y)ZqRjmOY2nYA?;>*l)54z_ zW%jT2{R85;)NA(}bn_J(ASrw@4gDS1T0FP zWfG1Q+c%!Y|o4s4(;;nSe>`=_Nsr6^EM_5dW1hk{f@;iX`K0alTrRx z&)X=^^aQr#c><09$IjdE2z+qur-xle`3vU02%A15dh8qZ{BUT{3(HQRv~lNWf22k?TgQoQDIJw}6XyvO~i%`O7l?VU^#5!B+mX%%=Q&%8;alaN73kIC{4M6h^88KY zK?R_*#N~U!7avE@SAE-=p1*w@@;#aFX43Pwh#%1N3kma?Z26wR4|8(7Da1$0J@*9= z!w|6)yPm%ee(iFFpRVSE)**+;&Y$`j^IU7dV*1zii1VN0;W6V%CD6HfCcVxt>Pk$h zlrg1~5Gyz{-u~-NKFfTc0@#1B10%2znodeRu9T|%M_)E=LHeFe`)@At$;Tr9PuPFR z9j`)c%(Va9(7PwX_M_cbf?wubPlDdgT;+({T~qM6&L_`-{r3RuKX+T5f}MGF%(15Z z_ZO~518&0XWczWA%>+$wPi>XmpjDk;?&RO;mg}q!7k>+Vd`bGSN5i1>;n5s_iu&+-IjQTz&B%SS<8GjV zJG(x-=Ue3GvGXMKeny^C#B(4#uNFn~cF)5)q3&}D&n7>LGa%}RseE17#hvqYG8_@>AsguU+F7CY0zJwfK{(*L*}@Jv4nc%o;m z1D)^h=Jp%8Uj%SHP&*#S8dF~~OJD=MnV`4o2WE9FfasF8z>WRHX zE}SQYzsKVYVSRo>-=c28Th8@`X5!qd55Q|n;R76ndS&NYQl&|1?=70=Kc0TN7zqI751vcuv0G5zepeGB)~53Y8fnG z=NU>d*yR~Y@O5GSGukE~KV;|}K~B z%q{(Z6Yw|p`b9vSJdb3LI*-KZ{E>B_37$W)&367s-cg)CGRioAgk|ni(&vwG%`8Pu zxZda83O$AA`R`}`mhc&5g+DaPZ7ArVHq zH0k%RuYHp6-VvuckMd;buUvcNVJ(6ud%}tKT93!QBme4N>&FF7s8eQye`%C|5iMtj zA4ZvXUab+oS>fg49rre7g_jxSrRx1E^}ATSV_rj6c#%*ptAchb)*=&!!viZ4$;KV8G1^z$1z{uK4|-C3#Y=U?E?2|MmCF>q(s z&kKF=`nk}_uXR4>&1sME7*A^Vuhl~rV2NKooL&@3td~}Tn?b$ z2f3Bt_e;^6x zS|Qu8XRbYj@$o)`otC`MU=Qvy$n-7^a7=r#{;5YiiS?`ReB)V7=KAHhxqkZ!yk)iR zL=2hhcZ`S;d)xNpTT>=LkK~u$BPk67W#QkhKq? zSosimzJKAfgxxLA))cVo{peZYSGhI~*m*WsBDmc+zeoG&Oy8T=yEt$^d~vX;h5mGl z!MAwc3E^H4jh#!lcL6`d!BWJK3jjBKB4Yn;2r=aG&>e?hpCQkund3kQRi69h_t1uT z?#lO`Qs3jfgyMTVZw)x%`8b)-*Tna5Hc-;II_w2jytLAYBXqe|7@|;7QX%r|2-7Lnv2jW~e?qfxM zb?ojmsqZB_?}$7{%R!bY2YKF6>FFF#{9d~VWV+mImll4Exoueg^gpdI%8!V$+#4Pg zW$BChnNbcHb?!HwFE+}Hj5-U9=kty7T}GWB8PC6Ol|eq) z-KcYuQNF<_v;UY~KS1aiJTpM+8O-a5;TJg`LeD^6i{L}>J3w#ssx#SE3Oz&m>-^#y zvOLNtUySm2_$6o`?}5$_-mr^%1ITlo_)ZgesmRj>kMh3Bvwu9|?4Qg5qeJB9Jo|^f z0rLNJ$dxU5-j(zb{q2)uaQ4p;^wDE+_Rm4)P+`2(M?W^o{}5%)V^;Vhl%>zt9X=eb zlNR0+t&X z>01`zNKxPF2RKsA4_K?eYsC5Lxi41X(5`RsoNar2OXsyEIuGYp`=mcK<^9xH3kBen z{|@KjY#?ty%tqwy!5-yaivLUJ;be++Cv7FKQBD(Oc^*!0l)qqJ3t~5i)$eEcwXe|$ z27TGj!wG@UebFO!zRGIcL%_9ZA;<2m7Z0p(LB8fAzS97mwa9YSAtc<0OfgG+vn_237A?V~Hj>`Q`<&XN>bxd)r zCC@FsS;_A;mJ2dm#+LlhLH+2%kNYO_J&OW)xZ79W>8sCN(Rci+ztx(~A>3Hg+f{sK ze_5uu4`V5Gmjh+lara@AA|_gQjZ47&Tikh^3f%dCsqvbk_VP!@AScs$hUfbU-;&sa zkuC1N;9Uuy8-F+TKs+M{@@0~%{o@jE@BnzVdB4OA%q{nAEd-A0$DvM{6+D1?W}WL) zo%(S_@;(OCd7z_XMLq61PXq4!n70V#ZHAR5@Mk|uVbOg5$~54!DaY6DN4zk<&J*+l zmZly)+{s|=vd=Tm;*j|zcW>N`J!~J~jJiJpw{;5Nzu_KS;JeC*hspSSEM8j&{~mok zq_2^nuX@-8{qsD*eBAL_j~J}RJI6i!2=rDD9M(b4g5CCrZfDZzTF|KCqWwv}_WwD`_Axq?@yD1yQT?s(GFRcnDLzkHG|$T@&9a{1KE5=>=G|u@ z){Hyuyuej@9dujZXAtI<`x(dKmv@C}{dXz;rro#~cpK}IYstPZ>}H(znGfA~EPUeB zmHD?He-jse>?PwGn{lsyR%b%UOz9b zy$*HybN$zhKFalf;=i{3xgXkC|ND#K8^`@a^z(nwqxZqj%laJ@dr>{G-OBwTojYLe zDR=Ve(vLqKe06}@E6W@c`Xg3>2i*q0OC9#UBL0CpdaOA9_%!mo)ZW($c}I^GT>A&? zYsH$UA3sJr6Ao^1PyMqCexiJ=Bg#9-A0g{r0?)|Dd1vJD{qc@Gb*lDMI?OJ!Gul*&1k6)tZak*MMdi{v|9)vy` z(-(X_!LKkc@Y6k$kNu7se@EiO8mIIN*m(wRb?P9@FDZdsrktdX^X7BT>(bs{^Z5wm z8s~;{R|g!hAIoP2AAI%G6~swC?jLZHlXkf`L&-_@Hv>GVL5#;0eh;}_?598OQgG6> zo#xk#`E5o&TP=6MX&z^Qo{BMtgK)pYAmDTdaJmEYO`dFHRHufoHTGDE7qjW9XrztF+vrxt>S-b2VLQ zoYAI#NsY_yORdM6eOaxW2F#rw@N?WV)VeX>as4hz@O*88=lRI*Pg~{>MZlBlmRs#t zXkJ47uGk~^eHwgzdaU;E5r6JH@C4ww1oK;h?~pfuCInxIC_ccoj=Qfq&4-3NAM+PC zAIA41O22HFWI?}7gMOJ7r(ZT8*N(hV>Xm76e3N;nd`Efm=g+B6^6Uc1`-pc9j~(yC zbsF%=b>ato=WlTdc@lxX1%AD&ZaM5QjDzQ6((kYU{QEV;-f)>&REIo6(aTR9=!N`e zuGn82<3H0NOI)SCP=7VPBk8-GZ{i>Rdcjw49$A-k$9%x%0u40)HtHdqo35^bJ>2ID zx%j356Y}l^eQUbz3csX`p`4=J;xE^c{^!e<{k;Ty02l2A@X6*whx9AFQ0^>JYr@W# zC|kHjG#zUBM0w=*lm!YDeVWg;oT9wZxYzx&KjNA4ki3^X-u_MU_%!f$*c;CjW4yR0 z=XpQItH(e()9Zob;F+u19^7Wh`1v}-=X#`u_nXg>GjIcd<3@uB~?^;H5sM!5Q8 z9y!J$jFI-4iQ8$o8-@JmSj#oav|_*v-KTvPU@ig78m=mglljMlUBfaOFzT4d7>v6L zcvuJ6?C}!5V-7RoHGvYqjQ-t40 zPtdJ!oS(Vy`6KB#Zs1&J6*R1$25h>c^=G(_(jW0<`7^$$aO339 zn2Y=#)1OE_N`9ez8ua@VC|;rYHtmv1OX@y$`){k#g(|`GX*2O}@@~pt@`67P`&jaz zJjiA2%hr78NNa{XNbBKa6~D3T*E8@9J=QWcKFT63`|_X%c0~u?!+nq7BbyBQFV_Fo zK|=q{qCax$ka+!<{>Xk_;g5Lm_s({Y-AzMlC)*~e)?T#S3n`E?!UL({OPi6hY%>7-cEx=BBzUm=H}Lz+5=UHn8mtI78|{ zS&umS$jdxF`bpiVu9)2|{HyNp{%4%&FQMHHeV?*`bXfN(eADQMcK2_#ed_2lOhm_x z=x3qorxE?EguOniuP?L%vhFdHrptN=JT8XKd>?G#Qsi^51Kz0p`Fg z;cwy^Ug%jE7y#U@$Nqq^IM4eP$oCzPyR8^E&;A;ZTnC=}H3zv%Ey!7U)#3RLJl|nu z1a^SNwB64$FnF)=Y-RVq1l&@W8h|=$u&<&BG@ftxaLh4jf6YLAi#jUe1#vN%g}N`! zIcz%_>yY!(tZdPy4%njZOxU8{I9v3jo1_l1rWN{jn~HUyo*C=NR(0yzKu?F@4+5`Q zQVl;&N6a=&h1U$6mJy`h&se}%*rv3SqyCf&J~P+gGe6|sRq*rPc79&w66=+B zC4bT5#Hhcsjz0aUEkXOSb4<-?Eoq!5@{zfF7R~kc@z2eGkDvs7(ucsiJl!rSON*7P zDpT+5&npu=-U;Fs}6@N&Tg2VKO2z|&c{ee5Neh?3hlXufj08K2h+B-TjLoVo$ zdDFT7_LSiI%ElG_QTC(UP?i~*HXLVUKKeE64_vUZp&$)=A$%Jf;XAH9+_GZraMT-q za*+4ZY#VM>l$Q<-R-xRCI_F*Ay5i;WR)xRxLe-`p?gr}@ZbsWeysIk)9i5BsFGvqH zEP)+~n5A_+&(u6WxENzdL)niq_B6$hq0AK>!*Apm_W6HsZZMMZ(~X`HIQO#8z~Ex+ z8{imvBpE{{#{fF!c}E=`-NhJuhzmUu|@n>EXEW>yjmS=_NXIcY%=0ARFa0c)cDfWpxitWHt)wBUYj(P2$ znvlDaE$U7mZtcsTQV?8gp)S@3?~O3)t`K!|biWn(ADj^E&wi1k)i^l5?lMs~Hzel7 zI$OZeu)JHS4r5<~{^>*H-8+m0ZU0v53L$UY()TK8VD;c&eTHwN`CP}Ty^8)y?EHIc zw&35)`{pRzuVI{jHf5g+asKo;9yC?eshJCeSM9 zM*u}ZSS|P0+D#;BlSYU;k&~^>hZQb>_C#kf1@VT{(E1FQQLYZ}D zxvhBG#WTHj>kqZ8SOnVgAI`+HdpE8FO_pDFT5y(HyG2Rhy$J6PmE?#q9I8~m5%pUj z$2JCdtg7_{dCw#3&gyH01YIV;5!OUS{(&CB$gZXp>=QPwpy`EtepOzuA!EVD2=Hj9 z>33Kk-)4P*ci@imbqM3&H|y~2diPH^nzY?r)Am+LQ<{dSaPKf=!M7C+3;wC}j|n11 z7t=p1#ONqb$-7M6c@5?u$~%+rt%bmUGTvE#ZDM-+E8c0|*#KGR1K&Iu_kF*NIrJaw z6^!I80Dq3r?i)$^dWC%{9w_=k&d3?qv)MqtZjsl`kL&A&Bz--@zBE6CoG^9GJmdnB zA7YFZ{zmMl1Fvpao~ij(Qhs<7=D2Q&a9!Sg&CyTn0cY=1R^Ecpp<{aNfCw@3y z)XlN+!`x6E#%||_3$Fq{G<2po{$xDYwDi(dl9q0_^Fzes7{A{``?EMbjvtox1x>w4 zS=23Ld3>R(&T3xKA9tYntqjPaZnm`?lS3bV1~~*>i@Frgg>HBgG~p=<`Osdm}_@#u$VyaEcs5U2F`~J!j2%=L3Q^6t2Pgp7Q3hQMcrZX zb<0HEp0T=Dog>%J4XBHKe`dcw5p_?{b@%1Jp9wm)s~no+#?RM4e{% zK-!5LBa>0rrqj$2bx#s?U63RBc^3y~0N%)zsB6<{t`T*6+1BvMp*rBN9%C{2e#Mna zrzuVsx7I9wrT(9BUE9DwK(Ub?uzbN&Yc>ki%XW(BH`V8bKcwM#s#>@ozjPx1C z=`(E}$aCf`(NE~@l()2oc}p$KTXG?93I4*!pich6`WECZ1(>(w3SNaX57u%FSDh>L zb5kZvNJ58xygQOU)BYy(nYPi;XHJaQXW%2HeSai<=5@4>=`%y5K7+Q@XSN6%pnI@< zb>oWdC`)~2h}LJSqqa!Nkm%Zfx?SiqwT3=ZZR#`K0Mpv>v?n^-BI$T{sARCxXVh;* z{T8UPL2gy~+(F(Y&AN7drV4#){hfLoWY0e8Grs|xhbjk0^%)_*Z2FAZwvzSn?P<_w z#Pg^=1NenL10CF^&;0cYMc2yjtm!vT(QlkS<4zayXD;@n9dKvH$)7EZk@cb9gEG&)*_OhCW0;lVHPxH*gOz)@ijBXM1Fd^&3Iov*zRx8#(uL5{^9pEVQx0dk@aa}t?twNHbtKz|HnDCK8IN1ss9 zP$B!FJ5Y8*reZFNFb`3DgGbYz{OIn+71TAp8CSngs1)>W-EnrX9#i1cr5s#?HIQFDO!^Ecx5vfT{kf>yD~@M0t%MxJ z*zLOP8<%U_Ualj}FM4rrHte5I)S0Bh{welK|10*q9w^R;;}?1P&{sba`Q`0-m&0#k zofv!p=NZ*~A9Db_37^VGqy_Mlo2=TB(o2Jpfbgdn^B2=YFUI^qUhVU@4h>d9e!`!$ zuiSTfun9bu`rG6GfjPMyeRJI|$O<)}?;_BfbuE2HS;2$<37-+lev}*BS=7;D-zkpy zt@`6Tkj=IJDOo|}QPF2qQ9h(!a2Do~-&ut3B$5^Pa130hSa1Bk5Al;hX~JIG=Z7EC z?l-tSNndl=7uK)P+dKLScznovJYyB$5PCo0DC-*!M3)y0@b)c(b{tYD8T_XT41I3trm@erVR+BI?Sux)8LO|3QK5 z7krL7wpsUCQCF_jmsr;a{T6f^ArAl#H|vH)-CkP1-Isq>_uyLUw_MjY9}o(64W&ztA6g3HTDW(8Ys;!<}@5;vDHO1g~fSFXFwZO_hj86mVZqe5~vT ziuOJRk2rw$CSBg9-qqneD}*l9*?F7w;MhVlva52O&Sf%Lf9- z4V5@k0r{N`pxLN@@OJ4Rd`L=r%&ngFPr_~ zU8jEVO!xCJ`&o{Dz*i4d8vP(Qx!UXp?>hB^XS$z->?eSJz*n0vPiv5Cqxs}soH@d{ z40)({hghV37vZ}yyc0Y$-ltuJoLKVECh(uC4Xz;1wQO41SFG`R@+8P#VMnjR8V8M; zbhw!Gv*dKmXJY(zCFK-b{jM`O#-{qYq^&_k&p08%YcRA~q#Ol99 z{y2xc6n^CZ>f3l}5$jjR)vwJzJV5#^mY}|kpMI0|BeD8o{0G(e%TV9OQwzoTvpU;( zC7>JHd64sV-a2iP=B<*qX&$X6P{wL$-6U3glUeWluh4?vjkB*Kk z;cNWnU|}!7ca{#F!=^ix#B`^(J_g-VAE11n4gDw6*S-ijqu|BW{-2BpMr?fX+{sEG z0KIl}cww8Q<9`PJXNJH_tNr6gs@RxU%=>iCi}qzv#z{QaYTNp~8q#UHsEauS?e&s# zNEs(_9Iaa`>Sj=G)%v4y3qI!(S0@`fi?|hj+{;8v9J*sg)aEpvYn)F|IDbO-9AqjSylnc%idDXb$iF=)N^ia#&>M93j*je*7dU91X4USnP6{@!$foWYgTFFH zYr_HmTIz$tzZNWkp3w-}D4+JV;26*t_4G%-4caP^v`9K`g1%P;TO-!DpyOEI1|8=g zq3?z4oBFc@-42AlRQ1{^!9lo>vT3EHTft9$pnRGoo$2;$gKihnM%*$`>XOv?Y;@aS z(XE(M<^O3~=}fmbMCa`C1avE(>p5FFQSyqPW6n(eAotA1_=8XJ2jP$x&HmYcLZ};g1L+Y661UOf#h>JkoczE;DGP7jLFVNjsecXYgjJv4IJ*{+V_Jl zgf4936TAKx$0w@u_1rk{i5;SD*Z4%o1iePO#wSK8eCz$&@ZAdi_DJzWYdY=eQ-Z}S zVGE)xaxr8)F-Fhu@oIhIHsE&=`Gd;E5b<0i7vpurJOv+g@PF>WJ9|8FE_gcnL+-+$ zU;)>j5l{R>lD>Y&zM%67`S4@N2cIYS3-l${@%zK%IyU-xB1vDX*%$Oa(!_y+_;_M2 z@=~emV2l-h5AZ-gRVKeHiws@jh_X1Hj$0l!_ z_A5xn8$VPmt@jb3E}#@}~6pY|xODH(5#L&HMk1mp5Y0GKY&f>yo^I zjsDM_Tz6fQH)ln0&^38;tHMFNypjIw5dGQ34*qQVp6veY9?AXLb&$=bKl_}Els~(N z@@J#Z1MrcUcH(U0FOnYNUq#Fkau)Azd{X(dC;4#pYQM1I&yML9BJO1Rv-=;cL)*D* zOMf=>=?3V@!k_&PDM;>*$p;-HuJaW&+e}L*;4i+mkaRH zpH2VvV8CkkX)^~!`?YC@(XZVg{Mu>4ukD9l`-b0J`{>thZ11>W=A0P^+mTB_zjh7e zOapAL$UL-z|2PuOX>o_IeZ7;9ySi&W?mp0oP7U2Zpm{|D#x8x_eL@YGpCZgnbPmAl z>EpiehtkJAKd%0%)I0V?ecT1~c}XAlX;=qNKJGlwHf3HHecX_Vo%48laD7|}o+kWq zy+chH^J?Y?KZe{Lz*1#p!N)CP+%Y~MiN%-y`48yd)OjXRmx7O+?GfuA1K4EysE<6> zzB1N6!uHf_#&z~g_kH{-*L~DiRvY!f zU5UEVc8lt#dqv%-udF(M$RKG~Q5PB)-|ucwSNOGStD?G)vtPTx94o5dV=O&;GM>UK>Y zUnS~xO&%{Dr}et7$>W{l63F8+w~VjiPVfU|-Z=lIbqZ{tO!2kn_( zGpz)AJ#uQok2bEDfwIW2aogXPxXhaW>$k?+ADQS1L;aBwTuM8k6EZIId1pl>U6oe>DI1d~f?2 zv9IoA$9x%)CsTHEu)eskQ=Sa-V@i=9vxxlatj>1HLgZ8k968uacjKLz9|JiU#jo(^ zV=liAJU5&_rhN?JYjOF$vt@pa;m@yj(i6O#C#)6H>!He_(qE0XDnAA}6WxO^t`PY# z)gnIzb?9%7TR(WF*H6IE@-{lp6_eo_dV9fx2MVcm};#Pa2&#K zif`NVV@}j`tY}En>$PJg55L-^*Wx4FQ@;n^VNb!IChe&>oJV5(@_yjl^xp}8=lmWj zch7^I4EUZ^9)$^`;w9Dj=baN=1$dP`RedD?-MeG743qX$+!_)-%y|D@9|eEBJth4U zJB7bE=D#bYKj?Py-fSVeLiswkG#h+3+eUXW*)t9}Fnx3lw@cae%eeMg@$E}u?T4{_ z0zcfMi@?Ktu3!Pqpw@n&HKd=>h@m0BSj1j!ymFGjC;Xo>p1LppS|g`I`r)E<>JxQ^ zU&!E<&VIPNqPUm-w$8YZ_rpCuM$%rTqP?j9*xg<5%bnjKzw8;uFD>l#s>?`g@2mD~ z)+1iqpT4m>&JA7wn=bB~v@6{`CC{YX1RrUD{1tm9D!FefJ_eeBd}YeOwb(D%Fv^9P zoy_M)E?$LYoffP|o7KN)T=6pg_Tz89hwW*bx11=y+4&J{DBv>@eb+vYNiiQ<3*mhrJ*5fL+7FI`j|Ue3MnN z1FK1#Kjk8%*PZp0FVEq17~hvd;5hs;RSNcN# zFHhKqu%SGF+hH7drpIwT#!+_z`eF>Y!05{-`wF8k?6J!whZXD)_-2_U;%vSrY%#M1jfe+<7D&&8$`@E_5{N>E#~`I=(Fxhyn~K> zDAGMT7pt)!cp~NiwlQGG9N=B2@#2{tZ(oiV=Z8{P7URW!;Xgo6m~j#2seXRMeNYc(nfE zZKz)ot1n`lwLN6+3Uyc;|J=v=m9hGQH~&EK<{Qv|as2ojSw9l1Uk{xk|Iv{$27C?b z%Q$p&Jnyo80clc>|0U|`TU3m8GV04%bhQ3!V*IiCV*EPy=1SDJ>GoU1_+$0ae|0pk z2j{`s_4{YU_+$0gFt6s?{NP%|Eh6JkA9|rVUmL{uyGO^rko`BRxKJ_b+ho_{V*Ikc z=tucO4poAt88Zewt%1+R)ZyPMRyw?r1zPtxb+nW}C5BJL%)iMxoBq@U`8Rz=hw7o{ zL7&;@e|v<;Z|@{~idFs%_z`n&8en@ht>T{H&iOZwD!O08J;ODqQzGP3+}c>K>eSbu z&X3_sM4bW1$H6*7zMzaDo9i-&cy1zI`2gNE6eN*NSSLlmb;By;;~=N60qY^n+)*pV!#W za`XfKY|qu%WA;}qX%&`G}YNI{_Jk$Mb zU_VRH4|sW8t`5#gZ9l{4r_!MxJk$OBg8h`CpL5k*;!IP>9q2_T20IYjs#}0};OB=* zjIm-*{ZkTVj1_VR@6;T`#)@b98~5@X_n@D_^vlM_7A9UUk93gsMt!|;WW+LE26Sv1?o!P8?C!o)RnnHYv^y#xiJr;uH?JX zx_67ZGFM3O#4Yf>F#l&c>Pns)t$VwuD|3ZpU6m^oKwZgiqjhJBx-wTt)U}Y4$bOfg z?)iduM(bWD>dIUpj2F3?D)wH6x{}XE>t2Dnwp^io(OjMds4w|!w7#G9ja;FH#D~r; z0&h^cMbY{fvVMH7(7tG%(>SQ5&`ZG$QtRq$4*Ye$VQ3zvAPH zuWCO2gkSRUpw6FkcP-y%1n564nqw^NFM}>)_SZWffG%&4^v&1@^L_sDDfA)gZ_iu= z`n?CbYizIS`N&5|6vv0ohyBJE21}sxX?v}RbJscFCyJ}xFO!C)y@q*4-bAN-pJ?5; zMO|U9!A8-(EoXbJ8}Vu6^#~rKeOtzJjpxf1p6&TQJU?>}?(zAe$7#`Ampbq*5htU) zw!|IcJxv~z7vJa`vA(D8p;xTCHda~pJha)e?rgH|dn^;S8_z}HzI*O{@uXc?rW|6IBRFh?i;QBYw&C^>#@FRi;6sGz|A{#F6X^9zyr?!Y{7q?Ptcs{ zduVr0;2n2_wjM5itDnod^Ff@s+s|v=NxbdGzM^{G!-)Ev+tYD(Sih{;I~VR1*YEy_ z{`z&Z?&N%p&9((at` zMaPuqF$eT}@y_s$(?zZud{^C&djL9t&&GOjWUwA~RD(e$&(~=>k>k6gKc}wM(|Gk*QRha*maV9+PvU?r8r4Ts>1Lxc_JRRq2 zJc0Y;TJp9%hI6sP>7d)O^4`lk`-2XcH_(LkLqQLzk3-&(#e6k6j!ZF*MOafD$Aegt z6L2o#AdKS`HHPu{c9Z1=y-GT)@*Lc>&dLt(j;wO`LEM$^@Qg!zYJ@XxW4Mkz!l<#iE!2P9|z)a_0(4kS9u1myrL}cJWE4a%aVrWE+J38 z<&*NHVR=yq{+!r-7fQccdOl@JEMKy2He|~8AyaOLOqplM6zEJm=Zb#s$oHWODw*;i z&fGR-%7unZv2fOimMO1;-syWWxtbdFL!UWDaD!?2ymmWCwDAh3tTyGy(g1lF5$ELUurB1K+r# zuPHk+LxOj|I6(34n2tJhx0W69+srLz`)RiJkR7$wwzOc8;Qg`or`g(fUW>Bd&TCi0 zZ}NWmtOd3rb7UDWA@45?n!F#m4(IyXheyXp-j5i{NXW*~mj>&5K=+4#L-YQB{4E~7 zX_OH|Mg;47GhU0lGR6B_ZS|7E5yw+B9Fq56jXXP(=gxp$L!NsZ?!#OPdP>G~7k4|j zX+3!E4)ENYbIEhl+vZ{3TSvlnhF;tZTYN9*F=O4BP!8_lDdc^lt}KzqR)_pE-l5mv z&Jp{pw_T5X?^17Y(Rt84v5wYWV6`L9tm0%gS)_J(oeK788z1Op{u->!lfRzDA2|1ob zHhEi=Y$D!36OVmm@FwN>T?Vd1z8YjZW%>1|^$x{E+s}(hL7Jd*?Qr zy~F!swY^gZTci>8&MMfhPlGS4@)$OaA%Dg~Hm%Bxy~{W3odf7^Rc`EE5n|0+Zgth> zdGM^{HqX#_o5!{$Qnz{Lo|#;3J!jZFFP|#p7Hrt4%~RoI^UVJr&DY~?o{hHlTi`db ze$uUz&2wvl_G@kJA@}xKx4MGUZ8p!1w)UOZyc}0&-l6el%02lk-sXXRx?IRT;38)8 z+#MaCw0Wk{CL3}Fdl{?c*d zQQFqP`D%9kndkh{)_52D<4s$m4`|9}YdF$zqWMYmJazm?9(5J-yOgc*%`XF2N$j%E zGvaaedX%5bIZX$-vi7g$(Rz-I)uYh$#!}4ViX#TD&ZTuP!R@2Jju)YoB30 z>^&_D-+&CI{}0AzuT{NbbzJbp={i56ob3~Pmk%9XzZ<}Jr^ntEL0;>3e?p(aw}|mK zA$FC>KK$KK$k`KNAD#gFkZ}^)hdp5*0$;*D{G?;beDtO4LmPim`DVa1ec6(i$!Br) zA#y{7eF)uR>6OXl>?$E=xd$*k+}hiev)+)9ldpQEoD_0I=GClyPs>^PZTjTc{#{%9 zI5}ywe<(rwSDo6w>XCBRXul{y`{!)!E&4`h<^~s1P8;pNm!SOyTYDiNS7YBe<)hJl zMuPT_+S=Fg`*ThY*4x^D+t$7_Za8-x0NmpsGr|5U- z27kd$2VZv;eD2!UJ`Z5l zI8EA565Ksy;4b*Th`XO^+`$JGhdbmmZ7No{8xq4^ofawHebtn)u6mgHwvX*kp|M+nf5ed={r) z8}S#OtJc-{OV5*=SG`sMw$dP(7klWQ6dsb7AATqBdG_*MMna@clrj}U*EWyD{`s`$&KqmRGfoZGBm z|Dmz?3;B#0f9XKp%~8c)R_OT4iM#e8{<0787xrz$UyxskxpMamPsI5Zo#HQOZ;!w1 zL!2dJ(TTx+KV7(?Us^^R&eWYEVlUUG9YyTr#7?o7A)m#^UiL(FNjZN>=Q~axlJ%i? zJJNH~ejMpW#$K*sj+%!hh zGV{)^NG`i%3?@VPcBY@Cc{^h;8T1X+TDPW4-%uo$pV;>uExY8mc}5$3L*KHs7d-!t zev;=K?Q;^eFS51wQMO?JR6Tt=M*Bm5j{kn=wJ*ojnOA81nX*qllfIQqQ)ZG3smJ(!Z$Der8jtzJ?%;&_;bL(0Bk zSaYWAJEpt}e$FHLR!+)RaRtyY{hhHGj2!36-y#1mE`L%!$NW^p`wNmkPuhk0{H!$V*;eGRyagQz za=CUo@*<{N);Al$ue|X0@^>-nb>Iwq`UXn-@O&TeO_P@af34>NkI<2H?(80v3(-C) z{Bg4K*y6DjV`LsP@1SGO^B(4f*m*F7V^=_9K){zI#mlwBWzV{In&&AJ2)O-b>g^VoeJ_EzXF39C<;) zPunxLj_1H{l9XnSBd?Y8<_Y@^+zl3Gsb3F3*{)xI|C=%W`YeoH>(=}=_3Nc~{A>F4 z>#&K<`0gC=XPx8Z8yL&K?bhF#l5wx^Veo`q9eLLN4OlCCF-PUIus7f87hL(1*$1b& z`~7)6_Frtl9&_5P4`J^m`Dg=VVTAku{Qpch_TFGm$aEvVi=2A#>?I?f`#tq6--y-r z$Fub(U|)#O{XF~n41T9UC&j+^BZu$pK%Mkn*0Va^y9$4c@1G1Ak3J}~F2u9uQ)2zh zbm%7ybwr%FAMgdamdF+;EPyT02XW%wkX4XL!WK9MabnM3l2TIt6^9Fe*>_ARfm>EeCfj@QL?`zxH< zA3nEJ`^*IGFLi4F+^|mV55DF6{c}3EueJL0>(stALHjdo?Mp9$p0MmZ>E|+Rk#`fc z?`~@kTcO(ez>;xTqy4K1+JDg_9{=zIR$Fx=Wt`k-|6GFhAKKc(ma1^Fr8XpJ|2JEE z*f9I70hWvp8{dD_);`J`{h;>@dTlHA8mCoFn=Wm9Nuo-)C8b0rs(gd0H0`}U_mY|Ps31W*+;BJ_Y zkk6CX5Bb~GF4zg_;YXl%raoSGIH<--J)PrN3q70q_S4AYnG0T@EN6XtM$8sk2VI-7 z(#QTZCKG@%#&^AK5=Lj2Zqo-V*Z6okV#_n68 zd+&w5$T%%^ObhMo`GI;b(yi&%Bc(RNCq(^dUC^1o1UWw*bD(Y0vu*Ry03DI@ z@ptSWn*jPrHXqm*yT2LxRnvXlM$j&3!kl)ObW!VMd%wUvd5&}}^|kEdL&w!oI>x;KuT5))uv>!*>lKz+g z@S|z|jxPgOzRr0;nm^R$d?xdP6n`lCis8y<;A)@^SI3NB<9si{ui?9*FNXXY=Mhv} zmOJybC|3Zvg+K>;UY_}mBz8nZEpg1^(H?T592GslClS+O^&VIFK&=p$@r*oUId`wn&D>_hCsN@O3d>1Wu7qYV2H z-xT)YfjIlnCO36_{0MmthJ9E#Ik|nv`%iS9!k=@6eNwIS9JVme;h8)c>k<05%pl+u95GZ^YhD8~il?Tx2j0jD?rk`6rYk@Dx z+$Y>`k+2Uziz-hA{-blE_%vrD2TaHe_%taq9(S|@47@vz*B#C}-eb-4wO_2q znkUD4=TVOJZ|LWUHUQ3MbF=}#-<@oLD~@U`(gyfLbUe}q=&$mT&PF~G?=iC5a%Nug z7$YBPkjh6oQ|BW=M{9=6*bCb_W1T;ggLBoA?FS!yBYdu<86qDE{&Brmy9qJKX2=||9~|~}r~TlFT@I+f>#g#hSvBQbT-Xop2~bZI_nBZX zIQNG8@NEm<=6>)&&?D{nNcL~o_kwdyxfk5?xL@o6FMuC;4}8jc4|to{10E22z&ot0 zw*SxGm%v9=UH`vXvXKBmkX^_IBqFF41q5ZXAmDDLN{cN^K)~IqKNrvh5;lXHsZ>;~ zgjHr-nj+LvZ4HYc#oC~?wNxcLfw+Lh$|#cm_uOUXzBlhp=7oSu|9n2--FeHs_uPB7 zd(OG%?t(3#q3Zs3cO=K{-hn<)Ud@Z6F92bP098AHOg4URN~z z!C9lG{ek{v)}Omhpg;S7zb(=}@;jRL2l}B|f37-#{=6DZe~`D*v_H^a&H6L&1p2eg z&>#3vn0-W-mk4VO*&k*XfnF{9q2?u`m}1~}tMKL?^h3sp{Ssy48f44h&>EyhtU=iN zBUj{?A9RBI6Tu(U^@lNkjNGG7`D4_5iE93sZ?I-rq3qGOj9-S1Vx`wV-&=`ahOWZ= zK9oP^da*xH$sZFw)_hNm-tWWj>HI!Q{IV}SvR=>g$MF4qRS8V5FXeiDjIWIL!JF(4 zeEP3aZ{lss{ehK+@0nhz4d!}jekg|QVZ--UaKiRfsgDto@T+(!Eyyrj4Y&)ev+s;)Y zP6^lf`0l+6glz|VNf_N;i?uFrw00uay0F7jZm&kzcMbxFgSL2lXSD6eJ$OGw4&Oqu z#iI_g<9Ee+Qr+JgaqM(*mXDnkZbYodbPl*(aysTf%D77n^UQw=;h@)))C*mYIL?rZc>^7*4E8~Oa0K_NcB2z`f{ zDfo~0J>_HB)tz{K>+?@O0$-cT>jx{gCJnIz!CYamNl~t_mGH4&5(`_8uqVyK`^<+A zecddNB#%9d^$+U>ULFr0KKx;X(=l31$s6#8$vl$nzHT0W7U~i{e8U{cTpFs4hTqfi za^{yq9!dD+7Nb9r_M+@$HX5Es^455jm*XDsa+5rc1KyInoVOiLKO#Rw7%!InS9vkN z$9=f`3}(`4FL+4h#gH}N9ixN&BVHWqDG1 zQog-5)t4f~$xQ00=u7Y^1ob7@KgbTM=GzM&YwqXO>q{naGK#*`Qm$66FY%c7rEw~a z#SspdYQy4rJ^>|8;>sXy^0sB1OtIm6jlN$rAS_PhV#D`VaE9}B3BO9C{GL9}!tKA} zL6t^%oW%{n{_!{q#DP?5=VW`}AHdXqNnX3(!8jPxf}gxnLX%@TKHDVQ&YX{R#C6UC)3EmmUq@yT$M6bUj55 zW%Y@y>%EA!C?5>%z4|<+VcE*yzT;TmWb$W8ImFhr+@JKqE~!iLw!?9a-w)>%vj3_a z;rC=8_89sASyrw+ndIFc2b(0*5 z_Z8CKt9bb9;^p2jE{E?`F)Q-L~mW@KwOMDnWOzpse!V8n#|Q+!)piK9e{;)pigAyVDwx@4HUK z@ikE#A80IAm4#TdlI=k9-u|Ew9q$Eg#DGTXaGj6ucKpa73qeak{s6k9wGxws!gfHp z#kB~sa9#7q%PPorAn1~4k@D462YE1`mxyDjlS|Al;{v${dAk8lQqx)(NlKIEFMg|)M?7uHTb(r4W&KXp_5 z`ysP@q!Zqh{FL`cp26^_;d|IoE6wtejkUIMsY2$WH0A#aKniM>-$pfE6m|L>TjtMuhPcj8!$o#EJFI4wO$iUPZ`9y5L`t^O1hr zWA%hGR07e@ZYF)-X#dUA#2G?3PiXbABC+?_ z?f=8+w(P%#HG$+^Eyys%{=3VD{r3|mlVO$Im&feCp*>vbAz$2cJM=PacG!OXATKiP z*O&b_ks;uf>N!5YzmLff^o4YKZvTBF*gq~qQpomoOyqmW57~bU4E^(vEG|8p`xF%! za*yG?h;W$lNG?Na&ylnqA>P7d50BLErQclLPeA9T+wTw8BcDTmq(5a1%0_znPyY}- zor8AB4lMtv_TX9LPs|=n`@z-qd`o9~kxwNSz7hCT7)|{gF}7;%FLix?6l(`M&ua_5 zp*UR2{Pq#n{_k~B^hvSyXJ>i|JF$AESNL3Tn@o##VpX3U7kPcYnXS*cow!{P*LiLg z_+mn|SR10n?Qck01ii$- z3*`8zynx@++nMA2FW;;30&ZvC8tfmpGlRy%_3i8?$4pM&6P0xva>&WwnwRULVI(+P( zB36d&TcG2RIh|XXYXx&rVaT=e-j74MRwRBKbFB=){F&uixgPeC*5+D?I434^Yqm!@VjU*) zDrw>^!1Hb8T3NZyI@d}>cudBm?f3@IwXy)?!fj|y|IH|WTe(&y=*B2K*UGm$PBH$G z$~dJe94a9_ZboP2sr;G#rsg6EBJ_xplsA%b2CEv>v*&ybyvFn zFWE!;ou=rou#dAi2jxs!)gBr?7jiAu!dg<*Uk66kUwLjo9!vDI=6dqU1lN)p>5nF7 z(stP<^;g~>X%D^B@O>HSuO{a+xh=lG(C|I%jpb(NGacEgZ{KR1!ugjRKUII__l)*X z*FCEK%I%@21^dU>vP^$RAiyKZ8d#jAcxV0;f!*~ICN7Q`~ zbKy^xd!xIE{nF~0O%>Q5t)5Y+p4oI8J+nBosXIMW&T7hrjFRnaMITulE^;VFI&2SvMS5lbnIY1G1~3abAfiQ5@VNQ7(49M)#TV=AFe!Ogz|Sq zg!vSV-8yCLN(^Jyk`G!(Dt5b<*gCw4D`*4UxVIRH`u|+}qFk+=B_V_ElhBxTjk!i85 zX*5Y0yTjm&qtAZ_#_mrPFDCfgDpuw?J*4fCfVMQ+Kfy~IdAKxEBv8=KFq_0)o5BErSGdT}v$DgHc!P}O3 za*lna|Gtdkz_vTR*%VXD_Fr(_@Aro90cW{>UCrwSJy+`Y(@OYN-HG2bo(J^C9ZYvB z4dz*a@8s{if4E1wQ#;!KQm!3I_O4`hk5HbKM-Ba}p!a&m@qM?7?o@1eFCrW|T|mOY zb*IlW4ZKC<-)N8ci7b=+8|wa$eoFq0Sdo7tQRd%3-i-$Mpbr8cPf@d3J_vw+-NJBzb`5WkPJfZWfFjz0Is2lu_ZBR;ld z2l`{oz455w9H6G4Oy~0!ah`Sh4}aeZk0aJ&iZ49(#+ASqnR_FjmANf_tO1W&(uGt! zYEc&g4z;8Ut=XYJ2k1B7nQ`MfcXws1zM;4-Vdwt}Wur_Q*C!;CegQaC`~LSO-fJZ6 znbGd|4aY@kdsJl&zo(Nmt&I1&Gr(j8crnG8xG8r-xwi2fAuB>LCIkN@WesoJs-NLB zCi}0-3Vx5TvqSrRFT7oq6+GT+T(E!KMh+QpNSlnar)iz7#Cy36{lhvNGQ}BoHgVuJ z8*u1oU&6s<#SGvo*F)RRUnb(c3^JIv%f{8TKb+?bROl$vgpTe#BSc4L@m>@^IS#&^ z6N;Z~gIp<%u(zrExh!=%*dna%B_Q`? zr2X|=x8pvsUmw-eTMES@t;cy+adVIZFhp-x8Sqs4#O52m*U0YlW}?Ue82Wyc;d?7M zZP9BlH9phrzw$N%y&}f{=fVDQdM%^9zrACi1l=H@p`S z4paKz^g0{yjwfy1h`3dwZAZ0>UHvT9jbm_@2w!tEeT&(}u;yOePg!#dzeFaF$+G4H zE_Gk1!XHfT+aE73qtB-JP_b_8a*D@JwTn6A*dZ26>Z&rY$%S(4Xw5Cg?qARmBEoDk zMpiTsu^v-g<6~Eae#x)(QgiK;3 z*iX99vH!G$_MgVE{j@KFPpST!+ZF#!3ij&CoFZP}Sb25}d?xbV5#cl1qU6{u6ZcY;Gghv~y>-a5EBlsc(zo7tXF)f_ z78mmKU5>zxKyky>*dHw0D-rjyk>gh0OT#_pPeM+tdhBPmk~>=yAa{DhrqByE1=!D+ zO`#{`4#tS&&cV-{$G;WwCmHDbs-xk1efd3|+`;}{=1)2UdFmgDEO!==KdB&**%ZF~ zuOfF`iTs>Kc{a4|BB&z$W7$tLOvLhyUO=>T73VU;rj}b+aDlLCFKB9zMo?8 z{W8P%9%_H2o5xZs-(O?#{X)a{XumReHjMIpw#E1N8or-Q{g-FcDBquJ@%;?r_av{+ zI+O2_R=!WQ`2Kps_wWY-{!E^;MESmx;d}7lQoT)z<0W{uAuolbA9bC<@3Gv!1xdc< zg7%<=cz?<*bpn^+&vPaDsu0tAcCdfYTU_mVPL?-2ahsIOg?-yRmi)kGJ$*1dI2LY` z+Glt#A{;tdBH`eA%N2-oQ}vcM$=?qi7W<|+Z{=FV_98#*!K<`@=Q^yJv~J$luy^z8 zO-hao$d(xJtvX!i$<1o_`E@r99t*@=2MG?P5MI!+emf5c5%SJ!rJ> zJnw`^^MUV}2+F5%gy6k{dUK<}cg z(tVryY%x~G^`p85s(2dfN8rK~oNqW?#oyxC-6_Wo=SAtpt}Hv?mt$8J8oQUi17ml!GIr-1#%`7HNxg`*)UFnMQg0|e zsdd69^*s5c#z4jlg-;52M{=eY&V`yWz~f7NCOcwY_-W*q(t3LDOMqVr__*pBKBhsx z)Y9z0PiRa#gEuX81lOYVL*X+5UN(;5GANiA9(B-~HQ`A|z&)byoyBt!mS;_gLtglV zk|TF%Y`%!^?MH6-$>f(p+msi+4Dzr_d@I+x^u4j2BX@ZM%QY?eo6j!xeUq>4$;Mbx zZutGU-`p62dmqJ_Anz2;d=BP`|Cr^8U&8Xlk8&h7`C!{DM*oT@$L%T9;&eIUU;AZ% z=Ufx?cLs3iyTQj2v40}LzXo$6{ZyM-naiqYQC4}{N#Xwy&e1x4NI!0W`}(^wZd~uX zO&P0e4P(`2dN}sDv0QcVz0$d_M2}_HV{L?UwDw}ptEC=}?;gPU3{3Bn`xK3O_z2Kk zu0ij^cUF4em79g%P~h>+hWVHnw#PrHZyWaYM!p}h9#h?l&qq6DK0X8Ngu895XH^FE zEX4Gr(fE>{1^XhMi827=VZZM#|8~?PeVkiRHrfD_yWzRWtLH!)YP?OtJ!JoD{rOoh zg5Rt5zZt6iZ-8R|gKaB#{xaGBzz->JBH6uQ14KN6D`*3}5&4%2*%{1<-gAMY#`CPM zh8^z`xDdQ(<0mV9%b?3JZ7l*Ftg89az8F| z-I0CC>a_Pxp3UiVvk|68-~KL~Gsmc{og4BvYQes==5?GL^x#LW(DFDPnur zS^+WdQJ*1&{R3|Jh_fDaW351ENMWr2-HGZBt`*R>hPG*~@N38f;~7%)eM{#^U5RmI zYX#^}&FFg^V79kTaD=TBo;I8%)j4SA^&UI^c{=OBBMXbjZm-#y3X^ORieY_gF z&Tm*dcyGj$Ph&VC)(wrb^fccca{*9I$!5Sz=2tn$j|-+2^9^ zkIl0U_rtDXpC);KilXU{&GXi_oj`vkMbjUf=dGvEVXWnzO?55E@9EZp zN{peM^VsHm%GQGAa_?{ zVR5$988gu6Gp1x6OHM^Y;s1J@B0Ju^Z20i#T>BIADbv5$iFX1Fp|F zD4tHpwcwZKn{gw>po_hx`l2JN632E@BNS>COo|Sq;`2qcmqzd&oCwo9mDJ zYvMh>LJaufTaZfvx!pF=H%o9Ic_j`{K`w@|8Jahlec#tl-~F7PCGltZZq1uOzmv7Y zbMbDiOWTNhd)#!d3vz^_t+8D+ZzJNtUB{X?jlz97?o$#yh!5)P=f0cKEFO>Whx)lf za~xg;9}xAI&WW3ab#?5_sl#@5_xx&q%J!$nqFt4q|3)#qBuk4jy=L_`H@nc5+u!LE zl~=ob6~jQ+c^$pkF7T*YvTyUfdb`W_FRO78ztsH3K1S-ll;>uB;A=g~8>xp`(xllp zIT(-l7|lBg<1vrvDDh3VLPtr!n8eJSIcy!qV@Jx?r;D{%|LdCbPUKh_U#uN{rC5tE zS%fiKCC3H$Y*zn?z;du>!!qh$Ba3}?98P0rY{WOU2OjxQcB6kW==%!vYb*Li?>&V6 zoJgC0MVnQ~QMMb`AdPfHjIOJXzo(>;j-J2>w8NC4pg!be`)L=$zH%hjz2`SyjqMx+LDmepjS> zYp`amE=l0OQ}7%9rRtJ){C8oRw+4RR>XJnMyDHUNgSeyWk|h4ygWqS<@Amw6SwC+L z^rq^P4*a*)53;8n$$b50LkZa(0$1_6ws;?HP2A>~6=lAe9 zobr75qiZ#7NDb&vj$u6VgV1?1)!^e_fJTqtnd*1$1O7?#>UIRPQ#_n-2NV4|2PtN5itTj+!r{o5Pm|IgtVRts(zGD*hJ5eX*=cD_C=G99*+}!5@SDJjQvNVPjdVz zPxOJ%ef_$-d;?P4zAV@fUAR}|)HcFj1zJw@PQ|!V-BNd}MgK{6qw6%h>qKA3J~|oS z)&aixxVIMl#5)1L4s-ck*bBT3bvn;M96t8v$T_3DiF>t%Wwp?k>rh`&QmjwHQ3QDB z;k$#~QGcT5D?AHw8TIF)j#|_~IM5#b;PaWs@u`~@a5&%TauswvozA3KvB(A>Q zk>lzd1y>1YC4RJouM!`U4EQ?J3}3--qQ%$s)UP;Cz=*F2@R6$YLp0MOzW`4^Mm$&W z3uobJ-oxM-hd@U?Zriec_-%97_jNj(a8B2F=Y*U<+5~4*{GtGJX~i$*#D?>Wj!tbU z;~^EDI1j<~S=`f&iQpkK#k_1a&}&Qc0bB&0CwSLmU#H4H%ERZQT!XyPwH<+flRCKG(1Q!D=XsDRIeKeD}QDu1j;tbz%DWbLZ_(epF--M}B2ej(bn!5`7@ zL~l>v4UMrCfBYl*(hB~_aFY1ruaJLJ@-D$2861*7uA=%|!5@zvx4|Emne)e?z>f>? zr}D=I9Zr}(GJM#MeVZyhn()VR4f>uAFC)<7Wa^iJKOQdP_P)jKiAUB(cFw$C8ga0c9elI@W{ERvDB~XQTvhhwGWJMih{5U zyLf!{kjHh9)ph8@T(l?aePjgQhirC3$06Dw{bm~aT+_=FXaX;B0M3uQHY}sxX>ppb z0r%uMlYEo1xT!tIwMPX1IlPU}=Pah9ogUQDQWCU{Rg;+BfiX++4kFxw93;Gzv|A1S zNP1$;BoFB)?7a~*zksV2_oe}!8+&K_W@hC0ZaOO$y0PYq?d|ZzXE=TB&T{$W^BBMs z$Mv?->457E)EfhM;^IAl*8x)o{A>ODI(%-79nKJ8bF)20+X(nK7K`~Mdx0FQYOKF$ z?YpSSFu&**n_paMe#=ld<1;kB=r5aJ?A2E1cMEVpH@|rPd+@I=m|xPT6kWMo!`g|@ zwLCXMwFC2eQ-Kps;Kb(`e})UF@6V`@^uQo4K(AxCKzM+43gL;03+)IOFwbGQ034FI zFpF>jzk|4dIta!p!UdtP&m>#`ebZW5r;j0?pauO$FOPms`oOu~*GL~gJ67wZC1Na{ z<=KI>atG+r6PU;KX7H~B@6ucKa)J6!^F`NOygP*E3u`A2@Sqm$OvAlmoV^3Q*i7eO z67P2+4ssRhgdG)iy1WIE>cqQ!Wu3r5(wlN{kK1CLe$DYk5FQQjuBrID_RFvM8V#}4 z)URw@KgHQ)^lk2%Y}gKQE+y`thJIr`z~K6Yp%3(&;G%09zBzt6mq#gxWe?R;xY-4` za$m>}&R|!n)k9ub>ZD6Sr_&cu)1)Mcp&NuwU~iDJz*1JE zfaj-REtVWyi?Ok9#-2dQuV7<5zZP{d9)RmKyt{&6q_r6Q({*TTKJKjrjCcn)MRroG z#o*`PhH-O(XV6+q>X(FX_aa{?(=||EQ4-e&NuCsehZW(wg;YOqwh-|FwWxnO>ZnH@ z#5;Nb2b}14jxs0j8v0AHGhD$n4e#D1=LE1;qrOz!)6WUFZ(h<5{lq%1FXBAU#Cqn& zV(7S7qvfC+S9Slp`;)cZi*WCV7R%OdQ=wxY0k8Q2_Pj5^=V{C+re_`L){sddm`?|9 z?c(1;@&NLPV5&pk>cNkW0H41Ao~Zou6VMm&&jvi(2|3>v@?#gq;2_=`lgf2%8Jjz% zhbJ%s@MR%3cU%uGu(OQo+B=|Ek6Fpbmfjr@XdW`ApC@n*-tCWf-yojG=-=&s0p*Wy z|3myyTT<=~61X{0;HJv&vXEm~wNE(7jsw|4b{rZ9qYbAg>Nc*)oOpj;B4nnpZGis( zhqJtsjPogM0i?61;hW|zg7zWTdchV|4LOjC`)TL{wM}w<4RFZ~S$YibrU6&eVLPe< z4pn1boJkt&NWe?j!z(6|Zl2=JF}8`hVK{^n4&4+Is=XeKP z@!IAXA(JIOyU?$9@ofh1*^U0nvry8A=PK=|MQR`KZk6q0eBs**q~cy$66`lv@chzvJBn5?&f_k`uTW?RejdZ$slP zXC zzGJC=i}9Tbo;X>Y!Tu;&YtDv3TGh*TfOr>Cs1 z6=Rmz!k8tBG24VOqxHXBPjUU*dObz(6CKuq4#>sR-}leAFKzY zJyZh?fq!mR`DYMc84nHNt1AiXk)5+6Xf3?FdMh!0no-~-7^D}1;<8hk)I5+7C% zZ5bb&7Wm*6_^{5vPj?yYpVHPT^=CQGwJL8wuFnbRyIhYsD>_@-qe?m@#D`3bt15p??9HVb;sbQJ z8G+umQ@<2?Gm}5$-=>(4;~o13ZIz_EYsuX2o}tJc$-gpyZ!aQdgLIpe&fM>w5?nuI zA7$|af@W5Wv8fmO8MT+i&L6k-U(5NH^ina2bhC@SM~NRrpqH(f7p9vbhfW%D?$Eko zo}%|w&eY>A#Z}Ncj;^$ZxC1Z+?O|vql0B?Y>^*)pQk{@v6J?!{q2vQr?O`L2A@)MR zBkf_2eGYpV?&Ts!KrQ;7^JF%&k$`T&^Jrhc(?3|DkL49f-h9l195Y5E`1T@dmwYmm zUx4aEJ<@0WQ^4#gY|r9KvT=^s~9cDMcJ-sa`I7UiELnI@^XTp9~Wq$C`dPnUZ-K)bT&V{yNbq* z_&vs*+5B)XEdBy^`cRz--cPW1k@^|*Sqi%x)jbXGJ|gRcZJ*VNdtr9O6k$iqfV~Fx z8>tr%jZ8;=)u0`5iCae>MfmO>svmSym?G?ms6*NjVXqNu8E*UQ58Iiv{auQ9gB#s> zY(8tCx5QzOTqEXlG4A~xIKkpMaGz{{r#lju?GJFW{d_xw?GOC~KO?^xxBYD;z7HHy zZGTj+nf>oD@Pl|9+5g^zUUL9CVP=+wGS_W(K)1=vV!BP`Oy~%iUo{WOgdK1=;O(ET z`H*+M+d-5M;7`S~;R4TQ2;D~27k44P-pZawuo>-n{ZY4Z-Aneow00qT9^;>g%f6Z8 zL8Zh49dE%miKvUwBlKdi98rwA3^FBpP z0c(@&ADEY1;B(0S!DI0i8y#pX#XCGwosa|nl68^|1a-DxH)7)>VY2f2lHea{lD`cH`F494hDA(Z2OeoL@kB9ic;zKerAx->=v1Uxv8W(#ftET5nbo zpIr;Ri|$R28y$EKeMtqMrQcKHVgiN3pv&If#ar#v?-e*8>q#`Jr{n0ruhn`w#ssQ{ zfhH=kPq|}(u0Q{j^>j9=r`za2ky=l;m_W=lt#qx{)l2yani0R*ToB7_wmNgvBG^d?Qjz80#(aK`&LqX)=<#@C=c>DIGTu0Q;v~Zytn--t+H4<&pZFi`eijk zVWUNz^&^OfA~p{3(lkb7Lm%@^^N_gvZag{({pklAI{AyMOGf)@Q7^`-a`x&p?^G_Q zD{0NKijQgK)NAtsKPDI;tLeQd*SZ5KKOtL4Pw$!=>y|mbY{s4r&FcUzjzG-kluRDVY^DB#aE)-{lzjYq+QqL@W zhu$YRq+Qqze9uCC8K`f~McAKQd4`u{s{F1x7d}_aSI!49-de<&{t@*|OD=qe{HKy8 zi_tf#r<?_a#MTUb2|f6f`j@TWVC zA@a=1dQ|+m2lWvC6eG_8?Nu=1GsdtyXJ$`tZCt^ISgHqnQLQHoejt74PI>($z98$+|jDSB6b5nf7MPdC`$MJpCQwKgQ`>l@S`J$d; z@ay8MQ^M*|acBqX$#CoInP#M)d=CEr1N;uimDI)|A^7v1frc7u`gxvUhpuA=d%Wy3 z&ZsC}6i)MO?yD|jbN>|TQF(_7`+pIaL3GG?$20B1V4pe+b3e@K&BfR)L_KR1`cdnt z6ZNdY92XzT466roQJGVAwl~*N_|843r>>CRRIJO0=QAEO!x`uY z9Lm7o;}OPk0*z%tXe?D;v`O?mkH&J?*R6ZLHWvA&+L`MQh4o@Ic2%0+~;Ss~c(at0c!t?B+nv^Ax@IqdC3pCRwcizf^= z>vMU|-HG0G%=dECQ-|1jIbSO5M-ijIbQqFBjpTMj3MwdNbj?q zfe8`D@C>w-ik$Y6c2s(QK=gUdg}|Ro3*F|LGW1J7=h(3RWdK4a2 zPJNd1HA2*rN4nyD=bG2^8i)NY)U&;FaK3c)WQls%y#FD*9?%YC-RX?~{1NqJjMCQ= zHikuf40{>IFqQZQ_?wvb@~K76z}_lTzQM*~1=@0)9~wiIXC6Z=0MWafcwI$MR|<|H zaK17};QS+~N6{5^upbolfcI7w9}DV=!Fn(krBYX%O=Ac?CioAlCk*z59QF@TugW)8 zlDt^dHw61aXJB~**e9c{l_B|FuEPE&(dTJ2@7=@u%wQMt{Yruz>uj~p5`Uf-_0(Z~ zR}7n>o3Hy!VIPTl)`Zq;x-oo8)RRZ@OAE@KU_Ch`zwYS4bgnb0KduK%`?FB?hxp+w zgUtJLM<1rQcc*$nx|^;)_lSD7Lq9D}Ip3_F@|>jufzO@|v8YE`Kbp^J37^v$s8^j+ ztRG8L7mW(dX^At?Kf;_goedoTYYoX0Xilf-b?x#gkMXuHH?)PdMtSP`-l4W0a|RM4 zv{i|=QnAKV+nOu*{2(zt#l+_)_YNB$;Lo9)%E4@n`DfHqm#CkwFr0s!_qng3&kmyZ za;49YI|Co>v!?geXlo^8oLQeW(dX^NGkXVh+8~ZWx2eooe}Ok2dV&}AtVz++sl@qD z5hp-=V;boR&-4m|9rcvwWOBW}0QD62*VhvU`!WuD73x)SW93NT#>`=%`C8@-oPE50 z*MnYdr*6!#G)#_r=<1OAYTXJrog4eW~aO{OQ% z3-_xudH)iAANx~J$NfmKUnF4Prr3;SJVtBB`)IewZKha^w=o_?9q&}ky*l12G2h1V z+>3TYV-On8zqinzW7zjg^DpDGg76#mtLpj#+|c!h<{vTc{qaZhol3tEr`{ib^m`@c zdw@@-KmOQr!jBZ-2maV|*r5Ai9%J#xo|8>l#KuZ|Sp_&IOT19<4m{KKJmG zJ)w@rqC9>d{;kp$#^VoSJpL?k;s#GJ)|co*n_&3u&hg1uHufAoF!eX{*HCOFZ1P$~ zSC&_Ry(j*o=MLa^;dI)IF)-}8%YC`eITL$qK+CLN_ZVIMntQb2_a(aDG@sJ{!Er3) z|0wN@@o;Gf8+H09#|WJp>2_!PDE5K&DNH|f5V#TJt9dNehiEqZjrKLHxWw1^+!&Od zD7#R`S(OWO@J=r7<@q>|5xI^;%u_y%X`CnUA;z?m6Y+ETPVWk5r>5*<&EzBWc5!Nf zeG31P`^UzynBUO;G3sw}0(|p{Nxs_7?S1vVI{0Y(_NQO&J23DHU(pFMJNZQ2h%YaCtS%h(B@e*<`AJ^mfA8Y^WG5BsQ zz8iFtqXRsh#i@&N6nnnFt7{%}@G%EnkbLMM@U-T!Y~0WBHGq%) zPL6LaAKxwi4UO;1%J>q0A7_YnVYuML*dq4RIgf@?G9Fzl^B3=8>Z9K&Q>SSZG& zrX%mu0ql__UQ*K$XE?~dh&}SRTKhHGy$Ro?Y z^6#4bTl;C-(EDnvZS2td_gMY~>FXa4MNeN75qD#kzOJM(C0TPa=!?t05Pd=ZorylS zB>%ExpX|_=iM~kkF9m1mMv{M4^mH=iU-c(#Ll66~zts*sL@ED5^9A|$XT$@s`HCR_ z{zUz-sjvJ{LO$iEyp-x1_rw(OG)`jq;n6}_E^KH0vF z=qZulvY}7@5ai3nHt=^_jD7t5{jt``7wvyoU;63CZ6hD9r?LMZ!{>+RM9+^qwgR7> zt;A>IZ!OAS6Mg9;cgyc{`qdL&4ne|aE!`n(EbX_r28ieX$6XzUddsl_;<_Pv#lB}pP_z!sdq5Z3~U&a}JMeSHF?iy+vdynYel!@5^ z@+nkYMSC{~d(Zh9{P@`WQv+WP^6g{4jb{U$Ia-DNN8ESB_w|sE<2|%pr}_%uFp%(P z!3V1Dm#191v!;aS0wBK$)wPx25cZD|5ceSGldojoN9V_Es^!W3hXxnW5#6z}Oi=o12Y>!(fj@a-4x{8hm9)lI^=I%O z=+EbRABEg7<3AM7$M{c~L+F5d{LK*U8|Tl+e?&xHT%GS{EO z@Mkj1+Y{$K4!J@2(|3;M>pRDRKPUcN*q3iEx1JE~TCIOti$9guk^Hi!|J;SXM1wz1 z&9cUysmi?A#h))v0{(o3SQs<>8K(5p4*pzcfj=2y9*z7b%MgFp7kLA)erNdy5WhWy za_>{VkRuvL!#Zb<}ZKv3F$Wv+QOfS=u0&G<%(Oa@#j)yUhLw}yC(sEY7h%##$QsDe%isG z<0B;Odi^3v%%hRNSlD;M+vw=jWpBw#1(&$75f)P5c>wenf*m^>fj0 zJL{{9MY}fipGuSUd8J&Rmt94A*kJE{*V6jRo_(hm`VtNP%)Q$hf7&VYVweAn>D~7H zXBFa&%=k~$=OH||gFhEq;LlrBpNal#vA$yY0@U@@M#M<8w7z;-w9&%)Dk}Uq^kdj> zZ1R`K(S9`e(c@lg{FtYVyIuTv<&3t+kDeCzF+u649sIc10zdM^+_jd!V0{Jt($D)S zCjnedkc^Z1J}`J~bMN*nGy4!K~aAHNPbnElwof3;M!Z=639 z`%YB+r}7%$Pe*(9ox9KnWBX?IA zGkmr+{=9=aTB{#F-?#1g&rKHivtH?^9sIe@0)LiLeJ1=TTKr-1t1#935#)v$|G5)z zSgo(_5pB06{*+%0`wntU+QFY|(T`~O&lPj5@h3-_7rXqYV@liO&tAmonDL+PN-L@*khM|0<0Cq_Fk*5bu=&e{}w+N!7y$!v5u=km(V6U->AEVHZ zXz=610y#$E`pjTu-0kv{ZK-X~Pj+DJ&G?C1>8Bn1*lU3whd#BCM^WI%zYvEI2|xZN z>TXN?=mPwhYZE_SK|i9wkNQGu{8&e@w32^xOKW@lxYzYdM1von%(cdkKFYY;v79Qh=K$9C}J zmlpU@MfF9m&z2hPz0haNwZcsAna~T&^w|#qhm}6NMYJ8IJ{y(%Id(WmS>VsrVh$yLL0nAmEYY^mCl+Bot8LEb zz$oW4q1bvpdn)5(cRsIAZ+m&M0Wn2p{NT{Xk@*4p2076jII}fX^K3{>uGm|Hytdhz zV|OZY@~+BQ{7%lV)_k5e?w!x)WgPfCdrtQ9)MMF?r{eq>%GF5wW#|lWnL|(NhY7}b zDa?CcoP&m#sgMr3$m6R(JOtA*j+yJA71V$5pM!?|FedAh=;;4);7gpnc$XFELp1b% zO$2;-RGA06_%iV%;7flCe3_>7(+>SVFig^letmMam_JGX5BWhjy0tX~=zM z&&L_I(ZoyrNVIFio*xzd+yeYb#kntb>>(Y|muT?k&INJ|!`Cmzn?iJK7k~bp(f0i2 z3DB(>zxlh;PdoT?ody0>P<q41ZwH$GY<(Z##iM#(1gSfFqJUzf81moWIuc zpARmBeZ(gI6rc~r_RZ}1D;HYh&uz-Q*u|e~`?Wp(#9H7_p3+Y{_|w4xf6fu}XXHO- z_SofO&%U~!pp5OO%m1XT54iH3GT;5yaN0RgT0pnf2P>P zpU)0Phd*l&qk%6cJSvfLnZ8b`Bg^sDg4KV{u8IIzo-F-!oKb&8yg%u$ z#3RUtx>AYx?}%8QmSR#m2s~<3Y^g1*f1<*lvA~~|Hu*u*f#~=_j}mMA*^4?_%MV7K z1pN6W=D>^}lq>zT#2=g+?7(@a$fF%d#~LUfYalw?qeye@&c_;PE!IGzu?FggHPC#l zfmYASU7qSLD#016>|Oa@{+!Xvb8sJPr;^n87S=~5@d#$}hn<70xxIVA_s!(b48YCw z7o7iWCWG!E_`$!7`h$u75*5C^Fb@0*=djq(f3J!X->M_v+r`Q}+T~ZvPXfOE12H;g z_|`?~ry0J<^-qE!AH;?WB(3S?k0$1?wfc*Poui%Pz0?AKC=Sue{#M<{ai=Zym)?Xw zo$bZ5ypDbt@z+fMy{1%-VYs||iC}4^eg8jMZ7=UGvA~~VrJr{2r-Oz5a)+2hBmQKW z$Tu_DHUTjyEy=d)MH?-|TSmoSmW~B}xMthpFGJCOH287nzd%o87aHen>|=RNWn&Y!1oapF8*s+0P8n|xNm zpUtE8p3G$PK0`h$Y{$M^MeyB?dBAs*!g?7OY> z?0pVj44!eFkjq2LSM_m2{jxY^4I=4%G0ylo-mzCOKiLS8-(Xrd56*4T0(Ho*Mfav5 zKUf{kH0iZbE1$CPlECC^k#C_e!^_5CJMV9P7o4?*{9yGs`yeYMP|g)@tecMRpDsv4jL0%vMVWgfK} z_#{%UB->xC_pyJ1#{mY)<5hz_x3$RgRW-m9xJVOxoA&ved|T}GE(Hw4U*9qKFLp8c8_His=Ou>N^Ni`l&v>!0Va z{uzVy&j74{7GnKVk9E#y_x#^H3V*qC?M!Z(C-&JGvh zT(e0yPbwZcqZZ;lDvwLn#%JI?cZ{}Y63#xG)e&b$VeT3+Kegu}f7{s@1N5aHKAL_r zGlpp?Zf_0p&87AH58{TjO*o@|LoxbSkN&OE+`H-A$aU!7CFoy&^lt(Bw|!3Da<{v< zWIyJw5%17^B%r-&ef#^){(Fx(6n2F}bHrU8bm7|jcu;4nB67z|es z3@9fgXya4py#&DE(3>V`j>*I^b3@&IF+Os>PW_bT-p3az|lCfKZ9cj=0d_TN{eN1 z&^bv|P5=&8;k~jXoDZXEO|yV&qp{be9x$Y9u9AF=-Q*-LFX?(2O2OfZ`VbCZ0~(V2 z3iBC8|L0rL|36U2siJ=ggQS1zzfJmgwTAv>yUN(zsf?YG{u4Uu$4}Co8|UzC*R+j9 zlSGfjZf#FJ=4mW&hVmm8fKTS)thpMDrv@CqA?*mGOPswEW;a;_y37MzW`Hh>L6=3a zo48;fp*fZ~-5_we2E4?KF5`gD`?dQw>;%ssx+LBb!e`D~I6lWPe6GNI9`sqo=QmV* z#`jD|FyQk$6yJkBREq1{xDtL+KFNQhJO;Eq0QEG2eu;MxUDpHu8BYeiXT%(Rg~nzZ z#wPZe(KzQZuE~iq@dX;I7@YTA*4@3l?07T$KjwVQjQ)v_(Rek02W$sD5)W$t?GsPz zj5(q6Bgq$*0$xdQ?*kpL|EhU>CpfgLSu=JYW9asiWr` zBs_wipCMRm((}!L!>&BPShlOs^MlGb8tM7K>3VvW^egF_;(s;hoyjrU(rlY@l;)G< z%>dwEBk-@r6=zDT2|^D@m^Fam)qWkV#xcB_2fP{u+SmoTui-sOt6BJ62Rg}vuJ4{D zWGG~RwJV;{n3SV;yR@Zq(SPC}#gL;hQR*wj?)fDILqDMptOu(t zI9!mmcJu*)BSYu|^U*HxP%}6ro!jA^g^Dha2VG!$kas#Pb%7#^g#vGxE3O5&KE%rL z{yF0M0Iv75a-9EOalHpuBd^$A8{!q?T9Ef2W}5Sd$Nzrn_``S!gWwNKssA?l!}EZ{ zE`PW{wyW@mdz7&=@`tQ}dj7!l{iS)nOSG8Xlb{Q(&fkB}YJjUuRszr6I4^bq z=yeD5_x;e{8?@NnJD|U>hn_GNdO{}jghkL3VjsL@`C9ja66)Il)JwAHVM&wFS80tw zdhH6SpQ9fnvwApajS<_lIE~gA{fA|UHHI%$8-EGb%Kahl+)w8Eu&yZ?hq|HTV-1qf zl$)ZBzX|s)!{5z-^HTiX0-C=Re+OOdc4vL_@WWYJLdiZYscFZ?62P6%q(OJ)aFeb} zaL4-3wSb#oHNxmdj(Is2avW5+cY#0Y;m%@k)4C)CH(!_h4dX*_jO#&gXARp9p1{^t z-FY8J!w$mMQfy7)_AlGfGVd{4Q_)&P1cuL3u-)USHNZylx->Mu~ zn33&EceqN<1kdxd=X`b>){zIHgI$LEXMum->~QQ}LVxWw@6GsYawYCgJXZ3s=143V zi{|TN;OP>`j-*)whwTTR-i-Nb7I->JOJsQZ69#u;Q&u}| zd>r0O>BM1LjCCdHnQ@RC3o|?n=7FetvUr{kS#v4iy%ccbK7;w@PQX+A5uUa?_AuaW z2Y3?!ZwZ69Oo4ZCl<*eA7rGFz?gyQ&)#8{9;0>(#^WF1H`k_DTk~ypk0W0a|akIi{ zlGc|*lj>U2jrYpBgmiO~FC^>vS`+f6i@9#zL~%5ruLI(`A6JTpt7pFx{k7s+jq6eT z?PI^={2z+zzuA?qJ>O?#qFJZ^J*E7PQl|Q8%}(#U#mdCnoc>)(d52P_`i*kzv>MbQ zY%eR0hwq;<(|7NIpVFZ3BIYO7yYC&;#c=lI+pj3zjlm-1SyeUKwkgkY0f$|AHcz&z z$g?ffwuSwwt=6wE^!Z_|U(*;q#`sgjwGXaxO*Rna6JEbQ&eyMX$G%_d*AFP}hS74Y z|6fY^AHi~*|6P>jSXH5Hq~*Q}9@<&Ieu%g?GkR{?bL!~%1qqL!=Z~xG)ARFy!!A8P zD%(})`LEQr1wCg$XH)$T)v!Ie%iwFk-h^W8O)#@d8)Y@gD6&iM$65q2oXlPoGpuOy zx+rzdOWX@~lO9KM+y~jlZQA{Ztrhy_>q3r`-b=D=3*Mvh;%?gbe$Y2ZLuXr|#WeZ4 zLYIaeyN1pr83Er3Z2JUH9sJs4`_>ARU>lC{564<|ip{n7e)s}(Hf`u82jLUY>tNi6 z5{*rp+2vu=CcC_9(_XBs$C*tVdQx$UuxXFrHtm(q{+HRbX)W&7+_u)@^?+l&Sc@mX zj$VC&aD>_Bp^r)1{8;EznPj^I4Dk+6U~H_mk!%gjKF?r@_cwGG_Ibc!cRgMQSc;$* z5#N}G^>a1mqaN^>%}FfqY6ous5Q-d9k}5P05i#C18YWRHJ}{pPm$CzSHz;<;D3_oz}XVP&${yZwt; znXmQcE9H48F9K}jd&mTiTls+qHu3}Q0xU!eb)Xqqs~iCQ^>K5U&xg(zB3m=jNHS~y zQWu*Q?1$5Tqf*XC*~qgu>77tNl^3US{LBM>763neuo2Mukk--e-l6uTk5u|Z$*xFkg?yr! zj26g-DA(-;!iM+>-lKBD8Przhur*juQ(IZRwegLJhsdP1x)*L<1o;(@b?2K}{O)+H zI~(VWg?(hv?)7*-+O~Fywid%Cz}f^wdIb`7T%Axt>F@`SkYE*0T=w9jmYQ3+Jasr=W7RWgKTLHbC~UH_d2{!ZOJwI z028}efzV@4XKitRFxkz@Qm8H1vcaS4kQdZsX#B%vVvy&s@dwWlGBL<=AQNK} zxb2SoeOn>NxGZ$}*D39+R?1~4k7;MaSJ^u^+*g^%*Lrt;_3f?oYQeMr5AaGKMl`<4 zDQq0Luksg4d19~}=bwPGTgBQO7CL z7lud}guZY$_1~tx&=+vn)fc+Tb`^c$C(76v^@UxX^!ftn2+}v{hTK7H*e25X&IK)y z4}$Q#z9aWl+KnwBn=WjMyX(pS0Gib6;hblM^zd}%=h1HUhu znI802`oQmVv8EtByc&2){*5}cDPsX*x_f+M;M<@WfLhpW7iqD~f0B=DF8Wn_tmt9% z5B`Msrk(JkypA>sLHiA~CPBPF75Yr|k}st<@m1KSnJ)#g2h zP!IlW6|41zdp`4}5KktVFhkgFNhairwQYf6ZQB*^(b_f(evWj!r?Isyj}f9ZNIGCI z(qa%J`;19*rf1CW_dB9@oh$X?RF8TOLIsvyDj32#$)|X@kI$|>f?)M zA-;jd7sV;@Mev6kxCJY`0^2(zygLu9g_WGMdEC9tnu-FIFSOD|bhXr=vZ6WsIO!O(*`Q@<> z?L_PY=J#}g*Cw$K45!6&iha0AbCleyB{ICGc#lg@N2~|_^sycxd{$#0E{zi27GocT zy-2R>ZN)yo{zLRR3%Y)uG4=tr8#5jH1&Zl{{_Gdm^|-!{zjf?)JO3JSU4`pr{FRB{ z&x-3axW0_Pr^W9l#q|kXU&J4aSHn8vSL}YAzZBQUMEMbMEy2|&XZQXqBxmo9(!Tz4 zCwi!LYyzA7_^W732LC+fr7Mt|^7~rr=&)3Oz6?*=)GLA-ip2hU% z(Edsm-|#}~;~PlNC3_jg9K?FA7`{W(E?5D-)vip~kzAe){oz}6GaC->4S;VMzehud zq<0SV$2;&Z(L1qgvI7n9#k~Pvf?1q|(WgfK1&Wh+6Lob!A7VX4n|F#>!A97j;v8|i z_d}NX5YsyjF}+!c>0OMN-T@DefzN6o;w!i>ZfDR2)o<7i*r3+JhO{qegW|rpPeuQ; z;2)#D60Fq!aqy3s#aFnYAF}w0G9F)X&vzicVk2OnJ%eOlQR6GJ@SCkipyLJOD?Ix6 zig8bb;w$X#b!hAOiU$N7KKRub93sBrKznWcSnS!5@f8U%o)PF9!%jk5R&g5BK?7?M3qn3+vctkp z?v-}fNe&(hg1x@LA2;*GrQa6y7EXF`Kls7lfUlY8oM3E#Z<=Vof%(38d;2Ml4Eut}c3h{Ft67=9^N~{i zw^Du|DK9CmFdKEmB%8}w(oU@hy_w zl5Y{+68%sN2$d5M1CoySa+&OQHDw_NBnEQ2AN*;qE`^(=4@>&5Vjko%oa^vD*%W34 z`G>Wyief+*+=u}oU)5@+=eU|kRy807q(8NVcoQqQXit5#ZBYyewUq#$AZv^9D!>Jw zU;|=6SX=QC+7fXz(ZEG9APg?ZCDs<=VphOc=tB%h17bi}Tganf373eYiN@bYF(3>s z;qRk;8Y^I{pcoJ-XW;KM*`vYbF7e{I6fY)xeGe(+*{n=HO}GC(<^DZN`IpK&w=4H= zQOdKFcWzYf=PTvO$~!-2WiAhXrj)Noc^qu0S&*Fv;Y)=ba!)PdKk;R>Jt=l~N+&m?m2)G+PnhXCaq$7m(dh7KdiW5@zc-LZ&H`PNl zN;prtO=mVXB)j7L$x69BD^pBQJAXTrxlh{V@5b))adijZar+%g`S?fm%hrQ-c|53f z3^l>UaGc40C5D=0KXfqSF|=mbpvr&LE%B^QDOaO>GGu#^BHQ0&?Gfxw{~JnqE6PUM z-ih|93;Faj)X~y@_W;gqHIwiA-atL4NWPazID~w!qP?^><@-*+VOPG-lkF<cwxEkp*OTn*b z;z>qZ(C3%i(Wg^HpMQ{W2>LwwF50$9pPgGlpHItn75e-awQWJ4QN@!~C41j;bDA{E ze-KGVww1s5|L3FNdwE`hpWug*k76IiIYDRmP+b3w>t0rl_rEW$|G@PuB6aovNf zkw>H`INnk`$^717^1GbY=bvpmb^M`R!XWs=A=*1^lRsPwIPA*rU&(eA{;-GIw%`w^ zG9Sfmk^xfYL5Kfe$w%>s1>9z9oNqH9#eX)n%zMmaL0HTU*6}A2bMtNIqe#VkMH6%L zL&--`51tVXye-CL2s=lsVlrUou#CyD$VV}T;^d%%juzKkTz`hYZ1y|RKT2FL!gW0U zMzG&;{^8;}lwG;4cnB-=d=%#@<-tms>gRTSr$3XGc|MAMN;yp_Q~gFcb{p+E7rZ#y zd=zK&GM8r~wxX_6r0*WvD_{}wY$U;9Q=T>Tv@g#-lI<$;>eE?S(gRl_g6OPw-^!u5QVi+3_qWxI^`AYdm!E&7cY?S3#jYQc<%d=@e zvY=%<@fveM2L}5R(@)22Id$|LFX0jNJeFXwNzYfcf}Rf|*2*}JS;{yX>G=S1X{q_8 zS-v#b_09577=6QXFR-2b$iIahlzfll5Er1!j|~3_?Uf44j|{&C%jq?lVg}s)iy!^( zx1JyQ9)ba}4hb?wK;}nQV+5dwCnR_Rizx>K(c#rr}94m7hxLYYZP&U%o)qe}| zs;n0BIsUFk7=J3I^>g2fQ^%jG5W~e_5d0~H`frmz6#x#q>*uYqT}9t;C}S7KpAhF2 zmM;hUC|m2_?k@e?$jwl1;va^Om-~m|N0mO?XmZ5Mc(0j3U(gBqjKPCt`&PLZLcY~Z z=AWjRlaPO!$DDAVaeNcyxk*RNiRv@vc>~C2>J^!#${*;xu z&$x+|dAv`fQm$9tsZs9lQ_3GG@BB--{|}}7uJTSLD|6rGUzPG-P#y!HG0OoCSp%FB zKI2&UhIx)+@(;%_|FE;E2>#*N-Z{S4u@`A8=7MsC*1$jP#@_nE?lH?R{<@WW>){)w zI5YAMHz>a0eFop~KFF#?$OCTX8;%1lQr<@6o_g{PQ#~QyF!F!1G2r^@Vx_zwI5x=t zjk45NOHn>iA8b8hQ%Sc`6KG+$-ww?ZIN_h&(M)^}tdwqqj{5#YUX}>UXqZsvL zCVvY4eCp(nN5UZFPa*Z+ru?}caM+bUX|i2K{!CHE&M1Gfu>VNakAr*pu`gZj<^K_M zD47e0^pHDOeQdcm&}^@&jE5i_Q3i0nf$isao9^eAIK9&l@1W{**9e`?hrLD>cu(dY zNB*(#l&^a`;z4L#X57!OA;zZArEP=^37&m$F<_zGZFX}LNIjKcsuTGMl4+a_=MfZQ zU%lCWAmkQcF{ASl(?oF{W_b&U<|%Ih#Zwk4c?%HV#qx(00nR$awUX}L0G;e{ilal$ z0k60|hO4CKXHYI-_uc-*;<^x5Bc1(&_RI=8yI1VZZz8hufsw?<@)vsSYb@cL@ghSBFG1@C@lU`m09Cr1=XJxwz zy?jV*3mI>um#E@>JZ|rL$M-wlrx9oGQJl>8{rs5??OXP_o9X06pZj+qe@rdK=n!8J z*L}Et#LDsh55#pZt}I>+G0y*F_u~BT;cDa&848Z8@jhe+R@XbUuBpO45VED@!$xF0 zGv4g%v;1S(kCVRc1mCNrvm`0km*6SH)9B2~x<8upmP>(mQyki+nl?PEa;=14@RoYo zw+r5~%}jr1=Y#6yA;Iqk{KaDbn|dar8SWGVe%j+k@YezU0@xb1f!CA&;xxdgKhu)V zRB`#|$UZ83=vC^c;6qmDgYIJU)hBqKX*KLGG*{E2>}#I8nC;)A82N~Hd0{W1d})(V z=K0bxV9%qx#>gE9*~VpA`mkJ0Gs%@E&U*)}qywJAaFfRd3{uKxnvBE!$~bI|LY{d~ zHBv@O9{dcuwag$upDa{3OeB zlP)8@k>}E;Tz{#g!@L5$>{SoyLY&$**y1lkPG#7k7XWXgJvV8z7PGqn{E%>WG4!yO z&St#}wtw=87Y4As9}&E5Jh!=iSp)5_0qhM| zX#oe?IU9M@#-+Xql@0)yWPZj2m#y^FfH$2E&gXiy^SqHw~*I#`V#tY*_JT(FJ zSECN>FFRU=cN*!PiP^*1J3~e6-)!Vgj6t7~r*Q`O(InVt({P4j!wB^ITFl8L$M9zK z{VdR~=Fo=LA~$7oK_XyC@>Oqh!rxl3p$dEKN&l@9`-5xoyAHg(SaW*`p89J6%Lwe> zVb1~Er0n7QvCpn%DC(c+7+#Ap&PaBZEO2Xq{Ez3nJ8=`vR>m308DBLI$(Wgc^Z~@0 z^y{qo{z|&<^}sKd6O;BL<2=gC8<&xd3bJHRRW9%Y{m4T;sQOW!z-rvf?{xH)+EHj{ zj25WFn9jv`)?JS?WYJ#z^IBjne&2{T8!$)nX5M&Ijw$6_eeFo?GDkAbd>-QolxeWJ z0T0QRoQpm8`+<)*d!S?&{<0h~yVp}b>SK!@J_vmEIO0p_T&#KJi=Q5a_c3nc>#)c0 z7SMYgY+Y0z)kSsC`-_0jJwBNZp4a+$;kydh>OTd3 ze1JPQO1buqM;o0ya;2z{?zxzex^1k)KE0)K{ zJW}!^`uP$&kBs2!(6kHd&&y{G9##e)I`x-)>X##D(B*)yy(6aNMfCSY^k3fV;GZ=U2(j`!`&TF<$b`n0IO3S2&!9(~r=59oT!_@!m^# z?`_m~CC2VWyvO#hoCEw3h6(pL7n> zA1cW|KlBf%3;NZmIA8rJVs;oTLVp-WaM)cB0}i|T!(Q30qKEcS#!%HCn)A)h-Pr~vg7M|w4LF`HUzV3g?Lq6Ca!g~1Agdfg&xG%-EL6)B(uDx*W$;$Em?&8`N z*V9=U`+vo?6Rt)+F?mObPpIo*v-9f)S@4ImUpaOB;SgeGRQ_-d_1`9c`1&;a{NWwh zuEHNWDPw2k52tefOCrgF0nmL0LQjS+_P?_K<*$U-CUBeSI_{Lv8q1LPqJ++&J(=gR zp66?s_gKX}a^E;VdurkLeE-W7%vUt~L4GLvU;0G}Z!y+u-=*_d7t;9_&}Zk1YZ0zb z<8Lneo#-zR*9UQ3ioe?PWxE%e=J_rJW+$z0!^y$N-lB7JwHghlAPa|jNb^6YWIVOQVnBimKv+0T_R zG|IEK+W#`v@x$2v@@I;jB72Is{t;K{R{LL0qQ8c%d8NPRzK!O*;AHq~hRd-Kyx{)-$KIEK zM^&Bu-^oli683%3WJp+o3tCY?tV|}X;#S42XbA)q#A>ZttDpoDM2Sj9ZDYljgaA5G z+K5u+Q)>i8FuGns_NXd5i8q=@Ig*YuEmRQSdv%6k28^VhsVF1}# zUQnL^{~}~R;r|kUYcJ-$z_+4g1+Z1R7f6kd2Ub^t{Fsu0loG3!;KNORb*a`ngvG2YT_%NK#w<}o>T)SAzPe=We zGvyc*dViG0A^20BG8PqI+lO=T^zo>Er2^asP_M)nb;PGs2+X~yH+%)B*!@cEzM~A- ze_62qU=KxM2R8NYykCjzpncH$2=814ob>|WqN8x$9^tGwKak<96mL7*;P)fXMmc&W z?3wNr%x3tuuX!QP%9{fGd^r3{KKNiZ7)d45(RL2|J+;}3c-#w&M4a=VP+Ne1>5i!x zz-Qs_2t~c#+N{I!{;ag-9WShUg3iRN7h~rbG5L;@sxAUAs#nHMV|KFrXpc$1a3g#k zl(Xf#XVRMWzT%R}_*Oa^4KYo zeZQtyC5(ZdpHZHlX3tz-ew96QJ$ju|X07u4r1Jb6o^_tImvTP^tzH9Kb&H2Wu8b{y z5Pm$yJ6_z3HohT!_@{CVLI%D>{qLkcd=wR)kYXvE&PDD>eEjSL zp7XeHhCM!h=LPVsA#cTukB48g5#MBSgus&$-^gv9k9sps3zXwCU9@`Z5MC!Keg^h$2)6vWoN3BQ|@tfF&a36FXcZBhJW z!C0POWE6H~_sXxunOgDY-3dpMbhHQa4*xEj_kC>MQygiji^=;(vK$2RiDig0ohN#@ zPwY|jjh=U&N%KCE=UU+0>Qwwa4RJX>=`F>gm?JXv>37(7D(Ke6)>- z$E94>25(x`yV$oxN7P0m2tuwjdiCnciEKNIs-n{MewOUW2DtCf={(}$&59{ zzLJt=^zSD0kL2G)@C%Zk@w5e}j=KPULGm-shF_3qZ=#3$8K<#1NN-+yy&@y9LN4pXUD!F z{@5EacET5F>@zU-MHu@j3r4W9@1Yn9bL`2?ciM(>6Ftez(-9vs3grqZe;Q+d;AHGO zc20lhINvWA4}1YJVY{kOp5$Z{dJ)MIUoOddx&t1u6X0q0-P`&6cH)i4lBOxYooJfp zw_7wlUCnO?9d$_zw63E3cF-a9pZH5X=<&US|17HjKa7G73k;*gi7)E3`37>wDdtk< z4bhn9VZPWI_(ZShla)JUKl^pBOD-o%EA2gY z7BJ(<@y`OD7AM~`1^k+y!)rh9!09aD9&AoXr%bNusyufwpSx5gw-{y1PTa;_X-xR|`<^HWa|5KDp73KcHe&cKOnex1km7{xcy{vwfDTi{{ z-2$*5l)D8|89nvD{-C%d$}t$WAZOg0p!2ncxLZJ+FFcy%mhzn6I`%!%uYFbTDbMe) zXI|zl_RQn<-cX)j$1}xwyvE*fjO!KUc`N&!c$&9r2cEZx-<}u$K8Js4f7dHIrtuo) zOz7te54-E<4|R>v&r8X+fB!dV;~Ub?OXV1ZeqKkpvz^q>XJH(j)z5z{zpKpMbM$R7 zcQN|;M7w^@bn>f@-}x?|Ko_7G%jpxe^Igt`yc1{fOWPn3x;Bfs%qH9iaf;ygD^Wjj zNT7AHxO?Df5kL1f;=EFzqwHNW4LZvGwR=IgS5evWVE6(2HXF2GkOSTXzH}pE-BuZ0 zYG>fzMIK*m&f!(7a-d&ic+#4?JXeBys8gFWDaH+Qs~&rlpZDFRYBB9;$O5KEfd?^t z8GMPbDE;i4y^w9lQEd&Qe>u>hb{eU*Iq2WMCDRd?_CN{s=~J{#dc-r>zg&-q-M`dt zk_Q9Xyrr^xFKPcyW*9+YbJ%apoDMxQ2l{g2`rL4eClzB$sim{rXM-Q-Wg0W(I14b| z0`O4iZYGA1Colxk)pEAb*u6}5LtBr;WYQW!zreFClR{6?;oeTv2jA@D0RF zF#YL9g>TXQ3B0pEJ ze*Qhwp?U7e_qhI*+8k#0HQ;-6zYpeQC-kut=xgkIxVysjd*a^9j(l&07+)&#$l3UC zha`P32j_8E=Wn$0J#p`3N4}RYzPFH_!GZDNUP=1i1HhupGdOUzi0k-Jr=#;p`W3Ao zEwL_3G06FLi)BvFI?Z|xKpyoKNvBt zW(a+c<4#g<%41lXuQq>(jyuUa91^N}P)r+SKjBVYmFF((ndc}ZvuBP$`IKjmQs!%l zePKK#q3V$Ge2_i!cK)Tj|3Z2Ghf?M<<^4Y8dACv~s=TjPoT_GqoSaKIO6V*-XEn+?ChNeaiJ!(l03QgXf& z!7;ln%JXJCPXiu7cJaQ!xI+u=P)-2xS|>i+gt=w$x!}u_-={k%eC$q&lccrz@{Eu(v41Eomh8BS7LI>*I)55_Aj|O9 zHc@;VXu)n1^Rv}Dl0W?e^kpJs0{JV{{OK@c1lh!u*qfviQT!a`G%#!e{uJmt;i*Pa z?OG$bISRY*ej}+Qh50U$O7hUJ=vUHTk<$ED_5DoOAYTpL8Ph;EBl^sBt>mgq;-P4h z#p=QSr0)LCEN{1(2ddz9z9*)zYNVKttA!v6MF-7fz9G5*!} z=IfMaE%v551nmb;7<1$Cm$&DK>zf^2ikzS$~8Q-e)x1MkzbOB{E{r> zmlPqtWX_V@H6Guxl19w)ipMVv4`Y}s_nl6L{M~>$^TmA99aoh1MEOm{j|W;ME;|M5 zz60g1$Gw;veD{@97@m@1e4FkA3_|A&;EUhX;zf*z(Z|;RCI|%EQK;b5iHV?Z=oJugYyLer$61P1qT9 zb{NBwSk6Tkk#pgxI;{NN)E(Gr8sy3hPwT%55<>^D=4zhSU$Bmpr?m`o6q$-LMMmfV z%Bf{`i87I?xvi0BK>sMSs;#XoG9wqcWr58>%v}`gHrGgC^QY(1E?*K{lYsebN(;0G zL6iP^Unq#NG<6Rkx5?P0uQQ!>!{bTr-uxPJ);`0XN$+58>&1MJ5c9o3@qclDyp``- z4?K^s9ip%2G0$}W5ck5ryY8WU=Hh{U;Q_H>aw0nr|UqcLD16_xmbffKzg z|0U)e`*bMcbp0d24@KLJXcKV_td8zesze)Jw6Pm>vfc24Cvw04ePYjU#GVae&w|cM zWM5@lRM#)QpNVt8ZTl2F!1lM8ub+wedJ%L)zJB^2`BV27Whwi2SnU3N(Z}X%{E#Eq zzb{UTvww$a`vFq5aWbp%(1nfj7VY^!S^XJ)M!@Y2E~RuxwheHS&}X zeK$faC=-chhx9U$rzW*VW+kxw`yJZ9&rCY9{hQzGsP^wzG4JaB-3eZ)(q~Popiktf z&M}NFB)>>^r~J)N2071rynRS~vmUfabZKNF?qSrIj5hs+>5vhz{7dIYa|Qp3f;Ncu z8qf~)<5lnjM&sj(wjK$62gSFS3% zP>2Q0m=m=uy%Y7SkiQiPL9oYi|#hBh##w6os-1LXa!HWJ+e&qT?aELua}={wBGfYj{e6$UP?>G8Z&Wypm`j=t(u- zEf?>&&X!n}zov7tLf6?YJ%akwr%d#b)1_;D)P4|&65^^fq9gyxxxb2h%(7TV(sN7`=n+ zh2f-cY(GMMqo#BE#!cX5zgKwKU@^yGyfgPZJ1@@SU-ex<&(Jj@n#^ra&-X))(Y%t~ zuInG9vyhHWSU`c`b0n{SGoW)cNql<_Xy2yC1aKC?NTJ7+ADtfamegYc$6k*azCO2g zIOcQ*Wad8@NxgM?mEvL(ifl`b(G)#lJZ!=&x$mDzdtX*)OQZ#`Rw}( zxCGHbLVE5(-($grQuhj?@1!>nw)?u!!*nbs0=sXU(B&E+r=*TESJYL1Bl)*H&ii$7 z-uq$KBs>@lN1=PvuQpmQw(VaZ+rJ6$`N+QN-y?bJg*~S0IIy*tjuRC&6vZE>l4IPJ&I}`4BOfr0;N?!LH}LFMcC_F_-k4 z8J2!S^Df7u&pXX^0_M}yZ))uNP5o-%a_9%0*F~6@)OWThJffGNm2XPlIX&U{>pLI+ zmeYS{^_?3AD*6uY{5(>;WYww<36-np9VE1&mwmV2)H%IbLfO17r2@V`xcrHJ&Ep3qmE@e;1D04Ld=<*2Wm zL;6b5k?JcwJB5$v`pQ2jUlnr8rmrB!Ld8ewQ;ws)0$X3zSBh}gY)5P}xep!nm3$+V zJ6z~1@Y^Q{8P}ejNPL}e<8{!fr7VUn#QXz(#9HP;C&+}n>WKaK3o)=K+1fzEWO_*=1G6gbOGQM4WtX)X|&?(KP9e|V-E>f$Dz=@g3!H!T023+ z9}PwOxlD$`XTba%yk3Kl;f*F{VfPvALyQ~q8Mt5;^`eZ5S%fvrg62(*OP@EImjv`r z%Jght7Sva=&w{`#>hBD+&IWGrEOh-HiX6`rYYhJc!*l~(_&#|Z_{31?by=W2Kk#lj zAB0CQ7we^Os{epX7%jd*fK!on&+7frjRx?fIag z0??48lMPsR$~Pril4F?!nvpSZlR*a?Kv(NQE7FIp{zf^gh|eo201csi<~x<`EC-Fx z1&zDW5OcJM|C9E3nB~)2_INq@?}UGNJLC_;*>N7VSJ13KW!ct__>!c|SSI*$1#C2F zvrCMs82%->Z~PcDnW^`xuSjekfv|;I??*8L{QVuWV{j0>sz^^^v*RtOo z!5=cgOVmB8&+q;`~Kt6<&j%_re~b0BXpZ@``TnWFNH*)>pC5fXN-Hedakr`%3z=KR&|x*1mAZ zMo$xSb0XMhzyH~ZZ=XdduNQnI#y;CV+_KNMkBqg?G7_0Tdqp2-J>S(n%b0BXvu$|t z_K|k`O#E%yXT1|!m(}zR?Jw#RA5X?_k-U-d?X%vKP5)O%?FbfsV)QvG`)s9{XR^c8|@xH#+$ z!o~OXa;85WS2yiU*a9RANSChv60u2W#{e$=)X*;-?bUd6+=zCTiFO*%&Klt9^9KjQ zJ0Ri@DvVpBvAU|5_6QBoXJI{e0w9L1xBpY+L z5&7U#a9`S6kexdqclV;-bk_4U$^zJmdyu2>w!`}!c)!C)F4+MZdkepluaC}9 z-vc}32H?ayd@D;{$J~-Gm5nkL$fM5%jr$cHN9~i;&4!^Z(owNrd3*rFrk9s2lWozO z1Iy*HZhT#KV@?TsZfYZ6dkV1UL>u;;hWJ;~K`Qn_-)XNHgf^5cjn& z?FQVU&BCHP!)u1+C!2Qb6xgk#&*|$+G)MYVI&9g6if-`3=Quy_FLVPvUL(xz^t12^ zoL#~8D)U|R2`)?`3?K7Iu_IECDZt-kvmOh~VmaC(pGbp(Z*&&Rp#6aLFG)a5#U!*> zjP@GEUZOKS$X=!WG88!wy5AydaKD9D#%5$vY{n$+9|0zEuH3r{w&6j}n4FV{*b9Ep zcdidOlBrX6EOz55#32$rxy5e$N|aG?koOPUV>dd3gXpmvgoBVjgK!X4ul!pzr=8ms z+L82gJmNPl{;JK9=jy!sXyP}*VobU}W51XC^LFA49>llWX?E(l1oyX)J5Na}duBMJeITu|}Qo_(_P9Ub?v4Wd@DVsYM<;L|5 zQCxNLSfjMKa8zgmo_C|nn3wjHEuU(X1`E#-buw_jY(~{?)IANq)#Gl3$Y^|jX;Qdh zCG0}Ppw?VXHqcq22hfLYcn;zj=ik`-P~VDQeFz}d_rsE=vTZmICTOH#{N3!|uJoGUehlBPN6b-V1Z=tj zyT5J$;`oUEx1m45lygHx=ugAy)G)=T&cQqXlLJF@F;CGv_}@k&W*hUgAwN4recpHm z=yPQkR@Oh(Xz|a?3av9x7BNk9&!$>-4J(@_+b#8f)-yDe+C{ES;|P1%QdTxS%+|y> zjg6yWb=Pn``d)$d$p=XHPSAN#JAbpMjL8o#)&$rVqk-}fp-6IIv--YX#EYg@^F39d z>?sznvAqk^pY|aa@4)tS8~xQ2KD*Y_n)vwSa0Sf|=qLC;T|?)AH^qE!dphgKZmbo{ zy}+C|Euy&Xq!?LtlbHJoirc<{WSIwX+etQARv^kmZh$PSC0XVPje%bS>s1=OANU{o zLw?aF&?>FTvKQmi^4<82okay3mg2M3^`Z5qb70TJ+&3)BZJmtx?gp$Omv^vv*K+xG zA>z2HY!T?70Bh5TZ#FTXEcs>=s}gDLuvduI4i%(_mM%5IO{iOeeOrEwQEC)+3%z1A zmTkcE20T-l`Ch|LyLcz}Zqqe;%7UP+;8!VlchBZ|v~MmP6q+yg?qrwoo{!%S6{N8~ z9I6!mM#aBbyl;u)(2qJ_Xm|2Go2l&l!A6+TWt=&}o+$Mn=pNcLx~YuX%uhBf`oAZHvJaAW1LRB^KbY~^3DdxxB&Pj;SI~Fy^$%QO01zuyMJ(LtCrdlJdm}8 z9Ds-6e@9z&!Sw79;vm86t$pyCOIt5dTaq6_PN=$LHsTA3A7aelt7Ah2=wrj`6v?-$ zi62tFljMi$8qdWV*RSNf6a28wf56TU)v{NyvYdD35=}h~JS{D-S@J`*?1ijsTA0nV z$q&=R_2|3K4_Eve{7})Az@MrO$q$wHl9t~5HK(OpbbeUG?_*ksJ74tsn2dg)sTWBW zrG*V&AUtywlS3^*17{%>rG?oyr5ui0a`=m@G4Hd$8^)3>O$j%=2%7Nah9~j*pv6-$ zw@i*(wCJ_!H&FenQ2#8dpUmp#g0E!GC0RTsw6QH(HWbf6JR^_O-jD5;EUrU4Ly2w- zI`8J*&66PSpA^Q$Mk~;bUW~lmSC|V^#g1F z(YLmbh}92jeXSJ+<%LjOW@1cUNCoAEyhV8-9^{1}J~J8{pBZ@zc_E7_FT@jC0v~OV z`tam1*jsiUd)Jou{QAfEP1O(7wUPQk4(7d~c2eu){9bnbpluSff2Dp<0GZ&V9~?dn zb8G4cBe;Hmx}+ZzUPJr1Tj+(aqh%}b%=Lp2Qa`YGLcs`gKYV-@(+}zt{h(Ua55DU% z-gEHVp@QK;KM?;$#lKm+Z!5qjHcW%Q3;9B2b^Sn}BkY|P(hoktI1g10@34OGM=FnR z=f~&=7(dewhR5g!T_jx#nvy*IQp$}^4z$|z1FyJWkNCOQe!pHO@$;vMpLGc*!Y?%Z zI-_n!;rXH6WnJuisM6xaOEK?^&i9UDa=aMhE)EO{HF=jX9{R}(f=@DDpB!#_3OjDLf8^~j9SeDE9M)o5!MIKJqonAKPd|&5<@|pc=`J!+PSe||oE6e%+>s0pCZlQG~E6AQ4Vdww7SlJ#n{kUmO&u~5FMCa)^(a_FG}P5 z9BWJQvUD$b(^|qVDNomqU8W;GmDaL?Vs2_>Y^^;{*DK0IYEkA+*n0&Dp(lYgt)o8F z#oBv`E;Re~^Wf(=8;E?CWbf&`DgwE>Ik4d;4qJPJeiL?{#mDhZ+Ifqv#Qs==`NKROigw|0f!gsEZoOY^2fxL% zgLkr>Yp9(vw1fS0s8VSM@e@B$+re)!?ckkkXDYSxDB6L|ai~CPCmr|Ms_o#nn0D|^ zwsSVMvl{Kd-Z+${w1c>=>sK}j-jNof-(uRqJK0VawNrw2z)ufFQ?2c&JioXGr1J)75tHTTDB6C);Ve0__x`9q_|L1xh=agQZojii>h_!uOC6~DGo0VAz&SvS-+Os{=ya9?*T;;XF(^m* z2GV^}nJrs!AG2j)8>YjKOC@<;YT_c`#gc9(65Wz53%YH%0d_3*^S^PgAd?l1!$aFK zhbkViW;4oP#c8>%EfH?#B>b0*|6m6bZ(qwe!>5s`i?;7E>`-^(&L) zI+yxu`oOLN_C)rYwhrg9vdLsCVO$bV1*TEpiP0(Vp!sAt!G$b_hmGHcAMp2bp0`x- zd44JeKM?cX4jxrAn{=Rlp%)KD%eLWJ!K18shfO2rJu*|^ffgQBr{Yn$m}fRl2Q2?w zS_8-h;#m@pO5_+)Y4Bj5P!#j0uG#4>ZH=I|R6GhfrT^h=VGM-5FR`^X*rlyL)E4AJ zg!o*RUH>b@T_?on=8_KF2)u&m-@>Cxb$njkPrn;QG-BdW)&5vK%G|5Zv$6`7AB#ts zWuInc86Kt3lQSL_2}^q7{w zWAz0dR!4YP!+#haR>$zLqW<=AL@i7z9qkMSzma%YHu#Z>hu!pC{5>@vzcD-ve6X#p zAMZmw!{k^WUbpq3pS=&2Rv(%#ckjatmp)9QK3sx%p#4*6$HX=v{*3ky_;OwFgKnWp z@a2Zp+;*|?*hS!*nvDK?4(%UqyP#}~iP6qRSxrVqSy_%<>F1s9MHJPxDmF>;SR*+61ak)!SR+9-Yva)?N znb0>}kNJxLb5mt(%hN)}<|Q#($F_%A-XMQ3_wX5EE)#mG_*oH;Ut382wIX}`8uPF9 zPvrhJ;8oytEx~J3LgTo9t<=P?8CJ(*(ro^dtp8+&m%S_eX|S*Aoba+U zX`QgYiM9`AjpTYi>I%FJd#qb%Z!5#g>KI;zGD6?Bcn01{p3@WiEJ%CZ@~4%mc-gHk z0++*Y$$FvyS==>_GQJf8x^C|4>_|+#JZ}DuBH8hcON=cWE30 z?Xm*)pQPb@j6=#z>Ps$S`Q$oGr*$x8;sCx5fs4jhPQ^MHqeFAk6G|!}+Y1ms8Z8-M z|3;Sejj8mF%Q0Tk@97(e6_npNgT4_*-gHM?DajkmGcY5r2TFOvX#FLD!I8Y-wx&tb zmyNXK4J#|LJ=hn*)-=mbWn~p#iNy8_P*#&;=drS;ys7hlmc? z*q(zN8_vpddGk8$V~OoK$g#n!Y#%A}O8t9b8aX|6}%K9>))JaL)IE zJO}*n7K#@MhF^!iv5oe~c_WxSGe8$Md6p;eL-37;si3zk;2@R22D4)E!-I$=B-;8{ z9&+;WyNVO<7r)ixw=o4-J6R6x;GJwIhuR_B5jKU1^HDp%`KGAt zL^-ZzpC1cX>rd^hMms9bNA2Kji7{$Bl@9ITo$OB{wNrw2po27_enlq3=c-BO{hjVU zSc%`jBiV0=RRxb^zwM#lityVA@@d#(n%+bV7SS=o?w8Z7F}7vIM{2wr3oA2uq*?Z#tSraa(1%ig-7t=W zJ!CsPdkXuZCxf~9=kzD0A@%0RPu)c z%eKDiQqV2g)+E1g;P~9#IG+r>xFz`0@iD%?=iy6bdIRWH$LFBqv;?P35V4UaK3D31 z&zbW!8}ladIktwe_?%gGCM(PEIoROt_}oJ@w+cRIlPAi1DZ}2|z~}rZ@HyzW{X*~m zo8fbH5}&ipyMoWPULySQ7Cu+4;&azvp5w`%%V-V2&sBWx&+ymIrTIUjZwx*+#igx@ z)E0O;TmL(;{x}2WW*IMLkYCo0&zhCWsY`v99!@VQ*{ z+X0_5*Zsp`L?b3XSL%SznPqEPSrebDGqDKhditKNVPzRUr_hr#KG(Wl(i6wwV(H0_ z&y5%K6obzdbv$0|?LxVSdteVEh79v$?%}Alhpz`Mu{{h~sK$%Eg!-@(K#M$H%vRrP z)xVPJlPy5_nmt~un((nfplQU5K^NljVzzd+TR7V!v@;ZZRl&y)yKTjbt%ol<9!>ue zzd6N=tu)8LhHfY2?=Ttz*&5(uZEaS(*qyfey|p>C;tu*!{TY&W?bz6!Uvt{s zMzlM!yTHcGcriPF<932ck0Th3@pu70$ySLMlkTs{z#*)x8823C;!>phYx1loD{EqI zzyM<6#mqh=v9hKOg#O0Fi#^e{9uX? zE97`rUGS%|c-Q`C;?we{_)WvR%=wjgR|V#|p_1^fp7!{#Kk@jm_UwZ@Xq}*I60bd! z#bdFWP*>nx*tgw6r~ZrKUDX`#LQIx!C!n6(KUZALGkbOPOmn+t4QSE;O?OVMOyw%FW_CUZ9K5i zq<;U8F3|4@A0ggKz6GyV%WiirOrY=rYtv+VC!Su_5t)Gslj87Rx`0<-M%tgIRTRchisWTSAK zz%2VTE8C4Q7sy1ZuYzY|oDt+dsF+J+ouok@<741&bvFE?h`*P#>96FpIZO8^=Or`$ z-_D_gx1`$qe~h1wrg$wAZ>bJGHiE@##e6R>mGe{Ra}A^)0*7c?3A`oG7Za~lF4l>~ zYdudfUBF#XPQ_iyM48C*f!4?(qZMb3gkItJOLZ_kGX{V81^nx5-W)L2NAO#N9e*+B zoblI*f!67md&)s$@mkRRO#EeZOuSa96aI1%t(_P**?}xS2X!f4>vYgI@E7nF;3oJ@ z@YOm?H=`UJo>SL$A?Tazd%`SYP_bBmE|#2%gFAL_{nW3tMQu0Sy_(v$b17mbn6HJ&p44y?#<~G{{Z`uy_ps=%z-oJ7J8j=ZZO`U3sN)<>kd+%s z6Im`?(;AL*VBK5%w+o+hLF`%%V{^{qkg%4BLmFoJ7PR#l#L6aX>*E}UbUCdL!!s^A zNO_$$KCZl%>-J~`U$>t@ZXE0NdSizBdSxHQdTnZ_?XK?YRlVWeexc!r8|&zLZS@nc z=-7Jwnw9O?dhIFi+4D~}DfTW1{t}%PyFac|=G(THu8QSf zmx=ji`hlreIq#1WbG~^zUhMv`$LZCU^Zg<3Yk`f(^r`mpMG>C|JRkVqeun?Sc1Er} z@nkc1N6bK3zG^UnTp{fPVRN&`<^ROF#6>ND;FSEg2TIXlMawsIAS1 z*jOGX%VZ_;bqYv^ulCvUv(@<|{ReYiNUW&~=si8Caz@G|mjsVVXVdw7A z`33deJ+09hM(ffPWB=2*yR@yXJI3529Eo~EDTsY4$6Oh}s_8sY$~pe8Qo4K7Ks}rV za5=yC>p-R5xAxC4r^lMhpr01f8GT8iy*Q(S*$=S$8qgN`+`FTF+c;SqR|>O@qG)^m zf}scNQTJa|cX96c2Y+jG?7PIjtS3QrhHi4h+ z&g1^*J>rak`lY$!_rO*lyQ6-wXM6+BqalCWJhQ-C)tI%nEV>AKI>wg^9c(%FVz6{j=yddt z?1_d;PzUQ2y}@YBN4_)pib+PawGF_S28R1AW_UFA8ezGJIl=nmV!g2jz$>r@;PrGS z#5Hc?hF+dGi zQ#wnxk?4Y*kMFC>FpT{d;w%{|pBE<&a}C;H7z@USsR=is&twB`YGJk#^k>Rv>rZ^X z+Oq#FTzV<`#&lH73&nl1`pD(pbvLuwP~V68{p|Ijhf6te3)Lq*bSm(X0=rF}Cun#+ z_VR{li#c;)u1j09s4Z0<7xoGz!5@pgRvm2dhqAEmRC#=fOIy>ZtvK@d1?+c{$LM2e z@C|;(gd&gG`3>rMHYz=QaWc`4DUT7CXg|L}ExU)6HRW-sE|1l+AF;A&VK&d89ohp8 ztDWU>U!omF?y~(SeGkfeNmEw{nu?LfMIHCYHQpuT-H}7W{c#p8MJ?NM`83QsczgtW zRQ1Pw!0Uq+O@EwK-)q(XG1Uj(WSFtyk2A#i4d;NS6O{8CY`kZ?r61&@odlvmgP-4! zjkQ+&aW(Lf$D`@3_|3^5S80yH^v79aQ2cSZGzQ26(koSe+@rSo%pYgfk6O6!nN%M< zGeQ_pmfauc6|}pJX!o-bEQg5E3HY9e_>-Cs1X-ohSRSJ>(;sKiBV-TZI%?T*tgMp1 zE91l=+X>fE%bv!{n*O*_-5;lx9m>j@G4SZG-5;lx?a#{g)b@n4Kkm|B3VvFYC^6(} zJBG~P%RN#0OU`F){y1+A)6bYc&U=bYKV$gu4Ltrlf;b!Sj_TlozA|3V{w?n*96!eT zo98>7mDpOr&Oz-PKmNR^Zzz(N;~0M~{BhO6Q)BItt}e8kgx^$uoI1ZuSHN1ndJ=Sn zvnIDrM!ajoDGFYEgFXH{o}LgwebXOTIf~<|s7wC1d~sgGw7*Bo=F9UMP)6XZ7X9O$ zl>4_%6=$!A_;bi3+j$MU;Cqd?ci+KphbnVe9}Y#uzgfIbhYI+=E70DCF+*8CD3#UY z&-FQCIs*K0w_%*rX1?&pVZXKL{y4Sn4OAZArt<8)&+$EmdQ#A_pdm@G zjZboVwfW;ZU{3`x@35y}-mhm`kn{OiT|?e-MMCw8)YO$%==Bs@sqt)xqz z{ZlEsdP8<~(ezDA_WW@Q_-=vZ+rW%~snXd)!))~#Ze-12fmMGy)hB%wd|TS3GJkXE zc+6+O6Us`m;X*C`Nr;i9{9l2as&o6NAvB*R4p;5JdMwY2CEXLasap13RyJAVmCm?O zqB-{_ZmP{ae=p~LvY7iyVauBOsJ9#Uw|xiptha}aU&5w)p*}gGb+9;NH-gw~$gH~H zk4A^aaJ$m_CfSwV9-L>A+{FAfz`kT>;#Jb!V)io<9z~2G>2K@y!rq+dflr8^DF9wm zXBdM*5!5;L^Jv*z{2j#K^gC=%`?}+u zFoi=|N?QTm);YYbmJLQvoS)#(7T(FW{zz?Ig|=XW(EOL<+~>KlWg1A=I-`Fm3mCd; ze~fk+<479go3lC{x8JsB#eh{aw+1)6Yc%=QlF-x{Af`gXEfi8^2>>C zu8#FXe+j>QeICj~k2z48X7g#!+Q9c9WNGP!pGsNE&qgGf0GU~5+Tb{svJra*{Hjjc z;N^o!mfFrntTW>j3Q(Tg>}L7Ls65U=%(r4;>daV$*(lF#akKpWRKCC}UqSt;>&|_i zq{DLlX_j9?%YvMxdi38Zg2MgLe_t)JlePNa%P}B*YC~p0oH$| zJkGfEU+oXAgWn=L73HB9s{I+m`rpm$zn|J~9LD{4c_B@ zcH2PY*MJ{UtVaWQWYb!T<%rF%$rg0)c0SKwQARzVCmZJ`ucJQfUMgm;pE7EJ=bSc5qvz8+Q2u_@eI-mLO9Grz@Z2jyiuw^BQ0Xoq-urP2;! zEFMyl}i*4t#JP&_*JikA5MC8k#6Dm;7=kd^dsd${W9zeQ9);*dQ~O zsUEzG`PIn2Tj>oqW&~P&cwTXBVEo1&fk)ml?%KS;Sp3LqhH-0?ao-cNj==TM9?=xm5dZvw?Z;U&Keow%A@(apxdlHOusGZkQpY9c* z^T?N7y1T3ielhMJ*FK4vDC;uh5LlFEX?Gspq%F^GX6-LXa2tM3goU7 z_781GP9^qGo!=N5@)$!=(Srr}bGG z2(QuXZ(5(}XVUr%u+|5%mwdD2k0e`<=9uoEtOpN`V2_jS%JQi(?%9T~`6Bq@n=lW% zQEm_ZI}c@drvx7PqzC35ao&5s%KKx6$GG(&+(D9&XxvKk_6hv95!~ZPZPVHg@fdwF zQmx-SxWiWd_72+1=xW?b>oui|u_fbi-luhVKif!bF2FaMpm(gt9UoJ02h3djSNT=( zs(joP67eQg?Vg0Yq0@~mnP~@KYyyAUU>GHDb~*TB1ml>9`WN7Aj0@4$r)YoiW}|d* z9>u>0!kqr6v2|g368fpW+ktyV8ogbrJ~2G|mv=K}(p)@*dts*!H)f7pFmGJyz`!Fp z{vA)Og712dky@4ENw^hvmCxLYH6Wa<9(`MSTT|IG*lK>*t&t+U8;5m%WkM(dyQ@K= zlksCEo$&t1`nPEH3lTeHl&6OLTK$|j^=E7KYpDLUqe2y0{efEjc=NR8d82yq_K^IX>b)sdBlm%}*<29Lh`2z|^;oli>3EkEt{IPg^buk!(r|W60qrC1 z!`^?6eSYf4V;t`e3e8EzJYwDWJr3TgJz6=}ad-)*)#)ISjpGW$l@(+CKgAlZ#rki< zeTK7*F3srs459`J0;Nwy=ElbIuvw3^U;L* zqd*Ux??)HbkHKa?QdmEhV^2{(9>SiSo?^@#j()r)`Y;XOZZZ-b@u| zMBD}Kr6%z4FClByJu+*v(c-k9KqsY6bQ15qYdenXl!E#3RW(x_5%ws}bse7hnjOcv zg1;i(T$N5cV4JIFPq4WvSLSL3d-kz;TaITbOBz;tm^|6_b1qLBR_BI+|FCl_RQ>9K zvq+{`@s;&AK&IRVnQ{wc$|6OkKxc|9f=syuGUYbtgF>b}lxUYJ=O{A8z*&D%ro0D! ztI8C=B2!M+WJ)gfgOn+cNZEn5nqb?-lO0#(L3TjqWTrxPK-XuoBL%Vp{UzDa1(+?# zJCYr-G%8{v!GB0sQS~XC>_DtHlO52LrsJFsH`(zTlO536z&BcMWwHah0LhM&FnD*h z@k+Mf-Ik78b++VN>O*$47;hwmavATp>OY~?k2lWPy(`DB@_znq59~#X zsik;!;{D-0jQ3+K#QPB&F*?xtlG#7v{U}E~ebV`%NOzn~$aHYd`+uzU&o~$37&$%^ z=}+-@7Vlr6m2(}3ji<h{8YQ+~Zr56Y=djV5F8DARGm4-+;FFc#JX3CyQ@K zynU)hK_``Un8ApwLZnBQRL4Q$fmU^)^C2r-Z_Bw)}~v(JQcGms9^2Yd(cxsJoeyW}{y+#7(scHH&nK+hQcc^T|@vNh%<8;_~B#sJXN ziDYZk{nFx5Tkw3`=gP${dmS;a>Ri2N@^ikXt~6kigS>n^8h35Sk(M|=U!ly^jo-vv zxyZgzlkIld@)K;X&Q<0rgFSQEHw4eR>|6AxCHp2RvQNst{dqipCiQzH1FifSiZzV_ z$8NX^_8G80k~a+Vy9D;x<*?7Lg6=rWvd>O~EK@PR8Hx-nA85(IANGR`gq(X8xQHqX zmnrhDPXcgP!UGjKS3~kqk%7SPOc{7H{no>hkAB#IQa%o#-}+d;WCR=#@lj79BT&rJ5Hraw9p$N$wrGD2q_4Bm)?E7!~xa?KxA3oE$ z|7XS4uQTSQhn8vM|6HpNKIOPhi=PKRW#e~p{Z!e_-|Yb&Cht=q-2ba6ligSgvRM&h z2mC9|>>tVQt8*|_?HI9;FT|H}&AI`2rNjw`B_4cnk|&Yjgg#(~M7L?cI0+{#BAgJ|djV{<0^oyD zuea8FxM?6_zw0L;q#Oe z?>bJ0^@_KSuI)I^7ne^TqhHeA*oNohHh1u8>vQKfyyo2fM$TQPHh1u|?|nkd-4HQ% zBLc0Dod9$9urhbIX>-?}U8~YvyZAKbu06Z9@^&HHiMB957n-u2?+;h{_y*`KPnoNc z+FTveJ=zYP^_6s%uF)C%*%wPXOR?zeKZn2lJ$eBBl6&;ec>cEb=#E~3zacji7@5W2 z$hV9b1jgUst7ZHRH2BO3Fn25-PWVMuv3cY=pbz@27LUJBs%oSfuKH4DT;>!ux+c zTIx>x+Y;|@)apZbtaHNqf2Gxr<&nJISeYxwuj)?xosRc!im191$NOI~`^WMA0Ai4h z^$DRlOt&O|1jqY-qV*3tXsPko*wE`5?s1b=&UG9%T|kb5>rQ{c9#(lvP~iO+0qkjU@1N6aR}1j|7LNBg#xa3vm79gkGVHdzU?(k&xW{UR&EthV@TN=seb+-zx^|fABwc ztbd;=+xhyruD4CL^YZcN*|i-aA_w{(zWz*=@mTbBf>4bOmvtpcpb3_Y(cg%)d2JT_v9ncdaz&RRb!wxC1@QzIy-f@Y7cVrH- z{L!BS?;sgOc!%njh7Z}qA>M?XBD`Y`_<+PF?jYHP7$+GUwM@Y~vgo&-JpO4%SHwS! z^KPYjt>{C>K;zaq_*PPPW6P(|@d}ZrXTTmEj~wR+#?XMVM4@v~c^m!#KVv-n~^Z3PAwR`ADc|3u)sNkad|trwv^_1?PnF^P z9mhZTU6RDtUipN{aI6K-3nl!c*6bh2@RTr{pC5Vo{6sDMV};hgd>Y41<6>m^Vy&F( zIBYycj)TkaePvvRM?nJ=ua$rp&xwY&xhrstg?OI4pkQ1Q&LxrYT2yAw8EbjmmSJqY z9{zfY+iE!6HnRyl;$_4|LDw%O`M45T##6Xw+lOytX2928?rEjCuFt`bI^SQM$0GVF zW6KiIM~2lPHfy1bEyJDQj(r7hkTGV|R~cjW&Jp#6%d6#Pe~v@k6!;Lg;nQRMJ~GDa z9O=sd{~@1#nJKUM8oSQ1P0sW3@o3()9Y@;Y^6E0okCazqzlpiZj2~lGc6}?4e-LwJ z;T7{);2m5x8VVvEFy_^U+O8>4vz24{(+3SU{*O}g- z>H?rW!YB8RM%)bi0)&5V$2Sesix=~^=X9ZKiS^hE`Kz@vMBHMeCO`|k(- zJZYW*y9j5T{Pc!{`QD5VH>N>H0?#I$=S%pOhLg_Zr|5V1dNR`a z-%IKDp6qv~GhIW!_r~7?`0r=Z?|tz15dL>6{oW6MXY#)z(A75fhb{&>l)4z@<5Ij} z1L7Q`pdsoP^h2ft<_@rQz+QOA{8N7Sn8fdlhkiB){;7dVOyU45Ch^k)Z8KlN{0aY* zrk`=0-L9YUcQ*YD_un%A)L>&~>NW2A+0U7N#$yU=Z&39UU=$?R*AL--jVvpsaK$N7 zKjYt)7{$w4{X+7eOoQD?`jJxqjyUz7(dx7Bm!1^!{rPd~uhHroq~9$#33(e!Hml#i zB2N7htv>o+ZM={f)BnkF>Mz#nv;HqRIi~+-$Em+as~@2GyLK4YFO~Tl7N`C!t$seO z-=y(eFH`FGjZ=SyRv+IlHBu6}{-@MWj8lJtR==M7lP%vB`4ATU{A-k*eqv>}yKP!8 z&gD~Ma`!+^s4=O&k5&B^7!`PaZ?k_Kqr&`D8<{;q6-1u}7Dn}+*1vKp_ax3FBtIbb zzsyJ2u9b5ghfN2O`)q^f=v*O*ku(A~fkK1FP5a&}%gEz>a5MQ+eo6= z5xdQF1GkyvdNG@+PoVWh#H%oysSk8D*h~kxZzTSFIF7?xb&cq&tId=d$G(H?cCwlN z`-u9&=kDx|^k+z%{y?{I>d$jW(Vw0j=@0IHbhIg<`#AOIp`+-}=U8{nuUzt{;Cqz) zVfj<=Kgxcn`BRIIq93(dKOAjsoEaedVZ#NWGs^y`w)WJc=+9Ff=@0IjaO@9sTBrVG z9YueNI?^9soc=)PcIr>tR}2^F(h=d9PZYbuK&~}b}sE4#eXVe z=O|wa_BCP0TE3J<12Sew^`G*0Hrqt;pN6yCZ4;g^#be*r&uc21W9Hf>hV#k)=@2{j zgOO6VJ>RE$N$o(&GP-emTV$DY-b&UxO*P=$#NbN}gZt$)ausxxlFJ#OB+ZMx|Yt(@yP zY;swSgX^ZN9+AABS{`z?NdKl-lo`~NHX zM-PmF9B?^vLCZhV)>r18sB(b6v&jMF%!SV69}O)~<$#a!W?P){k3JeMk>KBq6a>ze=MXNs{PA)y@z0__e%K1~}2!E&NAJzU3lOuK9hsX1e z{xX-%58ja+f!~z+H}YhTfiXG9<;Y`N{~!+)~L zeU|)l%RkzA-BH>*@DZy1qAL}Dk#Q1yDk2B>J>()$u24Gs=BnMJ<{I4%AC7AGsJTYj z^jn-lRA=^&+neQNZ`OH~SR}3|tkU{dLwdrPiToT7MNcTy%DIliCI{s>xSsI$hmWJ4 z0Q-jN3H7lt7}6F@TA<{dz=nC>#QS+aUB_jUeY||Ub#raUaela-uo3ek^@Nh+IaeLX z&w2R(f?Y;y;!>n=HW z66*r*n|uUwH!Dv5GU&I??o;Nngq3%Z4H?SZ`PehZx;%K+b^S|=K%*irEERoMf|EB*}l?%mFRi=A^BqoL~8{GCm|R{RiKU!`T^4qtL6D` ze;a4^ zkH^|Te{L~O9nNE!lvtZD{PywXQ@QNHJmyN#FZXKYT*qPCBXS&Ezq}HA*CxwEK3G@S zb~)|jgAG&i!IDHiSlSWhgH5^yagWByq2;$(`C#BPwtTSJCE(FVa{k-TMXb&1JRgkO zr8t}91Y->4h6V6#1K*~6u&TyrY^)9HJLZEex95X(`pmbQ*gUXNS{_)lsYCL0b6sbf z9>mMXqhr^09O;F}*KEcb$oQJK*faNKKZ|FTj*cmwiI^=OS08Jq$hi8HQ9}0?aY?^C zVdjn7DNB^On!}#CEcyYSby>7&nI(&UfN_xDMa}n!W6 zcc}A)#HoO}HM!)JC7upBia6=azQCyv1I^@UAK+B8d0fB+h*^Hp!l^Xfg~!UX4FC_N!}EIm&X%N)6oeQbA|RR9ZOA)tOSx@NdhUvWK1O zJLIHIi&Otzr}_>#Y2)J5zd5#kwJ{(grvD@3)c=82A9A+NDJN|}ocb4Q^~)(P!XYOu zB~JbGwfeyMN{#vn{7fKa{tsq2&;RLK{Tk|jw!!fwrT$*6ek?y1ITeR z$7HYK^5>YucOvfLW#q(3J%Pn{KAYP*5%EtfzVlh06ZbU7B^>v6tZgFu>#d5Q9aUB~ zAQz5ug+52_>vUlIZn;9Q8OHwIxZfcu&~-e|hfArVJ3%@>Z(MHwPW0ut&D;9i*8PYh zVDq+~&)fHpsK4H-N6mQ?d5@T@m|Vg@oLoZ44ySmzu}9PwK6kg6{W*@ggt#wKkJFJl z&skb7p$}tG^RZlM!lo;7+Kkl|`Fq!P9QP#Gd1${#+$Z~+n5#g1{jm6IdoJNt*!bF9 zRogKJb582)@d)nkF<0^1ahaaq`e9qH-XDp}-L2J!KHOs3BT5e4m^k%s z)apau#9cTeVsZep#(!;M%=q8X>c`4K6OYp5 zsia@k9^vow9L7KXp4lUyMS-g#CcoioNuL~74UnBNo{!kT#kd=BL?_6$?#($Gpu|wOJ?*4v<^mm64R@DaGCKW*JT~~19ZE(#g6^; zR=tXLj%#0$XW6ns^c6XjB;Rg5!oEHt`s$h+hx<$&bBe&1Tp}^0PV@mp* znX8KY#MQJ0gr6fnvBSBl$ZO4x-1W!e9;vm(HI%FBE1`DDXWxjsQ|K<0ddgMBx9R?r zzd#P^xvK5usnVKKo~rN3Aj?n90?xP(XClZuQ<~YGDJAUAlr|%^c_+@P*j<0uA9wUf zuHAt?)u2!6y(t6#ZO>8t(9|vY9(CQ*HoJ(IXM4xty=yy;do2}bf8pL6tb@eR|IMB` zE&UbGT<>?WZ#$XSSmvllD&unOC-2XT9qAA5{B_)G(7&Aa+HFVCpGP~=pHAjCUUC%u zxuqlh>12N6DM!(t8CriF@9~4JA=iuLp~Bvf>!jwPk`KJ|^v&re2mO$7wZrkO+aPx= zwrr3FVS_OHBkzA#{@|eziod;`{6WlhsU3fiae%5`&)?bn1d6}CGx>v$UD;HYtK<&` z;^YrrJV@%L{M#~~wOFff#K|8#U#lN)oZzuXoIiNcyHPO~D}V4>vwx%)CWoQ#;cUC4 zn6vBqY5glF`(Qyv%-QwnS~=Ho*m$a3N3Iv%T`YP0@y{RR*v^E|KIB)v?29AW-ouPanJ;NxeII^5a(?f@wV__t;LV1ibk$q|SA z!B^tc|6->7`}uM52cOmI$D5~EULogC#TWQHJ%8}!cT_pT^9SEC`$uvFcQzA#wKq0@ zuvqIKr^K+i{#9&g085Kax+a_$KDcC4cZ$>8BI9mJa!Yn(pU5C&zlOu2AOc+;3v8 zT=ED1lOy~>Vy^W2%UtQ<8=$K$%3S?};CHrZET#cF*X zr+$`RpKKh5oVt(W)bFj=XEtE${bldPsqfY57m{zo;r_B$wfgba34Be<{g>;f%5MHn z&*^*jZ6>?xxNm^x^!@cRwmx`g+JM!@x^p$Ak2FILX!28C= zVUtaA99(v{7TRU^@wPeC`^$cRP}m&E5rWNO?F+0pryglIBj?3Kr zK$*KdZSLCB8C74!vADnNwrlM9k=A+MoNipl_zlceZ)L6yVm*%=F3=90HGL`eDDu>7 zbcQ^&lO>%gd1`cj*|$A+Z=hdtkA}a+x%;`CJC3PX{0*4O`-pvE{7qsi$Wx>H%f9Wo zyF;0~@3Uu)sa%C;U8mf5how`-yT9yzOTOAELlykIoqV;}HRL`ndz?LgXVd)@{Jb;y zYHwUBbqhKVB8Bd*t#-;+ySI_MKAdmms}Zj@{q3g)TA#lM{N_mV)gG4lYCYNgWz?>kua=2#8~8Tm zt9^~LEOdXn5A~h%)q2|QFYA21TF;pCpdW50U(I!$Z8Dv&b38hBZO4&bc)nT^#XI7D zp9o@32D4}Gqck)+YEKtZV{F^ig*uS0cI^=Nd^Okc9@lx}I(HptSIYA(?3v4?&3M*j zlIM0yCOPJ-efQ|{)!suqh?=i9O^qi-ew55t>x#2|C`bB2b_h+;kcIA2M| zdKMrib7L2NzgXZR`1%k_=10D+p09Q~%Bgplc@UQ)+xQ6Imv@*=0j{4RVo^8aJ&X73 z>z+S$M<(PN?(N7#{EwMGhWHf*BD>)H9v$nq|`Ir z<2^Si`D5KKQRP|^mun9BUvKx4a*cmm=8t`Su|s`_{Ii$h)c-rLUoG!MW0-i1qCtRE-6 z|AECnRGa4~V~plKS*SOi#zwgxh<#{FSq5SKK9&}3r;ZF`7^~|2_OFN*fW>y zFXLI4?OlFs$@Vmi1F7ije`>x+&dj6B7x`Q}|L__`zUL!%Ldy5kaE}woG3dwM~=PIMGaqCUUx0G^xIPM&ka{Ob`5tMth zwvaA>yGi9)@~9>=_y`{)Er~DP@6`;G+P#Wkig7XN}yRsUjj)1$U+;T#0 zIvF|wa#AvTD>)&(telXlf3?kg(9#jKeJE`v)$hUI*>nWl@5*vQpszeI*0YX} zaq9oKR==KXcZZyc)p6>-snyS<{yXH9ER9oti&np!zVC1^)Gcx9Z_w&v{%|i=Y)-~( zt$wVm;p-Bs<4F2(zz(!~rEcD)>Nxyfse8=+aqIx=Q)(QD&B++6^{?kFdfd3Wru zx9V!q*H2-)(mgH5=MF6772pmlx4Z)1_X+11A9@n!e>P#v>yQsXV>WRPYC#G*gLR#9<=8dSn{2(t1ErlbVG#>9NxRO<489g^Vmso zcLMYH8++zD^>#eBn_tk$_<7O^I^R#;pS2z7PbY1TJsi(>l!uJZInEpJ&tk1Vj`8#9 zTKqh83a9w_H;pJUow^%ysmG}-RtW00s&hrZ%ID_=nz6TE%WgH~lP(RyfjV=Q3x&eOg0;?p**kqSlmxEA%1L3bg<$dnV_8K zhyG5~?kBw+Bk)<6ta=>uekso`?U3-%@Om=UJK^7EpbNl^7 zd@fw)&L(Gh`FOP9+K%HIaBRjyaeuk*FpX^S#9zS$j4`4Z6 z<$3_iVSH3w53E5Ga+UUu#eGpYm&05S)Qg9Ae4eMQ2kLJ&@s1N?J${Mt%Jo>zo;lvJ z6wkWs_&xGx3GNgGWl`&pc7Yqd^W9P@?&GVoxe)?@sU?fDe~iHt$&ao@E7!fO=Q2{Zk|@obsUboi_4Ec z{Ny)k{{Qp>v00gkFLskd_nP7BIf@ec-G~|`8T=9k0Ne=ghzGI9}ati&iHG9 z9u}l#YvW*y_E3qsh}&}&wd}iPvz;nMWQ*1bCEu$ zDB=pF&*@dPNB923@-^wlRIzUUE}k8ebF#Y~qx!=yn5xR5B)c6`X~pRK(xe>X-;USM zSY1>0U$sN{JLyx;(fR;cR%bk(9(r9n(>2<~-Us`6p1vyYtEwF0{^(w2+rl4xF6@&O zoR5?OKeOVGephQd^IX_-DLEm3s@)&GO)KXz57qYbX!w{(SC;rJ;V%;nZ}WTb)8v4L zCod=%m*jvmIQcObao=;P9be$zz#2GyyWZ=q`VYmjh<(=``&-rB8*r`}JEs%=sxaa~ z^m97Zc`QrJWl-&wfccL z`NpMM{dn`lc!`b9<@~AqoWIlajn}>$6>~wj63;jOwb?)7$4NY=tns`2{OAJfeB}jN z|Cme|IfBas#dr1tt(@yPZ2M1+gXC7Z{sZ%|Kel5jmeYjGAy5Dh>UT~vTTC3WV;OO zEG^lwB_Tt=D=B}N+Xg9B-Tq6HA@EI{WcH8CkaCJI`3iX|WG^T(M4J>bTmI( zRFNU?Y2{qU;m9Mo44D9$<@&TsjH!!$Fa4|yhudcIv+t9tu5{G%`CP^7`I0WU9@%y) z?Jd5azQVJpM-6|?mGbv5D|XH3tHP| zUKn>Ta!k!0ug>4a)hDOB@5QZbFLFQQ+&pzJCWmc%k=d`@PdLP+Vg7B26JO?3U&gyD z_0!|j4{G(Xhj6cLT8y9bt0c(_OpH#ZC$C*>A(zdF+fcq&2nf>E9 za}DvTOA%v5apVfl{DIa#_-k>_@o79RUEu}qXysygfieyoFOcKlykH#mn`&Dh(;Rr% z(*;JC+5(&*8ufZ>y@!idsX6dn_aVO)nA#k~Zot;IazqioHRVU#zRsuoTJkT#7uE~( zcIY{y#f~MIl;@T|_=Twrg6OZ*TqO@uAF;SwtnEnH%r zkK+=HfUPuQ&JuwW%ug`3?8Vu$b&w%6H)hN<=1cYIeuWqd8xEoR5XpZy8gmD_*^U49 z;J&>y2JCcXpx-Uppz4}7W_9$)h);58I~ z*Nnb@hW{p@|0Rd>{lpQc?}gUJ2IoK5oxQ{S5T0pv^Fk%wXH2l zCJPuBuxJ@Y^8fzMa_8JTcP1GGYumq{56;f8!lr7q{VA zTEhh7@E^wd(ci<6OG2%S!Rt35UovlqrY~@y<`BN#3@y3iJK&FHIA?Y4oH=8EI>5W) zbH9Dzs!npHxAgc;Kg!O>1_g1VZgCb+k^jZq3A3;4kt|es~fzf&RDEC-KuIjrAJ- zE7d}=T0m!DC%$hIG}=xzrGiG^0gduaG-eE{`o@vkkP z&(&;h+<%>p?^geH^{lY}S|aM;RR8tgB_BHAOvQf%&l&!!h$V+B{%hn~$e5vvSn?$E zp-X2;lHvvJLbPCv22cIe(+z>?{|2F|2oie zUranq_D15t{nw>;NL_Fm&L_%zXyutv^PyhZV;4N!ikRP;4~>bJ$D6jGYgSiQ`v5t52xrOyv0fgzu_ve_HbFG4i30pA|bF`j4hn zK%v!R>^rxA597Pl{{6WkZ2#=?p+^dNJ;wj4&rgtVbHz@^xsJTIRx4bLJgf3!?yRC zC~Q0N7IH||{)_);T0O7OYL$gnr&LC};IqZSaQ{Vp zGZorR`3KVO5=lFrdko7ca*lUO+EKny(2n{q{-bGkmO{JFsCG>33H}}5tv=->oP(C< zL;ltKFYfON-w!psnW*z^ouHgAyfgBAVdNU}vz+FAKYq>R`zhxO=V;RR<73Mn6eX7D;X5|i^9W}b-XVThwY{N1}E|N94WrjyO#T6;$iXyBp%#% znhKdvZJ3kw8SBx}6ZI4MIQwedds6%64OQNEm?++Nm@40Qh&`7!i1q7?!QR7+UQGw{)^Y69_D2FFXsH^zPGBA-8I!(U-Vye*GL=Cf}RA2 z3$>7ju{DfM{TF|X{ukE11a`d_-LLi$y%$lx-`QE>eqv(x-*x!zeQ)hfPORCD`B>j| z*j4|u@vGB#B-GFR|}DcfA(hRX*y<7gG7COJ4{))RixE zJW2RM&}F3Co;2#6IUQo+ds^wneeSyyTKxz6&hs4C;k(r)t(y_HNoxPaf2Mk`^O4W& zZoL=QrrsRC%G|7)XW-XNw&o=3z4l$oY)!4q(Zg2Y9oXmV1(avV4%d5Coshbij~#8E zkTJ_ybUA<3R`6>)&JNdmt*B?V0&@{La^!y38S~>ga@c^wS}F1%6lb$M1h*A8S>}gm zp%HQi57#+WRL>=RyGnew%F*v`3CodP zy%)*Tlo4ODev}gqZJ8DhVmIH{ni;bGBS|cxpn7ip#CFU0UU3t7_z}5~#Td!!>A7yG899gn%gv_s6jLeh?6Zb3WhWf~J_lYhhI`c%_ytU|jX>^t{w z2I9L_FVFpUSTFw=bEg^xUVrO&V}diiW8aTSC-)B5v@bwSdkt#ZmjLG~rKWuWc&Q3C zI!lmOtqIq({{(tU)ya24@3kd+R~$&!j%1>qPS)RkFia~+deHj=)Cs-OnWr6D3cXA5 zN=pUxNK4RH-#7bMsVn3E9_oph`AX<4*y!arbJ>LPnlWw=ekSSZC*4}#1L#X#fSLiR zw?~U>>kvoDYb`E*pM!b|;W?@|n=G!CVb4TfJBs>Wg7*rY{T27E71uoI?I^EZgKL}5 z4$rN^W^RLV&qMuCTU_aSk)At>{+0y03Fm_)oEmYhU|{%K7Ot`0*V&-u4bkn+&r@J` z24fC`kW)Yoh}B{Ygxvv+sILFLk2_0#6V>iqeJrwP5x-`#J2>CV`ZNvEO6EQi+wMFB zJ<_=#mDTlMJyx+hu2edEb=auu-$^ky-w#STF6|B+=W8R?P3`59^D`TL_h|E%TtQigvX?|G#>KiBenq%P-t8L6|S{HSpTzt)cW-_8YT z{>}wGAq&ZY`+lPMEv__wBkCKM81sYQ;_68`sd{a1Z=REKxs04tfn|PJ2b@2N%t?*0 z+!qrMliwoo;Bm$#)VZm-gj3S<3OX!tZvpQqeZ3ZHMNRa3I3u;AgmOQF^}a8&bK2pa zSFkOtJ{q5k@!YnV+-IrW>j<%!L$y1U`yPcFX`HKi4>sB8v4rQWJ(gt8tF+^y=Opwb z>CG#RdPcYx%eKf&x36rUaT|q4xzO-dWXDR5PBQ6Kdg7i z%MR9uci~CR*A=+epxtSx^Mj7zdCHyDG`NeS-14ZZGuRuosPW5R* zXTFQ?stx-pX}9msf_57%v|C#ca!T5*4b$$YUjy20QE2ywg?8)3p43keOYQ4oPwF*g zPinK+lX{x=q>5o<#$Znhd`EU>(AqS8cCOc-`b0s@e%UQIYW3CHK)qoq_NBm&>!08> zHTI=e7KDCM4t}J5*()7JEXwwbz?TP$xeYpmGbHVFMglM>W=&b;2)V~szPSuNsq@Q{ z-Z-kI)EvEAW4um!kNRadVr&g#Q@`wEu!r(l8Sm2b)^U#B?G3HgwDd1Ny2AfOh4#je zKugvy8`nDzhVedtvoziBnVl5zp0K{#j`5zILjHz;hrS;6lK0F$jx~|{RJ|46`V`ky zxjd!&R8s$YqrZpd8yAZA&3s%ysz1Mlq>5| zEY{<+`B}&>exK-@0bPdtBE9b*7xakVXLSVzvw8Cz-~fEL<^bp12>D#%^*29O;CEmQ zmj83{{NJ*>DgW0uod27R{2z2<^PR~5%~SG!v!P4pAs2Tia&gdavY&TP=zBH)SFYs$ zDv|S(`M)cX+fws?2XStWa$d;)HB?t78u`CA{!SW}>$?{Dx?7PC%nAXM2ACZ4+>y5wr^1q)GdAtH8w@2swDJQoM@4J&ZIeMqfFy!{=jH!nH zN|bw?_d?|RXWkaMyI1h;7y0a^xHhRj#=Mb_d8W+eVb3PkJ8E{ik;@y1T;2esKBzx( zd7v-l@|GX%EO|Mc%d_}evaUqkv*p)Jxjek{hvo9{zMOp(v2%Gppj=)j&b@;VZ@#Ft z&SCVKO6Kn`-G*G2aqgYx^3MLd%*FAs<@3`m&wEWhKEk=c#3;{SW_f-sy`Yk=HmD@mWxC0`OeNBEEo4bTY|*Ppat#u^LOlQH0DQph~oXc zE6?HlT@kJiyTvj;mJ>}+<2Crm@5|cy63cxt@i65bBpy5$_iCy1mtySs-&kp%Yk>Z- z%QdV(t}FieaG&HMV?I27KRxf!De|Z0#jaOt`KDG|tzEAFx>(e!Q7 zhs6b`ZIy6|j4c4tyf^&R`Z7U~COzQ(W*dY=X63 zjh?rTa}++28W%hbI-1|3Q^e}mx*robB4UCyADiE!)8EKxa-NF0=BD_Z-ycoJV#2ZI zWgZj!o$9JY?OGb}m$CX0T&I{IUcbt&PiZUGQRJ`Kda>TOIM0wnyg+^x&NGl-^#<}j z@#EnN>=tvC?~yvCc?Il!#>&Y&{|Dq1fL|Hj8AbeP;QaUJ3Elx6^^#D%-7Q0o%y6knGbw(yZOA297g;y$>-CEHS97cALqNc_I`=^yxg7n z#Q83+jbCCut1R=eeHRzvPq}9ybZbbiQx^KV$R2TvzQjE4#XMxq;NAFcjZ0rG3CE>3 zVH~x;hCE+<=v<0V`-S6EDW@m>$5W-wANoh;##?-Bc^0_A^88wgSG4nZFGN;D%j3o6 zmgl448R?5i{8fLSU*mm&!)IxKv`O{%ah4V}gIkRGk-wkhucX?J%<(#VkJN_nS=w^T z{MOQaW5??S)X!b<_iwb^7ZVSYUX^%oe}6Y>v()@(S2;iROyg_l?J0YtZxlV!p9ZhD zpl&r0b$=}9hqHREs2!vp>DcRqAFJsXJb!X{u#CPN~0#b&2Kgjrl$NJ*+_)>JUvn3-t6|Vogfr*+0;67mw>2%=_e=MxSp* zzdak;MY|5#MTZlEc4sTJ`y6wWy8alxTXlW$^HCC(`yyGPUsOvbpXJpYbra%tTP z^L0D8ot-X>*Q@Y}=)V8Pe7?+>7ce<-21cne(hEL~>zu%UUngXwmp3#X<474{`T9Z^tJhtI zy4RzH32!|4*#!R@r>3)aa6XH7(cK6>(9Y5S7v~`xQR7p21MO#K>MzpY*pFquSLW$I zqrb5i#P1)eKSzHf7UlQn>p!8tu}{SBAE^83Z|vpr--qa%=x^l7`SU~db@Vsnl>eTs zKS_VX-tgc1=|7^sVTbtd1NHyG-wx#bJ=$=+88t&qH7S1fcWJ)fTuguW;D1-<>dnZb zG}WZ?zZ-|?&4_cGYSQ@MUi^)`PE$=!@%IS589AP&nlt#{YXScv`nwnZdq{?UJnf&j@5%3lI_{Wn>R$a_^kA2^Hv0l*!a{nys8FGcU zIx636hYvOHhacC)x_8M1N1-2u|MvL;e`jHW&gyZK_}X{kEM{X8Y%tbc>chF%BRSD) zNLU}jmN&tUj7QB5)xN+^)K_5tI;d%*n`ytB@jySl1U8=Dv)KeY@dv#7p@MpvJ3`JZl;qC<7Y}lWnu$n;|463tIM{u<$ly(sDluJSkQrw9F@ z;#&$`PBiNQo!bc9C4O$=sXm|u;f!&&b#~%!Z>Ukzw$U{W{H0+%xn36IOWIe>ICdgQ zTobfkD`@{$F(*lX>T7?{AEY~EJ1%)y4Ro3zrddZ zx(^d{r##Ot&^-rq9|pSL54vZg-eKq<2V8or59lt}$A!8Dr&t5frdF#wL;t-pwkzES z_=WzY%p!kEo;Q@8?(`4s@ABtny8Zdcp}KIb%BgMBt|VQNs{iyk<{Q>a-!O>zlW$0$ zGjZ=#m<#1tOYv+A@LP;)n=nt@6XLet6>#C~@J_&Vo{v}z=XvCsQ9L=!*IE~ZKi&d( zRcVQSiANRiU4-W@A^549zj7q(KHwJu2Hw*P*cpMImKm*b912j*)@7xZ9w&Cst4NXK0QNC-iz^ZsnVM=4-2$;u_Ay*3k70=!w1`WB(fe zGBRDim%KVq@alYpSBYmOe=O^QUnM`>2)e5LI>(M*p>Mj&uSc)py28q@DdY#DdQ!Yvt2X9wQvRpOlN3uR4qc1vIE|7LW3 zv9~xAyB_Z2k8s>NHM9|7r2)zaQA^zZ&4S9RF1P z_ou75oP9a{H$?AmkvCiY2Y=1Pn=$P5HkwzGH)Pd+hwv^ERo;apOI+SA(3886 zw|7Ao<}ab9GYhqxPT0KluyLrPg57lKjX0;O@(uYwWH;%v5cgKny25wz!cLNo^Whrv zUBDA%h42f7tZSL@r|@svxX-vhRhhC%+w5AZQ+b7tZJebbpO40- z&n(FLcU2Ap6eynuo5~n2>7!AqgD7O=m9T$6P^PYHUPdce31;~b*I8^-s&!7{zo(H zK@#?h55oUghHHJ%6P)=axPBCV{aNUv{t4^>jZHPLyU9Ml&k4`-EX3Y@12+>r;qTBq zsBd~Jd@6!_6l?wo)>!rRNv?@^+wj|7*o#B>JuhFwcWyIw1Gl_=Hf6vi{^-Gd{;>7M^(uu$Ya5e>@1WQ4{GWGX<%H%pMTc9%= z6Q6YNaycf+HP)jL*JdJ)x)q-l*zcit1GrGTmcV^`gP&ZO*8_Mq2Rgxx`O2R6S*V>{ zuZ;ieSmWc~+vND5FLK!-53XgUA)dha9*mD1RtSATUUZ4^$*v*CHQIskZz38bX@2B5 zg-;;-YM}>i66?E6S>JtK$D=0shrd-%If;7G|KK~)Nlx@-j_O}V#-R~Bb1}_3N*sD2 zdh}W2&;in~Tr2!ae6Eb*SDqtq-lgcic>H~d@6A}ZF8oW-rTg~o*p>G7F5j{qRy}O> zFY%t#dJVQ@y0RX2@#*&=>&)H>ztRmIA^gf()vx^ZH^9U2D|4U|oex9Dkq?@Kdxicq z?!~q3xR=Rij^sCUUSK=n2%mnR%5PoA-zI)Tyaij4srM!PApg)|8vq6 z5&kE`L&o3V5Ni}~{C(_19P#%L?fuUVjQt+|sW#?P!4qG?|783?=W$hewDCXdHRK;n z{!k46vu_l6JjCo@%zT}RUo&qao;hEiLp&q&qn$jCh0bI02)({Y@%?-jezE$U&Hn*@ z5q@V7@Mq%rYWPI33op|9nu#Zzuo>&QFAG|^^mAju#J#_jFky3;FN`~$GrNn=EIjiJ&4J=s zoVj8?F@sb2q6>HxK4bQeL(iCH$^;Ad{z$^Y**E4N<612L_m z#)E6-b>Y7Dq@iJ7dpPo6w^qZiMNZF$?@5jKztx_u?O%#(M>Xzim&0a~ul))3msDSS zv+%XUICEcnA+3$Y*S7Pse*)bl{p>x6ZAg#p0}bAT+!cGce=X107Q?^(9JMd`s8O7P zSYgjvZaa6wP8P4@w55A7VzO{&{0Mw-5NdIf{RNiNN_w_~#7Yd$4Y*KVXypt<|t!*j;}h zo#thek4lM>|CMyJ`saxAVGqXXGnMtQ^9OzinP>h$9(1Km{+HkzzBhDGBWf?0>_y4{ zHsZW3`QGv7eK_Jzbp$(_|NSV@F@FD>@f_LETgRLIZ;3}0=tuis_lk9j*Z+CO?Bw6`)k;GBq-wNbkTrB?*$&;_gf(M%2A>o|_&1Q5#vl)VB zKNI%gNELs-+gxT7&JNc=-2i#GDZJ+=<<4wV^YrJ*=HCF@bd!Az)IP`vv#FMxzl66_ zi7Cd?+@r)47f(P;fpH3x7rxknv8s|CFBY!!h9<7M)?b{y@I}&XOVS-LR;|=R67~kt z{ZCx$&jQ?`fIBS1;a|L}x4-aVwpX>S0(E2+kPj#F7Ielp^E#@nIv4wdE>`>c{?Jyo z?i5Sm-iztH3FR*6b0%Q8X`RSsJq(+Ixs~DCQPk$D`*K4C{t`CT?hXXak^qPMK~s-W zeIVu#YQ%4&@LLP?P)=v(wnd;By`#Dsy0#U2S1riZ5bg^xj)eEXf8l=E5_*p{;Z6E^ zCg$2a$Q$aw8aqh-QTIWAlPtC2nyhi z_V-?(`6&LL1{s1)c#-HM=V$OMvr%Dwb)|s@E4}_iJTnZ>WMeN(<%8^1UjJIqfpi(w z*yXI${4U5EYQVQO3SRGuALhj32f(TXe8vx03&sz)X61)<;2Dw!xqieCKZFjA#t%>9 zw=Ves<7ndj=6}D(#19R2{P2w^{BWb-hs_p#=xRR@bZ$`d4Q!7D@BVlObC>?Mb4Qz5fziz--+#1U++)zkCAVfB<63EZ(wqu?)N>3x!dF$*tnK_Lp|jiLZs`&*m2|= zFz;0T&CSezXo!|?_)nr^ocRXHa}@hb9TSmnV0ctPekkAYEwN7B%{RQF@p{|1@(tqs zJ4;Y+`+X?g|LLDG!L2%gnxT*RQ2)NhdB0gkLm|0Zzu zR`z7)NDA=zG3{&8J?NoYLHnAZ2kmPj*TLxae>j^;@TI()YMAiMy<)6P^j!_Z5&N3x zr@IsJE9#-Jh6(!4Sg>$!g@lEky$lwvp-#?Uf%66lpkbom$64?TUxPkKz`D`7(Qo6q z9Q6ClhA)JDVya&X6@m{6LBq8rH1=S9W2~`pZ;>1uyu<3SaLv4T7p~!N!af|;@c%g- z>ji(+u7>|T^uoFc`^K}9ylig|{qjo^(T|bp_*dil99);R{1vF>e+T3L0smCpk}Krr z0!4m!eRIrwm&x9so)La)nm(WGxyX0f$CK8o?Iz9{XNX7w=DGlCA9{?^7Ax&Y7IO>0HDFUX&@ zo{@Bj%(qcJ<6Sha%vT^5RO=a4z5R3Rn27z@o;$^WkpFMUF)3exwIN*|&R6iW_ezZ- z{GUvHT`ZW;(FGDFXx3GYqSTGDM)5+z%arFa*C<{n)^DYVODGnk|HwYd{t^2e4y<9g ze*}7&)oXcu_!oX)p*ua0?LzPz_9Z1D1w;?PDZ=}ys%r;E!0}z89ro?G z3~>H?YdXO}Z$&#e-w|*&q6c3!d>b*J29}S)e98&VyNPT*C+-T?<)BxEfKyLAJd1KZ zxGxzz0NT`-ZSXOFZU*3HVSe;m))LLX5bv4rq-QaD(|zR|oS}2K|_Lbo`B=VySu74UJ?O^(eUsPeS=o{ z=61kwAo@v4T6`Y~>ynI<0_otkp1DUq`!*Jh-u@;^k#$D$AY0eHY=W3es zmehzj^Y!AmuK*l{f9h4-KSE6b@gex9Uf~~O-GO_9@B9gje=3QFXPR-BeE1i@AwHZ* zaQgPJn@_E8&Okkwv|#HUfU|2z7>iZn)^Z}jQFNWHj`{^()6IaZ@^cyKsLQxd!ED?woS{!p*E%!C zy5?g%2hLX6t?NT#-fmity@?U?1}`@Fgr4dLI7NV?@}gXidsH|hFN%PJ^{Dq9P0}}@ z*F*x~Y*g067XOzx{)PLBWY0aulw zg@{)?2NgTN(;3PE{@M7qA_fg^AR0um_uC{5U~j6&jzln6LE8DZR2yI3LMz&6xZ-yEsaRXIBP9q3TVwWOg6=UM@$nso8Vp?32z ze5Pi=*_COA6TwIOISmV~Gz5Il-s~_9_d7$*7&P32u@*+*pBza;@~hluMa-GuF7)uv z0H+19w!~f4A!h;(^OeEl)ycMY+Q5AS;6(EmH36qP{-O>zs(n@0;zQJAFu#H1;>N59 zyucf^KH)DeAiSdZi|+ys;nf{~@jHOiWeoW{zNW7Ou1Pmo{l(uoLyruJt{1PvSg%CU zi_Z$&G3VOq7i{^^(2HKcDGJBoCg1%@i95+fX{4P3Zy0*^Lbi-)Tp&aqqf2Hz9h&vO9It^tM&)~ft-i-bct zh#li4oO+o%SWkY1@XtQF9qSGqCFH^cXS#s1i~O9i##$I~z=sV!;lKU`aApp*hjXcb z;~o#Z`nn_L!{7-2bwA*=^f$w?tVM0vANX2~1YDI5*I}(aYe&kps4f44GxPvzuiqPN z%Zm(;XE9y@{3_w+)vB>enwWPr`MG)HBIeELcn$ZLp9Gv;bItRv7Ws_NP*1>Y^krC& zmf;a_82*=KusEQG@W)w6bv+{R|1-z`eZW=mhmU*MQ*ucd|35oJPshOhE{sL*_OQeK zw_?sMlz+N?K*XF?+;0IK_toY(OWa=)aCVIcoV$z|+RQ@&_vu8#>&$Q>a6iCt|A__n zCd4$J%KR|y2b`hXW8i)P#wzP+kNcxy&Tg`WH=Y-PJJ##4@19gW8-95P;IyE(l)7FL z_xS=&&Uo<8!R!b)Dh+!APPNYrCj$2%$Ndfq?(0BX&&UhIxCfn~b7SEC@jURnvhHdQ z?`kpUYKmF++Tz|I%^6`DwmU=b4vMZf)?qA9QkZ{K8lFJi z0F!s}OY)K;a0mYwdi*iM9c!WTPsE%%_?!;|t}5>fDJHq`{P3JRoS|o9%=sRgv!d(N zIlm$13|&`S-QTc12A$P8mjg}?a98Ind49W!`(YzDV1^@X#x;PmtB*aLp9nZJ$$r0Z zK?Dug6aTC|i{&b=0GyeZnc+mx@FPycH5M8|c4|Fy(!wQ zg5ZRGaTA;n>JUgL6p>#W&fOYt%E_k}x!dJ{qxj+sPQ;r2ov&#J;Ho;IjAGPq?zXo4 z@6J$QV01lpC&p?*PDJ$q%FH=|+Op62SPj;(fQx6#;4uGu?hHK^W2_R4<$<5AjzxRE zZtR~tC+Gv43x9pEo$MeNa30(9@e!R*aEVo*&y7d(Pk!;S`pV(uHs zSK1hy5e@tXbmCvh5NTWLTs!brtt zCb>i(B;G@vdesiRthMfgzlZDXma+Q2aDR_%>ff5|^`k#@hX;G-R2xD)TMuaNj&
  • rW4}|sZJfs&hJWmL{5>=i&*LBa9W?<% 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%0DB(KgCJ%&&y~> zBK(tbO>F-0QD6FqH*X#V{_)1(pDLxD$?(tHV`SeW<9j!YF*M^%a{N=E{{ni#ihu4x zKVrpaE)?%RlKk^P2jVkH^3Ta=M0Tb@ z^JMsERSf?5i0Vt+9*)8v_1uY z%0%(L-t6H-`QSxlUI2@G5BSs(#~Y?<-cR_OOY76uZ1t#+4?fr5fS(j!`~h)-gl(%V zyfsJ4ShW4}G3w~6{k!HU@XIpfMOop?R;8WE@XNU|_~pk`p9Q|`9TvGBXzLsed3otN z<@PQ62KE!fe&?;&kE~&OM?Jge=@-5?dpx^m$a`9UcF&8wwY*c+z{NDD7 z*c0sa)AUB{OR`$ttIA-{v3pe$*uBT(Jqw)&%<6}3*|jemb};O#lHR}xOcm}hxu8e z3;NgWeQ-4E-;MI#R^?t9_Lau_D&@VZ!MvSBmkFmZnq4dJdGK8x)QSEzdnca9`ggg! zr{P;WxR*;bo9)!Av48nR^4`|ay>4&L`FbPnO_lemhRNqJ4*Z@+-t!#C?k%G_pLFPz zpxHU{o;F-N?R)~j*v40&&>au44np?fFGd&uJq_2DDlhkSX@bA0$7zU5Ma=T4CK zw2|!IcI>t4Ejpcz`*HH#R^?tdzn6)7-1gyeP3yk?zO1$WLS;T`CELGdRA?^)*gMS> z&zU>igMAF}Z5pgkqib`KFVTiI{@2iVT~j|uai|8`i;(SuhP7*0TQ!vC&wfXF6ZoC$(hTIqig@MZgOnFbZTubD7;`-u_AvS? zGrS(KWti}WD z%e8+6$kX$KM%3m2>Zfm!Wuo2cc+z{%m+uvOF%bP0)4N5?!fY=X$4Ao7k9RvBD>0^M z&Zaq9Y8PVavx%my_=Zye-*ck-Q#EI8Cvu(V<2X%AYub7EfmLI*)Y?}xSJ$%*E1p<` z=gQDt;+GbCD%&?MV0ZcMrW{t#+mH2(fz!|z>}$~u+B&cg!2QUT-iaLQPUKs6XsJy* zkw^U;@~x*K-?{+#)(;@xI(6}s)temm*HYW|qTW>S&#DogM=nUYXY)z(#}?Hbp8C#C ze4lEKX4_Ydy;P|EX+1r&A3`}gr*B{9qg=jIgNk!>6=v}^PR2KU#>~$z(y+f#0Bb@& zM;^^m>@h)mc-b|3ts}u)@Ji%@`_Zp_&E7;~zXIR9+JnCK!~4Vg;&C2HN4pEr?(_xY ziZryl6YU1?v35@a9jV<{;5j;9fNx}KC|8w+{YEscYgf89yA-e|HHMbw3Pm}lT!M1 z<^F8d6FsPVEyk^t$%xC>ALB*+Av(}|C>P$G15f>{LC*XN(5MsRw@Gs~ZNk{Sx@hw1 zO2_irF=*2>Xg7`33iP>CyJxd&LG)Nn!uU|1X)hBxPlsGMP;PAo@6Q6Xs}%Fy)aN|( zt5Qp8DnlMU;U?{Y!sUR|_7=*a0)N~jjtg+C!v78Ix63zA94pz;0sgf4%Gf#as?GNu z<@{>p{JS`3GOftgGfTs=b+V9cbvN$j`F_bqWej~zKa6|r-UPv20^&rr^%;@pf+_f_FtLiZ<%Pv3%ETjA4; z+fmms!lw+`7lBVRsUJz=Q~y5T)2GO}G1KrAg@$H)Dm)?5|0BE2F*J-%8%FUx=GdMN zu%qaH!uAvGU!mAfgWhjv{Z1ElW2$d2@i^>VvVYZnldWjB5ote2NegL5s&*sx>t(h` z*lsLjb|c!X*p2DT7Ma8Po!&Ja-^|XRUs$vQb`05#WRFdO{l)w33HKYe*Btc04*P5a zvr%kKKF!AZPj**j8uk^n+ne&ftX@Sn%x4tXd?_7~{T zMfO(-?617}IYlL!1NN8A!v5lZCD~9Jl)J`w*XB!C&QsYrjjhc$ik)+O)0FF9QZ9_0 zm-#|DXZdij&*|9%>^jH8eaiW#%DEkNnq~RiC8%5AVP=B%+6l-LG2tQRqEdC&ZK&%Q z;ou$4L8AWoeaNq4E)yR@LM-xov_(AT#om3#PAJWLQY?sKZf~+n<9Ke zr{X6$nV+;3<)m*Y{iGd`(~zG8+_CbL@|dhReQt5g#_>dU?(&Tm$B{UiWoUsi{>x19 z3@d+UDfrGxe$M{xv6COlcT?r3i29JE{9N1z`T3K4uOdIkEA;ED{1jj<^S`6~eA@3n zM}97&94))kcZoP&jN?V@+~u1oju+r)mY*Lj4&$d;epa%*WFzC5v@Zeac-WN-t`~8# z8lmrdi2j_@uB$E7@*Hz7W?2R5TC#nse_7?lB>o(`NY z1WvC6PLEqWb#;wnMXfW%$zoVz7Ei|S<+ZPZUi7T_dX1o08|a1ooVywkbENp;ps2X4 z1N5`|-be0_nHP>zc%jL{9@z_&<0xE9R8w4MhZJ{z$F%*l}N zkNLD0XwSz9kSE#?z5J>@$c?qOt*va+kZpZ7&0RQ}I$-M(jz!wmd_FF0n_|8M7*Z2q zn>v_We}r~S0v@I#_OTT*EN$xrBN4;LJS*9ze)xv1=V4v}?_~2?u* z+TVe=1YtrY{^to?CcWGq2bW)kUYU&hWItq}tyS=+BW-j}@9TjfJ27W67FbL^J7KoO zkTn{|>?}M_=Vbfmp`3>PuYoUvxJ}4sCmPd!=JXAxF_a^Q_tJT;a-Pl32}2w{%7>eZ z7{@q_)gE9W@cS(`UZ8cm@QH{H?FV{ZM0>ib@g17f(ZvSM0dB{4X9#Nppx?$cXVcaU zN7GDvzoHm>_*?mV@pzJGOBhS^?qIya^y|>w;4hjx%@O>y8~uIYi=Nq-6IJHgB6)Tk z%BnouioM>c9-4O|{YX6d7s}H?|LOcg<(%cKF`Bu2@8LS(Ea~(B&Yuh6{Me#RBChg^ zh^ws8_`DWu0*p~=*Gi1h7{pa3voUhAG3tO`rST1*{);h2a%^5^@8|QUzf{g&!1)&T z+u_?Rjtw}PF}ddl=!?MQPreF&E3CKqsXt;JuZqu}=~_3%JDP4nea8r&AC&zO`1}U- zB}sgK7X3&TpKq1#Rq*+L6grymndkpR+Ux3EIg59!b?OJ5|6G4<8TgOpl6S$5Q{x?l z_|4)Sh~vun_8W_hn(a64D&Cf-kc z$L^6$u$z|8&tq6p8DXc|na(F$VG?XTvYV<WWRM7eF ziQ_vsN;{wh=Wnv>4wkP*$B_c4rB2e#m9`N z&jumC)}+sx$-g{vKI%F~{^bGW^sv6j_#gEnN&9g(_G?Vme*A-cucFU}DKs?evvlOx zSlW*hC@!LHk#-~EaBsCECNT{%N3lTF2Gf9t+LnENw!@Y~Hp$l^nW7kl6%K~&%Eafa zrM*QmG8wrguZHHV9ZhAh*COL#9B=QUTr9NV4srY*j?xBOg7Z+!YB=W0C}ssrYllop z8#Ui~kj1MSDPHyDWPIn^)n&tZ8_f%V_nc={y}fpXV|Ci$KE|tHx3YK@=+(jK%ye`s zbTrGekrye?Qhq~z;rOs$IDzqo!*>hu;y=+J{43f)@qEg4RQ3#itC$m_$Xgb#`Ve8FkoxYT8To$O=HDZ??5?dAC|?jA&)hm_uY^ESHjP+lsAU{@*RoRg|O>h3B|H`UL^V9l&eX&JqG1og?&u(4=dp}cVOO@V%ZJA4;jZ!XYV3g z#NkU-&h6}+&qHYJoX5Jqr2H6Q7nT14=Tl+Vvv~+$I-7@}xC8Eo<{{vNjrprO4^bMP zhY+~FF@w)ToMlHGwlDJ#7PwB>o!C4?WbDO^=T`F&zh*Sx82*xS{tI?aG;{fWj&rH| zw&MJ!qTK(8WnH*Ll%yT8Fj^I-mvRu-1&tGZf-?34GU95gRn?E@o%K?j!l6cnIR2!4l}4 zN*v|fu$&imBEM*|WBE~^18&846!OqsYMYz`-bi^zpfzFaI_3OnoIk~Wr}|clBgik?=ai>28gMM1qMVnobB^U6oJ%af5a&~|{$0+!Gd~7&3i&ahQG_2ex+Lt! z0FP~smPLI?R==Si z$?CVw^1X_F+ehnAW5m~YVGXq!k0Adg@=27J-?6nFUigUQM>^$ zv!-@2{}YMj+@^v}&+=oQi8If09m8@vTgS6jnddPOmn1CT0Bj^1m|_L$d=}=ALU}{2 zh)K$vA<7>rLAzq+4Ur52tJJ)qUy`iDPGxfiuw&^x9k3}WZ%FEeL~@2`?K|1Vq0C3&rP(fs#GLr~WYzG0$seSA zvXST$og0{=Q)7O6-8^QJ56qGIbfNx`4e<&YQ^au0(vw1G1)Ay9CkNvT*+xprc@`0#7W# zTQ2%jjd?kW7t{D$h1{;b^&KO7*&+KQ?B!DGOOpEdV)P?fecXZk9Wx!rD0Dm$ z`gq%?|5^HY*S`NOeSAw=AN7}oPi=+wvHWG#zBrQlcx7rI`|~fVj~63X`Ty%*EFRt5pBkPiyGlceNo# zUxRt!+8>kZWNXn>-$(cgKbWzH&21#@o5EKJ z`KHh#z4_bbIYw1?91-7#t&4N|rilI|8{4BjK|{U|>(4Rreb~FOef+J4HpODRjwKOpAe3Xm@lYdt#6Im|(B!7jurX+3%y@-ya;-;P*IJLW1W z-?tsU8_6K$rk%+04(Q!BUl--!;2NFpQO?_OZpPk;wDwqF@8|G^;>9Dsm0^vy_Ull` zF~Zv&vJV1p9n}6L@wPwuku2UmBj2mwZTrn(+L`fo`fv-pMI5ECcv~y*HiWZ?pSO!O zC)HTXCUIECW=_1|$l>h;cy~BgkH-z7*1P~4Qp7ux#l$w?MK$6aE|yzqBM zuX*9ukH(spkxXvvz7gVh9F9`n^KhPsuOjCSNru%}TRMKrd`)vK)CV~xTkMNF!CR1T zI{$}qegNmP9VuwX*TxdDw}px&Hz-*00ed&clJ}JJw{dR961O4`=O-|~aVPeaGR0Gv z{r1_l#|}>#WIqI+bkkbjB=MvK{YVy19+B@=@Z>FecZ~T*gYCE9%X-_g6#ds#O4EAVy~u-!T5r3Ra-AdB+s?+ixuuBt|FhTIPG|i{WBa73 z>uu9b>un>}*^cuBi@JFG^#l)wm3H9_$E7d`FDX49Qx7Qmzbpa!`>Gi7lX(o~r&;zx$WK-u{>c4D0m+1+Hf{=3W1$xKF^zCv*vhvQgw?(*e}V=j(n z`MF&g|3u{He=#3wrGF+}1wJ}P@i0yHL&%SZ`jDjlsYO4M)jt7z6TwVBw?aR2JZzNf^O7ne!@eHlu$2tmgpXuGy$DN4(y^cAXH0)PUgMC74XkQuON78qg zmLpzFxw5Z^)_ja9+KDwEw2$8I(3+3vJ+(U!Yc}tx-G)Br$u;~j_SC+JzL5c)HB%ff zz_A?v)7bA+-xP5y#nH?+kJ5TsfxCAozF}|v;eZ(OH|NS@Cx1DzKSKV>s4q#%--pNx zOjiDE^1X`wDpu&&SNWSo>n5NF{;$ek#=oij-AcJwkiVP7@kSh%;(tE-o$9+@9OvR_ zmcO50-@E)Rz}}W$Wu6%NK4Ka67bV@70vw|6$K?Wxyx8Ze6_{0lJw3g^qYc>Sss#I7 z^%EtJRn$jxwLpB$UTv*tarmf=|&o^9{%39iStMaGEv zYT5^x_SB+1wA_yB+F~uGHV6C0MSSZz^qsWGZztbL{f4Z*reKbo|2oqBy;b%Xx!eD& z{+?se-xkav(HPp0vusC>d_L$}gK?y9-fh$zOs`nkt!~7POGQ~(j^fE)T&FRp5Mzq5 zV!W^&<5z+4b7SmieCQjOG^a#I!g={8>A#ZgZyx5iDhKDcSy=nV_y(~dD>_>79Pv#6 zJlBFf&3=p=sT8!$jXnm@N3^xc4gOgVUiE@kbHS_2z^lcJidUyNmf|^2knt4sULriz zLTiJ;Q@=O)U$Oc#`fK**gQMJ^ADj9^``mGU@h*_O;uT|^2+yeeKv-br6EF5Qrt7hI zMDoY3j7U7n5$*CLpT!M+&J}G+1drUXiO5zm^A7F9V#_KvXup}MxF4PaS^p5|8MKvTmd3MO$gFw1%7x7OGfCEMz5yvo%6cZ3 zb@u!aPjGP`pAYLF@g4Dy{t>?gjozbmmcWXa6&gwUSm__oAXu(xFA!g{{d3s5pA_GD zJv|BWlf*Q}N6@_*ct`T&NeR}W@+4uo6;GPwMDoOsM1L*yEqtd4`@$8rFGx2LU*v%Y zXfI8vcL;ANmx}biSw}Srdtd`}7~QAeUf2iJW|F~kr|z#OJ(3Ii!;O6lld*R@pc5K3 zd+ih*NZ0p*jJMA)+Ae2 zS31^l9w-_3)>B_hGS=8oXP)*}6)>jd%@jtjeXs7bX7(FEeh0X^4D8JhwYedhs#+2aaB`*B{au!x=TGp4Joo{?uslD|GauTUspI2-8 z0o+&b)rxy9xc3G2N%uDvCv6*fv4+#VHC6Yb?d_0X__uGF`$v13@|=kuY<>k;bu;## zBK<7+@^7@B5^`wZ8p+?jM)>ofufe|QH7sQFt|c2}ju!km=Aa}VsWyc9y%LY|scmyS z!DnFmjfKA034I~)b&B8}!elpiCm(jkI_wwZ7I+8SgV`rk*HYLcG)5aolo~rRK9PAj zGY*n1wHEs*F_{K7{1r5{YNy%O3CT3%0q--(G_SV<7)-d>cD5E=n&vU8hZY<6kM=k-w53tg2LoGap9<*E zD8C`5?T_(g-DYjws#sYfu&7$xlNc(myTOC@I&SyetYSd5gJFO@tHdY;|4n4~ z1RjWcZGul)At#^P?Z5+j1Rnef`Fey0<-lBjEy`>FE})!>3qKQO{Iw`E3A8|&y9ggJ zu99D(P1S2BLjFxrL>0KX43TJP1s-!sAA7lOYpGCJ=?oBOBXcRGIeGdizfwurtT z-$qKh{lFrxhV~17m+f!C*v9L_c=VxO;q{j*IKHX-n=df=S7pGqlq!#ro1i?Bjh+jd zO8epJMr&PTrf~>s&^OYBx!^Uj)e_N%D@8xvRAg4#ODnN{Ro$PVY7nq`9PGviu+OUC zb9E1Hb6i#G=REW&7rula@q2358!>D^GtWt^r@SRMjT!Z89N|!O441|(1vZTv@1gIF zkxlQlS=*{H-vg{(DrG(1dywPL-or2@#aEZ?dmu9jy$5o^-otF~6yHG1gIVdGnEipQ zCh{KXN3}vWufkll)jQ(xTrp@yV@&wUd5+Hwgl#bKTiEEI(ArMe2G>wG@uSUevtsaDI=&UB`pa5B;9K_Bz&C~m_@40j*0G3~ zbORoQ@C`nCulOeL;7`fEN5zA9?;(7nm=A1fX^R0zn9c0QdZlv5Qj@&L_sP4rz)?cDyO`mo+$ zyD2^uFCONFT`1#K<~UOrA0uPv8wI`0->0Pg<5Yg#D&jkHAww*-vsKf{F6(P-=iCJ2 z6_UmQ@DpLbjP3j;h7T8OjO6o)#&)g~bfK7-jBQK*qNj2K+h5O$K98eaj6P+c4`|d^ z`ds=o>GK8V;S<3+Gkp`K&vCubCsw?C7SRX1?FN0MFA$HXr7sYQ|0n1Zhx!GXBEHFi zJ(q}$+CpnjVJ{>c|Nol(`QRw`=f^SnQ)u!Za>#!Ge)VN8aOzR+!@Z&pZ$TEN{dOeV zfA>*t{|r<6_cf-l_yo`C92AOARSkemutW>?EO8l#?HYeRx3zxR46VVdosaK=xQwbZ zvu;~ir#AXY;J=cd~bSteaj5^v8Q2u=MqoQ^p4tb>NxzuWzs4?!~>TvqT-)xR;H4c3(5@wM<1_CsR984OU-GiSaA6B^TdS zhChq8q(-)-I^32ksVyaV9=_XwN?Sx+U_5dIDR!{_Ow==fn2vbI=D@@02I;1yXK2mt z?p%GnhCNDWz%Drrd#j?2o67QaYV(b|1IRJy$I7ldL#uPoK1Ije-saY+D0^~b**UCi ze^z!ImHl9(?!`X+ttBW6UrVibHY=N9FnVaGFnRVf?d#AM`hGNhSDL<+{Lppn z^&CSkX0bXp9&5+xewSyndR@jPe@E*ofhE<74&m|1#K!+S36B4vwCM4F8{=;~6TI_A zo}P!iCw2U|>g+2F&)mgB#h zl}&8?-(_VJ8~*`Gj{k+R#^284lPeLQM!Y>DKAA%pumZBzGk{^hN9QPVS3Mw7?kXYM z0t0?Pbf;JrFra5ih7ni+9B>pHZ>Z1PGa{cy+)h4!BRzk&l>7eTd9U&7i0Au9KHq2y zJ%2Slf0K}V;DH(sJXMVQGU7+a7<~i29Tdn+4a>bFkIOw`Z)Ul_na0QE3YV1_ad))b zm$R~IQtlhvqqFr2lKY#Y<^J2OYr$%gVm^L7Jx)xeq~hO&|1_f*ZFA2o)VBji{IyO-Utn;9yDo)e@MY0s z@ztM6UilbD;Pu7PWAQgu)@5u1-n)Up0r0fH7UNh6|H6LXW)*|S(^yo`Irx=}&uc`C zg>qev#m!CF&+;mF&?j9o7{M$S&c^$c=&h`!^3W`HbM`?!Nap$pr08Ju{ZqepZJ9xlMX(M zjfZ3Dc{3hjZ~M}S=VRmHarAr)Jp34WT%-rV7v0_#r(OcNionBoy>Vlz?i5pz}@XTt71n`2iy@NgaGdp00; z;y(}9ABOH|Owkelt!Efp6^*e&;>ckJ?gd~owqg%@nv+y*N3vUK4z%&3Kz#rhI2rgG zI1~9in4@BQqt<(ZZ0-`dHB`0{_*MygYXiQuqb@$D?ex{-`4-uJJhKjd*xIRDv!;#L z7t$J9!e#Wao$euC<(aB=YuaG_cDg6*{+^yJgYIuao>IrPTHVg7k$OjcR;0epbAtSr_mpKr>_*T>?S z_SM`rXM8rdpT3^-E@2Dkq0($2^>qce&7c>$-Hvg3E|onyS})wf%4RTqQ+_7=gKN*# zD_}cV`3DuOEbMmBc^mQi{0ZFVpBk;3u3%*c8mwIy59)9G>P({r{q#eYRDDx-jo@{` zYm%q`Kx>%6(=!#@UdD&^Rdf4(I@@!6aLB*YvcTKG6!NQ5sx;kmjfVXaj?>@&vA^Dn zb1%;0`Bo_yGwAj@Z_zNF_Q2i&`qfmOq;JAG^`RVN7R#@@n#Pmta`F-H1`i=O>vY8S zD?nFo%{h7{=&Je%7saV-D%CX!b-_nubs@*=3)HoY?7M~BzEkTuFHT((sV>N=pZvwV zNIqMO95muHw6V@RVw9docH_f}efQ+?+`c2fj{A$v(qH_`hs0+g-?G7dK-id*Li`Xa z`wlD1`FAPtDvi-?!Z1#ryMer!vZnhg!h$C`ekzbcQ zRV;Ywy9!UK_6n_G`6@GPKVqE+vmZ5Jf)6o_0BkbvuM70nOo|JH{rwLsKx5TT1im~S zr~I2#K87v0j^yycbM#z%+bF^o9GwH+g+CUy1w%Bum(eU_3wFEfglvXwk5Jj$SXpKZ zHuq)=8dppDhHOC-eff1s-@R9JnSI_&-)cLH$1K2}KL@Iv5&oEV9BBL^`D6W=Keq5J zW`AJpN5TGJ`oAs|lW7h6L&rHm!)w6T!1bObX-42h?vKsK^ET{*;03k^>}iD0;pgq) z=TqtVEATvUpW;FEd@(Si>O0U2RTK5!KJTwzhI22@MQkWs5A>b%>kc^D>z5HY}zlV1- zJ_1hk^b8Ttmm1?Do*xqVd}~-oy-LrMeq-1WnPXCq+&aRB?Su_a4%bV-kAa7|u7C_T zxTOts4P+R)1y~>AvG@N(*uZr~guGvYvRq$<%D%zM4rF>Ig?K;bn|cNG9piHo=4@kS zp+}&DSiQ4O<^B=zIge3=>iq>Po5jkmW9?1j@-rhEbDn2q2bnNuFfhli`!SBHzG}Nl z>MJM9^zu&X6-AuV|qd&(Et_e^$NXe^i=hq1f_bPlu@2PY#Rk=ApC?6~1xX2-n|4B2tb zR(9MN8Yj`uLwQ;Hk|mnaj%U|FZd+!P+z!+~^7-rAalQ%XRA!!Ci{yV?ld|gs|HDRW z@E%UXwZ)sE@9S!2j@0J~eLpWwf3L&6LwT934Tmblaf3Lv^5b&QanmPb^k*=RRCeAd z&0w}z*w&4p5%{#(eIQeJp`TP|nM;$r-t3+Q{3kyIbQCex(6fjBi1K(hm1lA&Y_3CS z2fece?>77SXN35e^N{4%g|s#ocGtI6f4;=Q_;n@r^gmFN8qKe7l0Q*utOMO(KXrQ_ z@28(@#jho)oL_;t%%8xXnC;cVpTIhTXOKU(iSoy4`x&i|_BT4#WEkz=1z*=*fZsEW z_SG|u&hO$rtxL;hGg@+XlW1U$YP_7TRi+xyE2%yv`x_HSje`Sugs3t(S0#s3J= zmGLdGZ3E~VsD}U1V)8%UEb?Su!ra?3@}aLB&gK$Snm$c!`98`s-QkG9lQiUxlI~#qUpAKUfBR~V#eTx# z(gGdx#hY6(mtxij(}-3p1~IQDHNt)gHc3$@GXnk-7 zD?22t556hvDU2`e$*JnEajfi6S+?0-AbhCrN6X%5R(4o~+_kSh4l?J6(jAvyDRhUB z11WQ>X+17vZVY6O*`p;cCU1MklDwry%iC!w&=19iA2bXQejO}`A#dqi-pEfUe}eQw zla;&;f_x2zybUqhpGCRaOYr+r$lGN`=d&Kj8}c}ZWJ2DujLur{aJ5}O7xD&KZ}zrD z&wmY%!^2s)7gtZfe|YT!$Xk<;H~0u4J#ktw(-XbP+iE<|{3q%!o_Pk}L92lM(g>NW zeElT-9AHx?XwnLQEdYM+08KuxbUb#706o^)jLl`p#q>&x)7_aAc@H5wY2p*KiN?InxY~4Dy~VrdYUc1P5dzWi5z!kyC2#Re#ctG4@-?OUeUcM z{f%q#J;U&xmRC>@@bFNjQV-&YXQ=hyUQ|7}ChM_NJujmk*cJyWQzORrUF4eyEbHF% z(Q$eQ=2Y8PAJ4FX*{fCOb9?nQU<1ZO#gSn|=M^JaS>RrsyKFd*4>qDKa7QiMkCh!I z%XYiB(me2@&8@GXtjT8Xd7tVX9WGl1dy2}wjIyUi)_Z`JJwcXja8E4c*b6=}+Yx(N z*%Mh=U~io}XJpv_2VbJS4I%%ZmCYvHYuF_1jXcnq>e6}+D>>@l1oNMszIZ59D`=$-&HJ;IW zJLpaR-A9TngL}_l9>1Ft z8n4h8EM{e0(BPZ+7m_ z7t;C8U>6}YrbPebT+zCMEcrZTqK*ul| zPH-?9syKQd(fwkShyTyYBVYVZtQCenZ1%#xFwgUSkIK(Ld0+)AkG#m!u{Id>!)82R zuQvHQ*HihaC=X0vgzXl%WF>MtAC5Vp zvVUb|LwRsHyKYP z#_y-IvWfBgSXMSMejmlkCdThstZZWZ?qp>X1T2RB{|yA*S2t+lR59o!m@v989m>!CO0 zTpDz6vpSb{2=k>ZmJ6(=yb4w~^g+1p)X2IwgzK*9rS3MWo8$<#1Jzp$y#b%Qfqd=- zkS8WH(EVl%pQiG3b1yt?!rB$@MPPVCXb$>{Xslht%7*6Un%xt`+~AC8ti7F;Rbs8P z^0@6v7(Oo2zPp~4%{18-;9J64(;VKK*#c{;dHzlm){5)Ww%9$J^WHq^?>2IKFCBYg zf0Y@|*W9Y)YdSFpvlG0+=3R%Icm?qvY0GEzGM=}|@g!csJYoA1S`)3-ZQ_;caNWVL z;`8BER5xKLc!lc4Jb8#${sL@gcuBlc8L97ogFH6EKPTefo1VO5SFX$PpCiV9sT_Y{?=N8EAGY^%26B79KlUz#9aU!)FFTAmKxY41%&&Zo zdu;9#W9^5{pR-ldUq^hK+4B~8yL;o*6`;CcYtq=Vy5N7mhc$f6-n7Uo`$L?%-lV#K zgXA+D0M4oLg!2S1V0^kMpJW+$!4GU?u}B)AFYG=u zFWkz?hIkBfh9cJtSY+mfN>;WX<&QOl=M2F|XuFvgp1e%*LSlZ#N0)IdxKG$!JpRS; zAQnH|9f$4<1~>TMJxz6@k3p2{4gS#ADScQ=p+5kE3NpUF@8Sb->|k3a@b&%-+2IY*uaN6t6coQ;$FnO zeVL|jMeGjvfY@DhT+<(?u0K&-7jv05#{nSAb?!7L^K0asK9f%=bC-qWGeqP28I40Z zybU2)CO?j2b*SvUtSp<;SH{CS4zT4?DW81q9$0M}kH|Uw1DA67OeVkc;W*<_7l(!` zEym*@#)Dz3MV|fQICb6C+jz`MZai`$$D=zWOBUlXJc;p`mE?HTS&fIC<7FX>mkkZY z%UaT*KW_-z>h4op>nmnZUJcf}a9h1O6fc8bmp0TZhlQ<9Ht!9vVLaG>2ACU5E=I)} zhoLkMS6ItMF2%7`Sm7>`v+j>m5=;W%YA9<-ixFO!XtVc8(v4O^fE>wjBT*bVx|mILR@ zul1bsOqS=7*R*>!Z_@64AjUr$qbFIK*!{r)%^~$0#kBjeXyC z&(iko!FT9ho2I?h{qr+i<-TIjyo>r%gMH>e+_p={s2Tjl0F^ZT0QQOKU@ZfxJdC zJ?d1*^9l#~z|C6z$!tAUATR9KG#+Xb_WP6=yw9&|m%#6>8m_?NWZetP!|ty`-ar4Kqgyq9XL{X}0mjS==SUaiOsxA(YyUwJn9f5XFL1by0y z7+HYu<1!6v>9c*bKTr!W*AJZ;0FSj2MxgKX?Y~>F2P=K2s{`da@&7H9?MU-HvO7!L z*D?g(S2|qs&Kiv8|6s4}H4g1|qTTK^ZC?s~vk2vBd@o4RhOS8q-*Y1;P~JO;`qpHG z?-gTzF?nx2?$P%MEAgIo;O0in-ZTY!uU6oH!{M4$Wwf>$^NVGtVjq(X?S-8F2VZQ5 zf3^wVVtBRR!597L%OpI15^@P7W67WJl4e;UgQ2R1)&1J0p2HLmfe7!sk^w~i4S%SGT*8uD>unXs7=igZL8umHw z%-Qk8G^eI-(p=yZKK^5z2VX2ran@qrC*9#V_#*L5e>>zuOY5qJJhkO%_})Rkrb@Oi zl)cIRW%a6Z@G|irVNO0Uo#qzGbF|>S4O+w8M@wI-(X@&4Mq~a1xkNdbCoUTe`2~Ns z=XrvIz;AK;X)#{0#xZU^mh?&kb~}7_%E^PQ(E5NqXroHIWuO_+?jiJjdM~uw1bS`6 zUiCz~8at<5t&P*pPPBu6FZb=A3mR5~hTxAT$Cov$Xpa!0-<3JqV^y?gCD8}=%P!1= zs(cx@kH>&kzodLHL93@sv^t`E23nc<%#A%HC7-Q&OYoV)#AncrjmV#2d4-Jw z|8zcEpwR9jcFw;)I|JurCtw|_5qLPoAl>-H#h|m;CjE9zjOTUJ^U#mYR{C*< z>3Lv?C7pn)&3)C6SFdII5wr;F#|5GGh4f>ywslgJe#|qq5BjlLo0Sr!ACEVci`x%N zyyyCH1@J+|_#=v2z39hln+0x-V7OHm(vQdw_#tv%7;X)X(vL}vSFCYNo?cu(o=5qJ z0`qfBv^&=N@r~Z~<3E*F-ITv1X!Rb>j~bu#q93=v8KED;dNOO_zm9?HY;0W0vqf| z`HmMI3EvTTQY!sM_>db8R}0_K;d|>OMK{8h4*8Dgi-qrK8rx|Wz9YXD%Xi$HkniYV zzT?LQs&2$J(v4Xz?mH^6hK-*{-N@hF)5D+tlhyOm_f(#LEXMP{H9cQ85wVIota~8c zsyts~dOjK>dAp)9RnkxO9r?9R#C>GUpM1whpH_7vd~3u;)`!|hx-pe}$2zT`KzEZ* zSQ+*muQjy~y0K3CAVXhj@*OWVm5bYt2;C_A!FA(SV8c#^iDPP;J*?fU%_Y4?xc3BKdLWSH-uDPC!3#!cHOrmDnSi+CE!(6 z*Z$`Yxk(5JNSFl8NJtn25dp{C42)`>P-`6^1QkT9wtaO%2_%RiSaX#=TCrtD?`_qH zP;Ip}45Ao^;Luw2Y32~47I^3*t&sn3?cv^i_C4n&HwNVO|M)(>b8_z4`|LIB-&%X^ zwfAPv_?XX2_A0r*FDKR<6Wy$}Z}wTR&%4g>t)uspnCKJQd!VD-YK#v$AV>R{XbYJ0(x9;F=C?>*PAoM2*vf_tBrw9XmLGzx=dIclv{<> zSUr0Fa4gUoEASY5>1 z*M~_w3eI8ex5C>cE!KGZqE;SwU11fY`-xUQVn4L#&$NFu%|EERuH)_E)!}$s9&De2 zw{Zi)@OFmQK8Ck1jtj$Eul8ORU5CzgvEhU z_euQa-UK591eCz<9*u%~m1<}X)k??t4; zgx``59tXMr{fpzbhvyI=2Y}@ez?Z{1mzl$mL*T)>>L*1W0p%Gqk6rWlZsZbppuba) zSMUmQ3hIuu&m_Cnhl~6roJ@`NRP71HE3U0D_6O&X5U+5fUBTGCh*wncc!fRRP5ubyJCldS^XT=7k1qn0 z>m}^nBkZ2z_zK+XIR5d}5RR8y#Vf@6pgk88ria!C(OxL^Wr*=FL#(D)iSc9nMLI}( zG}o6=ewc^F_#Z|tmx}3EDVS~y4q^IR*f*1K`}fGvQ?b2P$@gkRteuPc$|i48?tkk@91@qbOnd1xmY+l-SC(?D(r#rik(LQDfR zQLMiV-=#finm{Y9HQEW?_Tc@`^N`bs@wkC8`Ug(}fABuNSD#0GK%OGLPw&5E6rD}F zbTjgGmLXr~N$Ap@mqM444F6ihzMe&Wl!Nxt)5xJR<)HC3K4$-&KQq}6*hLmE!J3}Z z?8x?G4ZhXBh}I=}0w1O_`%%s2*j?EFjr{L7d;3xdA9sdwlpk%9_{hI4%fGIbPo_EY z*@!cc{ZPs;u_^zeR^ChBe`*}hK~u{AL@RH{C-kdw^SE8|PqiOr8dhm-fbWjElx$z^ zKi1m8Go8@ z9r4#i`<3$?wsW+)4Qj&^gRrL!?duTAVH>Nx7m*Jp`@?A_Os$99$)4w@@gL8{4G2Sr#coXujq|LbyIuz}<>5Q{^(D@pH7x&{{#rQh(cd~(B0yk(c z3O$cbjf2D>-Y9dy8azA~td-&)$TRj}u0O+NY}<$V$VTKGe~x}X`)cTwk?#9qbL}eh z!|DR`!ve!Ns{ws827Q#SOHpnG@`4E8i!et*b4#`8%RyY5hG2jBm%1)}->OQ=Hxsx(SkQ!eo)5-dxLhLg(qt$2`*wOBu^tP3Aibp=y;GQ6 zxG&HS9;k9z&+=P)v_1`7-2;4yB$ro_XS*3Wdb^=3n~`Tb%kZ@R4)Sb*3}VxB{0W$A z!dWN2MUME^9niUbm@jV3hKw+0T;qyGTjG)Dn1Gy3@0Ph&U~fm{Jm*cUUqyUdkGUz5 z-A$0)gTT;@n0rYkdG!N^V(vxCsWBTohJ5zHK7Wq6=Vs(cw_yBVgE~l_@tDI&KXCth zC2n_F$!ue93vvUqj~ITcdp_zeMcpm)<{pkg-RKu>?eo$PyNBlZKZCprG2UoFUg0gs zFPsr$>}_@RsERvMwmj2_D{D96TjQY*P5bYEZ@1f1wi|UegngQ7*+hY1m(91Io+(OM12I zNC((=O#7=dFh-F_BD?3lUSHhnzTWJ~kfX?REJeF1K1$>D(h1*fyxtwT|5GC5ZyW+9 zcPjTk!nnO4HS)M!&HWF@O*ua5{J4Go$jE*d&;94)_Ir~RzpL2ohu>3eynJq0{>1nO z>38w=$Z`8ET6yGuR2X;n3LE#Q+m!#2R^A}L>sAM!CsXn_61DPndtgJ!r}FBpppE6UN2KvM@aoT$V<*P!>yHPo zio)klC9mduePET!t0gBGuYRKN>S}h+ZQe}W>o#vgUdZOWCwzRLtF^C^?AhV7e2#dE1BAx+leG6D(qY13Ne8!6n~{^GV()t4r$24ur>kS@ zSK+72vGqpbr~i(|*6_7F@Qc~l8nKVY;qcd?m)Hxu+$b94>%W1Gtt*0KYxEm7w#IcS z%5A$)jIH5Mv$3_>r_wOC9*!{^VkVzMhiPoR6W_$1SGHs853sK@!z}1It#um^w1u1( z5qW3AcmBSeZbYodQU=@>PNuvtf$t-Zg*?D}58{YS9*BET&erD`M@e}+hc%TL_gKpV zRUG9*_a8m)$oJ^1xUsC=Zmgv$uDu@<915K^t;n$fFkYN_p&N_uPi;#Jz4q zPRsySz zEaTjXP97guW9F4KzEajtJCxY@kLkBQ)-m%z^jl)+w;aTOu(y&Uh}b%f=gB7B@;~h}Z$(`q=B?QznIos#B>v1~ldxYNi+LkoF)Kf^O$t!V zTdcbta;j>RFy6p^F~K=gHn!mB(0))OZ4&>sET5p2hfTw}Z83II%D-w;{$E42@6*_C z9>y%eIZ6KgZ8qgwwesxyue-x?95>mN|2VvSwJ{et@7lV!UuxyUagg&R95RGZ45 z={YwWA60ECU-$iduzh4x#k%i#n6o9Dx*?Rif1B1m*whN+<PgCz%ev75$5BVLdP_ zBAq7t7g>%G>#^h)w|`41KTp`dTaG2~;D_kEQ|EK9mb^>Wc!xFf<&t-D%{+XNl_vo2 zCMdicqVcYyn1dQ~?J&0%ykjwk2xG$w(++Y!i*yV8xhQDYx!y$7kK>?ct(2D}^sE~9 z$E=Tbpl5&HF8V0u7s&4l_EF4Jd^1h-QCcG+`1nsAN4B(mc9?4SJfaLD^wB32-Yxzf zdG}+)9I#)E( zobqJk;mA4VjGlZ>c_ii<_hJ0oh;c8Sm-{*NF?Qo*f5Q0C{PG;kFY9y4yJpgy@=)J1 zV=$+Tezbl(!|L+joHEW~Dnou0n^PV|eUJCC#)+6y#yEH%#L#&IpzDrI*sv%@{G1heA~dcYh8(fzhXZJSyq07%In`b zl;>?z_p7}Je5CzJiB_7Ac40nxB<7*zeDoJ=K6(Y4kIr@^wE7W4DOni5x}?&xx5$V! z%|#!M&Se)-)+W2o-?!7{i1k?NOajXT_%F&+WBCc5z(ID;=b-Nt%eg2Ip-l5q7 zu_v#|=J97Ho2SM*CP%h;n_0Yr;?|zPXMzeX#c zOzls^+8h?|2$jD^D<6(qoG;-xC*`NwZ2qhnF8+JlJLyvsQ5j{jPBgY&2{p z+2~-*8s+quwam}^R@y-H(?*mJ%@K26MC6^x2J-jqbR%LtmNMX2J{~fVW81-+JeIEMvs{_!u0Q~S!npzEOg+%)4vA$Lb-?LGv6t#gIvBn@SU0( z?tO1}&)BNnXpf%D_a89^&o2se|FjJE+<%I&_5^2{ zTIK=6o=&k?d(zIw#FU8(q=HCPWK{m-W{*G4{LPv{%@pGC9|MTvnd zR{YQv@I#qjDb^OwCBL*6{8HGkO12Ip!FL6%BSu@;IuO_)@{`ZNd*pwvqqT`xHzL;{ zVr*#gJyU??a;}Z$=#mC2ekt%?{`Rh%heO*Nudw$^lLx^sJsIWG!LiAo#&c&xb_6+sQ`-Nds)!hakloP+^9Z_ zuN|xp`DOq8cj=e%_HbVc>)o{S@M|lKo+EvW$*)z)*V~jItd*}Jzi=yTi&p+UoAU8m zdG`G$&IM!}~YqD{xxF z2`PWoujS8pEDCF1+WFd-EoHSrmK2NPYhShp+edzFFY;@vjSn$T%5q~uYhUiu+6TWD zHr^GsKjod;dlBg{;gqC<`?a4TKTM4u%n^RnZRmTY9r#g86+h}G;YTeXKk5?L74oCd z7b%B5Ha*Xu06$2sb+C#>ZM+iasu}%#2_wb&2KY+nVvSfZ76rSt4|xd8kAmHj_{RJj z^kuoeAsCAiI2ez)EO&y4MHM($Eb7p;yl#p|kuS9t-!|}Vibb7?eP-m^2>A^vuYc#z zwdPpV7vLksqMGr%9X=q@992wewj(Si^%TxDWHBk=C*f6T(5K=uj3{%Lx<3tn-%h6^ z)?=wVJSH`Xatnn|buqi=KFl~xr@F;Ahd;pLn^LDXV*L!(8b#76_~zv$Md`kuj}SVA zbxbCm>gjE}Lh2OesieGF+>vw&{yD9g3DYU8z0rMhs#oe0t=)icjy$k*=9~W(Hc;28 zhN~gdi5LSY-wE^0pWy3kzN>Hkjr7fh9{o?ySNgv7i2LT7DZfbQ(M#-}>(N@=cj%i( zxi0)g?(16GcGf>E^_{n8p=giv&1uaRTQi7QT~^RH#~htlr_R==W1dc~6->pM2XcLl z)EBw_^|>73ljD8z$$!zMcDe$j&mHnC%C+kYy3`iVvoXQ;@G(NS#7%$!!Q4xVn_%vP z?2Pw%;CRt^-yg8{l=vHro4^*ZxCyS5dwCV{n$|VS+)LG8Mt@}M8Yymqz8{R6Sma*H zvB;DmA}2ufucQ;EfAO(M6X=z3lPY%4W8kmjULT7LoP>A98mXFZLvynKXM6V*X(o-#k{Pm4SzQ1|Z}-%s_4WBipk zqtj~7_pkmc#{|4RGB+<>D{oM&_}eie)*H$<|5Pg3|$n|47ooed1HlFI1nnBg|5Bj3VZXBlm^HdWQqEl7Lyz%bLr`_jLJ6S24`04r10N z0<&;kigHdMstYG3$?@S7O$0aj(kbSmzq5`Eq41iaaLR3fL6Wy4hXGV_~_5 zu-P)#a2I^^h%{U92!2PoIq#tpGKj#tTNK`1!tOcVUxa%d?^jO<;r&BsJK??o^cr z%IW@&9HZ6lGt1+u6HFfWEAp6gtmJ|HW`gVE;DZL`Q8dQag7uu_-vs?nwSS;osgws| zUzYNK@5$E3sq#QMJ9!*ANtrK(JP!uP%qK?w7_7+SC}=+>{R8nwCJ)3e*m}ia{}}CC z8c7}~H%!U{aZ5{iU>vXy@e31Pp`4vOY7@-zp!kzIpBfQojssq81HBTj9zRy{kmECo zHB&B5(0&Z_r9_ek%56VS8=w7Dvmaw1kExnGEXHRNuVUiN@)&V~$>TCb9uqWqbnEyG zc0JO1rnGGsp8>0AUnAg`X|2R{LMF3mdcIKJ*UBu&_u#Cs?{M7#&pJ6{tyPN>@W4rO$kUmk3&n)%k zSdGudpTx#z70UQbS(_UgUwpOK?7z$LS-Msp<1@_ZhmX%bwJD#dmB;w3+^`s*y=_z8 zt(C|4tlVmR_7|J-hkBXmNBIh?@!2yrNYVSp)!xEqP`0OL( zBOMce2jeB?@0iDDh<^_CO~=}2!f#9e6XjaY>E7|#^g8o+z+!x6+1KrCf!*`yWx&U0 z_fSrlSWkDuv66?y_zdyr{YKFUU!yOAJWy__lt(v>&pv1}%fn)P_PxrZzao!+g7#z5 zKP<*)OdiHW-{MH}K)Dntk8T>DecjVoSwwrQ3BSo=eD=M{<2leP`^SGCD|uLq&v^eB z?>jY;JW%e>XA8XQrt#Saa<4lf4~y~H_bQKz6?u$1R`ReOpTT})`u>RZpSJb`<*t$P zkn?BXaeQ`-+)q!)!(x2)y~?8n^veG6HttotI-cXRm!7j9pB+N3L2&-;1R9?`uJCRV zyXW&~3vsWH&#JI?HsbhfC*NN$YYNSub$x%mFR?yD&EKA`%%9E1{zG#9Y&7PAtoBFB zQT9jrGv>8uj%=MWr#6%3x|IEqwkvaLE%+AApA{e%+(Y@@n72lLcLl9G{P+>%ci)Uy zM%~TZ3Q@>$Q0JU8}xHaEui>ieJv8+(+?z53SDnZoic znfg%f#3OIZu^0cg+^g?Ztvs9Cl4r>%xKQf@^4N&GAVrTpzS54MlSKJk8x zeJYIE6UA9Mp}DDvTKh2esW9S_!p1(Mwf7>@VH*2LI{4UUH86>=Qs(%5r}a0p`1%{z zrO^5t_-cQ^9`0=Y4SY4q^>ab*qHnJ&@I%qo&yhPxXBc$LJR16|NBTWjU(Duh5Q9s; z8v2Jb13tr=O`<0_P6Lf>9u3!}D7T1cque^__W&1ydxfHpvw53|h=U>)7o0~!IlH*@ zB|Z0r_BBNL7lZRQTy7EhW*V#W_wDpJVm+4n!pCX7DPK;E(++`l)y{UCJfz=)m^9mG zQjy1fk>r7LL!>;U-=oWe=4}w0Hpv6!?Bvm!V3xQ< z|5^Aw=o2C?T^`*32z&Va0Xa88zX!IHY@ZW+jHrXhL6@&nc$dTOx!-dE?sdQCVXSwR ze$Q^qO;FAd%NG*<&V1O~@8a+D()^uV#oxhsBtd`YVysb7_kmo8eHLUcP(JxI%6`Jz z6(8vD#37;t~8z* zlK}61X9=GKc7lA8Q@ZGroGIGc?LG?@sDGyngC^J=ys z{~>5c(LY&ifb8fcJa1M#uLihUZjKGeb4t|M0DoqR4JdYW`pC$3R6VceZBPBGb-}gT zZhlVStrPfK=d{q+`k^b? zV~5`(Q__jZZK?t(`MFL3=ME9VR;}>EL#BBXCE>!fxFw4eL4BUTL!(VP~+&H5U~J z#T*xOnAU6P=hZ}{%jExay6of@u^vnQ@UiT5;E%K$Imd%nmG)<_JSX?h7rYAXMZ{^3 zNaJzfRbPcy-ylav)vIpZ2Sw33LX!dR`_#?4t>G9yzYRHa=dc(4V}k!b@=-FaGaCtvej`Me`XrTDeLQ7k|K}e)b;h(xm3Ht*4KyZ z8XKqZ{m%!yChZ#kwp?F-QF!^#I8G_=(aPJ=8Sc+Z`qgn5f5zunL+k7N-=o?kes)ZH zuzh5gaCQvM0guWKTVMa_ZZmxtuVHVhzG3U@-`C!YNQcQTNjkV)%0*vL{pD`8ONb5f zaacIkO1t#9+*b)YNb`|n5bNY?U3fe1v)MNQ^08c}ZTCE4J(m38CVmTH+I8a*e^U#fibE3WZOL;Yj`U5vc($KI>Z3$ zuL$jB+Z}sHb=tRuKVj$FVvmv#*2*~w@@>T&g?iR-c;Dsm1vA$2XLeXyn%o)R*3Hg2 z*kq_!>GrRsn9HpmzPE-FbD6bEVlDr+oTK=qR=$$TTg*{hqLsI!GaPFr{i<)vpXo7| z8-A{0EuUk!E!e(b%mw?s4&Za}%ogxDhT&TKlIc8wwc~y3v^j=Twf7>@VZvHT2glm7 z)1$*$b?>MS&ts8u3|@QRw*HWLd>ry^c{?N0E{NcWB9{3}%HdEtO zx8`SoSCR6w`fo;l7Vw4gvxaEnXph;puko%%bw=lJ_q z-0S!|EIow3>lJ_Z-wA(lKHCY4zmwbRXkJwKy7u_nzQY=S&(g}9d|d^<|DlzSR!7ag zt~LH1{aHBv_6oL7!QT%DhT-pPTKgFOt~@IYfB&q#XGh0sTBC1?FC2eIqAx__>vlK( zzVda4_^Yi8;yh<`Szw6WbMVK$9!vgk{H-4q!jRW-ukz}6;_tSNCj2$++wc`~U~KT$ zp627gyOj#>?qT;Fe}9g99e-a@F|l5JVrM8aHVV3 zUrBGMoow9!&W54(K8!l%W4(=M-keFVi9L{~;k#-ddx!E0sSg*Q?z5`5z1_v~O1?hA z@Uw!)3h-Sr{ zmVMExOfL8lhqGX2VI9U2wl8#C>uuP>FdjUKnKy6JX7FQo@{Y$#3{T({!+GZtsQZkJd}RK##5J|1Pw=js8UK+vkc2Q2SERu56r_*b92($Gscvi$UAhpj|uA zE_&|)wCB5g^Et|6!=5J3;u`E5y)n*nofbHnBKk&eZ`--}PFQ{$^yz4C^Z0P>O!)2C zCm?%C?W!8&UngGyeK1D)&c)yBZh)PgJ;_&xJo?&%7(e?P`&87rJpPXnpjTL9-=AM+eZ4W(?ffM zAMJf=u)m*+b8RT@3cs_W5N8mi;S7Qr_^Y)TYt})JIc)=cLrXv_@`P$JwsiLN`rU~+ ze$UWce;m#hNbPC((-R&3jG<0{X1dGoO!l^=CS!j!j15xo|7*;_JCMu(_U4!zq4p3oi|{`S3|V(BhgOD z&n#fj(cXv!iFgp{x`CYZv?9Y#ePlNJND+9Mj2z%*hO#0oN%(0~f z-;nk1!C8?yo=}|0PF@UaiU#@4Bl<-Q%GJl~j~SHXk4?_?r}Z)X!v;D0!;_tU7ur

    tP2ju3bfKmh0o{5x=7Kade%FcV9sJ=?s(EXnzChUW#X%jG{l{oj>xqVpqV0 z-19=%=Sp_A=U|^RQk{5ry{r>sSym^WZ5rhDd-&M4LY|@G!M9f7-C;uvKfc!%{2uWd z-vi&<>V`;cO$B~B13$$cqIE+Me?$A{Jmg^V2(D#9xnlY@a_eW)x&hF$p-+yVY%#~M zRNu20CrBPTv5$+>gHwgBCM-|)y@_?9gypp;mxA9&9;uLhI&dxnIF|w(se8obZ&>B_ zH?4{B*J3?l?Qn0K!vWr0N_{HU_Y&%$X9b6vR@GoWs|Gee;%XsqmD*j1y04*j_BL4C z$bXP+*vae(Ft#kuU;kLXzj5_sfAd6qBhK)<`ZyqSr#}|>MRCYv>Cle+?h!5csN|f4qJKKXXRfhBU}~7}i}%`gfwwq(SDxAg2`2 zp9=cZ2Rc~aNr$|QBG?N2KW*T_RSavA-5hIhy%J+<_H1noe}?OacxKhFdkFe>+0b9A z;Wu=D8`;tx=of@VlHO^g5BM9?I>szGIpZh&Qa=hN2(X^Zj|*x?yO!s zll5*#y(T_M`%gT3HDtVaL6h8+H5-ayyzs~Cgt0%KDoe|JlK|ee>`}V*2f9^;(~o~ z`?J6|7oG_l1HLEt9$3WmEw~1o_FW)-qw8F}dm8bPYz)dafWD=8wh8StVg4v@+fL}3 zb1cXFB5D^qkKGygrg#0SdSHG7>MQQ)AvrNRib3xZl=BEV6^(-4q5eG7Q4hO8eYzLg z!SycxFpU#y1{%QY*s>aoDPD$7)(wPDgYgcPlix_f`Ifg}+%dUivOmdiv^r^@37r4_ z+CpRXLwJV$pUdd^h9m7WSL54{<3H(<^l3jojqCKnF5-{WhfMHQ#h-cM_)|gq-G+d{F>+`0wHSIs{^RT`Nj80bgP=3Ktw}!8S>jI8W2zF#iSp zE~H!WzGke8BzXt@7ge|L?y})Rx6ntKZsA#&|B@_pE1m0Ba`2p5XJD49TPxgV-9owB zseWKUQL@l2)FE{%1-j*g{t-sPr>>?ml3&u=TPNB}*F3y?E!9WZD|9s%&m=}J3}R$R zSGOBnSF_0e+370ubFw?1>FN^FRdz0}QMC-uUR89JVkV z;6h0L3BH>(e%7NdhAp^~{~AmDl>RHe#r;P+^cd$e{Q%z} z{Uu+Ic##rE<6GwImyFQVIRkS@H->N=qj#xJTF;Y&J#TJ-KFle}VY)E~d*}pp1J80%UgFplOgCIiH(cmL z42y^IcJuyD=Mg#skE!im;WG7?VwBq;+l~In+KoD7yJ-%cW7U+ygvA+yAp>A9wR1*$ z`^=l%d90mvu>Y|*<1lVv?CMfHdmk|=hQoM%2)4ApBfjiw%Buq|&{$$O#Vdg8p?3C1 ztSm9GpYU@aWTNnd>OBOU`Wn8F>boWZ!^yTb;kVaepIY#HW|o0_?j!65ZJAkIPV?~1 z%zw6z&m8P+yBYLmq#6FV&|d~Y7YE}10Q~Qd|7yRw@lp@ZZ< zOa0mj9ZZA1lka@F&@t6_cH;SZ;E?nSfk&{-F5jyA&G>2Z1yN?Ake3&F&3raIlXx_! z??FqSZJeN`TA{_jKS|G?0fZOkcycY)M@PnsWM2u%YYe`RbvcL&2lIJx%>zwGkpIDOm*~Vdauqt4BX2_aF5@G|^U=Pkk?KW1ZI<<-pR#)K zO!9A^S}*$V9AE*f7yH|vq19V2+Dq5Dcy}+=OSpzTd4^y-(112C!Sic*oUZ&v=-@EY zdy3H!766ZA-Q$Rl&|kuYJj4kmBTg_CxH}zubRkv{gIGZQwW3JcmIq;uwq$hAB z$Onv3*Q33hzXNbAO6`?(d#Js@t2*>mQ+r`2Oznl8 z$b+45!A_{{{?t&~4H`rCIMeqxtOr&7hdNa+@a|nwe&7X@AD&71Wnv8k$16U^ApN_a z4CQ?}-$wtZcS--#eY;?Xg8YXq3dUE_rpWrA>HAG2I-%?5OFAv|->K>;^p|ji>(Y4N zvPkvf-Qluc3;my|)(hQDmHLnUL+{k;)%Cxx)Te0mA9eqP_^9hYz8};j)T!#vSE~L% zXQ`iZ-5lzh8mXOlw;6d2te-}$_d|WtsGU}N4|xaMYSB-3sO`nOL48MzbcohoUEg1# z_LBc;q3^%K8docQ|HBZj@6&Aby@kay2Z#K_Z1nFud%WjkyZ*j7qCXq`Elw6b<)Z*FQ|3Him*jWQip!%e(rEyL@+Ej@8Zx{R`OsFe1d}s&iNca66cqq%&_0IJ- z49xR4CFT3~!H;yJ{cg;KcrX_dM|?(IWM5@&18ke5iPiNC(S$iyMiYLElBNox={JI= zJV_JTQPA|SXN~<7YY5VW`p>bUX(Q1j%5{n+^!Xr7kXtTrqX_#D(4Iy2pgr_$Ic_5v zlRc(uD&8GTZJ^i+WK8W$!Lt;^ogIifa~+&|n2py(oT$Ih!9qm`rN2?C>EF2`e&&Y! zs10N*8{t0i>-m zO|jAH9DL#+O^~IkbDv->tgX)B-G$T!(mC`+rgL}}N$2i9h2!2$Lg%Eu?a};o>2s6b z4Z(j^rZi53Eh#sQVZJwk&HNtmk~H``N#3^C@T>+``r9gA@-=jo#wDsh9K=W9i&2S~ zIsX5KVp*uii~SzzP*)DF`@WTUZjM{#3cB7@`V!ptp#MIQcpLGy@%5mg0Cdq9c@D0UZ}*9BIO51R%=a6Kll@J2cYB=6 zzq60qUzr$VIfoh}XnswhS<17c`BR-<_(s6o(Y_xl^s4f)nh#%ULG##PyvHn`j|OwS z>+1ZeWqT3l7-iF5RiCc4XeZVuS&joML_78QQ@i^lZL^xc$0RAnr{VJp5!(m9@)N>L(N}}=*8COOu4`;~Rw&x_U(iF+ zKe@hk{-@NYfk7Y2pf!(~{rK64i0R5R4_Cd|unKuU6|;B71Z~?U^h0`f<7<=K@{s41 z0^3G^7rYkJRyhvX^Rq->trK}lN;|J^lQGcO2%Fmu`_sP2!(wg}*K)x>h`BrCa1C;)k__WO zPspie)nxxViq9j4)0pjTn}xVLd^xs{b3Nr;O*i(J7-#xYuzznI;*w<3XrDuhH)J56 zjAVK3zbW^_-{s=e(ES z_7%#cz;4ic1@F1ryqAC%MW^_@SmT;I>B0s6TU{)@Z3)Qg$b=-$Ca|Y(O z)lwaZA10R>eg|wAJ)b?$-L~PIx>Yssm6@#<@~ONSGAkPGn>VF)Rlzw$@6!9!F7l-o zqfR$`gjZ2tI_k@xXjGKUJ;#UGZksGeK9&=5&#gJfSMPdY%T=gnV@%PzZcz{ULrYOl z4C;BF_M6m#&?TQ3VfCaUUoLmv zNxn2k(YxbNk2~I6&y9w07Wv6>&;jC2!I1nmC))QI>P3;<-8xlQ<7^JK|xIyUh`Shr98uoSq>bl5Q^% zdYC47xC`r8O17R6)@H`TO0I`nQBO(Vklbb72I+HOQIC59Xs_vEU60V`^{8iVZ|i#6 zG51gXq5)^Jmt1sySUuq3{@m(*zC7q*IqK2-MVKC@aULE(y{aB=M}JBAWOPUm)7)(p zU)%TP|G>8#r&#mwUD4*b6QGCJogCI?@US|!{B+g_3sFx4_ARsOgO#X<^=0gDR`SUJ z>v}|Az6|x~eL0Nw;hgp@8tseG$5YV98Rk(R9PVzrGXm`s@U88=LbR(m_L!g@`m?{p zn_}H&L3?@x+81{~JLDehgC|oxS|1FfeI%#-ryA|+z}pn`O+kD0oRRLfaTc_%y%^(Q zVEF&!Bi7I(NPD$P`%FRmM(R65&t|mCa)jY^XOOP)zSD?$=7uo5TJ1ZzvL5W)SF+y~ zRuAigiK)H~M$xc z?UksfVVt?mB?89|AeV!1BYh%dkv=x89!7hK3w`i`Ela2#g@>v={S5W6K1lep&ky@A?uk-45QS)9pb z@e1lyajXD*OSx`BNETNd0&jd+J*;1h&1Sw$66)F2-@2ZKqMq~#(2a({Vf8qPhx1NhxY~<&7{Y{V zlBtFX)ddqd4}YxjkYU2lhJ|=I(cLyW0uK-7!Efwm&BIGVv{#oThU+2Pyg&D6+?S|9 zJ#N?(*_Ty4JRkLt9zquICHjZa&h)2->(AS$Cw*wB9t&Thy5L++`xuS(0`N9v?a&bI z=epaz`fvNb{5-z3F62v?@UV}do%s^8lf&Aq;^8{fQ{oP_S*86bau|sAe8R(xmUtMH z`y;5Qq4xvQo|^FR3)I7W3G!*TdcxYXg!=LwgME1zTis7Q#N4u!g^JG~iF$zZ6(ysF zh1J9K@Q%}%9xkAIuohU>qtf-dplcWThll!D)l;3jawPLJuOYfZJ~pE(3=^`sO#g&> zRZLincBZ_4R!FAV?zVd($n*kys{r2;;}nxjR}0$bGMjQ^tOcMf-K4 z&5(O_Nkh1O&!xVcIS}$%wB<|GvrDt55)WsHdVpgUC2O;-c(^~eVUn*9cKKt}Q<4?Z zAC-rbL_H0J&!hO5QRN|Iu|KyD)}x@FJ*a1HAM1KDWIaUJ*6@A`Sybod1D`S8c>(q0 zPqwZnQPeY+#;^;ATG0jF;I?uT>QS-I5~HSanR-yKs?Wfvij+?Vg=9L_-F7AN$afvI z$Ei|$Z+o1zT$_;pK)3*%E-(3&JFMLdr^Hz0F4Uvqlq!$+MLi6sc7@jidB9hQW%lw$ z)H655%*U|)d?BZQH|kaCUq|$h?;E23LU&t#(4UC^#SwTg4c|<$!Rk$-?a*!5)>Ex{ zAbi&esArdkMN+pP6ZMo3HYN`Ys|UJNo-2IUbkw7aeVC12D&iQ6Q4e80#?JdoUJkD( zmu&q?oS6Xs?PO|?;=idfxm~np7s=KeZhx0hJ->=!m~Wt-l2bd7$t7GS1*lh*$zqbp zb&Ah$iMuU1f-D+yppU>bi8JaLJXi7%F~gFrj)**b5A~?_MWubLq@C=`S{@Hk@j>O` zcGRQ#z-m3G$$Chp7x7q-T93-ZXQ`fn9q{l9&ci+$4|Cufr(Bd6((5bSZSNeg@6#*s ztrWx`Bo7PVm10pxTrTTl9&m=VUqIi!b0nZEko-YrW|&s>b@tZejWsE70r`nt?f2ETq}6!Ci`-CIG(F*KEtBTvM>Ka(9Zg@h+}B9@0ankB&tWV z^|GFYp?bSMld4as{X_Lx1dOua^4r2-OqPA8XnRIqmyVuiAGOQ{M^2f-2?|y4#+OK>N># z_Oq?!zE`vv@rUY?_j&ABl^1-9Y8lU;gL;&>rAh9updP{>#Pcg;JYTH`eXv~O&!wnG zmAi$`R}|dLX@4%9cC*}XcDLOTf%dcTt#u=t}|$wE%NrYva8B0>sdVW?_EPzRUnnLUKkw-ym zj;KBB&>lB(j56?_{!XF4F-Mw#|Lk|{^+0QHYF)0t{>;ej8YJ4KuUFC6hspNLqVHqQ zP;C$9+)V9RN9|SG!`hGekx8}%i-;VJbtCN zJ5ID4v_INGyZ^YHM<{X1E-qfX;zmiB!U zKdF9^J0kV}Q+#K(VN4`^iv=$j{vkhv;UBI}%$t0GcTBtyd4=tLcpt4r8)QCEsn$Q` z_xeCTlU+h@D@E=Su75zT$85r9hP#vf4Zz*SD<`x5O#CSv?`*B^C#N``H%P=v=7UqHPrll@|PsuNql_}bOiBD@h^%< zj?(W?{LOpuye8;}=JS4=?rr;72mE+K@Z&E6-;C?vV_}`3A^-hQ``exCH~o(FuIk^E ziwpZ3D7pdpRFwmK>Tgsf{q86-d~0W6T#WVi`tL6HMSkZzFY=9D0rs1Fs;Pd%Jz4vE zis^4PzmMx!D8H|~pSP{tWo&D2cjD|i7yi5bZg-BK@(O7ml>-6J0CHxi5g z$a7sY#lP>#sknFI-i3SYt-CB2@8scGzQ}v!V-UFy)Kuar)_haGVPB`W?NFi9x5nAG zHRs#*nTOI0U!v1!`%JMX2X^xP=cnV`V)eXaYHy!-V_R)PPk(*CURYmolArk3oOY4F zW#q;F)-!+LZ{85=Z~0xEzxDZeti4d5yYV~*&prNTtdE%LFt#;g%|$F-k*oI_*5x+A zwlv~D`7xAVmI%lGGEO-Icv$_GyhmJF$^IWX^@U}fC`CHHVyZxIGf9cF)(l_Z}OlSUS zXn!H53r_I1AJ)5^$J;66yUt18wzttn%0F~WlKW7E_86+`&D->rY*TM<8~LYP*4RUh zWQ~0aq^z4oTc|yTMSr3G;GJdcH);ll^#|FXX5WC{E&7vzwYsK0r1j75(jS%{?VkQn zOni!>KhXZP5#^Px$qTqTN6IVNUS0)VkQd|Mzd`?e^cS7)p98zlKYK{t9*h1tRFgMs zYtsPHKe5(}k1@jgXJapc8Bz34i5Gl4ds;9zocbYQ8DT^nu#DEelbz#xxg_~A?tuNp zTH2(AhCgYc1OMf|a=C}8e@fd>No_)3(8sgfUk~kHv-)YA$69<6+q00Z-Nl+YdRFjp zP8(rX&2+M#r~AIW4Rhi6ZXIkzJ=#N9+z4A%gSB>?FMMAM!q9d2c7uvV3O-`53)A?W z)(QM_Lik=!gv(UdFC=dv?|&$DO8)K9{5z_zp4J7zuD{U3SP7qb8|}}Lgz-omu$g$t z^X)OFhOccJH^SD`!?rYFy)?H~<}o*w&4A7(iTz-h?bu+PP3@ekw6kG@_iVd(TRfvb zB=4qFNxNBomkRkE6f{eETbO+bm5-<|Mw;*O+qu3RLfh3n5q<&cq ze*#ae^yhu0ozdveW*hyfr25eRb^Ylq-WY7(s?&Wvg#L7dHyg$GbiA3~MSZEc6?lXF zQXOIXVvjq;XhT?hz(QZ1JKJ7gexk@BTD-~Y+5P&`!$x1GDea6#Uv99`m+?Y=UDX$E zpE7(8{8+P3SOaW@F@wbSx=UYXlD@=xqtciEN$8xu95}~bUz$*d94|zxFaJ6Q`tm@3 zYkYZGX=gP0@=c1Q-E1SCqWUcGh5HwswNE2_2Vob;pV95p^Pq$5Q&Oh2{yZeUulM(^ z;?1rFgf|aFr9U^L4f^-3{F}Y!NgjsVr>hjXM5{mV^y+@R`6|&`e?}?oj7ERnw$YzK zLVh~lSn1ElV%?tR55q4#!#Br9e@>G6Q*Et3hq0!R^jDXkh5nRV_{Zgne_TQS@p$OZ zI;_En#$Nr6)-`JWot6Il`T~3X*-dnacty1Ov-+g&*Pk0~^ydksozdve<2L&9kdR+j z^~ZZ9jcZbT@4{|a;m>2BBNG116W`b6*H!)5cnjID==`0jXoLQJEB)D%ZLdEQ6uCsJ zKmB@lzy7@4&l-PvD(#F$e=fJtpTqIi_RDH~WraWRkIN0?d|$4O{y2pGSouDG7vHuT z-*i=f5=noMlN}BIynuFeMt|PQvDcr?L`xU(XJVi3*Pjb)^k<>c&S>=KBpdyiCuG=F z{DHsBa-g=rZdl>ZPeDf{{Fx@cugkBi`cpEW{Ga=y(x2gIgZ_Oh{AtX!*Pj83T%yIF z)yF`8oNuwYtp0v<~ zeHX0#oy&mzqd$MJ(VuBTjynGMqtc&IzDHp<^muYoFxG9>*^%O#jqq7zJhH3$G7tKa6Q#Z+ z;QO7?m%dZ&_2r+jp?(~#zT9_m_v;JgyIJ8)wbIUL^rg;5UtXsAEbt~eeHrWXM4>Nh z#5cP`Up~1R>ky;Vmqqw~XY}RE>Gt~aV?_?p>dSlmx?f*BHu{pUv@;rgIcTFVV}d)^@6o_`WVb9dEEN56*Wp&tK6q zWqb}l{dC_&(4ShY4~xb={ln8a{dx5wd;R$ob#&D~9^SwE_2=ivm$Jf}tx7wi(VwF> z`m>hmv%s6^^ygIH=dcr2`tua%h@?M7;``mDKQG^e_)e7gGYf6dzi;IqfB6G@{rQ0+ zmuT_l%mLl6KTXIvveKV)rJd2}&$~AI(?`fp#~+*Vc^LlGTyE^A_~4Ih^k<0BAFJ{C zff%m4of)5Z7Jo)Te`>K7JR1CY2kq#L{`9}hUVr{Vv~+QNo;|Sp_2()Z{aLBBGaCKb zY@e)P?sXtHL2>rqO)M)f48|~_+~N75=!Dc1EK=H`wUUez&##n$E^oq5Qri?7K()53Tduj(i;la%d_4 z@Dt=O;GDa*6zmCz{SJ|@;}E%rB7aDn8}?W6oqbBK1*PxVjjuY3H+@K7TnnSpm*>%z z&gjc?SJ>;zdZMR`cysNb?#G*RZ1m-BrJd2}%PBVcGFQm)yW!0_zGq-3tnlV`&|!x+ zlf}2Y6K{&qe|9HH z+Rd?*_o+S$f7#E@?+Wc_TS@u3MMH32Pf}n9)+pz0#2zBpra4 z_R8OkQ`v9psa*LfzC7$j^oIPclK+;9b=A4$1AK*8H@#E-R)oD_@jdq2bpzRNFU#M& z*zX#@&7pGVxqUlPZkzngNM^q|vEN2+PpsJ*=-u*+{H>Dz#@cfC5Z0C_in-zm>_~ zis;;?q<|Cq|K*nV@uh)=68>AY;T;zGZDwEg+x_x4BZIdE`$gs^_w&`G&Y#QQDwW?p z;lJH3e=8c!%7LF1xtW6)Kj+EcyqTfj4)Na#@Ei9tc>I&{4W~h0?ow=qv=@ARTj+cq z*o$f!AI}}=MP5Jl&P0ABJ)4XC&IaVXU;7O9wOux)t%&VunC{zgCU`Jtyl*FHd1Wlt zQ6s;T&YNcSlVA-j^`&IrhHUt>#1m~Z9XL1 zZ#|SxNarc8LqC>zuXNt}YB*E&8{%IrzU@xT^-nQks%9CU)}5ze z%@255k3Ey?=u80oJ{9N2H5<;VdALq9;;MFk`_S?X!&CN(5!?D?#j?lOpxkVATY&-FPr_`nv}oN^d#nxqr&)P3{NFsBJB%m)8F+$656=9QSM)F)w3M$+uJA+l~F8 zu@?3~G1j(G`{QtS*bcl$_x^##%yhh$9%JmK^;>in)fDV0mN74V60NDuh&8s#HrJue zpMBQ6YBAPc(AkeJ!&T-+8%xl}MznFG;jSt{8#kkkQ_#i?wDCc-ao589)rIbovRcrW zX1J>H`_2;>1;;YyRv>>@}yeum(D06o)Qmr-ZhZUfcLcCcrw<;&^d^k1e$-V)7tqFX!YAdb(yb*2NM7)NqH-XPF_fKB^s(WeKgZP_t zie!H?c-L&)vt>ABS}0_Xb)zQP4-m4?Lc7xN9?q15?2Xp>&`;XuHx0bYGh)gLAfX5F;ZnjXWOxSHKxnXz$VH)68G!beLQsB8F&HrezYkI^2~yqHVJvY5^NKfXCKxk zH*3Q%ytj+B$=zBCoo$5AP0!W=C-|Ay&Oj;qhMRrkLFK*}_e;dzMdJE^^80=4p8B6N zaJO>*AIkl5+>?&VwM>K;+Z`di_~xj2eG=baA%qu%4Zp-V%?fWHp*^dP6W(4b=@58Z zPBg$DiUw~BK}WQBJ5GLA!P`3({^@v|1w0MM+sQ$^-7vKK@OA;^$Xem;sAG$_&xt-) z+TV<~{zPsQCIfRx$Bo%oCl9Py`ssJW*>r)k%g~SLj3q0ajTikge*SQVv&|-)jb%7{ zAKIO5#J0AaWXv@1UXj4r>G(SzIP0FDJc-VcT?P!j85r6O3~d2UW%aH6$Zy0~Weqlb zdlpUy{+E^!_RmN8OHpU>P_IAUh^@*7j&1;seh!SDfpdmO8nI;y97a_SqeoTNk>$(d zadu_9kiq}!lo;41N<7&tmt*eq$U z$UZf|KE(j<>af=e;pk1^&2HeRXZ|pTqnp4RiKE#@4C76I#+#T{!ciCA%LA{of%k-? zlYyf#^V24!8E)XHVT+?=53Zs-EPQvSxL(e#@d3(*`yA~cTi#=S)}&@&XI6~iYZur_ zydzskXExJ4#ld6o-t3;-77}*W13O)i(MDkBd7|EP#B~y`6WM)i;4E=HlU+Hkj%D{8 zD@QB$Bb57W-0N8Ra|84U-zwI^pSHrwhY?q|!pl6`7wkCUrCZV>@G_t1h!QWa1s&1i zWfSssbRG^G4r-rZhQvK5nLx7jUXRd=SBEPxQ{wb|bV|JYTr%BYe;8&BMU5CC! zXOuT$z1p$%PyNto@=r^FkE(y_?+5=BxI_M_8|QS=dCk+||Da#Mhly{^!`WuH;Moj^ zv+6=z7vOp;`pgXc|J=nfCCiA1f7Y{g_trA_NiTid=GHJ?3ZUTznuE=nxG%V`!f76&>i189cK@x&&!&$3wTL>`TQQB8?hr!w>Lz0 zJg3_gZ_L~Pzq1fykbvQ2^v{Sle1&m{5xC5L>2CO?Yk*TVG#+7e^L=%Q?hP8*aS9|FQOHh=)2JPERrWkNVi0 z_AkTUl-pR9wI8bgf!q^1V|Y{su2F`JF?>nX;}O1$S~z5~Xu_&XoI;4U_P^#o|_+JJAe z_y+Jd23T_=&i8~b(poskm`Ur4$#-b`xOr7U7wBn%-?R(#Q2e2ZeJ3(a!!2m~4ERKT z$P=K6?&*BfWI@wsG$zO2>$@jY|bR#TdKO*~~=Gu!#p4J(%~|Qiw5c z1AICfUxQ}fM#v{0@=1q$N+6%&g?X!8?qVh%ik$!ls~SNM$%@u2Tgk{H{JYKb(wK}2 zO}?*-(Q^Znk&9vRTD&J^<8O4Ol2r+`GhNo(c5zAr(4;h}aIM^YI5#*t5 z_20@EL0s!=6%Vl(K@qT+Vgy{CgvS&khz(>D{y^>|ABxYBE>Mg>jRz1u%b38E;LTL< zW;l4W47_Pv$YTT)AL>kufZ|jnONtTDy&5A}qs0h{VP6?0+r|jofi;wK#4ytxctW}V zHM@^x_VyXv|C0Uf3OpvRK3oZ}Nq)a&_nyEC_8VchCs3-~Kd8J*<(G)xip2E+T$8l% z{98vtc=A;z#`AY3TI2ERuZ|xcUnl7hc>Dy>5G5XGgN|tN_yYM|1&{An_^0FXd@X(& zhR2!Vc)aJM?-!5X6L{P**o?>1@pmLVCLG?07%KH!8oRFo9dX^ij$00+wY0A>a~g0s6S%bx zn9?KO+qN9o+d#O3SSVq0jjKms_gM#4trIa`j9sIO@lp(vaGLs?jPVi&TgfNpaRql7#S=z4+$^@x{O$7P!;RRo zHHa%LVR4067FQrX@VEluk}FU{_yKwdd)b_gMO-2H-5A6_V5^#8t2P<2EI#`xu(!m$ z)H1G+G0!5d;NWouY<>j!#jt&J((oROD>y=Ng<-HoX`rQ}xI!&_-fYVGf-Rx@^OXCu z**(!2AE11=v)JG6z?tHD2Cnqm81{D@dvBC-pT&OX_&fpk!`N@`K$^Iw;HqQp9p8p9 z_iJFToL`H#n6J7MdA?TuZ}ykR4{r@ggTPxawLeX#rXEQjg@vjZzOD@{yQ9fisEPFlUViT&cqUzu)ZAIx~DgfB}#uP3x8AJ zQ{#yx$!?7E;+UVvamgL{nafzY7`Q}zu>`n;^ElajNE7-c;sC7AS@}QI2Z@GZpn>@M z6nyO#&|*bL5MSq8;H$y$^+HBRTx$#BmdSW;t&EA{Z$<}v!*mfBEy4a^)Q>{=>JEH! z!GR9v(5%KFat=+#c9-J2G!C(%BQypX#_R;eFN1c%;5b8j#!)OY9`Vac;7pN-8&do- zAMr~XgQT&Tg2Q6m&FAWdQ;rz<>*AV*Ybv{s3nYu{X}F%s?qdT(#C0&Px{lBLR|p@b zW1JibAD+Xy5fvZ2(~SKzKA!l+@xzD1$g5#A2z;1C?T->47J-gv@!=!+UBw?8tng09 zhpdrid|>n0EAvD1D_P<5D>uWpp9(uR4Obew?EZF{n9q*GeD*`O^V$6f|6z;Scm;iq z`YxN#hR-KsWHerpaWZ{QwyX2mgB>DXn5xAK5gV9-ybBgL`&C{jZYJY}@Kq^ZC}V{b zH|$irkbDL7YZ)*6fb`meZmZat8++bKUPwNubVm~}d;0|`rW4yO1_qQnbRKIS= z{?Hb(V{1fgLCrt5@^`0W-K>>8EB^fW*|U5}i?C-UL`RhNY#``})}Cd^?<)4}MumsE zJ&VU2km~Qs94z-(ie+Mt+u;Vw%|hPL-bTcbrlHSK?3c#sdDttOVvGjx@X`rgi!qY_ zxfFeYd@sTfnlrY-!LImV(kGU4$gc){F#BAb-IU9QHtZ7D9k|Na**mx=Tp3PdevD<^ zuzSoVD>2ygn8Pm+Z+3z=o+l>boRZj9C+;a!`exrOsHQ%TK^p(RWlswhr&>OI4uZ%+z7E_F{i1CBR z3-4F%?+xC^2JXVWd((%9|f!a{7B33>(7@;dPILNCt9NH z&x=4uwEcOU{I1fU?^O60)}PsYb|`-;*q_s_`}40ve~y_H%Gc}2r<~$`5V;*ZN6ru1 z#q-fJSUwu%N4_HLw2XiM4Bw#pmR{KJ9XWE7fhB8btc1UtV(;HV@f*w`v`sP2B9tZUA)k!!qSxW}F3oS8XxQ^4<#mCcP2#!%S3Y;)3RK`e5R6x5FOl`ru>yACxnMM--YedPFP6)B8}Joj(x2(Jglbi`i1+BA0GCU^awn>h-irt z51#}b(cqGMm$HXXKy9?R1D4-lKITtjgK_f%kUB7H4{GK?`Ib(|}4k?eG5 z@ZoNW56C$jhMbrk3?H1WrNH7wVDYedsgq(bZg~}R8BNG_BAi(Kk-cxH$JRE8`Qs+! zIPHXAN3yyJ-=H%WYA5PrT)qY)Gkg}-V3 znC31Tuogp)fv~x8_?0wHCAnb^ye$uQrVv-F9Pr8RrI_1|3G~GGijX5?&e!JcmHCWT z^A3cyG&bcp9K&#!<{b=X^Nd#HVj++4{w--}FSU)%L?B$vq#QMTm+o1?X9=F>t)nxG>TTOq%d ze9%3Jr>Z{fL-1*_E=BQaxlHVQ*?J3K_ASc2!8gdSeM7l_jolN^VgtKyFR^b<56uhNIr34^k7966d(ohn)nEOyi+(@)lg^{g`~93pCPKu5IpZG!x+;_v^5!av=<#h*dr_Xze4YoF#C=6tPRAA}BeA-{?6JKaFO z7W!#;zLvQkM#|UvA#7|m`gZ9EbACVzV(0l-^GS0h)HfLxF+9N9BH$36B_;E<(lSH& zT9FFXp7IvYl z^mHnpPT0Pnd~EXRT43i$K3&eI6TVP*J{{M$Zq277n#_I3lusw~=wx1zpmWB%IZ_c#-|aeTr?${TAh2Do?ofwDNmExqni5cdK}Jz4H4S<(~4@WE=dr|CRXdKgD$= zuDTtrr}fDqclr(`mfq2L(}#WBt?co$4X6+P4Xq0%`5(*m&UZ+9ggvexTB5Yavp`3* z_V{x7UBw>z6h3x`J?{H&W{>xN{qJRu55#uSex0E9_~Do?(sP2^<8}XMk1-C74J;$< z|6gp6nRkz3Ov>vky_INtZ< z>QLWtvd1eVJ;ENpNwh?1j|YN|XzlTj<#!c({ItTyFnf$~qB_4V=d*+JV&3raaogM9 zZ~lBAIX=eNu~J#j)PgZ0jU|KQWBA>s^-Sk^+cvrQdZx6b(D-=R2p+%f^7t5Y^Kw1Y z9#ia%=atZWH}*E*dHaUL=Li4n#;;cSP;NJ057wP|`zz5-%G+;2o_;d&`&ll41M8=h zynV_si_6UO=Oh2S6>$yZ811E;pAE>NrFs2Z4R_gS{PwgX7CBL|RnK6)Z3X^+;p$nn z;K+*QBaMWzS&oxhbGJSGcoNFddU}@k?n=OzA})|ddB*q#Q*&(+US?k`}!^IZK4ac>t(RbxXkPP+#=WTsdO z{+9EnOh3?W7JGosjAZiyo^Bz_wpu8Fwn_NH(@cq8o1i&2dK z`r@2PD|<7h7WEw`d$S)oOpG33Z^jZWQQDi&aNcUP_U2vrUB%w?RruH)_U8Jx{=Mu? zY3A{@H@(2W|Fbu7fo0V9PjGva`j3Avd-EsC#R6`>D6W5CS8i{fXZPIRR4DgPEB8Ba zPxj_1_Ke$`P0Iax_B*#X&*J`A+nWd3x4FG3R_=?Gc07#xh2pn+#r1Anb$jy~t>^86 zz4?25n7t{d@y%nOp}yl}Z)Qq*%8B z?@yoqOBsHkYx95b?b!Su{Jik_Kkk1?{fspK_Za!6m@6aSTpiyaZ=3CHU^l*@amG&g z=4^ei*YG`3#c|(i9!B?BWnK#DDDBhm8vIsTlfZM1yS@(Zhm4lkR$4<#YcFKZaf`AB zp&6LmlIiv5Va-7mzB`-78SraquP(m+z*F@F#s@3#`wEAr>NaJZ(ev9CSc}jTp|}>{D&spp#{Ko|xjS&JxL$*+jy+G&+E#%*XTg__lus99gEx15di?NalB7Z4 z&E3@gDDmb!%o|6GH>b$&DtL2^!n^Lko0yD$54`#58~=wlUqN5~x8ltu-*CLSSX?i} zbq@YdXMe{Ari$xiTqWLIj{6+;+#Sdk*Yk1J@n!|BmF*8E9(ADFm{W46Y1NW0lQU?d|t}yE8WA# z(^h^#r2URauMuBj`yGYnW^kL;ncR#r<`cMDTd=lL-Ro$&*iU%_%WtyS>j?QKjoRMH zYOb-q9=~bfl+|)A#ufM`?Wf$8y^_eEqWzLW`zgl;4w0_IZ=l#E%k2Pf{x|KFG?Q}X zFfOCqj?0w$AFz8qmsE)Rr{L?*{@9s_H`0E}R_j+N7nSm}OA)VA^Rp?JSFWj`btr4$ zXUH7h@ya*PQ0`C1{b=^LD=<=AvvAe>#NDlEzrd68JMdqwK|fUSBw4KApZW>vI8NiG zI7x%RlWElcDDh-?7x3isL*cy3Qh2B1NqlGa_n2+??ta}KLv$Zo9a|8FWB@}b7EWuV zx*7}Tdj(_76!P>b7B0sXv{x|g+1UgPX+r;e9hfl>m=WhF`eQui4rs67Qn6RCU)?Jh zzWt@pR!S1cu(IexRLhs!Q4$pd-_}m-J$+EU0kQKYkc5(Tzg=Sh4u>m z9BU+Kj)m4*1?O0>rzp*_sCxzP!+RL#uyI`}aDny;u7`|hui!I8y<^06G_IrAy(ch2 zTr+XiG2kv*uPiX&Qq)6vTJoP9&+Ne%@@VhSd6$(qW5Dqc*1Ut)`d)v!d`NFo+{I;S z;BhK+C>Lw*a#1c9GFpPQ54jj0u3wmocb1f;VGQShy~P@>t)v6>38V*(z)9#Q4wOkj znL6k|j^U_ELAedsJ1-A==cQrqykhK~SFkW=wZpx*tRcbMw%Bl#rQn;SJ63u_XJ0sw zx14IzmI9PdMtQ!bRh&~3T;pm!wzUzL<63D>`IW&TQ>#-;8FqEP53kr=GwvS`6kR|wEmJC^ShBu$l z`dRSi&)`iB&cjhdL6wKY`i+49-j*?;uyD&ePi|5pqIf6E{nd#FG z&@l&eq=1HG%;C`)EVMqEu2Q$@D)l?QC&?#teuL7-`^OZ>Ija8ATj?JWzGGm08qUJlO8s!O%{SJg59Xo| zrlJonK_5&3?;Y;NWp&UYk`48H^7*)~h_lOs{Yd;R?Dy z&=vVC0X?-0SDb1_mzS@%1GCx z?h&>Wbb!sZOlO^e4{+{}ET>|+PGgS1^g8G)=@ToDesYGRYvl zJ)8}DNVqGpjrb&Oqr@#b<6wiq_rulmQ+5hm-2iN({c`E=T-Z#)FVct0tH5*UNGkRr zN`anOjXACCt_yWELCS{h|jAelF2wjO%jU4+1-#IOl=e@nX?FX|oxAVxO1J z=+ljYUoU9|U#G?T4xz8CHjF+;{&9i- zNTIR!_c-f?+O@bE{^kpKr`Yfv!h7mF8^k-cFXXh<)&qa>&bapWRkbhWL~UbpjhM2O zwH{wCVF2`-)&c824XrojaiV*-ykZy!zG!Qo`387gBQP^o@O=}WQU8S#%lM7_Jz(a5 z!$*p7PA6zu>jtl{#u=PP+oQ4-447P>S==+aHlr4;BA;m8uC*94$2GbsTaq2{l$qn z{s)KV`b*H3+60fkeqgM>DJjn1a3RTciod?!RGjZN&EI?>{qDryF8uBGH;?3U`UIFm zK;nd9v$y?+!tnY`k0j@O}Lx2b=uB|jT$h-<-j@D#oQ z=W9oJneuJUW7I!ro<+w~nj@)MWw7-#g=BA-ui^@v{f4zI)XPget_KDK>$#7;3YgR< zcYfjjWA9DitEkRC;7RVyMgn1#Rg+7?5<~$-L`1o{VHN69aA{pg2r7sct!=G}5=ams zS~6%GU+|SBpx&r8rC4_jizr2Hw6F?BYS`c zHV()o8b=XuJ{LH@4mdAnIL`<-_3jLucL_J%iSee-0It6WTwfS&xf6X(PsRV!@c&NX zmMh5~Ow?Z?oX6XL$PU(jfpgjadhph341{ySw3J7Uw0{-a>Mv}^xlnPv2iT6~JsNyE=`S4m%K07kdEo6Y@OZfWY$=JgsRC=) z37IPG*W-n^eJ(a@N8{~|6NI;>c;9o3c>Bc(z}w~%fVU@`xoorJZ9dLASK|kTogm-f zFYQF1n6HGK>i}}reL@GS-^OsW+oip(#xW`0LH2q?$cw2v;`BKM|8n62(f4fEBbPrY zY=F}yJL`W}Y@;obrMX>2TiD}3bH54tc%VzaT<1RIOFrZ!*_x*R>K!YXCU~*VW>2*h zk38VUkHX{3kEZP%$B*5UI*uQ&xb&+d`O!@KbfNd1__5m-|E#5Wg7BBMAmYN97ZeXx zW0Q8=k)1^`V)EZsx{SwO$I$z*ZAgESf5Kud$X6q*QdqhJ3jn~ zpv_APR@L}pN7EdNjrPalM{!S>?avku_B)6w>+)OIp! zJLnIE&qu!pPSxt*U!mX0*7mE+_CH4Z^;1wEzR}^vM2nyLH1g%hm)(eWhUWFs;eT(5 ztV$1)ZM*?}3LG4$Z`5!`*_H5X&P0w!zE-ojFjuF3{j(UfU!K9r7NLG%Yd?J;)^{5( zM_I%})Uu7NY-d(BaE4YBcy6FRht58mjFY1k@H|%^F}k60Bd$ZZ7FaOfpaDY~@d}&*0Cy_klkY3nGjy&Im`A!;bgohjZ2Xz6@)9 z#J!|^+)njx6Zlx1F6xKEJuUUqt@U@9@^uT!7os(@HPb4i=Z3FLjnVmm5u;G6i)bq_g%7)2l!q=&Xve z-~hcDxg(?-9@~$$FA`WHokeYPeOSZwA=6i8+lq`DiMG9DR0Xwd=)-QjZN$8wYen1L ztYa=VWl-OC+PPfGxGEukQ-80LO#?5#-GEnV(Lmm?&J_wgsyBL zd6qg<$J*nT#*3oy+J}|patCEA0y`7+NXp$?oOESpR+j5Zi(Vz!H^izd6It2Vbmh4c zuRC1uD(*|X-bwpuA)_v};dM81*6esK>?!ct#_^h=;IcAb+7?1XJrjsn|j&-*E3kz*l@k9UdZ7Xas667 z$Mtl@2IT%l0$&e>fALLbcVj(NBi{l#ux)X2IH5$-gFhty;3WO^Q4N(LT!(Ot+)Ar_ zg1(SC^w3J?3)FEk|vg@6p!T)E3!lr;4_ald&4>2u%O}oaMO#DQ zf8<#0z6#{HkxWG&YeIec>p7&?S1J1U;l5m^l6_{g<=!qN?4_A{{jjhB$Ud|A6gya1 zZclC?pW^Y;boiQE*twQAIr$tb3;V_5Q^00K-|c$+&?mqXTU)-6tu4@|GW3O+~4XuUfyy%E7%fw&e8I$?U@9D|MP*xCLY>a_? z-=5ZY=Oh{P>0}xM*&)DjTU!rNe`0u{rG5`<{YKMX=uGuVCNu0>*LW!hk+8d+Y|@8& z>jn6pKx7s7EtZgu|5)*z&$jB~EQT>I3oUrOJX*%~WMvImSP{q`&wXc-$F@0<#>&F) z;Qo6};NsIc&dJWO&53Vj)BJ(2%*&#`so>*X+|IDgi7!}L*jko3(H(Qbr#FC)s;xVm z<^)@7PhxBBm=iTtKbzl|bK=HNxQsnt%n2r63%aoRu%GPRg07bNP>*%{`pm@Eq=zPj z^C2&o>=-ayACI;CsCN}~WqsI7ats(EJ~n?uc{-_Bvrn?D>u(qQ+(3Cc?^B*m0`hcH zEq=)JqD;g4$kXv9AWtVjUxao25XrBj=jx5H301k+ychC3AJ}*Br~ig$5zx62XHZf; z&TA+qV<5y6$|?CJ=pOkfzjYGwd1$}VWUT$Ob5=4#t)F16e+Ke)sO%2ZEk^vK3G=C0 z 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

    Bt~c9AEbH!K8wq4x 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≠4_>;t^FAYnNPnSB@DHZ=&NlvvhKSgp=nu*`c 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

    )0#lKX3Zw2iUJX@~xB|mM>Fn1&Fg1nc!FaL37 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

    t2K&-m#A?FKOxsL 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ïW@^Z4Bzur_`3R-;VZs};5!NM&549>iGblfkb6xN z@C?Bj>}Mm*Crp&-~)3%P@59>P9=rb)eo_gZ&c@P04YHIwv%)ESS{eqzWT$mfBo z-lKZhcK{~j8@dE+DEHI3vcM<;J$?iCoGC@@x{$6{7PIS7?EX}CP5VHJMyVa;qfUX3 zyU`}b@fdW#H0Xfg&;d)K1KJnx7{><4k#(S@#i;904q93SdigW<9Z?PQe)j-=(q$A}3 zHw*m4tIzvg(F=WZob~x1kzW^0pFbmh`>geOe*xc+KHusM+e=%MBK7%XuFs#lych7D z9MhoJv_~Lg}&dgEZ`%BW_{LGK|?IqaQ@yHjez4SZU z&kFfM@NIO#Z-tJ)neIUsVn(?lo~+hcvCC)4MvS>wJXK6DuW$;b25f{%w9E6=)4m*K9$#0SW8r|mcxDnIKLth)v*HnDcTE~s}?7-(9_)8v# zXXgg^oYuV=c?+kk&UP=U@;DOM@ASP8-)U@4hnM-!!xo0ev{;PSi5M06*7VzAjFj8I7(5n;fXyl)X7wKO6SVTAcZ(tsSm6p^iNF zcP>9f{kM;T?xD4!G4OfdU#>?ypf01p=vtJ7^WFR49QS0yS44Y~QA4WMsb7EL+ckyw zUWo75=VGvaA3hzi`9+(Wi=2ox`8KseZ!i7vyEQCMiX0!ZrQuICY$(aq+wnWaC@5EL z}d4^@W7(&3w?qT{EdpMhn`PYom2KyM@}%N87GN2^gmre~CsO z&Uo5@^G5TrR?;>k!B~$^e%4Fmy9?;7s`LT+z38LS>owTe&^L{(ZAc>gHq_YyoTz@2 zJa6Useea6;RUB^8F7*hyUJbgI^u+Pw;qqf3`CDF-{AdJ@8sEp6vxrHo!#YPZoyC;W zSHIATC+0(W866Ow*nVfM>9svcc84n>o=}0@!%#foF|s=xusd8Pd2pwArs*-*9XFHR z;n1IjkIK#$b`vW_oN%2+?E9s&{MH948LobIidRN)>178!%s*XHkrKUWnfse}yps2lW26@S8GW zt2tTiGky-M3bV2F{Ns2Ye08waERP>W9vk7P4LIN6>#J|X``cEZ3VsDofJd_*9juq( zUdykrUkp5<^3B^f0TxRKvS-&}{Mj>d^k&r6ZW)7TX)l7pW3RAh2eD_F9MDq0uM0M{ zJdS6Fo1fjro*iuFgVm=QjTk%CeOLM5$X@V)LYI;cifDf`|*e(Q$rZv#x5=Y#GM!!gnQGo0>M zc0>0?gp&~6XBcg0r_%l53skz#Fw=bwYW#twNe<_AL-$K!%=2#i)_A9&d%S-wY=F@c zW_A4RToq>DjnUW5)Yta}Pqdh2(%+FkMLaPD{Iua&mwqqF@YQLNJaK0vPYhtRo6eqn zfq0^Lq&|%J$A%~RuxI-#_G8C)yIQ3JhmiHDJelvfa#a^O*=-{~>%S=a;m4bBDqUJLp~JkvzK4{-XutQ-3M3)+Y1ws^ut&PO zQVirb8O}ssuo1fR&8@p?iq6-n%PR)yEtM%283O$$bnIooL1Q^&(ggGYzo`Yfvcz9t zl)<-sQSBp!zch*Zz&cqI)}6?oVSTuZjIu0W@F`OtiRN**!amoT)W@~x1M-plB0i2{ zqwFkSu-4Rv*WAZeM`$jCsgG;W2W;K0t_(4bsYV%MnLkqdsElrNBvK#nC7a0pwfG-z zBfpV!eG7DTd9hb-_1?Xy<-ydjj5{Q3+H&aR31&O>G~%75eWm_}Z#!BqBwde~Vk_3z zRQorLJ}`u}aU<=Qg>5li z+S^;*+}=i>C@^0P{D=o`5g&A;xT7zit({Wb4~7c>k^W}WznOheZ|85mO~0A#i+XEJK?ls6;p0U3o4X_Y&3YM6Q2ot0 zgfn4ZbalZeLOWr1H;})1`b1`TH*kM*u)*Lb;~(W=e{-77%yTV% z>*^YSP}!*zF2mm-V?z#XlAE ze=veR1s|B=A;-xd{4U}k>nRpv;}1@Xfv@rOo7o=>!Bxh(I&bK)KWIyr&!c@5e~{7T zofA~L%rMhsPS_t@R~?%!9Wmzl$-f}iE&iZ^ToeW~8-MWMcpkAMTVC#uvnO(6jflXG8vAwT(X*dUig0midDUf7ttj zPqj(An#V3Ae|*x$`QuppL9(x#iAFaMVg6twfAriR{JMa%oj-V$_)YqQkk|VQ8zSxL z@5jLLx9PWTy1v#0A-f6yei;Uh|0?yUzHe^g6< za2w{W`h(}knD06Gtvi3vgP8n=lo2dW9mO9E(HzMR$nyGZ_=CGJPm4bYc^=^phT6VD z&xifN5Y5K&2NObcYxV~(6Lf3x2a)44*_qzS;ukI(e{iYv2Ys8EeAw)=r&pJaKX^5* zb4B`tn~*n1a)Hq+epmg#$Hi|%ufK=?hj&&NHj+NR+Z5N^@m_S9w1s}_hF*UFxHex6 z{|~V+lmE9gB7R{@ua~2}v@Z?|AFB;*h5yIs)veMi`9FwXnCKPvB)yLAhFT_|3&cwUxb~uVc9r+D(q}}*2ez}(VR-JV~GCHXGu7I5tCkX==q$G{}-m$a^e5s z-Bvr~o2^353L27fb}j7%g&kt1SCK!`7xuBsoIjG43jc2@`8%nG2LEsD=3OVl*%H1%2)UBTH@XN-?*0h1>s;+6#T!wJ2G%FEr9k z?UT*zw}$<_UsC&4uk^{Pv)wuRdaMJq*y!7**|S(PgRFv$S)ILq7=QNWkUtdaH^837x+2*G zurUda&1rpDEZ!PZZE2CX6*;<)!zO>oC317T8sd#-1abt5( z2U5a#l{7&9GxxPacpXo8UCMoUrmsL-EXGOxGxxPa&yHlzav$DAFXTUSUpw^d8SL4R z-Pe#^FMRkbBWbHYdp6xnTMxjt!#wHiS=HCROw!iYD6}Q+OL?-gh0BwhgkQtrp<6}1 za~|d7hx45&hSLI`Y`zh2Mog#`d_nsl8WE#tLQJFiM#RU7H?X!z`x>9XnMZBNA8W^R z9rzoAXWJ8fKiZwH9ms;L+Vg4A>zNMi_J1L-G}EKq{sPYC*qx{yD4;WI@I0->E=HSK zny0fo4Sh}0f_0i}C+)i|!(Z*E{uL$2KcKpl51opfszmMSEYwYFn}l3SO{;n_;m|Wp z7!#d?u@5<}XQ8isc*o(NX$|v>@*ux`;`}q7AIT#)8V|m40X!31D?bOv}fbVKkll@z5uq4 zmZ~>ZdX18Nuae8hVe zf(GgArcC5RxB`fD0!i}p-FEC{k|A83r%PE5j{*<{Sgx2d>DtM?-((uYf==X8-+c|gkp|d=`;A-?eYMf?t&CNYD*@J!2sPnoT_4u}e zPxc}w_a@YE#a`f7JFyoy@kmvumg_v!>#N8}0)NnXEFR3IPvATLeKi$0hllv04P)yE zI#uZ&`R;Mo^Fp^#OVYJYfUGu$7$+*t6)a?6aGs$Tm z@_Gu4SB_fqRd_zp-a?XR;e4XT+aS+i<1~|<0)IUu&u)V}`yS*OYyxIO2zhoZ;H}Ct zoNpGAXN`zWN_qA~x>=qu4gXdEc_V*YFXbTK(>5)- z9Gp1-axevQ5cJ<(VaL0t$ za`0Iu2TArM1aAL>DhHE{3Y;IP{eF_(gxZ(QGzPFQ{JC!X&*_;d|Z*VFX5-kVScZJ*+qRIhm)BcK5d*T zhhZl|R*VddkK}N&u^DG5YER|p*)+adf)AI&Efr??uz3s>^HAjQTbAcy&cno$avod` zPlNnXAXm=iR^sI8YP4k50@QcvLb&$h;$l*HZW740GLoT&K&L&{(GaqL! z>?wlmg_)Gs(r+v=Or(TO9CuvF(^|Bjh*f#htiT@lghOL-@EAI&nFCf>`)ik{Z^FH>7aA zcr$RgXEJaA9oP=M5FWgBGmPYwVI5fp9ck5z?rEeKzpSUd2E7QptY2x-i+*45y}d#& z`bo}mdD=DsdJ!<*GnwOubRy}-M)W~=Oj-uL*z|+f{V7R1{f&-S4`T1-!Ap7Hbk5~A zhc;fryEVMK$(0e9P=vE>McZiaICv@asHUYKdH*8gNV)dv`+y<&1g*HgW+HSd&L$(B znu9Y!V(HW!priK2AH2Rj#k+Gm#@!Y&c~ zm-)GY8|S|S1y-G)XH%89tqnb8vZf=$|drfFCu#+Bb49Vcq8l) z*dfiZODKOeWRJjBYl2_Z3>s(oT*uKKSr)?{IS6^%BYOn0Bbr|}7U!Uc>=E!g^UKH{ z!CbnxM=m=g^TfmU2)`H29x=xC#2%rTPD0@F->LQpVjHSGk`uN^yo;p1}-&msPtcM@ZNTn{lnesth&)vlU>&FNfU_ORg`0eIR}48{kin z4}CLizdexWWUsXYR{OyFJ+T#Xk+bN>IrQ!Z*b0zm!d9pb`OvTxnmQC)LC89?`lD;kLl}j83>MaD_rM<193DV)!e% zE%2WQge@TW%lEl~8|N>V0;@fsS!oNj;o52ojQ?lY7I0u5s{Wr2U3Dz_|328FYCPgR z=xZ5Y)!+xnc*I}er>pVRY&r)Ia+%_*XIb=rffB3u5&C1XSM=2uL&s0(2OZxBF^43? z9Hfp<4D0wlh`rMO9}#=CmHFn_E9VcBjz{ej7JG%Sk~A{5j(?uT9Jr32`5e>n$a|yM zYoft)?C*0UbadZ^_By)Q(mso9gl$e9b5L~r(FNxAF=e-nte5-3xX;PwZ`IMMW0;P{ zTqt(Sb@b5C__&US?yc9J8lX3&A+Jf%(QjJDx0YhJzwfU%4WwMXaP0Qamgi#5!&V1z z9en|KLDf6MgpWEJ`e%AKKI#<3N6i;L>L~J2N$-%4O0fc_ccvK0<74}%Oz&t}`VD^- zdS^WIBg1+J`J+YcLhqbKwl}x2nU6{_glKwaEPO_sAvtoPd-ccy4}8?5kpA&Hwebg~ z{=vJ+N4Vvr z=NR0$4*wau=6Y#0uC01$-`iombS>sVu~Pb{=A-PLeQfzCqv6}A{?et2zqEERd?Mtd ztkJaFZ^b^UHHq5ozd$YNHSX|w>^;g_?JB31LAfeT${KAp?yX4)KaaR)$j?Gw8EewR zzh%QGlRnr4`Yj{;TLEG-^0zJ02g6=-vVEh)S>H^B&P#_6mIfaT@e&qi?HkU2x#{Ds znRLFa@WCv6(8K%})FEd+80`0?ugCVm0?Y^F`7i%@dRL9(0_;-~`7h8})!Od|b04ZD zoWu3R52ViHMu~7RB8XyDD7X5Y+tYKNsnlMUzGM+E$uhc_{Zk! z1+*@!ynkVo_D@>cHQu*7L0mZ z;6mj8j6wcSXndrz*}D9G?dKODw`>9O@xyW6DVFg84v1GH&P#Ame8@?b=VH#o6(j!# zxoN6=ZH5m>u}jJqqgtxg*rl5P<3TK<*x_O8&aGI3Cc5p!S`@8Gl@rgxhb+fha5>h3 zsfMr%wd6~&7EEynT93N>+FdoY_ilCu-yeuNiaNzYnz63c1U_tp?&onI%B%5ha)ZA8 z$f^DF%h2m+w;pSX^VeznWqfnvSkwnXj!G8xE3bv`*n)SoV$GBGXEnmdYy!{Dfp1Fn z8t=uK$uA%`XammqRQtGh?wmspi#{sm<{gqbJlh~IW5U>E-^He(nElw|ip%&qH?*gC`c9N?`1 zCeye}~|=EDPQS`GSAJxdM#e21UW! z(C+c}d(nr=Z+oz&870hc$@Ya;%&Ud+bX^%T*X@~Ik{NkEyIF0)J>Zu@s<(= zZ|U9R?Ft*b{qS>uw}Tj$Efi=lVt|ToH|5@QpFN)SpLpVJZ){?|M}u7dVZMXRIc2sjuO)T=|4HA2k4MJa zwprS1Wb?|LQ>FdgmiE!+3EREiE@sh_^`HAjFxwq-39tV=8X6yuw`GxUGTW`>#PXcc zuUW?Dqj?NU;pu zkXsGXF0Vu0!Pea(-bOi!Jzf8?%TYwUjrx{3ij9sONEQ)lq%l4C|kOZ#YWIu_mc*ZfG`_inv} z57&KbDXw-`F5fRv9*$epSjN}L@;v+S_?x2p?z21>a~`(xi|f9_$oWxq-*J^wh&^?e zpLmVioOfo;PmDRQlOU&_q?{-bD|*-htIse$v6}J|-+3{*o$%bdHg-ZB`H5s3Sn?CA zWqx7;YTQ`ugVqzApZF8GSAp^x5P!7hCw_Kx!tH>5j7~_mB?R&nnn||M%!%Qz==q5| zmne1s;AYKF{OsVy?SNgNQ^{YO*)_KV{(x(%9gy-y*bexj<|n4%T=kyjgG9q!w>rL; z`H5%!O6sssej@fnM&>8Bf7f2e54E({$gi`>PkhtTKH5BwMMt;gM(XH;zhv{P&qj@I z+Cu={+o0VtHXMYM;9u0Q!1k9s4)*gaWzzeF5{;cv7-BYn{ zRFR`!v`y$8tN}q!)Q9|2*oAMKHI5$%N^dvtq z4RAbJ`H3-cZEv?!+r?U9_G4?;@jQ@Qfd}cAE@s!TwC?gT;d{+9Xu9)%|`st5siLQ_C zM6OnE^il5K`PkF#uJTti2H`5x`%M$MJ&DG62EF(&I??jKw760Q02F>!rD{Jq@`%s4>udr4PS{Yh!g+OGf4*QY{%Z2T`pha|PuMB2Q7)%~EU0973+2nu}PV zeCkVolW3LT#eDdub$2J zUWeN+i_-p&cI|ITh-iP8rF}FwF@MD*GbH@foIZZ9V+hsQ^I-2b)jV_umS(GZ4renD z@dY0WjgRzP0>KBha>ROHIn9r+3(l~NuY&a9T-4;D+&@LnO|?81a~>u=C+ETS+*5Cv zWs?&*xs=nFihWHxZ0by?IemGaa892aH76*iFBx@7D5tNI>P%$D&golz6>=WHkEJ~4 zgy|kX>TJzP_XW5713C@$WJ-`*(ggZ$%jC7OV$RbBU(xUwvmaY{aoc$=;3Z=@m!D+V zsrgwKNZ27KN9t_`JLHahPr?p4Arf|5j&==E z3ha(zjH*sN(R8Q6u5*TurH-74v9rW|@gL>ylfK+hd~Evia>xfYcfVN4-QSFSeW@?+Lwz*6 z-2HXRzUEEPo0Pi`A1st-|1Hv`O74C(a*bsUej@#*V0qI!gOaOMCWy8(q2~O8Z@w z_Dt7}75V)+VO{=XOZ#YWjwXl9KBv7duFGV)7_cOtlk4IqL*onS;(BeRgWD?QVO@Ny zWqi=Z)!K;jBXn`O<++&iu$7No7r%-;wUa3m)%^O6R|=Vk99)x3MBeUhPJ$iyX-*C*C3Z#v1aQ}xL;5_a5<3F{NsG1U@wiXHR#=Kyx+DX<&z8Nx16!j9W9 zVc5ZrDUh&J?3n952e9j)TpdAof5!F6{=CAN4$?f8>PTZblqtvgYheMa^qzH{|1f z9qL`f9yxFe_7cuU-Cb(468GWLA3$BpnHM7;C!MvY+R2%L>*==?{u}lt=}Gh*^|J55 zvn@DVoc1fZ>0SovWaC{IXK4B!)LL{2nFL2R5 zIh;c)&XjxdW}HRA&Ot`aN6Q#vjbGaPc4OdiFxtCip0m{Dc5Mm)k3`gfo<+62;YUt} zA9*YGccCuxOwZi86E~u^^!BVRkNCBO!1Jgpy%=@9{o0{t{90nwGQeoPgbVC(yZ(=5 zF0X-~XncFH--X6E4CA8lp+@jb1J`bh&x5hA!MNaS&7|k<#(0k9oloPPji@jBBtApD zkw&@vX9S#*H`1^l3h$9NKHHyLB+j3J&3v%Pd>%pL11zqKJlKAE!C8puBF>9-N7UuY z(Z5XJvA%`4FMiL^&!_L$>%+ef)X$~w$aiATW8eCh=sWi9@$XssX!;I53W{Cmk5c3w(TRbT#n^VzWd(u_&u=i*E+q78Pv)uWg9 z2VXvb_yTgr+i^Z`2Xb4y>3eHpJ)86RKHx>vWM=16yV*H*vWEZaoxq#d7yK#kBIVUy z_)ACAhKA&oE8S;!pyP5^X@+WV<-!N8L=H#}YM19gcDwN11v%3=Tw`Z3INgX{BHol$ z1X~m}(5e3HtlvWqAjU*z8dR?2{guO~twbzkG1}jT{<4x$n-~2x4@Z3+^wEMoXb!1B zG_P?~%w$sIKrQ$}hKBunp1}0y_ti8Hq;n@Ar_fHmBU5vA-UJ$-g7Zrq7h?j!rVWE3_FP5)OtOeF$P+LaH7`muxc&nOz|1+i~=JEzJDHU z4%zQk^qT`%=C9uWbI`- z3&?}#=(7mVevCT!Ss1Sm^P~O>aj%K$_kuP`aQr@H-f1&_%=VzQe$;e+I*^ z6EZG=)!5Z`F2%hUH4npcE%3Y&bE(3gluv}`UD&%xcwVm1|8mIlqiLsy=)VNIm*}q# z=Fx~ap~UA<%(byUXr0E7nBQF(e`9}Nuu;>VqI=p5;2r$W=TyXLR`Mb{t3llJayj`d zjm7H={!`Fgh#wJah@alF^ptMs?F>n8J)kokc#B47_rDOPGva?qXADlPhN3f23OZ{B z-?xAc$`U!9g<@Htv)hR-D256;YXe=>R?jdP42gHp$4}u06TL|KbYb0(`YNq(>xKA( z+y;*&>aRd<({n!eSB#?ctBt~pnMOOF+w4BY*qYwo*piVU&g~E~WT|El9ehL3L9GqH z_lzF0^oP$h(?hi#JwX2Vlpe-Mp@$ua(ZoX!95%`NGSYE?O*HxQ8}J6nA13by6&SgY zJNZKH5U#dC?vTvShuld8zDVxp4RJ8pp9i_4;>Iat(B>(mulwrrly|$*3k}bpBEy?i zY$T2F1#{A!M&2NoF+9s{j2rZ zeMlK-r;{8GF0<&o_-HbV=_LP@u*^a|x0e=ZtC!&(YT$=t)-1sJTliCD)-QK(nYBQn zRkEq1yy%WzB|W@1(oC;&?dTQuNl)o@8I8*uDZhG0uYL7*NWR9P*FJI3YbkIT554|D zd3U_@`Vin6i(b#`HN8^(C1;>-H}rZ&FX{D9bUu768%m{D)O)g{*C+ArP54vk)p=a# zwXg2$3BAI8?kT;#^Cx?HHLwm4k9?K()L4aP?Cd+@Vf8=cu9OlG?ESK&`f-f>}HJbO=iibSdxl27r&N8r1{D-V@8uXnI!Fv5|hp0p!Xs9c$xf*y-3NErIz3{kzq%_I|+zv?u?M{DONiwfmppRJo!91c5d;g%C{DU8F4EYBQsyaXN68~@-cK@Yw3 z4=~0Yy?VHr9&G#rJU6<>^l(-bdgy_@#b6}k6Ob2xO@>}U`Zb2U_$7EGihs~x^$$G2 zmyNv@!j0k|)RTWus=PZ6d#i!`g9`vx*jo)U=3w;?-hKtN6Tg4Ja7Omlre{>y#biC3 z2aA!wKiES3e@6bnHGuQi@TbbIjoZ2GItKrM(L*ct&8qUt#y_am5dZ9{{HmaF*~qWn z(d$6{4U(@h=+zkqy?z5YjE7#IR^A;iz1|PF#-i7=dqJ<9hbjNr8A#}cUQdmaUSAL~ zxOd|54@7SCQuqvN4DNBfJAglxUO&OUS+aSKja~=p6MI6hh|l+wUf-Z`+0g5BOMFm? z`!czZgV+?s37e49L-AjZn?!vC(G22*O~~Pqv0ZIYp)o84@!JfCku}IEVpAe6C}LBa z1biA5TO^jh-`#i+`+#i2c`7#JNf=saXjw&}G35_+8d+H`+i|TF| zKFrT&Pz}U&SRc!SUy*>n-T0nO>tz{;DdCU4uLErJ;6EhbkNuAC5|)jKmlL_o zF8sL-H_n_VKBE}mt4}pT#&~eXYl6{QVf-p3P-&L@)$^L;n& zdvHI&=s*l~nnQcK18a<4`ovn~OIWX?4yK368Ue!kH9J3(5s-_zWJTA=S9j!-E zEW-^RT>6(?HF>bLveO(`Gt`3Eb0FX->dZo>H9z3sFo%q!*!vF&rjY-1{%&hcq0tV$ zrW`{C-xdzv7d{HZ_ell5v>rDdJasfJ(@YCaz!qyW&I?&wx}gj{!D5WlIT7c7VvNYq zG#rS*a9vQqaZF!(Sh7{omuS zGmCr9U%x^wMZEmAo?vAgqHoSUPW&(~PJZZC9wP1u-=jVx53_v1QzX8!qRYd6y}%cP-+!t8s~v|N z4x#@Fi=y&pJ;j<-{r3{`M&jkq-(tV)3FA-XNSp8tyZ0fCk?|*D?a}n#kL8%Yp!|9H zrsJcpE+sg{VGs6(KhKo-iou^Fdx5Vn3V(jHu;=`_8#xv6^5<(WoLv6=CC1nte?B3{ z6c2wMKl{{HpDO+z;|_A0K|dlHeW(zyG)Tf2#glT+nm=^7ewiKG}Q%`HTC1 zVS5Mu-2@`SwLU=g(PyWxV|P z6$#su#GhwNe8=F=(Q-`j;=72iM`42%)=a|dXFjUCFal?~TWa@QbN#zDyRa9n1bgQY zN2;EKc-IE3qtLxM*yrY=u_7;vzL(N|JKDE-M~2?yG@t7?MfNkvrk}}J*F$bdsGrGN z5c@wHw1zWq7X2bqEunF;AM6E;7|%4U8LR!EuGX9@wT2B9r|E6zvkUwEx)voEnOUyC z(HfTvYhs?e@((p)jVn{r4y4dpGu8#MM$Pu{(Rtn2KiN49dy3jHZrX!dJV~qeYvc4L z)TV95d}$A18}0uCeDblsmc~SNQl}m18t=X9hC{!@c=9qegVvCms-_q%fZ5?Ss4rVP zPA|hgD0-e`^LoIP?w5UUYVemd2dq!g_tNhr1S@>BhvGC{JLBz|(&n!H*mtEnG%ff$ z)V3+DEo5+@KDKbY)R#>t2(F_(T-bY8g>^3M;{bl@OC~si<*Okl06SX8m3xr2$+X92 zv_7Kqt(q75RJ=yd)3_*~3VVmgyRo*n1pVcrzgE=N_4|kG*hd_c?V7MZvN=abH_f}1Iru~?|F2_7vtM})+BgR}tV}8ejy~PVR?L|McvDa9Rndp28 z=I+55r=p)cj4>B9>0fnGL_dYpPfDI%t5v-Acl6`OnU=C2nG;Mf952RG2VV1EmKf2` zdg=%Hpe<>>O)sLK*5vt{)P5phIGMvR-vYxIFyHK~Q^GKu>(y&9o(IuSahiQU`;lWI=GEYTXN+Ax;EQ}F5AQ)gv%h5SCqf=x$#L3@ zepOyB9RXhU4+`V-N=IpE}f*l(?{^=d1bLYb|rnMoq@-*~#I#U+oB%#hCkWyvuQ}{oMUx?tan* z$h&r1Yyfrc17ghmyWPy4^&@nFi{>tL!6fV}SLv`sj0d^^ay6t2klQ#~Cz}NQR7+iO zU=L&h_>^Es{n)^;y7U?j!>?FiSV}g@T^SOF)n(T>g8l4a$lm=X-gS?V3G^=2jv6P% z%;aIp84`x-nCqoYvJL%6`jKOnHc56EhV_a~66y!^Q(q`_!T%%gTHvE9uKwLuHZMq& zARuZI@_>jUEm~1p*(5*!tpnk2QmfbuE5L?lr5)tzK&pdW#@7}w~#(>uH`-MAuA2V~#ocElWX(HH#Jd`*z z@J`j-D>>{#46x^uE_gI3535S9v~|CFuPN`awyV*W?LeB_ zWIr2We^T^$9?8t+6U|}2DxTRt)2PqFhLnAlx}aXv(+<9_C=S}9>bO@GG@p-pZfiOl z^+>rv^$^WV`q5Dj$sZ^7cCFBYc3pTqeqPTgLp?MW5%g2aaaeA|A?nY3;?xihOKsf+ zQE=!+Th9$Qr=NKOcF5kUiisH!I0VfHVgIlbw%>>lzpM1~?NB|975BO#>Ve!iP|z|& zFNFSTqk7OEDL2%5JffZo(goA=BI;rN5jfn5dMboHW*pOTvL5hS#o2=*>Op^63dY-* zUVaw!sB+A7EUx8ak%4+udS-I$?Gr*{aji|{fAAbv%EcV^hqtOfIvl=#)js&YYJO$< zre-nOmcutAPo3)`{ieq=d50*K@6n~<4bprfub$#RE2kHEkk!`$sagb-a#HPB`VQQeCg0E}5_Mo>Hf*Z##o0yuLQ)udwBV?WZy-*xYvf<+jgw$;JLgupV}|__WKxT z7SoWqwe{M0)Xz;yKilg)=e?oyRfRu+!GBsXe|A@zguQ_0#fmYkqWUm~ABcJ+ynOsZ z-%}m{(FesOT4BS|K0VY=|5O^c(fY2DSO|3{+zRzv%F z{iL5qN9?NZ0L{2Sv*C2)GNqweXunOtp@iRzel}!E97fX51 zl(9X6PSyVayk)z4*GG!UW|c$&O$%>LO%`J*7S3lGA^;w&)WEb z*I&OwPL-MbIf!+PlFnnHpYtu~$4~W{=&!!YA5K3R`so(*vk!1s$)D#$+XG2IpAIAW zb6ZUGQ;UA|g?^sSv8JE9lyQlbem*`1^pk5rKl7A+#zH@K3;LNQ#?UB#EbN~aqy1CI z_T97T_d{=($)E2D`biJ2OA5Dt#*6li<7d=g*vIpL(SD|Tiv3(g_VW#(pADF^h(-RS zpby6O&Fr6@xz_Y^^mie?j+K6{#F^W32iSi874oCZg&7w ziJ%|IAB@@@Io+yD##muk`cwNu z{iG)iJpII3(9aa5pRv%-A1vr+yck2H{ISqq5%dH93-O(==)Zv7VJ3gZMxmb*MB4*N zKNk`GV4f}(`SaeBeWM@!bZh$gC+d)PMXdBwehld6XUMfOlRr-={fvcv?y#VrI;!t8 z%b#3*KlFwf{dfU~mHb&I+8#*yd1fftKTBewpE>A9U*wPN3~TziSQ(dC>1Sl}z{{UK ze>SI|Y^9&E(9bm%^ph&au)p$$>#sch3Jdxf5rux=2e?vd| zLO(;#w5Fdw6D!3E$F9AjG>W!R+-0tBJ>xhpOf{!KyQ%z zNnfma(-+(DC-+SWx3}hr_9*vCjd%9fUam{qRh=Iry%eGkeW8~#$63?MSCw&yRo-+S z1A6((pUmY=ywcBD=;ebGCG6qjcks97`pVl!dg1oY>G}mG^pd_;pVjPHGk>-m^UDQW2kGUQx0^4Y zmBq8~TIt!mA$lpkyGB0q;M^|MISToG1?_oy8=hS*pJ|Dq_D)G+?ah+Un)$O5>dVXH z^-{DqLq01@;&oy!x}asOUXOf|0{P5?Gr`av>*wsjte=zQGYw~OOZcAQ?VT;3HS=d^ zuc~0;WIYS*ohhGTFFyLNfco+ToiDbiDOW!8q=cTGZD-HY@l2hMqIst{jKc5B`f^n=!`V_l z=07pNM`vt0aUKQcnHqz0pqM+uTuvIzN4`V*&Exkdw+3+`=acwZHq^&=n%=6moDakK zHtKvNo$oMou(nRlW6}9D&F9fvR-FDwJ$MZ;(EJwdo!o|bI{#?w|EdW-B0Xg`&u5sU zq5BH`~&YFo${qr6JM8HXzV0%+TbJ&v8UzYuWQhFod7 z*NWWf3gk?8p#4;g8=V26Y4#mNf1$H@IQ&JBqoWsOOxz26I$he%HtcuQf%8vTzkzQj z&Ual3JlEsw66_u3t<~IJt#qy{<{oM9-sUuCWk%P&>U``Gg@4;AY#e1}G{+_ci-;6otA?WXJ zoFPlGzl;Uh6Fq=qx2AQy^hwX`6BsP=EFrPKFV3*oj&XA1T%begx+<~i5b1Ww-Nm~PW0X=;SuzH;5TSHMtYyq4|=~xwyV(lPHNkN-n}Ej z>0Qz|(Kn<0Dx6b*J-KKOe>|fNr|%r>1)PsPs$!+Z0O&6pv`A-K5FN5JNx(0hXF07& z8hg<|W92yeX0o8M2ha~H=V7n&W6q zu?p~5`QpMFhqIjV7|Hb8@gBiNFt&nUqQjQM_y_%9{KH{$G5(>w&L(3o!34;`<^?&7 zHwm_dkatrdM_vGIS(>A=6nHGg_h$0O1{$DqXL=}a1=l0ENkn#xUfH8U0 z4t#asj5H~eaz5^1GO3(o()wB6XCafGhfL}aGO0afNmJQySIuUel|E2%iDVDS5z+yw zTv`da1lg|abr?=7MtMZ%A{ph;GYl7Wo<^MSX{G!-fun%K?fb2Qr)HEN7wC6hLTcc+1ObHTfJfOoel`ccXx+KbRiCdEVV#oKOe+8aeC z)iSLZ{vB7c)7o*J0lAb1Jne^_G#&UM91v~@Z!|tHebn<5;i(OH zTJU<-NIvx#dk%{VIiMt>yDp%DwgmF`BX=+#3-LSG2aoZd@7LbD)MQWf=8o#N-&(a611Ce zj>cB-xwNOGuRwMO*-}Q^q zd?7o^(id{!tf{);&YD|}!UjFY{?Nk~{!lyM!}$j>`9td&KDhmHpHlu+u|fvR#Fr z?^N)3toZpB`0HN=U*g}Cw*z{AS6uhwDrxj%ls_{+=Wu?$>eK%&etwwYgY$EPQr;LW zyM2_eCUNyB%0_nP;=_xDMBuTH=oQBdb@B!I|7WT0+;p z##Q(4#(RFm2|6cXUk9u;X&p`bp_A=MvBm`7^^k@BBE%>zgs(FivC~Uo<6eSTUnU^F-i$bvVu`Hgaw_&IhYFKUcvyd>n@J zI_k$459dE(IOI70fl|IMh}(GIwXDo>zBqW_?VF2o5$0u7oZr5O=)AB`IFE_W;rF#7 zCa==@Zy+OrbPoS9NayhBIGs~JzIZqv!f?oOo~o1w1#uhiOJrq^^Yq|-x6g@k5$5bv zoX_7ybUtN3ao&OX7?LmK=cqWJt>PU1auDa3m*I3y{rKYH{CAWWBxK8Pm2x91bJ_A3 zD|4JbAH47OJ%n-**18hTNq>+$-{d|7I-kb;mW@oFJA?9km5}Fzhf>J%eVVIJ@|@-v z8O|~9q~iQz8hPLLnMkddl{g&qxdnNtkRpj}zLY|YXCx7Vd zqdmi{n|JVw}4R`CwRHDif)-2Cq^hkvx0@`gaao5Xb^uF~dz9Oc;jqgfI0jttA0E zd9NYDyfaQ*&%o6vpB8yT@+p@2l_#-|*-Sna-GBV#Q@n&n$fxN9ON{cV9B{;HZ|p}- zj}eb~3LcH}X`tp;()N5g_Ur}xz_<5bU-h->8(OQ&0D?e8xJ1Z%FwCcZXeq|QJ2j}N+D&?8MvfEdL zvc%PFl#O(__M!gq^AhlZnSP#g@A2d33<;0m=VF2-Mt;7qAN*{W?JE95zJf<1Kj)oF z^DCizZOYSjrWJUnX|5e}5F@G|iJT^p!%g!M^t=dhuTIR5EWmZT7QbWLrz=gvDn!}KD05q>a@>`xk&E_u<^P;&6C(b9n1M?Kykh9r|d5S$++>UL? z*?buD6w@(JF$VJ#D=|+Iw`5vPgY%9`>f1iV>L^!vHRd8_BDd>wis4}{VjJcnYB3i< zIhoXdidlK_9+g+6X|uEOUN&-*=4j3?FJd9nFt?D4{2u43~uyUfjfc0ja)0hozOKSiQvwgxHX=`y%2HD zX~@;$aC<^48T>O7G`%!l!@3K{j;tf)t0{+dx0cwo4Ra{9 znuE<-ak%+8*#!5q2DsTgl?lua%u~%1dGVC9MLF@#B~xlPIV&os;`e6sn_#{+n7^Jo zu~dvT@^He&`Xn*dc^HQ*jCEZy!Nl`#X-~Z@Y< zP!N&}LLQbw7mz%ZvXJCrf8^oQ7I2%&Lq#`yR(Z(vK!VT%A$e%22ZTJ7dVt_2m`M*@ z4|zy3F48$fOtNyOfPLm5=mE&h zSoFX*3~={b51`-u)&r?g^gyb$9(a&)&4eDPQOftSGS>r-u`<^K_bB)8R?2IX@&@Jo zJCyt7O1Vra|5ADX7p%yeTB}kh2n8Uz~t7AxBd}>m&WhrLo0( zyd{+T3f-6kSwUBqxbn3=d@Z9|rnBq)N!&ghmF)3mrsm^3AiFm(#NqXqYx;Lx`>RRL z;oOa;0@!(Numeg!R|U}Z^|12_VdrJR&MSwVSF*UE#_n8R*`DO-E`YAiL_R&%xaoAh zPyy^8==1m2eA+YH5B=vC`eY@+2YvDvp%Y0TzQ4u3bFw|P%ZoLE2e&wPKJdw8Z>?R^ zX`hfXJK(G3>xNEn@2|F@UzzAvEBckM*>+@_^lR?o{2H5cS!E{r(q4--L-)?|ZUdfX zO57Y?>h0O$WM_ewVck^*+6W-0qyg)#%@Uhz%*N?HA6B@f|a_q|I96IX0@DSyA z5q`_CCZ)@+t?SFUN_X z^R}&Zd-v4FdpqhA@Ov757kN8srh7Zy5!<_u(EJpTY#jUkT772Md!T`Rhg-TbK78 z@V*%yjWiO*UpMA=SFD=~8$^5J963hB2Zc$Dzk+-res>5Qw_}g*54X6$7tS!gunU_1 z5VGhXo~!(D82N|9GbE=J7JaZVBX*PJBW6fkyb+!OP?;5Pv)i{N4ck zzM|mwa)Dp3#IGZs;dd3`*O3^BU!09X>mH9d`+;AazasH_o{C>bVmN-q?;w70Cenvl zk@#&CI9vv~7r1pNFY>kM_g988{)|&>?U`a>2eP-&+WJ{2uPvlM7k7fXZv8u<}@Te;O;( zI#8lf`i|C%OoflT*(ApC5OhEhbiionfECaIdlvH;M+4-@2GG)S59}?_(o)dN%UE|r zdzcSoeXkF2eIzdivVWUdeKucC%=mLu)&qabfIn$75dH#Kt9}>iWb&(=+Xsxl%1!Kp zYOZ4v`Xj%pk(az~7L#9L{8i5FgP{Bpzk~c$37uU^dOciz{rgcaqn43gUx9Z>j^RC( zzdFP_ffab?Le5_^NuE{qPgi6@ug4>+@29-=IF<;tttMTM{DmInK%> zeV))C{Ng-5sn5ggr7a2J`ds`D%9{z$)s9Gg{tR*m$tGg>#dB58JSmPF+-R!GJCQsnrMEj@pNR@G3P zt?$8e8UxBz`zQl@FJ0>Co(evqSTXl;uz!fKy_pYsxMw!)lTnKAOSLm~I=h9w-+^!G zjMko|Zv4f2ZwGu0IBzr;b0r-kl^B(zIBX@ zhu>ync%uEA~gNlyShzJPKA${pn+!|AatE=Z3PK#vT@i9;ET^FRX?WvA;6z(2vcHVT|; z@XY@>`hYQ@_Uqs`rNdUkxM9CBeh#aOvod=B5xft+I#?erkKaZ96^+q+;Jd*ySl^8H zJ8Dh>zoz^0LBpBrN9ZNE*Y-Hpi-9LpzB!$6v0@l|HY3$t*;e1eYve%Ek)4uO2AAGYGe4x;!zuXl`|BFmwGf9bvy(D?}q$hhjvIZd* zGZVirL@eea#A3dQ--z7|apQM9ekU*<{|IwbqloTlt`z%At7DjgF)WyX@in3Qcsx_- zek$HG%C=|ILHCP5_lV(y(fw1L?$-#qFT}S}uBmjt7T<^HKF!;K?*!df5#3*SfYE&w zr~5Rb`$kR5;Ve3JtH&-_0ZbdUDyU;~^fakhz{ zovY&P`6zY$k?Oih@I+gWWpad=m(rJ4qR*`IWuplK9TcBV^EJ1 zAC?aa=MTu7j&h2t#YO0cGX$QQUchtJPRtR{NFSs^wk@YNixc%iw6Biwj3{GVfM=@C zSMe!ze)nnMi}L*LsffRY^F=<3W4_!AU;Gu{Grj`Zi2>xiSxaeekK4^&a!k{Sd#^KrF ztYp@Q!=>U{FRpF;`U3FSFg{7&gR>>+-T5OmFQZRk7a4H`xqcw?V2b`Y;G{Z>-5R4; z8{MCk5t8?i;p(^b^gi0A_f?ubjDAp?ezZ+zz^Jl(*8`GnISom=&3KU0?PWco{gB@; zOl0)BkLa~9Ig(!Q=JXm!TG~`XGIixhY0reyYhiLEz2dCU53?fa^$z4VGJA&NlsHS3 z(JkIn>2`^DCxA0q16#N~Q-}3C1=NR4lk`%Iqe{Q`HCW5Ld+@9``kethx8e-csfcHW z(eK@yelO~Ueow{sLHcb=;`EDeRr-DX-wOTWoe28HJt^Oh6h)`stE0es8J-<(OXT#M z#rtx&R9x%%6?S!F!%N(*rg!^Fzdfgd9#Lms>GwbMKH83;U-W~~FWNTJ@9C0$1x-o% z{m}!Qe!s2KZ#lO|5>AS=N9xjGkHa46=}Gn?zsYNl_jLPV-{#)>R(1VEt+BLhxZYNt zY>*+)e?rHu#~Aoaq1(`?vW_y?}H*Vv6mUV^ihf9QJO|hN#MXV<><3 zO1ul(Kz(;Mdzae~b3yN!+7P`Ja;)ugybBv#eRl?Xm)j7_s1L}^Vso4%=I(HRQyml4?tT*AOZnW>Gs4?}?^L_{2mey- z?h)a9R2uR(tEWY`yFaeChVuZP_4EuyDDor3#Is;WEN$wj8R{(|y0@?) zz#GhFevn{U!F@{`vmX?H(Lk$f*}KESY=@2-_>ZNo2)X-mji6OQE0QKpT+eCpDj|2n z;vqu*_R$}#DhT<5;q-Y7{lT9g4l;`D1`~gC##@zdtoPU4APHoHOyv=ns04i^6bb;tyUBrLJ?SE(?FK9yy;PMpD&q zvy71hWx1I@*dqP!z(}I`pg-7R;tvMj{X2U%=npoU_=CZBcd&PvKiJaHi$Ca;{9*71 zXVRKz$n4MJ4+{Gl=a-L^{$N#q{lSL?p3VHh4dR*f2bsKXiL|F**vRBqi&>oH&v<5# z*Fk(rzW6Ed+DCt|#Vk%TgT{sU!rUKhA%9QLg!|1o-<-KEeg`9C~<5u#VzllJ4FGzF5(~@470#5Q5i$n2?sPuXhy`L5I|3dUyD*QjRZS?|lxe(|~(FV$s~+O7^y{@N|2e`Q9I?-#eJ!82a83`hGBdFXF2`OOwR+1>WMY?~}sY z-xBiojuztk>xG{Mx>xz(Rph4;KY;gI3SQ6CvoL1meD}a8{_gcbe<=9wCnKod1TW(1Ed|h_ zgvZvDL>7xT##AQ+$Cl^durW~mA&1D#ach`=I?Z>J81vhM{tzGUeJ7AV6h7W%sTgnM z6ZiB0w-|4yitlm*zS~0h-bnZ+|C)UCo_KF-Eg$cLH>>o*{PWOwXNA7MhrTD@n*8$~ zxA?xm+aC5k^UXuww}pK3<@7!I)yy}K6WL-sDW`yf{iWHt&P{*p-ADrN7chSS#Fu}@l0?&vEwSzBc9fTh-iU497t=D3{lz0Pko3yU+ zF`RkSf&8&Oc&`(GXW`vF@t%8jr)uwKKvwPjwD7fboA%>>A+I#urTzFhtd-myuf3m7 zXV&0-nu}eIZ{}#OuF@3LHA(B?msB1skSoEM)wWu%$^4sH8^P`#FhBnoE+fG4_J@)k2 zt=ZmRj(!qccVbn6TPYcVsn-j99$^#;w2apL%&nsn%?%~~S%s?+q`#6#HcKdx&m#%&Me zn>*X%O+p-$)~YVGC3Io$nb~_0-|T?w+7BAz`}idwKRO98d73sAU|tb9Avvqws_p=- zZ;Z$MOr3V%`)j8>eTSx1dIcURq8)ng}U-kt^7hbFtQ zE*ks1?#6z6Tfis#kdu2I_He~o;GJDq3mku>GPsxPLhRR9mX-kipz~N%hL}QHdO}FnWr8N9tQ$nn28EvGL*B?|8>JjX zI~_&Va`3xDAqSHo2SNWGMM4gO{sVx8{RYGL#W~0;csD^`MsiMR|4PI6R(JyKH-^h$i9b~i z^Lw4lE=q(PPGWNSy1h&e0~aKRVJAXX+#2j3$>Ah#2KDcWEIpI@S5Nria(IHFe+-UO z1RRPS&NI9h6^<~TlyGo4Tn+i7%3<1%l;rSZpxuSY(KE{74$T#m!!JM|Z-N}AGu}2q zACvxk1ahezayAZgpSd`DVQ(R1FXZxm(6uL@&ZW%K<34_~8nUouE@a_cO*^L@Jm~`6 z()D(Hx49Pbc9`ZZt0H*~xuEhZWG%_Iy@imw-~rmZbPL+l@ZCJf%5um|=&2pfBNeNc z!G0jw_&oe-CKtgcWIyykhN$!(6?b8Bk>k#aHlo&JItF~d*soy>{E*+I7e^Y#qXhDX z#^VRjiL2lfL>rIW2Zi+F_mjC^ydGn?cQVERI&crhg~q|XX_hx>O-M(UKt~$&;=F03 z7j62S70`m(qgBS9;>72{0Htp{Dm4qk{nMrD2C zWZ;l|$adVXod}(Zv&l%OX5oyGXgYN}=xC4s*4MTryLW6u-udZi2tS)3A;q_U-}mYZ=C-wQ*bqjmANf45oMz-vf`H^Tf~1PWQ%C{$NVdY z$Zx)Y?2)u!ezX5t*dwq*T49$^{%X)3fvpyRU)2i!VEJ4FXpgLnVvihzyzP@c0@-2Z zmz|As(1Z2}_?`J>WRC!r-tCc#4#_<6kUhfhS=l4r34O6gD5ewVd*DZ^J%W3xJ(3l& zM=n2G+9SMeijUCucN)HLCVM1X(>IVkqI_Ru@%@s>@2j+%bMzV`5NU;BlWa5}jwsM9`gI^nj!D&Sk%0uQn>w*|^kK4!K+kiV>Lfx@Z6 z77+a9`NH6h^Vg*ct|qcFw*}5Y*=P$?tPR-$Ho&3k{~6F#pGE)Q30qW+M|=(XTE-~$0s7@kbszj)ba5l z9iNEUE3N;b*ehgOOL)vd%62v8!0(0Wc!dCVc+ z3msjhJ(C@wqp$g@xsG3F_`Zy6gspZSb5L~r#fI;#;DoHN3Xd5`_kL0JiH%(>!sRO)={pW%)-*;KecMXgA zPPQd=c_9-j7AMqHcw9TnGm$UbTeN%6;&X|LK3Z<*AAHLe?W!>mbBVVY-ir!H6n(Vk z{%{#GATiT^>!Z>7iOa3^(R=sxQy=9BeYC;J^bzSGsguYj;`#{wJM_`{|1r@=_`WxN zM0g~9)CoP+gV=k_da2GCp_hhrhwG)iUl{qy_0nX(EcMcCR_1!?JOfP~Z@u)(iQ#(b z{x1yPxL!(7aP@D{G@GZv{6!baM!j@?RY)&g2{0Ud|CdE54XC)K%sr0F`@QnN>0FhRk z8hQtD(BM0dLeJHvg`Q=?N0Z;5OV5Ufp5-G}BcDAleKM>)CtKJm?)vvZ(1EG&$x`5x zA%4Q*u7j0)n2&m9(|NPzJ{jLHu-AMT>`TskGT8G8-;M5*(f(O7A7=9Pst$8|nGSnq z1ox@hLOEUC-dH8(fnk{Zp^MQ0j{{RQ#*NFQP z9u%K)h2g!ZaBMMygZq>pB3DiI16sjz6w9RiG1^@7bRbHl^~G(Yv1)VHc>E#AB|zFrXfD(b}Jt&kA` z@Sz{J0GDr+XX9zAI1lko)=bap^bLT zfzo;{KYY#rcy>N~RocJt4xFL<9CC#kaPFsC#~lmiA8HqMlr6|PBy)P2AwQ$y*o0QB zXeequrenor|7yxB6!X{Tls}{I(Y5<0&Uqek+sXwvMk6SH~@yoP6ar z!Eb4Xal<}pkNir=$z+RhOYME!?iY2aa`I6vqCu^ zyT(f2gZD?yC#4#`hwsuD%t2MY|BK=KNd3U;jkLQY{HpEF?-}E7Z@#12?tDII@3j&> z9)CmsTC{miB}bO$kZv^e4?a+%HawZniz&AIy@vOq!VzWGnaAJ0hq6jj$28qCUEMV-=Rmpsb&WC13H!-+!xmZg3qL%VoeEex&Xid%C&qnj86jm1dH!IMU+# zZyCO?Bb{NAub5=`9(-?#C&&rIIyR{@de?m?zx}4bMJN{{FW5h>`w+Kk(Qe7+>nD`C zr?$Ls{2*@CqCJzy<8O-Yd(-eX$WNF$L$W$B-XlI(EJ4 z_k%ZG&g3FuQU7QgJfj{eH7NFD77 z_Ai(pQl;H6J|aKllhNVu)zRG2*YhIsLk<|;iwZ{+9evF`;dUzYs&>tT2GRUb`?ShFwXao^*mvE6R?8`j)Q_D!6%JQqaq880*R z558ri_Vpa@TPi-|MTYmH!VyIu{Q>zr!q2A)9e*_Lm7dhAS z-1$DO?ZzG~+mhodx1mqQwcWooTZ6|0@m&cMDK~L=Xe~GP zP-wdp>q#y_t^)Qhp!_|yS5^^nd$8v~>m?pM5ABuJ+ukxVH<9+13Cl@T)@xl%d4utx zyg_wunM0I|sN^f=E4hqed&^{L-BUENzZUk|s{gcH?6KwaJ?Btjqgj|EraiVOHVRmb zYq=xGbo!ylwcPxkRcv(M8PRhJ`Q9>4wif&JxvHLWdYPVTzCf(=3gr~GXG=ZB+wSS% z-=A#w9(t-#OLgm+Y%O-^``0bLPc-}fhPa6Dw;H~;!c(MdkoZ&e9KY8&lJ?wlVJ$c9 zf#~$T_IFj!;jHG7ptoX)AJTJigdgmkBj)=`2|hkAxZcn|Kk35-h%r;{pQ7jPF}xQQ zjxd=e;oz}R4LqjmIXmc?a{2~gozr%dqviDFxI#I7PV7NJIekgkr-X9)%4y$;^yoQ# z{}+cGBk z&Xu@B{!19{kTdfmi96)XNZj4@1;E`&3hoY5J`2mev-=LAY}AoO6(Jot5q)Qg{Ng{# z=O=x+eadIkm*0eZP;>dGK)=bg&&|l+m-_Nf?3YG55&8CEdUJ!KH=Ce0Y2QgTzyBK2 zrHZ~(^ZVoJnUdF^ujKVN$^87G=pS^cRet`zvA4W!F!J-U*0n?GQml2Ax^(8Dp4nH4 z{Cq3E36DW?c@w5f*_vDI(}p#-+hLzX+pqFBEI*&?!prAKT|qfAPOp_NJR!?mmlhem zZzf$+mBROV%L?gIo5lC%8op=ko9NQ_N13-j+VDNvuhPbg{C=hVfZ=;9JX^`|@HKMg zy7<8Bk-E6&8i`*;7q78#TctFli=Q_1&rdeVnDZiZ@#BW~07pxBzCchHRfXpZ@cVw` z(9*tQr-GM{r#?~h>pyS`U5p%D$iznS1DP&H-tO2nLZ2XSSIWdsjxv2>4X3$2F|57k z@W+lXu8Vh~Us4zU4&~#CJ5?9gOWbigCWJfKF>fQU!)V7m@&&-%as_wSevY`CEpf-~ zm=Nw@$J{A#r`R!9eF1PcLBZYd&k=Vni92q`gm4Et<^qX3#f};D1;AZ9WFGe6rEk{YK79K3vCrk~>Bz@PW#7|Y%IUtV=~*&=hP6q00{zDR z*~{>58_pW1^-4~XR~(=AJUJQnrEHs<V~4j6 z`}J#6QuKTWt&_vKwBlU0o(!C&!p=p;9*~AUM(aQ8!xo!qA9x&$)^3Hv%)WtcFza^# z@DYzaq36(E-|!WkCej^`)y|0bdm(Xvl+vC5->9^8v z@F9QyRQ;#)8~dO0-x>Ok@q6wi*oQr1g5HW;nm}c|m;EmLs@{ruvOr}5|Ly;Z-b!om zDiir{4}K%BBT$*df7hL(w<6CcP?^ksYxsQ@{T{@B7oW|}PYF~G=D(XKz>ZGw{*m(F zaJCE49xE5d>7_%!mvJklhaac0kVf zM{DeC2D=lnB*dG_3Sf(3Pjs>yANetCH^i9ejDzwuyuMP{Z{>)kEXVhMM12`a*sB-y zwT||57ov_f)Il%|f{fyOOiW=i$v;f%elAVJ`aPHLmpAXPZXJev8t@irD)#lVK(n5;4B;VhlVqNGx2xx&w&%dA@a|* z*tI7LR`T)iOoMD?`{CMsMe2AYpTNd9I3D=!aycFqVmwfX9FI(lM?U&G7j#z z^;jcJ@XNiJ>1-eu-lJN(a%zzN zi=lgo{t^L)A8|rCo(ll0e+X!u`j433E$F|0h^O1HX;09-V#p5-{Lf)3~bP8Vlr=YnYKO+7fJH3t5zuODFT?d+H^wtMDduOFJo$dNrh|Y-rC7m%mu{{;- zzQ=xq^P<4_ZJ>jacur?QzYTQuC)Ce;571c$=%T)AmY3m>$@|mweb?Z7+?TxNz`P&T zH5cbk72uD{?UVJ9fSKO&IKS;JOuf`wkT%=92k$jIPxNj{9pZgHElr%`A!Nu3%}aF9 zu$1$Ay$QefjULA7?YqP2p~{RNApiSH4`tLRx2M}k58Dx=>4hGuRQUtkfZtEmUnd<0 z+*rvUyPyXq?}z7mvmtkKx!kFuvDyl`Loz=Xa_4&(FOvH?BW+Cf=RodYY*@QAHg+L{ zGT8VH)}K_`cBB?~UBe5#?u;qkgfX7(tW>)YJB8v{Lpd*zTR#aI`wX-WEB zz$?`)WeSZu$rQTI!@J{%cF>n%d`oA~-i~_>=qKKR-XNRZ;d9X3GwQUD=Q0qq37pV= zYj$58XjAHo^5i&@fea3&lknY1R6psYGlUF89a09G=_H$t%PcxS-b!XMom4S3B(t!; z+lz~}nw7YRJ@JDw>k+i=!=Ea%KDmw4>SBdf$)=L>qBnY#^f1vtuL~mSwMBz{(pP$Y zo%%Ik^qQfMQE0|YUtR`TPV%cS^!gZbgJPlA1f}g*>9zHr(dl(L`qDporTv)fzAJ8w zPOsNd{r#ZVmvF8@pXn9*Kbg^M586J8Kb2lD9uRuX(ANO3s=hU)SJ=;erPnbQ^y0je z;Q9FOedHD}eF+)I^d)R`rZ1Vybn2(VpO$@bB#U-Zh3pgW5G}o^wi9n>vM;EY@!daU zJJ17MFXxA~<51f{{FT9TN@P2asqL(Egtvq5{v_K$+?K;r7}n0ds}y*$MLUr5s7EjF<3C3v1^| zw8QB%+zu(nT2nv#j;kTtr97u|Q(~b9RYxsd8@3?;ul6RnwCsDtJf57Xw zGUy*LSWWx`*n21ILjZGs{DTJw_u$KZ`Uec(Z(|*zN)IOf0p9y+pXuQi3wr3Ee~_!c zO!_s7y!Zq>(pP)yTNtlc?5)R?wqv!o?f_n+`3Jc~JN@wwz#~MPM{iJNSEPS1nCkC` zy)_X2K|R{uh(A?!eSmd{M5~|8KgiX`8|c;4-a`Dduk!0<>X&<<{MkG`L!lWn|KQ>n z=(V9DHhQ%wZO2NlyWWaUufITFVx?E9^NC)+ZJ^gbV(n-!rU!qvgzArhUY`>&xVK~R z4@7SC3iz{X4DMsJ{Sp3DdY$&!=@oWHo?ZdGs`Ax@UK=&U=le>p85Z<9!w?^oabJn& zEW|%3P8dK=55<2mHt65U`pskyAWj%S4v&oOYQqb>qmmK7O|yA3hTBDKO2h?4Z0hJQ zI6wOpTO^u2(p!HJ`)DM+JIka$aisK@%i31;B#)gr@I38>umCV0lyEQ=QiB;Yw~^}zYm||7Tl-#*U&s-INs|7 ze18#mm-gRw^w|o&xzv9Jz5wRiasXSLfDf_q2zV|F>vssASz-MS!85a$e*Z-D`*j1o zXjdT)>X`F)q8;|{yN2J+0&m!J=ajJDG`B%MrsopG&YDkR^GLEPy3%tS;(lebC~h}4 z;<>|lk=MQe@o|hJYsXm>R=?()YWO`Z>^I^6{X%};G`GQr1!MG8h`U$ee8`?2J93*H z_;Y%lID?+}jADSNUgw8Sba`9vj`OxxyYV;GyQg-Vcke?*DBDqXpp2Zh6$N;w5cj4C znxAoq<)Vui{Yb(sbl5wEcgzRqw%kRR_&;%z^x>oZ*c_JV44j@)IeR z;RFx9hCGNI*jkw>Hq04n-L`m5;8E-o44Kw?w~gZ*GLmBN+pvC>?3LEL^Krkxy9azt zIfe|sZ5+SPVGm-7-`^_urTMrS;Hjf2>EX0s2W~MpWB)quX9?oh%h6B!MC`AMJ|aic zYeNi%>wVAwD!{3)c|J`+{@BBHW zAN(07aeFNEA9AF_#v68TEAk8&ey?lC&R>^;c4OtQX_A(Y1%Gk> zFT`K)|3*pvisJue%09)S|Ne*h>xKCP!(Ur|`oG6tAAQ(&{#tZf?ELjZ!s)S%uY~c} zO!Tog|8IuuQ!M;t?f*6Q;{TcIt7GZ^*#?LodTx%5ANuJ3g~kj1-#?M-z{V?zefbXc zgJ>v*@%pmZmxE*A&$Ym1torW`iQ8kL|G57b8gJN_C33u@_I9@ z*2i@h)4I)@)AWEn{9Hd>)^n*zJ(nZ@Pp#*2t-CG@K4i;jIGcWH*j_?QWj$A#)PuRH zv1&b-%X;Br?Lb4_$$H0R?0bauemzU$yy+Q^|D!oy2j;|Fx8xr3V~#6b)80>}xn|4@ zVvd@v;p>>}>BjoWu2EQ1)G>+Xsyt1b&c|Ng+64W~dB``z`a)Vm*g@<6CSa`u*4Gk_ zXrJz)BRyxkZ~6WqH~N#4u6bz=DNs4p+lIA)z*Xa-th4nJtb?NW$@kyLaoSi?KCSx` z(`_2gBFEkha~~>T<3e>jk2)q{pZt>R z^Sl2=bvUpuUM1$au#SW77hiAdetZ_>1lCc~Jg!`WTzmn>tn5tv=DIhlpGz!zmENa* z(RvH49X{KMxxJmJFB|nu$<+>2RE*ZKj<{QX7r^?+0*qI|0*79XaW6qV6~oG2b&7f@ zFLs`$okQy=?DJ@?r6SuI(dXw!q0eu-u(o(f(>bVT9@ZMmJ`aV8s!S5eOL|c-8449RA$a?Z3pDcN)-EK4{*IckBX(PSAEmS*lr|gLJqy3Jwn-_n=og zJa8(b!)2&vtFsr_7jf8IQLoB_na~B99#;tVMYiq@QDFZ*!JcLg`xewqa$_sWjqjcx z753RtVE;`Fuos}7_931i?-2dWH_D%-9QJwx?9XLsjhW+53BkV9)?E?>_R(l7(*pJi z7522u2-un2c$CYHp{Qr;pz!gk5VDu@c?gFUx!}RZ?1*|=M`=|Bb=i8Bt?X3?>Z!;y zucuhl175DGC?0BF&zixkp7$RF4u_l9bFrug^xRVM%vlljK#nyQWV`ix^k+BfnUZ2& z&(}k69jJKQv>xz9E|Z6UMLqMr5?)V)JS^v9Iu7-!^!yyj!;0adF)g=s|LbCFUT#8L z`6rvxbBgG5HsSEyoCw%ed00n%w$Ld@kmt}VFAJS=7wXxBy(OhCFs0`e9QOB6uL}Dz z?8%rpFDV533S0NDqriR>+OnNv4topgCOT{7$}QebEKqKt1i?)2KMCaJZ3d5}^x@J`gSsP4(d29QHW|*qJk5KRZ#6$~)?~j}!GowZ{bP&l2qJB|%+a3j10Pdxin_Wm(XJEs3FV zUu)~${Y`7Rv58pAEhGaNPw*qPp$m|@;$0ee2`$sQ5nca?q~4Apa>;$BxoJxuJ6j4tr>G$zArk9gY zk1EGZ#-ed<4IhgeP_H@`kYiPuZ=WE?qOqjLCh|Xcjw|J2mSS!3M~B1rui6LySIw_X z|CITyY&|~thc@^&Gtd_KoA9H^D&_&6{>9`H~cmpm=ox{BCu98v{+{wmh)ulyV1x9(Qt(zd~$rCe3o=acp@=6NlAZ6(2V zCfaXT+NOL>*?t~_FSOqWkggqM$B z=zGe$L;RqMViK*O589`P`srbNE}Wz1?nFL5_UbY2f3pj4(E74;>IvRWCJSm~$q z7|_os3;HQm`WXxTEVrPai^TXD>1Q9y-|j2@d|m%li#h!i3HmXk9a?`(v}-ngGx|wC z3qU^s?1fITxN!QhmP1MCM+E(v$e(kvtm)?ytd;Gr{5gCK=;t2fN14f=7NwuD&`*g4 z{X9eUnaH2M(vQE8^u}3woCW>7060kgn9-n@hJU_g?`Srpr13u81`5GaQgYG{xjGeX8P-#DD*Q(v^|jY zGo9!Mc781M(}lI6eW9PHbFArS7wYJ*{Q3A8(9chht7RsC8kK&=LO*s3`dLr)naH2M z+CLd=pBR_E2YSPdei{G=vwwnlY2o(IV$r^F{Q9fEe*f~D)f+Hp5exlXi9Q(HH?x0s z=33LwOl4eRl|NVF%H$X8-I!Kl(yHKh2XkjI^KsK(O@F|4L69c>4La1^rYh{fvcv z{$N2ri^UlBg??(p8XtrIg>~PP^=;4_X7cCffWylExmvW{NBY6u`4RqmmEylQlK+11 z4$u$g>0*&TlhBX8(9fNxThq_!%DBWTf69*m{XCBxA~X4;DgBIve(tcKpLee_*I#D# zvl;!s{=v9S)W2pyKOX`PEBg7XXnP>(C!XjBbN8{(&m-tZU+Cw^SZn&ZpJ3^y{27@% z@bc%Y7WDHYrJu3T&ovhGbCnpw{>mRtKa=#$&>Lp*XMPm=`G#nFAnE6pzhLebbCj{r z&q(y6FZ6T5nb!1^sEkXj@@MHWpr4J%B{P#h{)HhrkA;46E$HWEs?WrJUS$&hv6eq) z=qCyKNnfma(-+(DC-+SWx3?Nadz5>n#yd^y(I*$RpoMb^Svz30vLN6bjC}9sDKaUtcqrCC+y{H zo16}5e&gF1hYbqgupIH-p zL~_S$p3g8xN%_d;^L%^`lj{FHU}Ab&%*P$Nmec#I2K~03$;S}A)BagB|48$iZQyS? z_c#Xg4guhZ`rL~8X>YO=^jjTIYWIHGt}+MuCbcbWV57WBz!`@s{sL&*>BM-^{zAZI z8*-)TUMq5^E08nYf%a1|Zgd8OrrCE8ZHCU`;qVthj*ecCF>x>O>2zs3+pynJ2hKlX z{RY0BINx z(>ePESeULNb)emmZ-uJ<##ZzjW&WcLH_a2PZR=h|1=I=QR^MsgV z9)kYv#u>5{`^#96JrU=Q?A)zsT`zsoGy4Pvi#$t6?C*;+EVg5u+&CAgQ@gckG``V3 zEqV>`>!6SKX&+juFTST|Hl6((0BmOf?|lFII3LloEawKxZeJG4wC5kqEssZ8wd07+ zZ&b$VUO^{h3(-HR-x5sdT?d^Q=)HyLebRBH_fN4eze?|4?+3ll=?A_4Q?{$n`>6^Z zjr8sv5l-)t#)-Ze?N{NP0_@2}bNJ&KZ8&}BU@zc&>`@gfEe1e;*`P%_(}L)bok;?I z;XKP}P14wl1{y2J**B8~jXi*VP&p5Koi_{m#Tj5-t4`ErPeIP&R`43pAn{o{qj|^& z@R@6+ryIGnPc(qur=t$yxkB(9@tB6act-m6Rb!94CmrCiQt((ic&uD=>?j3~Z32%? z0gq*a$11>M<%b z@pyRe%&h22E* zsmCCndeEQg7V=5b%@_mSkbI(gLiUo|=cgPWj5GEB9i_aBmFXPbMBhJ9CR}yk`nq`M zRdH>>)hL_N6}~z{kxjkXPa`bkQ`dKnpL}{$!XxCBA@=QF99Ez*&83vK7RcCdkK&9|4U=%=L`G6 z&-crA6@Gq`+CIkoycPcXm%*1fANV6*VxqWy4OdB{g(!b!e#Ti`#LriK`rpOR2Pq#$ z@bmjh`QO2^+ei6o5?6;%HuCei3LVD6&mFL74E)?k@eRjuLGfe(>{e0Y|L* zd9!R+;pdK$DEvH`;v2(*>jV5nT6gOuh~r@|hror1?VauE##)vqq<*flasBKX6N(j# z!#&q2q2GUn4tHU1ei=)+fqo-KD1Rs6cUeR%aQY$Ii=D>;b0<;^q7}aA3rBmNqL?4~ z*CjX$>BUr6Whd&IuDN%3-(CFLwgn3h)#Ci?tOVG+n!7U3X5Vogt~0g79q~t2uO5Rl zxqGyPu6>QG?%$2~{D>2DPQtzpSZmTcn)X8{+mT|83BIR@hl>!SxDdV$Z0fd4VdGwc zSmY4c*ORc%e+KmhG~Ek-Y6kqNJor|!_G^P}H%X2J-JxgYgX`6Q)0gq6v6kN2grGQsNfLrd7Pns5%>#~)cGaGnU9uMWpK#YWBz$N3d1&d*hF4j+f% zypHI3|CW_G&R+`Ncl#bgxd?H%(F;O2zkLtUd10S$9uu9z z?`uU&UZwLRH2#v#;XelH96lYVbLz(z59f0j4mq7)rIf!H#BIFqGFIj|zdm^1?VE*i z5$4`hoX_7ybUtN3ao&OX7?LmK=cqWZQ*jP|If!%2%WyiUethw8Zf7{;IPam{7D4l$ zvNEUhZdT?vAFSZ~Ke%6nc~ZhT=?{|Uo7{&$=hK+qvXRMiXHcH667rnzPzrgzPjmH2 zp3@v7!#U=iRGb&8I7fVh;T&^f9gyjq&Z!^qT^pG^clKMJQ|y)WlUI@F&kA`?vYz~* zvyb)+vy$sskn8k)xLkMn>Vx=p`RbJN1FTH3ka!=<2$zBimK@`2huwMt<(={ECz2`7Gvqqs7txTjp2RZ~St|qgN=8 z4D#q@as3Ofq`%(4^;pcWJRfELHyT|W@A;LL3?F=c<#wgKoR!J8OY|*8nQ(O{u8YMx zzYy13a5c)O7q1D)r!p2Rw4gM6x@_|4i&j-Py*E#VRJX&u25qkJj{9I@IPUz6=B z^694v9*y$J(%y)1exX;>VZqO}7au=pyXoG}?voXXWRLWM?Jik5>Jc&9AIy_~86}pHlu+uor-)lJt){_wM5i^n7bvniHFc+~6a}l+e zi=doL>OaM-ym*hwtJ1XD*?2D-xk+<0XO|bTkZFi>=OVwyIXs`86+Q!X=dtGrU4_W~ zx(+bXyupRIUXSYyE=`|_zx|HH9eJ3)$i(CL4_OVKkp2OJCDJQJ}Yo1Fu0Lx1-KKsW+V~Zc@wwBbGR2Gt~m|4 zS{!aq2<`-Wp3vn$Y_p!_sM>e3i8-`aN+CsUrDn(xook&sNffpV_^ z1CL%?QU)9gdH5f}BikYSRe8AY6vze4L224EDZ4@oA5>wzT5Lu)*j^Z?{$EP7y- z0q%b50rb1ydLT859!Ry;1N$j2M(BY~rQFWSTn}`!GS>tDRPMi}l;2Rw|5Dz6Rk{B+ zrTnr|4k+($V`Z*4wkYLhrTl*=8}&x=6@WwN4dko@*B2*XO~}!d(E3O}a%pVw9&ZWd zzCt(VKvvMzC9Zs}4`0iumRnO`>m_mfa8$C#o0*!A^SbQbzz~PmUyk)Rf7n+|bdPg4 znhId&wZRT30bLb9*Vn_&D}PD+YkNc7y9J&?*TsOlfMX^Nc!;oE%u$0?WtW}tO-20#kuo=PbPb7?V3*e zgp}CNie&uVn9hoNmn!7l^#^zjBnTfu%*J91ky|cXAfTx)f zH;0#cd$u^)S>R<@ca?!Q0>~+8zC{Aa4!eknSh(>r@2b>fwkkude0+D zy?bC&2Y~C2%eC$gx7hWA@I7m=p!mpp7kH19YCFdx$CTjPfU_n8Yv~N_X z^R}&Zd-v4FdpqhA@Ov757kN8srh7ZkBJstC zkVOaaT;+!%@r>kD33xS7%J#61kW;Nc?_^98SXT zGRVEaxp;^0jQ3PL|3|zNI5)pLP!G9-cYcL+0D(#U#CM%DCVao!-7}l?gVY&C0^g9& z!&JRT`(fVjg@H~DA6c=N9#qV z!pGfg661IXI-m$TU^H~V3h016i+PNr0diymXlc0z_7-SqDd^>8tUIDT%m=c**9W*h zk{1Knzs;;Zn=dD3{5dM?fxl(IpR^eWe*vsjzYBFT`Bl#C1IAzFCiX!!*D>Ge4}Vo7 zFL~W8Ccnb?tDM^hLHQ+q2l=ZKI=htgdbs>LU-B2}^%Z!B_zUl;{Ph*dUn}s=g`B@; zl02*IpRUM+UXMkd8Tso*S`Q0-LHyNMeg4VQ{m>PC)aM^#e+e@^WVFMMw?6+6{rWug zxm%1+tor=1-}hsT23Vh8G1pq3Un-t`-unFU%Q*c9_4yWe$X?o#5UI~6bAA4u{@{0V zNS}w z`+#pUGueS4K|s(XBw<$&QE;hD5_VKvP~TQ6NI-&U-CAu0C6cfPYpz>bQCR}$jI~By ztycX?5X9278uta2>>#dtVF71!sIrxor zExD5QDhj^#vN$4F5NbiW! zUxJOw&LEm~mQM37q!Tt^45>f*{PMHX*U^1s^qT5l z4-BV2)<>U>dv(uZy%=ahrJFmbFP8UW@7|00r(c?(*J5Aoy5V>ip<4kS+DcLKnlo zkMLjU3B~`59RJy9D;t+TjMUGw!hfMB6#ok?d^3p&@VzAZ8dH;e4H;eFiw$@f*II9JP@1?ilqQ~|ep;R^ z-z`rcH(2ja^kYF2o7ubF<+~;6Gx~!j?%q;&dniq;Veg(~qKO{9YSi6K6YpIiXhL9B z(!?o(CN5B91IY+(&n7bZn2$Jz1BG2I=pzd90cVV(FZ$E|i*tJFV=U>Ti;+ISa~g1N z>A$zfgvf{AihgEt0nb%E@mBGSUj9yjC7IB{Fwi2hc5cixR5+RI}c@a(HAe)KpWYNHmb+bK9F7Ys*O0W3+YWr(>rrr znu$KT1n8sn2&0dZoWuM~#f{(xMc4;(E-*xL;pbu6dpVvR%1B~$IFu)@W#U@LujA2= zn?@w+jW}D9-ksZ5^D%td=q8W><>?2y>4)C^q?GcU6{|74a(5<-eoE*wcu&RcF7Zyy)$mhp=laY# ztlwcWW#jpJ9>!6{Z^JJbeoL(Mna}aegx?ag&iXL=x%L|17ye8GesL};^TP-6TO##U zRiBxU?*sU)OXT>)x5V3l-x9)a8pm%5!!O3ElIyL1iyiA$I|;K zTi~~3lhDTxp&kssDBFzRJ1&>H2*;Gf@2i({{9dl&SLh@0Cx_}I>r$YPLmz2tOY$MU z$rl~xZLNlWd)pbiOI>5Ms=R{UdR<`>@sQvcWI+B28N2uJr=`_-;7OyA2kfRg$jVto z*}mDZZLd@F;Pz5555->kkn+GhSq*B}q@ zN3x4}J;wQF5A(K;HRKU%%wv00pe-*@9#MLOvG;7Ld$5b-aV6;og-)9XnLL{5sR4}q##&mmb4pJF}c*ueJ!?>^1m4d@W%=^ypv?_Ps+MV=W2Ot6|3qy*lvjD)#P4KG-$^UQqWSbO`hbooAx* z;_a6ibqIzvX|EICH0c&Df$_<}IOEUT-CW;BoaBM+F`@i0bAzZsIz(gxyUV$~*~dsnc|m)#?hw-} z%5#GDW{GNV=7wqK1$frh))TJClgS;4zuvy3pqEW!hC`27yrp4HPam@pgE~Y2bHa|S zB0F;5+e9ziwuJrw{;SxFTz?3Bw}-vki*$zo?`>EE`!UZG!gqU1tO~41zI!dL;f4)3 zL-1XLKSc1~2<^f0oS;2u#HXNx06xhd(nxG z@+zdfZ0y0W5&tB7B;}iaEqx>bUe2)1@E^1X1O0tE!*ReKEU~Z$1Ml`{?{Z!a`q*z_ z4+h@t#olH1ph6$k_TZ(L8hN>-k4I=tH0a~U*nmEDm!LiP zn;*jK)9+tx&j;Sbv-a#k_^GQlB@JSJY8!hnfH}d-nLd3d+G(-}!|Kxu=>4EQ7{F{e zdvL=viCd#RxR=(-0=EWx5HT(kugClsE(?2bxwHqpTNr<+a9QKkWnm9qLGxUp_TVKd zUh!PD11BnYeHHfKZ1U?>lRUo1;MbcQX8f+jv-a@Xlkj>4>_7Oz4EEph5dVcGUYp-i z@G5OAe5=}j>((iFCHsf_FM@c*J!yOFY7LLq!C~6lpYU2H>^~bja1-erE6&mk(hT;=5-h!h5c8Fc9Oj~OZYFYBmQc#|I}}{()$_Q{$uy0{g)@~Ka_2@|GvLO z;8kEq^4SY4@haj+x_R$TdBFCD z9xVI*2K0S3bPsNCCHZQXdt1HkY~QQu_bz5P2ETU&zyAe&FZ`=*ixb87Iley`zE3ok zzddO0O`-1>2s;bD5tSZJL#!srP|)7~oc9Ln85qCXZZXo%+MoW>$*@~o{yO-m$sSV2 zVg_Lp^J2t*Fm6@p?hJhc<^k%2yj9=5jJ=CFGx_fR{`}nq+#XWjoxt9W_iX@XaxlKs zkG0(rm@nS!Q(YVwTONbM#z3`)Tp~6nR>S<$Y5uL3a2~ZZU=Q)}ZthO@ka4^Vk}=+h zCvIy?WaE9Q+TVqy{;mu5_g4qe-(+8tjoudLt6j^-+iUoq+2_IW&Io@0IekyIHQDEF zvEut2-w4C^%r*~xUl+8^-=y!!u4cA*jQBp+muC1r#)y});P-!{@23g8WEg$$I^ydB zcv&s*a(_~ATqOp`euk~Bj%(GMz{~Q04bQN}e4J!Io3Qmddzahr3|kT}WIw~!R`Y$C zy&KT`O47@P4L>auThFq0la1KAAG#gdNoUWhw)WnO1>e|igDr7i@{>UVTQ>;1hTGdB z-Z_ir--Gearjfq;-wY;LM{2#E&)N zy(at($GeSj-Us$1Yu}`SSM5EV`)+EKcI%gjD^2xiw{F8)$vtt}H`#P%4c@1@*d_R8 zrsiqM>xR6}*IGAfu1Z>WIU9dvhl^ItLi_>kOZmvjh^dOxUP!~fX$|M2uQjds^_YV% z)}T&w4#qyjxDG>J`%uR2$F=f>xmn=fUY{Bt&FmSJsovY!4>9)G(_@bo_01C0liGD3 z)+PF|25C_KoH6lzyblac-}&e&#P~I7@&44P=v!xFpR%3kPoe`_voUS(?$Rjm+;pvr zUQ-zBOUpvM!t?=pdMx;sLId$%ek$hSdAzn=Jr6yh?O&K1ZBc(7*Q?gQiP2LW>}<>n zV*j(=Yd;osiAP<)+kne~f%?IZUWoT_u9vps41IkJ>c?n&G4u?qr~JZLKeVGrlDV!!{GmZ2E8M)0@TOs_8y zeo$Jgx;QGn1$)m--wXd{19;ayV2tnG7mxVpM6}7fB{N4WDMC!htrzYtZ2;Cc#A&Sy z*J&l!KRE8M%QS7&Mx3>E31WcKdT73NIA=@JK?C?hBlyYQ(O%?>z4YMIXvX}%q?dR% z&Kkg)wq~rWAA5I{uW0YWcPZZm$oFaF+mb)$;4qK3bu{uGdY0yE%g;PG)`NA?*ynW* z_T$?QI%!5s?hV+(6>EXtZoyjMxFf}Zy{wY~&JK%V^RXOrTEi6UFQ-^4wof1Sv}Nf8h6O)M^R-P+BAsg5v+sLa zLn_u4y@ho}2LDVhk0)x*F~$>B-wb{R9jBJ`6xizles(kX+3nzG&#u z;e4|IKdXjsQu4EBl8yWfd?~=s;8RFRjSup=bYN2Qx-RsrOYm7X_>FwFLGnSA(=gGV z4^Hn1K9~eP2>drp6nqf)uR&Xg4-UZ`&PBF-P{jX$jw$Axl?=|96|Lmz} zo4$Y1=KC*A-&f#_LhXxq{a)g8O8HNkz7NGRuU9DcW&f#snBQw+dQk%Sa3bTwe|cQx z!_X7KD_#%OkN9w+uYl_Je1@J*^(&+P;e2?pseY^-{X{zyKKvWgdtuvQph?*d&WGy| z2d47j4NMLuv^)ds&PR-%nGZK;o&X9<#x3NG{$4nYa=*LAdc)+9fC#uTSD~ zaRJ6~?^uihWMCu4g~lOvCpS}Qc5#zF9wMi}(;fx|0 zCz6Xr#Ai7_Z5R!?h(6vsmX8m~M3Rlw$b-f)eg))W&F|hVN{X*6s*Za50M=d}n9B2} zb1rv8X``y?Tw9b~<4Wiw?HI^ZoJ~eDH3Mga zgp;YefTPCh-@UstDYkMa>Q;fesq*zb#1N@Cx+xS#B}UydfR`$xP8a?@aAcp4C62g! z{fOdrgna#yr8%bFL0YBpCFlpj)P0b7lOeytVQP~*NaIB=PUFSc_k!roMY=pN#n0E$ zbTj>>qyLEh9yl!Y5Uq#dpoi2#FQNF=fIb3Utp;{gEilgFxjIoFSrJAbIRJhekv;<6VP}_( zz&YpveFXH*>@w0v&=w1Q#DwXK4$3(3pgzLy+36#`vm(()$fpzIZ_dKLPh;S_V|H1b z&r9-F>LVFJeWa{e>La{t@{iE>ABTQlqGf9OdeTRf?;o`JewXR{G}32&JwU(L^nIb} z`%v2F^@2WP;vusCRDFcsrcHr0^@NE`Zk*b`(!FM#g17yO*`wMO*SKG1$7x`LZ@1)M{_?mXxU;Af;OT!V9~ z12!~tg}V{=5zrL`uOmIK5q-QD`occ&kASWqcp}pkVEfkhb{A8A^PnFzK|iR6PN|WO zfHLVUkAFN39l^{;p&y#_U%N>2tz8s_zi9lqd{Qrn$ky&{w6(W&Gveg;0h#twI)X!2@3=|LQQ4{LfZ=6%Qak z=6gk64Pj*b=wkprwPP|Kd#5npD{Phc!Qo~6R_1fy zGJ1c8QN}~YR%x$hhRA4tleLVmHhmBIUZU-Y=01mvppNjU>HDy}+d>A&bz$7*c?gDERxaB_ta~;As#v}D5GyP)vq86yz$i@dQC5i)eHJ=^G)xCZHJ`{ z;xhUJ#7n6>q`$CHPlx=O+>VVpUa?UJ2pe@M*{CFU$VMe!0h2r9eTk#O+o(+LXcy?w z=L)$q$|QFXKe`98D@^VTBi);J#QCiu?E|;279*#^cJ*j-wDH46XDm0_n%2Ic0wLaU}-LohMKU{skSL_ z)Shj+T>8vO9)Z6-X6m`tbL|=3_}~Tpk^w*ejv$RkJjgN1q{W zmPf-T2IbK&P4Z~v2_TQ?j6Bsp-Vu59AoQ+C<&j;V8|MP~xEX9tMIKFdAdfEU&*Tx} zuxTzZ&c|#%3wadNXf2N}FnwR00h`rA9(~_n{NApeustj>8i_pe{DH|Mv?XXWrUdH8 zxWn{b*mhXb2$x4AK?|xp>J*=8$K(;_63^DJ z9c_?DRRKE)^5}fT_;g4fWeIt--p%9@$spK7RnjJcJyZf$I+I7sp0bcf_`W@PMEywe zs0nha4Ze5Ba%r7AL@xDeHOi&ECk%h(a;cbNu7q4#$I@IbEk#4@GM!6suCB%+aRf-rA(#`|x`P>@4J! zvNk#REFCtPw82Kxvy|YoZ1`s6v)7~zhPCFT``YTS@`+Gm4 z%52!k!x8@zs2|B}HZNbLJ#`*p%NA`h#Q)S8$7dbc(!YkEm-<1mAwM*|7q%S+nJwGF zW%hW)rm6h37B(RHE-7A&_EI(bF4g!S4}1~hqC9NgxgK-SgxeO(MbVs89?>jp$UMvi z)1G#;hp-EK$zO-LV4?wy$g|I=kB7Ho^Egfe7$Z`AA>tfs<;%h@A9k(AwiE)DuK<)F*ncmh95nIH@Ez@S) z2DLwKJ4GJqxLtJujN6UMxLx)Wj@yND+*0_uV0GMx))>uEoCoMerMJ~`+|o?r*4x`U zUyfUEn{n%BId0{WW{KYZ$70;}Von!yQf0LH19VklwE4r|51UUIdOM1GNqVb8`lq6| zsvVNv_?mEa+-&$HVn*EhX>#0B*tiAyd~=ew_0Uv7Z%H=emfZfh?Gt&Z^mf+?Fm5Hv zxc%lQ9JkqW+)}W|I$~iX9k=qc1fN6Tl4+sxEszJ%+ail` zOF99@t-msEu`JDP88^~qTjq+Kpe<8%IB3fR>=_aN@!#TadojV0zsH{yZ3+6@#suoe{cX&)n&VbtVtLHyx7Eh>rIGI5JBiPODZ2Y!(|cjt zVUSO<9b9+63UsW>q+{c6Yd=PD$9U4qJ^GT7!r#W@4gx%9BjOHbB3>&b?g08Yi`}=I z|FMcupD8KYQ%vSo~-zbw?>)}F6zHu{joD8kp)nK6n_A8Oa%W=W%V*tNUw96LNN z;aQ5G6aKaxEY1CGKBQGl9dCcz{BPU!xBW!@#%-|QDSdS>-^(IC@fy?jcKu|>CnA|^xeZLFTkITLS@~izeldqS^3&uX2WvX8VTX&Mc z{cnow8*F+nY&*ipzS7CZkWaz))Lwkz)ov|pd}7#k<*L4-@H$J_d@TEi^Qmd*A8EUe zGWFF@6`xo?4tfG&1%ErjpeK|_UjXR|S0a`xL{D%QpI9R2;wU~5d*W5e_{0s^$K!a% zC;m~cRSg>3mA;z6(p(StInri5;He9Pdcc2cd}248 ztL`8k#1ixE%6KIn#7TVO-}^8bUn1>OCSxt)L6&@GE#qG@eGmH&Yqvw=6K^wp9~N5{ z7>z_m-+Mok(P&H1J}n8uH85yBpzgnseXtDDc3F-91;)WHN6+M9hNl0?bAOa z4oc-AKUI7pmpfziPq6517b=gw=q207<&l?c!7*_>79=ldGj2B3Zx-3U7i4kU zQn48yGrbqK9hNl02iiBHUIUWhf_?&6{Xice(g zwMxiWT95Tw6suT(vSobYwNHe~qxSrziReR;MefIVtb9akxv}TU&ZL;)ov4#}E%(Ew zxI}ZjeAuzJz-;I7Rc;^6rIK= zb9vMqX|p_uvbA~?e;{(_F#{J+G$=q z5AKcC-d-{?7LoRnQDYF*y<{$-xIx4z%6+rcy<`p|)=!N^%vRzQ4SUICXszQkv7Z+9 z)+#$(DE8EH`?t9i-)M&78%0~pYqvoQB}QMtq=TVrxA{FoOrhc%Z5|drrjYL?<7R8G z?>c#R>9)YyZMP40QW@WVkllr|nfrQM zM+WLgaxR9}8I)-M6!U#~)IL5h_{GP@{((H)ujOM;9*X@_t(4K4umvfhn zGxDZr#N<*;Ul*)v+GVlNgc{SA+HGH1K%dPP=gon~!CGabD#{ ze@WfB8Ff_o`mydiHLmW1S47_-Cdbfsh#l!B`wlT7vhQBwv2B(-!LE<&?sv5BUO>HM z-#z*h_T6&XcZh#6^c`YmDiABeaEF)~*>|^}0DX78(sxr?n#;&ZNSkG3Db`lXz1PN| z?ksR${73QoBrkW3`*HH}V(Hdr9e z{#ufyO6-0*VvS`CejGhhV)wI^xc)6NKEEgG2U%(tpZ^v1l8@?&_zzQq%W#viLHa@0XjtXXRVS(rlaW?=*c6Sy!%&5b^yPL0NvL>HDyJ#e%mRZBA=h z>|GTqi>C$Zr^w>fQCwG1WO2NyeoPh*IyXcXw|!_Fhp_Filr3Bq-vr)sJmrZRU!U`` zkSB=2HSk2l?Jmp~JP~obk|+Lf0`SCiit7_G?lH%??^Id*-CynXm|?Q-6g}qY6QJ+j zLA_+(y@>Sj#GTrA8)e^F=rNxmCWgskMUR(s%hkVc%UT`_4j-`MvBrMUUxn z0`%P|rSJN%G}mKJM%t{$%*C2qsmHt{_HC2;3!UwAv|Hbxy^sAorF|3)xm^oC%vdeD zr3?1FmU_bg+~0`(uAz^7b0gLg&cVLB^v!DAhfV(t_O+Zo3Gq0|?0ecfIo1D5dX~hW zVQrEgPrtEW_Pux)XAwV7>y_MeF9rK#qpV3On!Xo%t+)=iy)YK{*ND9cu1oa7Hk5m~ zj%T(w(Hzy2_EO$}eIls7_aTq@&>Ld%X9xFEM!Blp^%ism=;q}Mw@2$%`L?yWm>v4? zNlcHZ;&YiUpGNEa#&y%PU9?UP=g^8X<)(e`X({blUPF66n(7#?{;Up=XI6FKelS|Q zWo$G12D04hn;i5<9QJ^oNqc+4jvNa+@+PeB!oJMYJ^A@#He+w;ooTNb@5B zf~_^3-n$3&`7vc)MlpfdUvwI-0ov$BvHYj`pEyU*MmKNk`6x%~_-uV{t~h@JI`e^C z<9P(t_cOn43HfzD!`j1Y9`}MhUdQSm({Jp*0lzPvkI~H+8DhSF|;+saX$9DV6cTk9KDv-;1wtE-(LJiTt`iDBLBVaJiQiiJ~hQj{I`bR!|6B9Vy66Ooy*Qk zsVVNte^+47vBGY?zC<&HF${Ywy*)jApFAO3}mXq?G@_m(E?BUpCV-qLXIZtb}b z<0AHCX6KB$**SJ{5C73LHnHB;$1yIFUp2#CI@+yYfM2|Y^~{GfAM~v%>HElp z4VpT3cWDOpXw3lccHy@Re5QJ!#?E4hcEfiGe^Yff`Q~xn0Pt~W!0ysI_?YNSgTmE3 zzdZO-3gJsxg6|WNUs@ve=0$$B1HG-e$fJ((KpVP%NAW$5#xb5$-AilTmZD+(p2y!X zcwcF4FFJPudV-^t$o8JE6`V`)b<{`HraH8#miUyw;5h7gQH{FQpzZ$#4?BQo z>V7>lKsz)C5skfu`~=Hok%Jz;{m~ ze>NUPVmy$C9FKI2M>gtu9r7;lVvMo(@^=q^TuSYidoR;jKpwnD*Ic~&AmxYpdeJ_r zTMq7VULNhAh4T+X#uxh#(fIbk8FY5zyYCRjx9CzfzR}=uF>H@rt#Uc;y{>uKIG16Z z2Vsl{n#TD~G0rP7&JzDC!OxF&J2im+S&+SizXY_S8h%1Ko-d)T)jfc98e{nUevA57 z_wcq>YufYd9_U*G{qr{Ea?DCvES!1pXsoyw%lYJVs!Oc5^>fsPc%-aPGkgus@pgg! zRB3p;y^OwKc#8mMr(@jga5hB28PUJQ8S5v+MH1Z~$=Y373%aiZ4ra%3oJl@17dY!e zxF8=YaMl1^l$BiSV|_@pgFMcK9ZYzUwB^FQALVr&&YQ}?ALrY{^aW@$z2|jb?#oTS z!k3dW-PefsD%?14G`WZGwUiWbZinC@%QYX-`@ctVdM^`wul9drc(_0xWx_*=6&}F< zBgI1%)yV=6yWpd7f(I$%GTXt!YqPkf`S1g{bgE6}eh|H`+*EA*2{ z@tWDGcpa(#mUJ?Vr=7gq44y&!D-ygOxxg7-f3B466t5%O!RtGyOULj^`!7ZN{h8tM z`ZDF;0lfYl=NLqcSM2v>h1Y4o>Ln(;K7n<=q)YucypGgA#Tv$T@e2JpQoR0_>Se)S zeV7MmhrgDq`W^Hs@F|b}PvZY!@Je*d@QO3TGqA^p3p^?V@>1%_;CJO3*0<9bpNTOJ z$jcQ>PiAWai@<~D;=61bW0IHPaZFx9M<;nH^SBB2w5*E@>*85C$(;Aecc`3RYB_Py z#QTEf;Jbmc9LNDKm$MD!T%nc&|0^q}UuZc;GSv3CjOF0FF0vf>ZFzfg4dtAxmXj&U z0iP%PLTyi-T27qDSPs7X4lx<5-!f%;#u>^gJf?1CQc%2;c= zU=zM4`;Y8`{=i;3{!|%zs~Cs1ij0-x(Vjji`@j4FBfna0lCKq)V4Tt-=T{d|oh_eM^oR@vcjN%^>gMyguL~fqif-<=+8)t269_?@;!)_)~dT zj=*Y1^(~2q0`zM*eT(50{?AD9+OJdbdcJ;(f*C7++7sXzHugaXUjL0a6eoDSOexzb zUWc@U*MFccPVp*b4&ik}dU(8Uq5K`-b(`?Ped@$M5V6tAVb7{QxQW2(1QT8#!MfQW zV;}IgpRd1H5&>S}pN|x;w@|$-`0Heoe^BxJGX9o9XNv&+Fp6t?%Lfx+r-+ zhu??I^Cs?BYw~_BzYm+^@3>F%ufcglW54eo&T;t<(eG0K+l4yYweLErztX-M%(rEs zZ84&K@Rf(OXS1Q+!S<{()H~RoN873QYogxoned{`fFIN~^8>;T`}aSl-|ifr;kkR9 z;Wy1~FdLKn+7&0Wc_f(?UFmrg{C?Hb$Q~XV^4#UV$QPXt|2W2xmE)dh$X|1hH~pSq z_)Y!)O)fuQn(N@b0zUc@_}xoz9%NfvG-8`w_;dT*ICGxpjC_DMrB;K-czm_@$N1_? zWAQiM*SL0qZ|{>6k&Z^%g*0N?mgnG|T-+NcFhBVqi$xbc`UTXt;0d3hZ@Wi(TMy(# z>uaOCw`3n~n|>fe(^I0g);$VdzS+*}OXuLJ=V4QQljCugZeo(Ju16PNL*K4A7P{cv zri_bx%|kEtwVZW{uc<87*Zg#xujPN^ea8E4-1p#qjIRkk(1}sn3r(0~jHN5)BHzG# z1)ZBsXSC4SXEd*!0-QIMO~iMT@ZDtO9n7O)&3Io;@i<>j6z1+`lFu~NUpNwTSl)D; zU+vxU#Iv82He$Z2f#x}8f`1iH_Qi0&a0%%_WG9j@!wnkD7_+-H3%=O&Zc&&s)LOCT zK=h;7pA|f<_Wmf|=irg#dp}v=wf6pO+|Thfg03mXko9jJ@850T2mAMbmHwsqxXGZY zquo-CScpd7Vs0k-0_K-4nT>ibK|Q0#;QUX-Y9L0_7X=>-mj&5;jHzy7&iWgysU?|I zi#h8?S(iM_nbTOqW|U*yBD}!S^xbP$iL5@iJU(3 z(3ei>^D5c5$AUh2jC63kq4$oI;|*WCo%}mf*6F{LKAZb>4t+KaJNERs6LBH!(dX+_ zkN>0e`Td_Fr_Y7xOQ-btE7`Zli9V;u@eV_ulVzQp(C7bQ{q)PeokQ;}L!Ht4e}nyZ zngjYOLkx&h`g(-=lz7*%pf3yi?>5x2J^SxgS*M?dzOWuWtbe8CM6>^Tb`pK{_`gG6 z<bvHuL?1^e#|IbLDxztcM~UjHAr{{r-Rtv_=5tV4{3Q~La1 z@G+!M*nfuchW)n%b!7AzM!$Sc*6F{LKIix89QvF`{dA1!bAlYNF!VXT1LO7ILZ5f| zBB#$oh(T~lpI;3+zV!JI)UiGK+$HPefIiuH7xMY2`PhfzXt$FCb0*bSW4<~u5pz*V zn2YM-!}`D%GBAh2_JdzO#dooLcPY-L+ns{jqNW@+}MQHT1qIU&LjiZo#~> z4Ea#r7x~g~?=@EEUZ^w6yIiZv)YofRQ>x_sH&fnn{*d-bsz$xL8uG?^Rn$A)aF6B< zFT#AITAs(}?T>ig$GV}9?%u-Iu*UK}+F&ZL+G0-ZGC97AO@w%{z}iWgZ=&%edEd*mM{&+)==m$K#uD|Y#aw6| z>PK^pv`-7|LB;F9V`FKKunWqsSISn~KNxGi)cJUdyZFr#?IE5=a894*9VxFL1_tT* zYb8(Fo?Wax!S!F1Umezl)&k#S`)Chchj~_7&z6cc&~fN{>f1WZnbI2UYQ!QK%Ei4p z%$?RFE{D&>M)}p}^z8$n_tZ4k`vDx3Y3EWstCV`ymwC_qNU5vZ{&?2@;Q05SF57M# z!&fOkjN!K;AK6}76MVE=@OwM_AdUs|`ffc&;3svF=1W}^g}-S0$rur1nQKLv4JcEV zH@Jg%`E>cmr47Ict?M!3#$$<@0+elqS1Y{yYpLwBP`vy~83(6$>Cw0I@e*T$mvKrx zo#17p4PHiwu`}bPnc*!s-=6AbIwo85iM<9!MIjcTCt`!rT^eY_G{+#~DEf%JTNF%7 zd`vds;}zPMz{F4Jp2APy4>?1h4t$V2iVDGpJzx0`*1y)8=)npfXD_$MM>I>@M7gp4So3blNv`;$&UM$8*;;gEPH#;w%Utk{Df1`blWDJoU&z08vrHXt8s(b=}fm}$?zk*yK z`4r$U*pG(uOe1euLG1xQqxcM!A9fT!JC*@IkkL-?GcQ8?Yzl*)tCVqZil05l06$+L z9>)ql!<2ej;YW_QSsvYSg`^$h`1Ka!XXY>Fcpf2-7=PJD`~~rZh$(D!qn^ZL`ri*Z z1e#AhEMtvCJdfZtN3p(>aI#n7HJyQ%F@zV_J&y3Qo7O>_@M^_xE?X)4EL0x-gW4nf zfUnHR!?}*;Dzj7CwO@S>aD{Z@>f883sGzGAK4t{3`kG~~}L#K@4JhRGhpx^f-G zD0^m#GMd5jrF`rtJ{~IqJ`$bjCu325B>1QagO4+mes{`Gh8_ca>_op?@e{XFPbc_z z#0DSxv1ZlEUXEw>Nr=51!cV+YpwAZc(a(dPVC8T59_=81OX{T(J4Sp~iSo_k*HQc= z5q{u{a>8GprFG5`=qok9moyftuRKBR=pcVtnA-XLh0dq2!q2ajdOE?+T{ifcCC1Op zUu^85atnJ1c5RgIhg>krBP)AooG32>d#K97p01Miw00iiX<<(n6nD&i0K#tPSZe89m5{%YC_4I?NfO90&GuMEoTmc)89YUJ_B4 zNbvH@KicEv2ds~kbn6r^^RhahzdV3(u;MRONnJ}9elyr4pU7{E`D!Mg z0`@i5P_IBtOTfOydQ&Uev|NZTgP+HgdOE?+NjCUdA;vHSKc@L18$dUhL8tM@VJ|13ckBeeXa1P2s7ECDIT8jxf2Ou{kiUF=4Dd6-20ukgJ)Pj^5*z&7BF4~+ z9~*ng20th3FGDVb=)X4eNmqz6+p(7-!b{0L@W(jB%ULKt61?Oq~a&%BISBP)J$@YEo#o#5pZ8@$w0eir(!&HQu;?N=w|(JsV7gp)`A5_xx~Jcku!gs6!-pxvb0{FI|;!aEh1V#{e&zL915$q`qIr z_{kHO%C;NzmnzE7f}e!g&piH;@soi4jQQ!85DyWspKa!+Ule7uV?RfPj{}R~UvY?! zQj{MFK0ezh`zTc2EK~a3DLxX1bUr^h%?2MclzKYhC%>@4$0RX!KaQVt(I0>uFz^$^ zyI9RH4in{d7C*@cUbZ>JOCstJ30`V8+vDYjzCk*5ikF!~J0C9(fKILWNtIGhCwR%R z!ON?Zp9Md$@wbHNv+E|4|Nm4yM&QM~e&jW@!_FRhT$CN5za=7m^U*@s(+=^o5cP-z zKfig(9zQoIgz(r*u~MSQ-Z-*!iAPB{Ix zr^q`({kFuy-x63~g!qMW^0!<{_=t5D@ABO#k>R7ypY8Eci#$4NFINule0d&^F!;G#85gJg<-=oupM8kOvBJ+FrJhdkbCL~yQp6aV`HPjm#R@;( z@igBUtzRqfBV!ua`ZODV%YXWC%(mlii3l&FfR}8Cc=-_JM}n7sJ!j8vc2XNU=%0J= z%+BXG*V^FaF{PeP@G`^(FDt~@nenpA!k)ImO98`6y#5a4gjxTkcm})q=^I434(6vL z!q3Lv!5`xgKNC@xNbs}tf9>&ejxsJz`3?37?)3GrZz9IWir*wD^>l)t&!@?@8|~|Z zy{+YyReY}{en?(vDSD2;k69m%1|5*RO2rvKR`%3KqI~oCS*2r0dn#T{YJu14`=Z)-B1T}`Bw7jnV0SHbM)jO9XrL( z%wvF`M-ca9#c$qI>gfbOJ1>!KH|jSPlwaih#u`5bF?xc)kHMa@+3%xFlo^iSM2eT{ zJAfD0LPzm3g(yD~ywtoR`z%zSxlI`dr+C?Y4Dga*gO^E4J)PiXi49&xiLo>Dn`Uc! zDg-ZxmjS=&uipc`!iwMg4DGP<-}Dq^N8-PU6hD^&Kk05~{+sW5MuwlI|BpR>YLQ1r z_2CakcfP#33vp0Z{N^R4o=)&{nhkz7QhpZv#>O5G#Sg8&)<)}JK~99|!(r_4Wun|j z?eR$QQ}G-4a~$F)4|R!z|2+OTd;DCkjEhtLbN-ml$Im{*^H||$kWx=4_}O={Y`alj zrHFAf^B)`iI21pO|D@{ITH(jWp88J;$82ZFt5Lwqbq?|JAFCfHuyQ% z!&+WB({~2xIX3u-68N$5{e3LT?o53r1^8L-5I--X9+BY3x6K|uo2e}w76(s0eAUCY|&s?;_PG6oZ%8n2}Rp$9} z=s{?+I5_5MY-BOb>geg>i*k>F?BYxej#Ss53n{AcYkz|Wr%V`RmDzBnm}b0_%O zcadznQQ!H9^0UyF+<%7l*~Al-t% z$6^uoSZu%^iyJj}WfAsR+>AXICt#1o0oY@48TMG*v1lCjSS%{e5&JQ25PLDcCiY&O zZMvVcXae7pF)4IUM!ElxjeZoupP(NxzuhXx6)XNU2K^Auf0!olXC8kG{U{>*%>e$Q zJkIR-w(gPPZ|)9z{C$NyIx6259s~R>1KnHkryWW?t?(BZf75=!C)@C+a>~zwKSe6v zIDXF5e}G)E!p~pP4m8K^)?L-ZggKcpshi zAKs9GGYX0Z>4g}lhd%hMls&89&t_+6Rmd~_)>{N4S}@POJkOEx8O{@@_RXd?+!CX2M;nI9XP7sjXE{`t ze-78n@GMh4tKiT2)3c;hJr~bTmCp(?*mt$m_TIx-+fSCyyqWA7`|ctBT{rnm%L;z? z9{(;*KC9r*W>Y=mVp%<-^t^s9e?)2`(pgO1KG1BRF~&HdM^6&JNZl-B)FjJmcfQ$2K|(bxG@?mjN$-3)E#W%QJ_@=-1u!LiEdrGEeUi zULK9nur6$jssed(49?C%fA&Ma#238dlX>D?@xVCD8o|clHJN7xe>R)S`=3)89lau- z6%1qF^`|lFm&V5EdHKwHISe(0D*3EJ zJfk*T(3O=}$e%$DjpX0avrqZ6Me>>VEcOg-sLGiU!^ZtL@|iY@J=;Lf>NyYjm3&sg zpP>yUIr$f|Hq4XH3eINVv1fzEvS+j8Gw(UMH*o$4 z?8$PnC+GC?;w%}hwI1hZ(7ic0|D!%tYrWe6ltNF0^yztMCKS+DeQ$3?l zPuue{JXGJ{c_q~Ywbm;kC*?UQwb;YHU<}zlG5T9=pOjXk4K+BYqZWJ8*WnzG>Ve+Y zpJ_s_(mwT8=YW{bFsTN{tqX&?rpMMaSjdj-*Z&9@adWL-<4kKzf%I^ zT|FA*=i+>nv8coOTB{ppjAeSX=ZjLjz6qMAa;6s3l6RpteWK%2s?T??C3_=#hcvAipQfqjV_P>FHu?w zoyp=E=53uDqdmVEW0-NaHoX>oS&ipDTIYo`hTIl5`X=N(9(iXW@1@9lBW!dxY;+pC zM)dIx*z#1@M%1+yZAbuSY5aM=PdG>zjqUAyph^4PmVx=1W3u@U-2m6s{puaWVnh2t~}_k zIDd+YD~ucKON?0~u;oedwmylmZvw9N0#~t7v6W50l@DV-8Dl>fW4{t(Kk)8}Yj(Pq z7gL?~0jn{nzZO?w<&-1E ztA=O^#cf)bmZs-dqwNVTY2X*U?FpjovHtfd22;|MsqNHWb2~loSIPd6ePL)j#>d$9 zA*}7Fx6<|m*7jMf?FlXO6RGV(#x%t7wy#V;+p(UHx7{0Tdptc)Xvv7zrstvE#rVqu zAECA{h}ZPII8Co}xhivy6t2q9Txfe@OH+9<+U{!60&RB%+Wv^C?e${Jt=jDZf0+v$ zYyu8EQJ%_8z(CgBe0_nVY-y^?NaY5xA_EY0)Zt)xFv(qAGy5qif!)OjytT^#T!c~JvsOY)myoxEe1RuGPM@+YGa(IvLeM@IryArtexoqe}a57^QZ3UXX2YACsn?= z;)k~Bkbe>L;<_Vk0bWdFTmwE^%KE^KevR=zq@;D0rv8id{~qZYCUaf>H7p(DU#Yyi zOi5F`ntZoJynB!Ge4t@7?tq*nwmmo=scm;;a0*9y$d)I5yVPC~sY?E}U#!BcjC zPG?fzK+cSZEs+JeLNbbI;Ahb5s*$Gp{F0SR?TPmPLP=lE(j=Rs{Wl^_GEbgcMtVb8 z5^yKaTTYfu4p#|ALHj_w%+wUw(n~n-L7}Zh!OFpsx| zCd`=-52@=4c@MrpeC?*|TRNuCfLAeof%Y`Aa@_ujtdFFA#@j^YWq@Z$-hu4X>7GBLq=2nvpD@6QMqz=PoMFLqF2FW^}e= z9nP_wg|kG-Cal3ZkYpoHI&96GrW^y?Fkbe7;7yaM{oqa8McdW$tm2tH9<&e1E~NIm z(f*}EmuUosU)Q)kW1e$-ebM+eMbK}^CZYDzxt5DTyW1f%hzCHXm~2S0(_H>)#OIjD zDODLKJA0h;KJ)pVZpC(VF}=@IoC{i#HstohT-PIgVl%THT`lW?L9&G#aK#CSX>8X|q*ddT0Mu;B)P9!cjT zx&_~0I-iukr1Mdl>wKVZCV$O3Uo_YGLg<$JU5G}1N3l;Rm(q7A>DyVF%VUa%Gxz`2 zgdm-4RIp;ei-kOnM_iXGk0tht4_RaWSolLOlI;7@IkB5`T zusfJMo)3FdmB+haUyg%bACSlJW7MNeCXXS*JlI!C+T-AJ5KG=xifJHunM?8#^tYsG z50lM~Tqz{t~RtPy-58h7grG1XpP;3%-$REYE6jv!THzF-%Ucd&T{sONF z*g)vBhVNAy$Qx<{CBX(ta#xN*zx^m12z}Pb#>(xF+y*jY#w`1-Y@n-HUvN2og_6FM zrMV4sG19W1et|TLR|6lODBd5BtC?3l6d&YOgVFbacm)gobQ$Q{ia+K3aQygFrfh@Y zPjjgL4*64R2l!KrELY)AK9ju=kKg0q z9}Dm&VBTOaK*y2xLT)$kBj{};H-CxtbjbhNE7V>fz8B<4T(=J4gRmRCqD;qp5OxFO zgWw(Y%{Ymx0JbMYnWz^z%w;K?vhO%qsLFbu>IRT`(4ifFh-aV;9~*1_(`Om-D7!(O3zUo3ieH}>D6dDYAx z+D2vO=N)_ou{K#fG~d5K4HcL zdNG*mh|A3JCBWZP-z(nNn3~|*J226=FAr_l4Vw+~Tr;((mORXtROd#+-%oRzsNcJ2 zcm1Bys4mvNW3z3$Lz$~!Y6O~V8PC?zKMtQd^=w9*3(^_KXfEBfm{r5}N~&K7xAWw-j?AgIIo^ zmX)C6q4TrG6ku+H^85Q&ZPN$f8IzX^%`kfcZ5s-_Vay+xg1M6+=x>?}#asf@+qZw$ zHl4xuEBK+{{F~*$N5Xe^ zS4Erz+1m6koP4ND%R+|< zhp*2@S>vnMam3e0vK<0ny*q%fr_m0l_u>N8>V7|?xCk9qcclOBWe&3epUw2$mgt|I%Cbd?=v zI@48hPYcym-a6XWX}ZdD7*CRqD^D@%D&&uJqO0V>KX3+gls6&kzlQ#>A36)^D{n)- zCPQD@?@F#rK3oD_C0XbyzYoz>vcbch>MB%LB)SULyP=&)Ei2)hRCSeR_yRhjtK7-* z^R&!|f55D({07g=x(ex-b*O7S(-FB%0UJ9Ihg1ihiQ-aZ91_h_)QR~Cia~mV#UQzO z3=(v^TIk7SOY=CSSpT=6U$RrEoLcB~R8AvwJ~j4)V%r+Te2qD_tpW2jG9HEE=4ftW z9%L1dFB`z-CUz=w6BK7hIu(yci4k)X1K8ZeTIg&ft3u*Y)VT>okE6Mj%PCe6$gc^t`gNZaXobC@ zLtN8w9fQAA_B+mhs<`&WmA*I2-}&yK{J6~&4{H_Qa4YsXw9@ZJ|NHpqcL%$Ob_n@9 zhT7mzzZ;8oIF-Mj$Z{3=+ehg?qx_BI{(~n-{w5gx2UkS3x-W(QAX0|Mm?vIC!!tOl^yE}Fvo3nG_J$lvvSzSFXsfH*)=ems81Al{zl3}X;`D$97vg*-F8tphCbTzQ)@Pv5OP&y6fk#PZyN zHYMJTHf4_C^R*toCk^&Di)(ea`(ljh}c$&E2BBvx@)pAp8}pcExXl&xEAS0S+2z( zt~jw)U4w_*MX-sF4tP?3#lK7C-E522Z_#+cMaN9i#D7vA?{-Z;yz+U9B2{h)kwN~G-6c|Ln`OWo}=H0p`_oN zg^#Ndz9qEzn~PJm>FhmmpL}8sRM*8?>sI)M_ClXLlo6*dUW|D7JbrD&Z{hbU59*5^ zf5w4NN*hIgHNFDB7s@X?LeX&X_=mmW-PQPrf&=+5U3_{z<@5S^*K!F*ebG3KCK znqSC-&e$;3+gc|5TT}7PLW~KpaxeO{9s>`L|I2eW(+aPi01;GyaLSGpVI{v{7fAjNcv688@)}JT1FM8Fj{|;NJpo zQFKPm0}cE{@-NsLR`mZb*a?>OetM)$}gE5AQ{+Hv~z^bTmQhTa(sx<8-O{U+hlp2&2| z*p}JwX*X;K-H!#WTy3QLTISO}1#RdHpLPuJ&3)QkL2sNEV_D+h+7%-%7si*$2Nz>;}<)CHy2TCZkf) zKlzYd{;QUO2cTVy2i(d1+stO1$o<hvYbkCfhzmyI|HHi*$i3`6g*5v86YZA7W7(EP5gjR^k8^|hdlIG^Hy6+NYXCg=jR z8mW!AY0*SxBQApt8HtTZYqq3~NNFCw#%;uzCL1wVqcsbrxKl+Rq$e}r_THlp2JKu2xF^{gHq|5|Z<9M{KKI?4a2xc&jxXYuz4`yJ#L|3-C9O{f_g` z71umm>HEN1j%j=?ht$0(jwzsj`zeme-BJesdrZF^7ROXeYdNL?uQ!7a(pnD0GLemO zHe#kb6w7pTsEuJ4%apIK=TPuwXMb45GG(xS;Bf_MO8Qim=CMqtAkAY)UH*YcKN;|? zWU@6*6eqhi5ckRB-D%EvCi;qeDYV8yuDe(XSw0?X-RR!I!)?9fdW)z)+0p)^6w8A? zB$_zH(wsh$Sv_L>-v^$@_`g%q`;nIQJQBDc?cc}JJdY+NU61s{II)K33gftwUEGMV zXLIP_I|GVo>^*GkW7Ed_$gf3X-*|=AO18?5q?pQT#IR9}`_Wz<9DDGy9pEFRJ4yS} zZtN#@!q{&N^ihm|y^?-{rOBTa=U;;~w-sIfr`UZSgZnT`^FDn*N#Bq3#00*EjeG|? z?`eB6Hfz*1d=upty!=S3K%Tx>JI`nlPlu2yQ#WzcCN8 z;%evy3%sqdnN*kfmf4u6Z9-j|VBa<)CVVjFcK5-@I5{f5axmtL{jhJRz`h*<`*s!V z+sSuNUK8h8S-c7L-itBr!tf2h3)UmB^?I07CjZKygKg6j@vIp%G8jI*!SHi5iP-2i z&`93Vw(0a9$(C5A`|CHbV8SA2thKWa~d2(%?reBo6W6-VU%FS!s%anCZ z6rY^|{k8EdvKd{bxpHGX@f%@cvA2N!DHeNIPl`bg#$pe~?_Bs`w!;TVzL|OOw=9R> ztO@*dFKo|C@ZG#LuP+|FXe{We4D&DhaDPfvTyX;U=1|5%HO4=83H}+a@K0JJvNt10 z$BcicV*Ul~qVi~cm%07a*1Z{IBceXwm$WXtNQ-4_MK)4Qk*BEG1KCCLPn~~x1N_gt zHe{^ee?3|I`Pz`}crO?2ldDyRN$NRPPWa^I>-EwOlJR8mXMbE_X63z;+vyuYch*1C`S5`9|jN@RSR@$U%wv#Bro z6yvrJ{W^ab)hn?j2WyuGqh5niuc0D_saV7?J-uk^nkk-QHpbPEcO-+xqAg^b?7}*7 zT3a&~wn@H_K|?W*MCb%lZuouXd2*&O6v91Tdz6-QzXET;r>;dqI(mxL>>5@P?)_)(;vacRR+RPh1rnRGj zH%y5je#>LSAD;a3`0x7A0O zCC`GddA#(qV{VaXC>L=s5yzVlt$`=0@g`TP^#zZsN1Yo{Ul+MyDj@h?iR1P-Y$NnfNoQk}+Q%_j97@#ZH`Cs~&TN;&yTdM->`2%8m9t zKmB`{wf;2oi{r;1(_|Y2f1E}2cgP>Nqa9B5r)XKO!XLAhzBBX3U5I;A_eTiuMrGd+ zS|33B;&EQ*_P@R#GWsW64@frOSol*X!){U6E7SUgajf_UBRUlRp95 z%szqLBJC5hSv>99D||1(5PK!pWUs)l5!POTF3$Ghf-e4Kd$fBa1jmgd7CXt`dOCd_R61-mUQt~q*Z&xZojg*2Nb&wHp^D%TY>$` zh6=kb$z9whri1+i9g*2A$ElwdD1DQ!r023U@2A;F%YM2U>A;=_utD8q*8xufyAD`# z3%icb1LiWjj^=`BZ`WGL46=K5>=Dx;n+|%kxqs|zy1$3mbR0)y)13~U=ESB;SNi5O zCEYiWj`jCOTJ}>G(q^7Iht>iMo_Yi^!Qu3k$FaYt8V@Y_=~?@ZA3r@1E!rUX=_snd zLw>pd?Qp8Ed?3qJ_-Rk2??U(~_9(IP_sIQKm_K`#rvJhH)B3Z2#dH)`%j7Obf3`0P z{%q(d0e?35y6VrSwPtDX@fvLv?w^0O>6D+vU#?*K}OX^n44}RZDvQWjppq z^AKx#9@~8U=vk9(5cKS&`a7iO7ts!<^jsSi+IQ(n-+?9LD9|Ql4aV;nJ0mO^>>G=5r*_va_k0^Tu@jZH{ zGI~Y~KWq#Q@5#M_CgV5xFv;$4)7mn~tfB%9dk^q^Ps#s7y2+sPn@jJ7%~S{b0dqLT zR_!p)GtpcU?LEi$U366vCYQp_Z$w+H+972e%`?&3X>mNk6Sw%Ds*0q^Lw(PN*vlyRTSGJZ1R68>3;;$vHmxZmVNae z(q=mDq2O?q19@?_4L$E^Jbv`NPPRwTb2Y8)bSN)e9iZnWvRs9pw^7+P^z6fWld%3N zi}O1Q`$aZKHjC!S;3rY%#~A;H-=H(k?|4%17?0vJ`z7u<_L+fJ?0iAeXO;&Z79-~P zH_$v4Xq4u!5$jw$GXXm4G2XYHX!OVKTi;CaVuCgsm2@3Tb3afu(vmj6L^{C7U<=yy z(Nf_rV|^t2Wvq{+F9?0~!I2Km?}JyGeL;3U#m?xXbxOZHuB0DjY2HVrNXtIji1d%1 zH)Hd5!9Dmd0?*^)6zyLWC>Q(xD(O2|n$MdRBW>oPuVKxkq~E*+d-Ms#VqsqSBXRuzS2O0al>YjQz+5=I)eN-8+jsTH4{y)Qb_l#3 zzgEGyJebVS|H;iiD_Z-8aP$u^_#?B;6tf_ z-Wpi%2^_MxI`}S^MHq{rp11X~l-G!fnQMw?$wNF}z7|uw5`TknrVpJB)`YXc_!&;| zIKycrJHrXI}27?&FPQoPCCROhU}C53#m8^XDI2i#0SEn9rWC#jLDUQs*|btXR= z#oJQ+5v}1h@O!?#KFHK>A6PC-=CaI3C*LW~=ah$vtj(%uEc6naRo@FoyOG zp%@y9nVA6p9qq$G@k`5?+@&(z{wG*DypC&>^dDH7*Y_Euf3)mJjC{i~5S^Wp8^2KmT-2m23h8xX>e%gG;de;x8WUh-eIN6LR{i$nQ; zKic7xACHvfD*X6Xr5{!K|5NV|hj~JbOK^X`=19MKauo0vERo$x!;Fd&!=~e)BbSd(5@o1i?wF~csF=>V84%c_Og9tEzTBI z_Okr}u^EB=J`k%}b34fkzL)JacXaOlaI#Nnt^Wn51=spVvX^ZxWVCrN+lejzo%_T6 z6&U>g_lKi>ilQrXq1W54{htW^CYSIUT>F0m`tJYB`@{W%Vx^#~kZgTJN$+53E>Ay3 z+HU>)vECnU1FHx2{}tCKaDAMmll*JM^^drgMU8k&t^uczZ*pV{K(b76}soTpnHXYrElG;wTl*(r=rI=x9_n~dlhN8HBCu;)e zTvVcWbsgkD=-#vrl5}*;3yE`4gL{mSzE11-GVq>^wU<7M475FPE-Jn^&QJ3`Cf-s` zF+_sTJfo!jEY11MR-`wx-!A_~aovEc^yxi|bRhl>wxqiw>zc3+0|2s*RtMI?elzvqC-#0D~ z+aI%e5%$M)#Txg=Y|&cX7lod$QQf4q)_n)P;%n%_cxS7!NA*GQojJ5tQtUlQ=Wfv6 zL&5#2dtlG56kkIfKW78>M~P~G#A1Ay{n3Ou&c)bw4CNol^BDFU^rC&j{wQbXY~cCX zmkIl0G5F?8#r{AZY`;OgGl|}z{RZhB&;qT^{(s4P7x1X6b8mbnGr4n9ZYm%d!c|bb zgH=m1;VQP+N~^85Tn0tN*0%Okd(;w06fjt_g*H}b3B;%qFO7(w?NKWdgi^GP+KXCS zGBZg4V?Xf|TO!*0f4_Cvd+j|lA)zfj=lppdo>|#@?Y-A}*L#28^{&>Ry8ffZ;05#G zR~W&wG$z3}QVxEWvfkiHn8V4@SR|OX-XQFcD%u}nKIM|`9Q)%K^#);oRGIe2TgXLl z?2n0nd8KQATzrdBZ}2@;ZxHoDMuNw+!Vas2f1**>8=Gx)v;eNl0n?UBRc~yiQEv?E z#Cn6UK?GcBgA5sx$_D9$x?{ajZ?I4Fo!fy2A3$EsR_AHl2pc32aO(}W7k8Ze^1kZO z@tmiDce4Ii4DUFIx$!)WT-5oTl9AiKx{m#l1=V<^Z{!*#x zkD-4ef*RGRN5~r09RD0ESjqD=ny{zabDoC9^ECRkFMV3ps4j*~AwIL-U>y6otAUFg zAK$?mS}E%eVjiLn8Ro#TaU9*LIrswJp3(c4q~o7IaA{m z@xH9~SzkuYLHMb}nHqTCD%2d@i+fI;>OhV>hX(UXa9#rTsF@1f$(rfX3(u&hA1-pG zHCNZFUIL%%EUSx}seoPl8sabIr>vPe9Wdm(1stz&zu5+O@_WbYZ~Y2uq!v@xz@9(Q z!BNyz%tD=A{r3a>d#wBS=lFLa_D5pRA$^h9CwS3IV$WfA`<^k}r&o-9dZX2zLtGop zJ%^(wvlcLYfCon*u8VzZ^a0AVh%)Q5hn7YkfxnZ!+47Ni2WXJ~S?Qb2+8YI|O#f_L z`Df`z-w#-6zw9T>e^fBiYtjn5+7B4PFPzf<>aV#oQ~6&x9?}x^slD)dvZld!&=P&D zh|3BeYdQRx95a2aAD|!Gd$137H2P^j?Lp|xGZAkb3m9Y!Ccp%{?OO(`#65TkM}>0|9=U{8W7{H0@New)1LYC8u+CPL_H!oZ`OXuu79D6 zdDGYIpJO&^wu6{=Z#nNJupP+9s9P% zbVl~xT{u5``km7^v<2_3d>Fjx0L~2JoR?s&W$mc3!e$_jyEcQwaap@QSJ@0>CpY)w zoc*=yv&FpT_cLq;)``>n5;j9E^NmC-C0Ji$w0|tx#OYxDR?(LJi)!QgdZTR{?T3v1 zmB#f|M*A+K{eaPbnP|&+#~nudyGHx_qAg<;w}`eJ+c%8%*U+A!>S(jZipbxfY`~g1 zXOmJs{NCK}G}YbjbTRn;RoL%@{0*E*IUJBpZ9*<}^K4RMozmGbsrH3U z6flrB%mkx7PP7TLochsdYa8Y~v}fe7-iI5zYkirqyXgWJ$BNyp2JJ9rc_V%=v+^Mu z?oqM3JjCu+gJxvxu62q9-Vc~w>BRXB?SD94s?IH7y!3~kFi%PH zpwEl%NFFrDXkRYca=Z)BcKo~0Ni3zi42Lf$unF~;U?Wg>nE?Lpoc{qG+C1m2sE+;Q zId7++pL5O|^f&XIx5z{6Cu=59p0IY{I58HEH?MxQ(Jn%p*Fxf2FLD2Lqdi33KS%uz z7WW9>y!rt~`y{jr@!#(cnaBOn${*4X^**&Pguh+o$BYYk{UL>FzxDXH@xBw}4|x|k zJz_q}A2NY+$>~|WyT29o+#m95{awQ!(%XQe=?|elxF`8oiG8w;!T;oZtnV<_3h|+D ztKV;>fY*!MN2>6yJNa0TW1Y^dIg4qdw2Q-aIQ!#1|0L$eQ5V z+ly&$k4#;Q=Mmp|DA~~Krw8vAc~s=VQAekT%vW)M7kqJmQoNt`8f|woSLYz?c5SC; z-Cr7=1zTa9uvt<25jOli@L@1-YAJq~;`egc3$zd00|lr7St)Ah?!)0Wl|<|D-A%|73!o-cE8;noR-ULId=q{j!&$AD!FD|ZwH#Tm zaRh2$?n7S-^FN6BbI&Z-{5A3sHE%uV)}qvNJ_uN3!*=}@=6xA!21Dn)47p?ZcV4z( zT-H6691mg1dAq)fGlb2~`iuLVHJ9}lrR|z8;$EXsr&0SVXuDnp+w~0kDzN8y9O_U$ zig#;Yg|uDsq}__S(ssQU?`JJ1({`Pg(Yrk?d==7mmGhRi>w06}#QCn~Y}&4ESXLze*{<&!?f)y<(sm6nuM}&{{s+W$u6eM& z)o90!_TSK+1z*WH`ehOS!kWD*a00r1DjI0RS_}U_@aOJ!StGn0`z7+mhNHwa*3M{y zzCzqA?44an-SOlu_BHv>INo^&YO4n2zFy`swtyFsKKBbAC2h%0@U=a_X7jn~htqqmkH7PNG91Sla7@yV;5Rqx zi|PHL&c0FXFZ1h1FYY}k>WlSQFP|uDQMUp=lk+d+UdHa^UmOO_GyftF^4HA2SOWQ5 z3i<2gUz`UXgl`J{2s%R6DPiXv&|3Jp}xi1 zj66&3VaQz8oi@**^XF`jQRmPx*7FW%guLug@H`naz&V7_y_lEn>RvK0`%&~`Y-kUB z=cAC@jhd72ry@oI-?_|(z`2S;OQMi{@N;GFrCgxiQ4YPM64$7A-GtvY`28B>FwbVE z?_BF2omTJm{o5*`f8~oa?&aJmi>Q0$)IZt9+&N$WJek+8;ej~D-u;lrp1CV|?9TlR zF?Z@9?%bsgGGEL+zkLb(=cAy5v})Z8I*8l@$GI1~a~E-ge384~DC#C;?%itz1q_xV zW)OkQrVdi7{O7ETvcG|I56JTy#Jaorec$rUUDxAGHE%N)Ckr}H9p*jiPWSxR-55L9 z{02wPjS)U{uK6-Y_mXQaedsyLhdyTVcKF|ueds*fCv)$7#00!~H+X@&8|PEwPcbOyg<6yY}t}&Rhh$ zP}IjerPSfI<*@rGSK|FGQKOReSoodp#I*(Q1)nx~uMHXJ@ZSE4_k!=Xfe-T>P|a)p z6}MNfb0?HtKhsPKksGTV%ofG6yGHerVXTR-^*b8()N?Qca6(? z#oS%q`}r>Bo{9&VvgjY>y;APvE4kzH-n4Q@@!nK&hrCzEY+bpdd9RW?zPb1B>D-Sc zcNG6UF1aK4FY5cIlRF}AE9H)sxvT?C{=C$P+oqK}V(zZo`7QaR);ECjEehXLt@$zK zj*8tLm)uDiyH#?>jNOVosjl2PpE+_$?wn(^&k}7ZcS=QD%8{|g^-)H9gwdX4^dD+m zKhMcB6d&ZNEI6#Qoh$9#-{09$q>$wLA>`9`8Fr@^Gh~ zkCKN$&ZUR)umJPusXTm0f7g(Qt=zY);OLi!JcBk>y$#1-j5<1gd+71E|Goa=waQ<- z;Snd@aC47;rljiy&WvmdJ_+bNq|3VJa-|FlYg&b}R$TQ=!?w9r+^l9kI$fZM0 z)s5i6njg~-eG_Cb?TmK<`Pj#NkJ`sf|1)iX9H0N0{6hMlMZU4}!^XjvwJ(9#b&n}$Y4mnFdw)U&0 zTH7|{s%pRLE>UA8tDSz;9Gu_e_p3Jdl77|aj-;=%;@7Wt{u}+O(*<0lU$xX|7mK#^ zt6qw>_N!hdu1gs{NwlSmJ>O`bW3=V_W&iQUvty0+D5E_>w59KLxX~Vp_6(gv)rIf1 z^$o-Ky3xp?^7&qW_Hp|4NmU0@`@Kp3C(`%&XP%h=-GZ^9KN{^fM4NEUssA0?+V>hq z`&HHNH|qBl{Q7l`q1;QZWaLHAHM+`wc=5C({Q~=*v+efR@s1OuUp%Jgp!AD(^IAo*IBW^ZQ^ITUny6!%X~g zPwK9ZSKc!ka*TOT4>zoOfN@ynG_%%~jvvuax102#Z3g&3MQuCqvmj(qs=6Tlm?>js zW?c~S>eZ0V`mE3j_$MiwHz{8gbzl*{MnAR>4wCxtPNfg$;qPgxjsksxI#>L2=+C`z zs3`&%ETCoQ7(Pb$g-3dE?+hZ$b)*od4jEDnf*0&k$glNn2J&&L*YhvJBW572H z=LIsx%$PazAorkl$hfTHj(ZS?eN@yiS&Fl3r9HaT%B#E_|JMM%Jg-mt9+~7rqkX$*Q#Q%>`+4ea?hjUc;o~0I zZ$CISHGf_A8s2w;`0HHEP0UB}*Y%uB5BX~Z^XMsmy-S&6iy^mIx0>~?Q=XxUZ*z`j z{h{LazWNN%M$g?+R)Em+qwmFE)p@C z^tG+GFxLw>fYZyV>*L;8Cd^XMu4eNlhcpuZm&aP-sPL2=%vtKax_8A*Rx_5gMMLlFLfe@DIe z6@vZ{Lq&aivtIl-{4MImLr-z)#iPExzh3<10c$<$#nTU4VOf<~DdHp#BhPLI&Sf8i zbJ*p13?{j&@Ebxl1 z?4MK9@P|j6P8@%@NzXy?hsQYn9`c9%gL}>&KC8cL@P~U1*!lUx66A;a>v0ALlsfiL z0=`C`Z<2uDN!R71{$vYz(OJ&w*f zdNS=FAVrw zX5&BOgMR=on1dG&Ae0T=0W7DXjmX->Eue% z?&G|5UaULsabn)gi*@ZjnHS4Foty{vbdE$`>`w3m>g(LoIbGz%a^5BGyb&K{f1Z)5 z=Ph!BF?YrXFT;QOW!-rfwC{p%GTpojdNOa=pIy#d#Rj`G?|Ew8+|w!M4c^6hQ@4}; zSkAlHoi}2GoOeL%>6Edv%dqC0`(;LK(6o7X!RFlro41*EzF2SCyK=o>As;jFJe?gz zTX&I?x6I9~fUO(6bLxf%q03Ff-w&y{;9}souGQ$T14F!~{>pq5wsjqt8pH(w2f?pd ztF{QbT&WeT6!|DgaY0!Vmv+)w%uQ3a?s%g;RgZ7W4P}MwcV)aK_+@_5GiZi zykhTO0(0M$^iN>l6?Cc^_#3rPM%y3{n*Issecl+O{LX(e*A8R2P5pi+1$rsde$CbM(EdNpp@;Z&>v7=Mh5EY&e*K35KRL8=HFl(zgE95<5%;>H_>+F2>7|EM^Q>Yp;33JcWMuo81VVD(Z1Me=hRO|Tf=G^+J0GE!M)0g2cC2c|H_90QuDtnUp{gCZ-AbI z;(v2F{vPtbM$Dt9`to0qtLBH@1qST={I9#`bz+b4`V#mrQ~CS4%0FSu;J?FpotK>M z`Yj{yzowc;xBQln1OHUNrSiXOonfb`GbHT~mGPplF&`0hxK#Zv!S4;Col}3k`dx%y zKOQ{wmP-i{pD&t&wNKZw_K~E#}cMW}FfdR)Pdip2X zpO+8*-(i35U|tY#b-Vig1%5T3-;1`RHyp41IYZi?FL$x;I2Bz7;lm<*Fwf)PVSnBs z;34&g?;7pzIPIMJThP|9Dnr{(&o6L)s*;I4u|J>h@0E|5o-2QK;^_HuJs(BSYdDu4 z(sL!|(Np<&mj13m&tEg(=%?pBeZ2mpl<~=$fIXLb>%UPx&Jy~3PJ0xweltFqhriA9 ztUYl_=!4%G`oBjmKFmBi@R~aHTZ`Wo=_i{7io$ z*PnJ?psF~^oV4rVAK!)jZWYQ;&X|dgi=@hriy%(YV))V-7kw~=kDb?9tC6|!JijG@ zoGMMHG1y^o*k+sdq^8#|Sg3iQVLi=##<2U^bK#%h8Gn2aYd|-H=Y3-2kkPJ8;C-}f zrH>+`-n`Fe=WDnrdaWVMK(GG#L(wd+za|DdnD7d&FOIUd$V$wW`4^EK2Y}bwM=$pbaBcGHM}kkAxu~tcS?($I!}I`f+>BFEmNQP(!W{Ul zipq!ZcX#$p&x5V)#;Lsfrc=kMvbxweompSOoHMa+AhUkC(f*!j%Q)3K(Ux(l+eDkS z=Q8U>zM820l3D*PqtDHvP2WOh{Y^%D3EF<1_A~BXR=UCGj$tqN#yOUzzfkj;mA}M0 zPEdSlrk;c1FRM8I9_j;sJgMjUz#00x1`k+bz|OA^{Qt#X{s!V-%vWN*-~V)bc{B6R zz;idL-yh?5qiE;UKcIf^$FHA;_H)0ZqM@GH%U=T?`sk^N@!F?$pE!E@ww{lor)``| z59#URhBu#^aBHqN%ZtjvX{&H|L?Gu|H@n_;Ob%Z`~UE(ZNN^n|6zMs#cThk z*~<+A9@1WZ+-TQ3?VS3D(bllqhPI!cKlq(X&pol1f7dTHJ-@K)#L;t^o{ysE?VL*w z>A4p3=&8NDP=D8;=gkHj{q#KU)6|boJMu~S@FP4Irg;)_^Gc!P>H3+Iz45foy8Z|9 zGp%GKT&`&oZhlu->dDa83Plt{wu1&<=(}FvT3173^r^+}T&J;lm3UTj_={UoA z7xw?^vodN=k>?m6>zs@-#1h5+U+DI_Cil6NuXr!(`iXC0POW3)UIBi~+%M3b^NQ;% zo|lnTzZ!E}2D>OhI|y*Mut$T}e+WO!0_ZKNasvE*Ky#l)8{obhF;~{pXWW(h;kUT#CIK6OdoM2K%6w;=ft@rQl;6S&~susq0@(!CsB++^c~YDr;B& zj(iYvNFb*smM0VYL5>_Dt+c9t+w$I2gQ&Iay9Dojgs_ z>FzffOV4hvMSM8-!Ku+sEM~_%)f|$gM{aNqx}`9om2m1w6)H( z7;V4K^bq%CD;p@s*n`OZ4etjs#d&qBk&k^i5cHf^hg_&_%`0(c9QaEn{9^&+(ToJ2 z>CWDr5PY9gRo@5UzadZB37!U^bjNp5X zca&l*<&`7wy%P4DfH}g)83XM#L+8lDnWGtaCWL3=@L6HZdqa4x7W;cjvA?GX`+Lf< zzh}W6B^xq=%PYATb~)x1!n*+Ll;@UZLRN+`-Z0?lA5Y|t>7McMJnT=z87p$m3FLpr z`U00{TOA)pGVQ|{;|9y>_sM&oj(!rcUVR1YPF?N8M$0~o`{un}>RvPM?LFsUb!;}~ zs^HJ_)$|(pa{#y|nOKuVUyK`aEL4_Z6Q&95r$9c^tDL8-Z^W~^gYef{@4pNlazFX6 z(s6T$d(d&OGyGTMgg<_mqhA*00M8)*pTqvDp1^!0#?lHoSOd5g10Q05(VX$`R`=u` zEtpHl3RaGUEEDg7K3Ir%wE)%|pFWuKU0Z+yVc@_B;J^ytKnQRm4#WW`;7KLN#e6{1 zU+w07N&mHm&kNko3;6t;FavIo)<&qcNnmXjD*Eu_-9mgbgtaNex3&l7{hsgVFa6y5 zpP=tX?5WD^*BsI%HOK|CP935WwF-{GAoue;()_^f3f;=UKs; zK902pq>mOsAHm8{vnA+*IK^DUX22u?JYdctV?ES$NFz6aMxHZh_?58p$cut2X7-e)16K{_JO+SSc>`RT~J z-imI3ryjaeeC99QmkT<2%7CH3|57R6qKJnaF7?W{?HHee;kF{s0c8c_Yh0tppvm4=<2=K$O;zRmg81kDuCk`D<&?EO` zQeFZMFA)x)Q`(5JBb`q-8u)#;TAPi=+L-t~Eu$E_?icw0RMjlKK-b(^Tgqk=I_KOz=-&Cj)H;4rvz-K z7Y&?xpZjbONvkUjbiEfc_5G20eV@UF4Rz zd}5#-$Nkv3SX0QAvpxJlo(tOy*|UH=0dtRS01bm5g!+|4<9!RFvHrcH&5fD%Uy!>Q z15W%a>08r2&vJI?oBRdie?^TyQH{Lzk2;@DbuKU0sQJC(jttleemWox`~|*~#KdHH z)p+1FSitKC{NBXkj*AE{*unzGf$M}%63;9wjmFoW5^bqIHQKi6v}mk$NHkV?HF)Hg zz$3pL-Cui6G**xU9-0dtnit()ln+Z{nQNv;sb9|%_m)49c?s9O?=XwPB3%NMg=9hQO+^|2ms&YT(8^e58z=ufN zWEsA7)89Miwu3*kfM+i5#(CfrF=390tU>(Oe2rrI9!0hABxnIJ!wQaMC zdt1SyA5cCAt)>l2JanE1C!;ol=Z{M!K>GV$-v20W%Jc>Ds_wEpvc zV^G*ny?|YJCqmVY6 zm%)Dm`dkS5ByD1kp_ev=pJI-%M=}*{eja@?dzA`09jWQm=qGA*0e10gB%Ow#2gcS0 zqH)-JwDWF-?<96j59tsv6?9mp=n#5jS~>&||0Cca#zB6e#zDVI7(SfX+5+fVy`u4( zL8Fzkp<`VhZM_-SE3?qfj`AGk<_PGIx>Zldsrd!?HvNpE&JyLzGSXkNABA-IIK~=> z-Yj?q#;R@U5O`Z$jWxERH}pX@)(xKlZ_5Rr%LAW-9vH~9zlt-rdOTLmD>QFYFqLB^ zZA#_I;#lcI+%hq+%_n4#)fS+{7 zzc5?P=@raL&nK0CBi6%l`1KLLzN2w#y!yW5-)PJg{3{P}?8A-u9{r*WewOBW86AY{ zt7oP5b*JOilus@5N;)dmPeY9xYug2am%%s3m_=j0@=2>0hWfjeavkf?a%D!xhviw6 z-yYdshMY|)+Y!USeKUsfU3IUy+_JwzUF6D=ls?*2zOGEjvsTE3u$6`QQkLK?t)O4l zQ1#D`_%35<|GD)A+5zA(zcz68b?!d}?M99D-6MSKZobTX%7#f&HtYaw$e);Fu5

    `bIg?S(UbfT}uVrsf_JSohG)!)&>`9957FqU1^gtY5uRhU9kn64NoF(+Z zor9iSK~6`}agJMcJhB1)kQy<6Mb>AXXTW-8TF0#81ma8Q4t@%J>H3>FvEfG;cg5^o z8{7>rxErEy*JyfN&%vKQ&)|;!F$Q;!Y1}mh$rNz3BZ$^BT?coW$H{`bKT4jCs$EL` zU%nqny0dY&xzVG$em>k`$0o>6P;^(2!rj#$0o<*!aJS^|h`XB%?l_|X&!*@O`z2;@ zCw*8wp6&k;z}+Pl?#@!*bzPrN@Lg;KGY#6ckvDd{WP&N#{UJG`z?8~Y>1J8!}E;gTS!-%bDY?vZyRv8=SE$kB8b}1Km z%GhGNEH?HAI=&qrFq6G8oPJfI0_+XWO3Rr!Wp7ZExCNNR-q`)uu9=eO<=GoPp1wfa ziM%gmZ|G}j_6Be&dxKoH!jEOQH=bAahU}B%#U9zE><#Qou{ZL?-e_{3&54$azK*Bt z*6QyXdqcmwyX?`|yUQvAzpbzJH92!+_P0e}e|eVD*T5qBnwZ}Bvc$q9e4?)lU57p( z&ZEPzs~2o+EsVhrU!|wugClD%Q}xV8EWRC_4Rk)F{bK@ku!Q)hO|g&F{6T*vDFAs>qCMh-ch^o+lSH@f~t4iiSGwYGj6-vl72X zeEDYLGcC|8H8kWsuiQaBvn}#n$3&82+%b2~f#u#9b#q4?5ZZ1hu22N6WyNutt&p9D zvW^qDR@zqh1Z!pV-Er!>mODfE?w32Y{Zn$M4Vfu&$NZ<_!IfJ6%or>3CzT(k;y70! zf38IS;7cXt5AwGK-@BFgmdfGrvY#M<)bY)k$)>>U~T^HcV5ZTVA-J!s@l8_$S; zW&Emg%dfiE$R@^WC#IW8HvMe?vZ)WU37Tvl=gFo5WE1d;Z0dt-`ea7gr1R)h%n13U zZE<}qO*X*~N;bhGg+~jh)PW+-R+t};Cjy^95 zpU5_3ulORPi=!Y(42ilr6TTZ9N@ZI;GQ= zrxACv$kWe_jjr*Hq2=LlXw{a7HJ&`Y z0eLniKpxt$ncFRSINOtl^F4VO#|DttjL1Vje;Zl2l6v`yzdb*0dQui@7_-hPO&03= zS+k~~7(>=^0&$~d;cq2>$>ZbvIe|Khu!zx(w~@pmEfF#Nsr><`A@vJSQ_Men(! zFV{>A+SpRxB_?azQut&^TWXrbl`UJU7(dF`S^LG#vf|O@VxvQ6;sdTVb{6l+7IR)h z-?>mf?5w_4%(+iWE{tU_?ZT9u6-cM)c9vexG&>8wRoPkCjPu52mkUoRJ4?%jksWO- zs;LiQV$R5gy-7Q(B;^A(yXkVl#GH@yJzpg;-*5Eq7Bk+F;rTq@^Vn%Sl6IQ){>{GU zv(jt;?duv9<}8iIpIEtiVKx7_*hXt~&FmRx$k2Va%k_t4SN zH9jBoUw!vwokt+=X}NTeoFQ8-9acNdlS|I#NH^QV$fhRhi`ug3_>Y)u+9Wwuo^1N| zk-$|^cU&1e?RI0+dUE`yNjvSMA;;%gxcbbIz*QET_NX6uHm!%N#UC+ToowMMtiEfV z=kVRH^DZt->AWe-!?FHT@r1C>_nmjH=)lx@7Rg(Pf0cLwxgjmYHIwlK;wmlki6`7h zJmIU@`(8Xj_K9pASYheFI&4Iv11};TVCz78FSf$B@4Cg(fxi+R$i8bed%1aiohNn^ zqpDK1lKMuknMdDx;AsV}I58iAHBB#0re+*_uxcNcJ=t~C)zo{jk=SqP6PDDAlfC$Z z=tag8dwCgqv6=OvclLz$rDCJ{S|+{do|auNeqZTD$qUbmRkazpFR{@Av6pu^o5x1C zD0?}T$9KY`Mlb4jOH5Oqzr^=EdSkCcoK?jnRqRs7FZyJ7zRdSL`UJh06Wt>E#Cra( zkEFl9yFSryb+`Qt{%m_)U+W}hWX>H){G#ylwq7Kskyz33N%%xB_Hh+_KbfTAt4+mb zU-iMaTITUk-)OOKFZD&=eOc#`rWegTv|c=$d^*vKan?ZgQlDWjbg~oP^Hc2ZF~t3+ z&aIu0N6hmPZ$FjVIRRHYcM>Okgfk46k?&G8 zj5sNKR_%;`BJ|RGIK#0&GmfphrFN>sSiTF-Ni86MjK%gTo+D;#Vl3n+w zo4!92{bn5}kWRGk^0?$KdGuSgIUGjedzWep>jrl44TNo!F4K0g@iA}pJzpof^x#qC zv);-+V9G~5$M<}uc_K?1gW@1P@e!wePU%AClJXHRPr|2tLO~z@wNsWHV!~H5eZ0ngr`G~fjIbch^#vUR|_cY3)n?5!e)cO>(Ouv5;a zM}g?&Dl4Dk_sFuWb3OvN`Q%Fi+Ttd?wTULP!*kM%u|Y;OvT|7CbS&-Z+tJa6`Ct@m&C zJ)a3rnPfyyWc$lkbeHXaXg2uKvfUAxT}4i=KmO-~uT0{9Z;p>H^2h&t_hp?&pzQME zf8jwZ*>j_2uXY4JSE2a%f6+4jG6K9SCKy#5U%$91k_ znhz3B`4A)589k@pt#f$tVpsc~M^82-gp zN}id7PxMrwi~iZ`e0i|me^T*6y?_44wdwP#lly+h84>ZNh^3l*qBh@sS?7_ar_4OG zp86~~b+(>5tg)3tji_J=wp2glQy zKjFK*Zim$$3RpMWANs)(y>8XoA4;7`!5?~?Jc6V@gj|t4(;sSo=wI1&I#2hNG_R!T5bJ!NOa4hV9U}epj1Kti@0AW|GWqiO0y~_hPv~3# zO9y;wO}dOV&u{lVj}B^d4i@NK3G4aWGd%yJ?$7UVPVAnq|FsOyKjwQL9o876!{+#& z&xGepaw*-{()ibVO1hq%)Vsg=GNr@7rI+u|o>F}hKCQ#5L^nmq_fPJ5X&v?{AAGCT zIt=KR6MKg5zO3^Il#5!2twHA4vhc9#F!pKu`vcY1`MiIw_jK6(Q`{Qrar9J&J^Qw& z!%p$(u+p-`nm(QmE6t$8Mju*-HF{$tbr}0YzxxQt;j<;r%+p~*ed~54by$J7Zq;XM z{3m02r&EJVa3?Xn)7jtmblBY=0o-*0m%-gn_-@nup<>6qiZ7u5bsl*4*s<9^b7e&$V$y-GhA{)FWUI zdZNVa+mVfZ4n+%rvP$}$j~lne=)` zoX<W6q>bVbTsUxhZ0YFi-Ji?K%Nzw5V#{M3Q|qRBnoOEt4Ixv^u*TqU!`m9i+V2 z4}NRgA${G|;*0jMHCI>)ld&S)O-&&zITf^y8`LYco9mZQt{CVn;k) ztk2e1&tI0|`K7++tK|Lrz5PJz`AXmOned!uhgkDX+9B38ZHMT-Z<6Qm*-LFZgxXQq zA=OFv#184NbLGD=&ddD?C(j)Y^}&Zd*yxmE&-r4$gM9a8ormFV3ud#Qw~%}?TPC-X z!>r^C_P%>+b~%$vu87GSY4hp?>_IlQVT;paDlvy1o{~3m4K|qgtI0eO_*>XLUz^XM91QfWW|Az-xdxs zt#Oudb|mxqt#L#~Z6IGl;FA6ZQcu4Vxk-=E7(Q82mbEdLVWG&LvE;c(U4}ixM&9IK zIk4}#z)3W`Tlv~Te5OVCOlEFd`K|L}>Q$lN7UEaQZ@YMAH~(t*P1dTG{GQ#&ohhO4 z_NnBB)bOv8^G`+86_7KV#}ZdB#s@1S&!-K!LoJ4eHr7tg4nIw<&vxKxz5qD!d!;tZ zPw-EqW>@JkWo|p;w%y_+N(+(0)9K%HDfB4yx>O&)yx5OUiLa0`+oww{f5&B=)!Fgc z=5glu)VXsf z{0B8oepbBw!2)VjEDs$Odzu<2#BXPA(y@)EWNgD)57sqR_rSUy#Jj9@<}m{KM(f1y zF`qHOy))cDHd$aN&q~1#|BNB`Y8{V&*q4R+#OM{J>a#2Z_cKBT4P&@I zk6IhEoWecxnfqJh!sFIDxp8K5{v+&x2dtzbq#fj7lXJrcZoXWhV@6cHAd;xf# zPaT|o;Iq@|8=K|fc{(yFFO*N;ZYMfYot4SkGY&iI4SIU5gXTNHbFEX5tYcD79g|ed zC_i>e9sZ7or&i%*aFzQ$=q?jI_8vd|z)xQ6XbV4ok$fa%iQsL&`mX77AK%mDIx<4Z zb!hVgpC?DY`~Axl-g0AqScrd#+?ze5!mXj^OPYTP&ZQ2ylJm$WIZsZERGlY3g&M@| zJhztGFd|2iF;e2Jh0I6ANQs}O#Yn%7+=7nhP%kAQMw%Q$Vx$Mi8IUoQf9c7eIoPXN z*Wp8@cO4`BcWd41ed~5u{mVnF+n2p{t0vxTp_q^DJ({7sEGv5BZRxk>6#MdaELXJ0w*I&TPi zgT2D=!LBDJbKUTHb>A|47E@n9_g5ELDR4@D_gZv=zw0@A0+s2hI0T_&Z7QM^0?0%^L$m7o8lt?x4pT1IiMUc#rUg{HNj{m0o=z>=l1~ zkFw7}19hK@#yGp&jP0lYK0Erb{4IJ?*?;4sYx%pnh8liF^bV1H>xPJ{{@%>r=)RVQ zT>Uq-Ii&{OO4;)ZpRH&?eXl$_T00n;zZe^_BoytS=SU}Z!~1@t_S-VpU+ck@}yKiQut#RFeV z=BjGmRCSy@To15t-DcrB?fuZ}djn2N)^eJ}xeJL6icYKLtU^i1IaB&mwvhWQcAdui z_-GY1HKdM43;A?8{mR_PkaAag^g2bA?(lw&TRJ4d(3}9=*)n!+o{Uf$p4d4|1Z}VW*SbPWISx?{2=D}r&X6kFpwW=D{ z9iB~lZyLX)_ZYoIV1eKK^yT{CG3)jte8wPp2T#bIlcVdwQxLrul%~`B=+dxzY6kp_ z^YHU~3qOVU7}@B_z-8zO{%droL0@OV6GTt<=6dw>DD?DbcX~48+Vm98LQf9#By=J) z&@emXSkt@+~<(TL!XxP-)=!t^W5J-*z{ z$JZ+v=(r<}54of8_2`M2D8aU)9(ke_nOUaJh)V7CoY?i$UbSVV;5WG^#&Zh{5&Tx>p@pZ)9V*QbU@mJ3|Kl%`La({Q6pnQKnJa?K;^dPwnz@ZMs0WH{IQ z8a#7v8l8GP($|As`dJ!y<-Fs215)}{>Dh6a=~3hHQ_(7ccNFlBqh5W0KAVdyQToiY z4U8T$>toBEcJgsD>9N+m?BFqYuSK4M5225Y@~Qya4LKt6#4oSP?De=y(|U3} zc$3YkMHGQl|`dX?Z{A!}Z5t$9&}TR6JXP3ozl9Cys}%t^F~I;8K>s1ob-9~+$$lE7m;)Ayl>sWinO(V7vCuf2YWNf9(uH- z_i0&usk2x1W~7h0`1%k1vQ5bu(H-1-mb_c(96o0=#wK~E=p6Rl;=Hq(YyLinzhFIN zjm_9nC*UP?Sw6Z;)8fU-*C5W5Xy&&!_)U69ly-G(T8x~GqqAElvp;bGdp*aOxl5q) zcKn`>!SvI_Mv$6@ZFf#_+vwjQ{+Pj;_(C^(IBT86*nRWdxaaSfd!7O((wn7?`78o< z1LLtH<12<8bkcAfK{wybe36xjVZdshX*+J3D|MFID*4Agqtwqb`}Ns=9>6lA{%QCXxVsm2L3Em{F(As>AQlj zS?10nCqQ~hj6jy;@$U`(E|&NU^fi)y^7k5S!4b?okALcS{x<%b^p9yF_H^`s_=+le zPKdu$RZ#9Ke~ESI$Mw}AbG<@ehZgg=-t3s`mHIkye2422&r8Ln(tV}T-aKFO=4s@Q zU;dYft;Zat&OoumYk*}W|K8y5HNUUy&dheS4P)B8lC*r}= z&0kXX%n3SdAWSfz|~7Vq*zhacHCUzKCmRPI&oe)Y%kUD-OMgk8bE; z2{y|d=-?0J!x+0WJ~&-|^@V0N-{`&^t16*Yd;~))zxs=&6|rXq<-m{YLeW(@gZ32v zt!w7~5+^z&$4UIshu=aKZ%NUQ%x55b?+!c_wt90u`f8W=ZoO`G=G|UA=P7wN`f|5< zH*raM_ZIqln|JT=-fiobZR-6geX8D1%?RoJ1$}LTHr)bnDS0BMm!HI110S(01>eCGeDMzfzTH0fJ`n)lybl0hA@Sz-1`JE1 z$AP)5A2L1!Ep9>1*YHpH?s$*?()qAl$zZ`}DSp!J^mE@ZaP#XO)GvIF{ooD9JJE+r zm%cjf-t}*fobl@0ca-jW`#E~aFNxgV0L?bk5wEQ-qu)I7^I2X$ccFm;6&`JR^l`dJ zAFmqx*Lw6pOrxxT`Bi;a2J%MCi+iU8?pYzT2^j{hVC*3;nwypMO)`j#bm#osUfC zdk)`;*FHk6g*z*_r;=+^yqITt4EQnn1c}U$_>YoTwK<9>%Pm~L;n9SGcdJ+LTE!ew z_4bv_C`4xT?dQe^_jlWe9_0%DI!i8eca6Kq-E+og+|G6R?ykoQ+&$kfbkna#xSq@P zJhv0Oa(c*lqVtThM813?qhBCCC;2o|Ur}=B#5NiNA9b#q&U5GS+ziG}jnTexs@u{q z#if4LCg}qpd{-hp$;ygVuiiiWbK45Z@oAU1-Yjgxh8b=iaRBtd4zabw50tot=#Sd2 zwiP3=v5E(T(0LLQay&fh98wdbRX9iIh`n%y;MCh|Yg;#J`aqC;;(-) zF#Z4hbwK>hL+P(~+YS$Z{f%>(|7iN_w6FDCe|?|4kKXdv!-CTz$X|e#5{{dSRy+O;rG#plHa3S%?neq-c;W^z@Cq3r7? zu?Fl$ViZy7xhpmK$j8_-9G|@%KRV8R>o0P4EFq3|7B!EhuWd79wqujE5c?U4zaci0 z)I*&9Zr7Rl-?-+$0N@!xJw&lFS{kOhamH1-86~CB8uo?dez9HFYMkz?fWOojH>_qWilz59p}8*`d@ZtG=K@t&5ED3}Z~YQ-m$ycCdVnbr*oAs$uakf*V3yR6h9aHzJ+%IsMy*-IF{f6-**0lay z&VMhDL?gtU%yTWoh+5Bb8Y_O6OWx0|8?R%W*#qldjdZ437-3d9?Vk&=3fu#2D6&`)x*@>$1zSDy_d4WJXyoM+z0a(&Uh5l z-y{k1Tu3oL+DCDVqrKMSn(Zgy!Rj z#XtjgenTB}C%S6bYGXH7C_mivvYpMlMYl-2Ld;=fpX>Lh;w4u}zD|8#m9Nt(?OJz>WjpGJT1DK^Q|qw(TZ3Ph@oTRPIrmrNhqdCD4I`(n0N+G- zNy|%mifgu$q(!N^A>jR{JmuFvs4u*L#Gl8*foikD9TwuZ3wytdAuPs>9 z@UP~dTL1Htxee*-x1aN_vVL#-*3VV`RqA<w3|rv1!xn`2 zm%~4kLzMo`UwQ9r=bZ+>V-$XSPcK8Dmv(4`n13RjZgK-@<|*DC6h8~1mzyG)>E&UW z!~3L{RUZPqd^!WYEU@704ZXY#jGEul*KV%2cER+L;*Zr5FRD9{eH!v(IgeiPMZx3ZJeZ;LsDUh%-dXeBaz4!`MlYCaHpzmWIY{)4&;4f^_|l^{ZxuB=e^%JBU%YeTZbW^kuTQXM^kd|1KySWB-#5Y zCJ#vVw`A`l2YS=6>iC?%S`4fi`BB9`Q}iwS^>e_nk;AeVMEo6DoEQBQbupWngUEqa zWMQ0myzI%+qeIIXt_8{&pNtfHM&hLsk4~2}ItDG{H!&wAXT135-hEmgNc_{5Cp!L} zT3^|J5&0)_@C@c*WZ!7yP762^m{lGfah(Cl{q&T4yVtzeihsW%@Ai1An?9jmq(9#w zj(ydNttBydkxveJ1uycha^gVP6&sfjA8sc;yxxgyUlI@>es;l>m66Dj2AO{gxhSK! zZznQb&V8voH}GfcoI>(}$Atc6W8u6}6P$z7U+cssWF7X^vtKjW$=_4Z)ismcsv+`y z7qLHw`^vEY$jja%J;2&n(<#`%k$FWE+E~ve#7$e+BM>~riRDQS^{>x-XT>7mmp!>! z;?_a)*g%|nDsk=+#JO)L&b^*_)G`m5L#Y$qF7vsa_jWLspn2p=4R89#zc6=%nunZS zNzEfy%|l{`li7PKL=SA{zPbWEk9n-`lu+HP&(1BHP{P@}S|_xf^Ad`e#db`?m*mZn zmz?i?=JFX)-}7TR-lxN-z-wZJ!bcZdbWoQ`zXkBqbF6(3KMg&C{Pa6=b<})3eme1e z@Y8+FqqqF@-{!p*KfSv*Ge2$PT$ybjwIYv%mxYh!|DtP!@K6{Ys)dKz;Gufxsumtv z5A98X_DZ3>CD2~|g36WQNWJDEXjmO%jvYIc|T8b>Y=@d=awqk;~bwwdl8HF zB8v7_bD!ZMLwoCO+T(c>@3wWvb&@j$40FBDYXb1|goU3U`sAIf=qqLatY)7|Xv=|T zCtvoCvQdkXH~1MFE5K149Mw2E+bh7)I&f48j!M8$JvgdaP_Z&6vbcfzCkZ*9Ih6H9 zpKL7VxmKPlhlh%JZY|GM@Z4~oTg-Fi3(8l9B8zyAoHr-bPz0apIeI!d$#3a8dZEk< zo9?IG?5os#irAOB^fz5AdILuhxbDgOXL;|J{U_1a`@DV~GgJ;`s$YlG51d{r`4PEp zNcNDvDEjZ%Xl;3XMGfC8_})qndiKb6By;F%Q#I%Aevoq{;u}slCR&M1iVz=IQa3ib zf$tsIgm3+&V?_>o8WrT-il1)I<#b@Pckr9^d==f%dacfnox!@)oQ+*@`nl0Ka@y?U z%2=;w8S6C}3%|bw9+H|xray02S0A^6GcXl*6-R3&_Hj?XI+N4Fe2O3XShNN>Wq-X5 zIh_lf8>&j9@~(wn7QU5!7{g*)m|yXuoPp?Dwo&2)qBrb&Z&vpfx@w-zscN3B_w;d_ z<01IsHsU0qq#yF#KbiVUx;KEr>*`U&cgi;Eb=B96Z}%2w6@`xOv1G7X&q}?&Rmgc@ z`@F~Ie1{{;`6{QU=yR+YF_FDx@fE}QUcvWP`gNwQB{1rB3CB)gE%EdBRxHpyvs%mb zp=f*lZ5stA-^_ylukxGh{RtgOuFYb>`GMo2C35cQo`^eK@QjXa0~a>#1i!3BWAP;; zqr(**bA5QE=P3K{f*%`?S0(YNeemvhOy56T>ETiKw`~0VU+ITC4Bs+YLmyh+fZg(3 zhJLt1?X&3hvkttM@8L?;A}P=GwX~WaR{hG}^uzt}OKmI4IXj}yq#;YB=7y=$Y{`;; z{#U~r`rW16Xf|(W?Bi^u1p z^jxI&m+ptVBnh9?+{l;um4W?mKkb9BPU@tQ z^6V6`_cPVdUyLlTbJ!2Q62A_6BvnIS<2LKO0@f$fx@8?F5I_1n^yejS%d59F`NPB& zI!XCP=vP0kiXGh#w`*1Qez;lZcm!}Yz{1sj$$P=B6JFWJcfapY_D9j3`V8;?)_%C# z#Xh8#NfEV7gm#rYrJjcANwS+uYn}MdM#l>ce0;Jk4|PA>vLt*W5A)pB zA`b)l;r?}bI((a@W@11;+`Yd0vd$xo-_1O+wI;*?RmjIa|Nw^tV@JyZ86o z{b%cSKDhBOFBh2cFMs9pFIBybL!8%UFH@a!kF%F4@l!LGM?b?pCNXD;K?j}Z`7yYY z{me|~wavI&8MlO({|NFM$C0;`>73i>xH{*S@w_(sWB9?v(Z#?e`SiUxuU+^~dM>-k zpU?N!x|ip*)mop&THEK({O7gHWZwol&^)hWcFIpq$^q|MKJkBIwQZbFl{M^k{=m0i zI*GWV*r5i$CBFIu22T^L^^-i_h*zH==)Crpw}bKXw7`T7DEYdFD?hWS2Kyj;{xf*{ zXyrfO@Y}Hx90;iq-{5E+5hsqz@$JtGzLwcJ3Y{#?aotGXDB-TPKqI>?>&}AJf(92C#wYdp_ z)8voIwK>;LO}rqml0PPYS6{30#~Oq3#|q6j^8?1YacbfTdz>3{6RXAE3CJJ&%Tf=X zuLg|s^{I(<_Bdb9O*~iaG;OFmeEDNb$bFIgu?@cs&L0yT+4*A&fybXe2CnwrvQFoZ znYCXFjmmZCAn_HM1Nmd}clCXdMDu6C1^Hvoo*!SaWq;QWD}Rify$ZE1CVyNgTuJ;JJ#6KVk)L*I^v&Z^`C|f?oj*2%@g#q2$+_fErSiwr zb1ju+3F5&`CV%X8#xeP0hGuSOeo}Yy9KnZ-GZ8$d^2d_ntR>!V^2c73alHI787H~V z&-)~QOy*QQUFTwrVcg-2Yx2hy;Y*tQF@=-q;l$1tGSB_HyvyW|`RCrpn|rCioXQ_d z!mQ@*<&Ujo9Fsqm5#|dt%m>Lquwh<9ywc>4DVQ$^Cw`O#<~rWhGDPRR`C8k%_>3%27cuH&ryA8eQkqy?PSklt$8FHaPsIH_o%{S1l=+*lir> zXGg^;Bcmnkee`9V2sxZt=YE-<`}MxLFCw?I_^Gj}xnCAejLS0jy~oB^EXpwVi#(Xy zh_x(vs!unVTV?;}l)~sbVEzN+L<-YkHglhp!r_i3Po2?i9M+vZKTSVBVH}%&?7Y)4 z-Z+YWKH0z9I5rM{DC1lh49{`iIHi+V)6J)J8wYrrDk3MVHGPzErjT=#buF&cYf;F! zHZQjjYb!4Lcxo-K3@2WEKC}F}n|GD>4W`50^JnxOOUSvz;q@Z!g6Dv_U zz*h=9)NBueXOo#1a&O7~PS7|_6>X=fwV28{rH9f5SLwBQm~rj3s1{uS4NG3Gk_lIJ z&&&M|XQ-dDdIi||RAYSS*W@g}EpOSEPb}h{qHh zEFk~3@s@BufBtP_bwe`$7XRh6=;rf!o_{-s_x2|LcFfTxr_l2utz4DQ${f77eNg_b z&i6~@&&j^Mb&6N9x7k1 zjWw}jl5JjI?r;l!$+I;1bN;i<$6{lMKTZCi`jj)Vhx1JHn^r8vrZ-Iwsr(P|#f9Gd z`Mj%DUAIZm^RWwq^1%->|7`i-&7GPS{rP(V`Mo`&#}lE)-sJag=KVd*@7<7v9{)q; zk%b<&`QjUPKKRRq?x3$gx+6B_kFNyNo#qpKY{ntpnc4}O{VPCFlbhA$s{66ad{@=LB+@{9P^Y0<{%$gl9i zjUty@$dm2KIf65Ie>Zv!I6v^U!3JmD<=1d)9fIUnHhMXZ-fc=w9Y%WjAvst(Ebc zuOr{Mn0#YuL`B2YPpYS8%pl8_lKk5DSlbTrL#9(FW+!774BGtqUG%^x_?Q!YbisKm zJ0o{Bbdpco!Whq#Ini2jdY_#^0i)LU8T^NZHH_m(~@>4$x|_2K`J7ZgOFXIgLu(Wk_> zWk0gecb;x-AH$pJ@}#^XMlj&$67S3w!T89QIQg^wPpP+uqPi zysc;SvgkO2v+nZjRmL!KqPO&NT>jywm+Lan%cB;Yy`h&YGSJKYGG37VRj7T`bTStF-6U9b;I;?#Aqtel_kVHmYLtm zip-chDmIUcu4Bx4^Beot^1f%N15mNEAX>th3(Rku^>6BZ4;-c5_cild9ld9HZa6WR ziiggQRx;+75p|k_xBm_@?Xdx!+-wse#RfL&-=->*~ByC zydN={Chxo-_CaY>&EfGvHHQ}l5zDjA`-xqej0fYJ<)Tj{{xX7GqgMXTblz_SFlIXM zH$&ydr_LuzO#rC}0KO6qHJ8?)w@gmD)NGo-J54VU`HVA%q6=ls^T4Ilx(vm3{Tx~; zk#X>A$i-04lT)D1M|1Y;Ch`WA+~itzzfCrJPwAeXG&0xee{;*UjixbhVs;+xHV{D4BYV(%*4M7T^h(^5 z0pzg!hfn`(3pnp3@gIXrfl>1NJDJnT;8Mgj8k-Cwsz;PpU z+(|ymHs&}sRJQSa?1eqd@w!l-?dM}NJjNU^V2%otFowQcqv*kr zSDrpc8Mlr2lju-$u1#uRNxsAbW{%#zZ>D;-OUZZl*Bg&>UL^$Wv{yRxH6#AT-$GYX zV?y59m-$NWoWnUr;lI>*JiVUNiK}1Bc`AB^z0yHG=?iZzc&%VyUPEDSSz?(}xIKUF zwFf5CYp;^rn{iHI!~9TW`{R5rclvEV|J~)wu5+j zau@U}=NolSbAIfbl7|aTwoHaj<&2B)8+&XW*yuaqsa?=$KJPX5*>3QCo<~zL@O?h` z9t*ygf$#I6snNN2QOB=fyPPZIJSk@rBdQ07%x8+CFV2o7x@PuQI0(g_2KPHTYgWK{ z&AHsu$$8Bs&|??pHA}GbaC=M&-YCgJaQUgO>1PWbJ^KJUB9%*Trz@0YWY=$}`8@NZN0O7MB# z`>&nNzyd9M}o{e`^Si?R9b&BA|>^S-|u@qg#MZ-2!zxv{?9XCa>j>U(}H&-;w< zY4elF#LFx?=*@ZG5gGVt*b(HXX7YH{d^~oXKk>tYe`i#@|0cmw%I-RclOg8ecb`(+gN%bnOS?Oq*X zsn0M1+f3xequ4Ccb0YnWyxxcGgWYmIcFWj#qtzLC=~0J0@70+ou z>EJ;8OQ~NheZ7}jKF~|_*cSh1_X6YZgd0kr#R&cmHA7x`+KQQ)oc=1oAM$CV&z>CP ztN$zcc%$QiCQO`^zr;c;@y$z_bfGi803u@bl)2pXc=5KA$=E zz4d~X=jS#woF9rbOks{An4|bfZ`gCRWZ_7QPQ;Iuy#)Es(91m4FEpKAj4YJe|Lev7 zM?Ny2SK5hHU&dUd-asz>Bc_9cRZjk%IDXh&PF_PnC}(>upOsE{d;DPivJ&|94SGSo z&~(>>Pdni~b;Kq+&__~NP5alm%sW5!G0}yi@WGHX;#agGe>$KM>g6X4%?i%j9bG>? zNNzm`%}(QY$*-WN`H*Y9+A*W%j+{`7PX&&m;9tq6RZgCgO_Jjv-^buXlyINJ99KEc z9;x3^i4R&r{f>Gkm)bEo+pBm!-B&fV8HxQ1>n86N-}axa?_X8l^VRjc_&%N53IdPd zvX%SSb8a&4#Bx_~NSt=&3j-q!oy_?>Cx81=eBS5h&O7il_^TyGGtbFyi1F`ya6AJa zxZvHT%SO}RQ~cXqP0Jn>JU0V(+h8Xl=MOcG<=k2xI4+EB7FlB9SnBw+4aV06*PY-x zuSno1*t3@S#q+@NJaD||?Md_`jxrsXWi7?$eVX}59C_s2Q4^*y*Qdep=mXm4ZG*0F zf(~EweBROA^SoE1=nc>3mFLChmA)n#ueq_JBrbDfCt2T5P~YX8Z9(if^U@gRvMN=#AWK#|eP9@%8%$#+;|El;K;n|#qlCNb7GP)VslXaI~7P&&}64R0RBk>y**C7tsAu-c4 z%My=3*PY1moye5@Q2zE#qPcqXB51<%#*u?$lawWxr-d=WPOEh^%+tvcWXor`Dqb(+s-<5vgUcK z1&$*lcSpSsx%-Ud3wgZtwDtYR>bsV^KTzMb-2GYddVcKtd{;8dk{vmJU_4LmzVlvp zdn8Eyevf*nLGt(IpE1@ElD~~+E}s0|@q6CgOZmHydGt1Z@)h%53y0s6cL&5H_tl4A znVd6l&$g+~%>DJbuYBjPligK0)WRY!spUt=Uiwna#-6*KJtNt3ko}zICy~orq1&gC z(cJU2*pb+%B9q_d9=U&scfagWv|ZpNq)+^#+|$+7k2*&52Pp|hMZBQ$nOh~-;5{y zXU47k_bvel6g&UiZWBquS|A1hva!QKdtxorXah-KbCsl>$n~sbl}POWS*&H9|OEf zueG+v&;z`){Shaz0lV!Q-rK=CEuMSL0fSfB$GWAEymtEgv~C4gl~Nx(cTf0CXJ($t zOC}%rM~uaNV&{u}dS`;VYyEp)qq38+cOu_+FF>uR@C!@=zrZB#mv^2IY{nmZ%=5>#FSr1Iuc2WN@LmtRr>c4O+fz8& znK^deDHEy+y?KsuW}c5vF_w8YpiAZh^ZY_5dOiN#a{Rju>|JfZ4l%u;+8FP4ViqN8 zyxcvzO4;k0M}12#?r`3px@H#hoAAlIe_QBw)#s|7MlHY`2i7))cg=gb^rxExAB!(6 z_LlVaHNIP=*jmt1k8Le*X!L=sYYbcpf6IGY!JBz^2e_5^!G~#URWTQ_wWP*~9< zx1P4{`LXr=2iEtW@qIcruGm{bZz4x-f3piex55>_u15K}xk*3Q_5571fn;68&lOvL znXDP>lgZERWG&h!A$O+>J*NEJJbO*1r|7YL5;B{$$)jKB)4Z!j`MJ68+s~E#TSa@8 zpDVEh@pEN=JClD~%bu=0m+s$E|I@>*9}<-TNnenDNM_^WUBR+H&ZARw!p*?dx)1KLyud?z@)zr1tJ8WX^o< zV=bc#xo_QXneKF{V;`b#t;XV36HKhEcQ{2QUyk*(8bEZAOMw^G{-F1hSOu3wxh(K1H8VaboDWUiRI~X;{qs zs=DQX{qxojr`~GVd%vl-D*1}r zRQ^#4pLO*86kA_x!F#|b`Axe1>~Yj28F;BH`g)C{>(Ki3_7>{UUhDbxj}VU%zy5^< z)2TUqXM@zI6&e#6KfO`)q1z<2$&~(7^&NG7WEp!uHH;y(a@V34q)zTL)Wxl#F0RzJ zZRzVIE+T%LgbR4M-m|*6>0)>DIkuG9(bk8i}6Yw8WYFze;0W_>twm4&xHNUpNspIs`x9)(Mr=b-Z z+JdYQJAI+ICV#ZnWQMmUTdg&b`J4Wbg@e-TPZUA(Vjo2AFL$r;=5nY#hFa!l_9M(* zgxPzjcZjc`_aoSS&oXcJV=Ow?btT0Y6Iohn`F7Y4`+kZI5hsScf1Q)&r=3j>q35TO zrzn1!6CL--_=@;o*(;Rs!)Y}^i1k|`_*cVbXkjh1An{DWpX3fo59$u|n#*`5Pj9!!+kKKbd3ulPIqO-; z>wnOqqbGl(d0XP;ihjbnfBK>7Qx|>F*(>#_e>9ew#(X#Rsp~jz9#o&Yy}n}w=b!hQ z`qa;ICf}}4J++0J$5T0{A5fqA)BF}xpPG8o)JEuDpZXJ7#u_JM;itEZ>Rz8Zhu&QN z`qW#bCbF+S^>e^!>Qn#fpTvgH^{E#zKYx8{``(|ZdkbAP&qLIw&i#$4$*Aj4E4*f@ zPd(LJ$9q^uBcIdcfzp9iKQpU7wWH3Roe@2cwanqWsZX7@mR5c0ujsXGGWDs|T3Yp~ zUv193mfQKwu20Px?#)!6+Qyym)EcQ3PJQZcDm>=;@EBa5`uo2&c+@hfJ0A6QqwC)J zwdRLped>CTACx>jI@v?Y83><$9U7uvS_oNX_~9>OEPe>*xoJ48Pu2J?J_J83%7Vjh z@|(nFS|ld)bzQGr_QPAHPQmJt(f9zV@18@9h1%}KmcEo_tZQW~Vm+$%yNrcx@}Gzo%S>F6^D#7^l>NBX*wC{)a9*p|udA!jZM~5-r0+BOC{eJ9y^RZ4 z$GYPgqcDAp+SC}g$r!Wrx|y1?rgp!g1E)mMLF+x#mDPCNQGDKM(N@mJ#A~~+!MzHv z@T2D0y~Qt%k5&+uiqGo426w7^^L=XoT~LqQU$cMnuM96=lwl3@b+ZPJw+3syHBj=f zK1ao`U1C!E>mzCL>#{+t!3yE&LR_%2iFwpOd!G7#&-Ke~$YU*@cZNhej`QKMGKI%e z1dqglTZq%PuP95bE^?yv@Dh42DJyMWy6cV1a&i&BH4}Fb9+$f3YP`racRqBH3oIL; zi*{=IDmr{X`bW_Ra$QQk6bdXNBgV<|1NHMurnqZQDN8J7j1kbq2I!)_eqj0-C6Od; z9azK|A{&ICp*cIIzMcFx;pbfB_lBPrN3TInw6D~B*CINTnqaMcp$}r&ZN$!PzU!mb zysx1p`Ve~jOf1FE`(0NG@57UZ?j{szx)V9!U!XUSWwURv%N1cr^dm`c3@E0ZK zL0one^-Qkx_C#v))7I}QZ~dygb4acHe#t~@PlWfzuT=f2hIE^6xKQCC&e(J24nNS$ zvtN*BZ(*+lIoo;;F)^NP{}c7Py}gp@*szl&HYa-}$eIplvw30qUP-IkD>;g}4RGV^ zzX(msUdd6O?XTCQY-5D^%3g`=oeX8J?Z}l5i3>Aly=Ov?u!ZcIoCEEmkD6}@O~jvi zW%j@vwP#X6Jn$CpoKst(>&)46YYx0czQG9gOt!OTl1mW(s>J-lUi}oEJ9Xhz?45kI zEYZyTwm|R0r9a9;qoW@OKH>RRc)yu-iX+FXkl`)xPV-g5e?ytmiSB}pN~Z77GJUAq z%KDVE-pMt%ia9{5W5d{CJReqjCi>mq;@QPl@IGe(viwBh*&WW8PmQ+F3#B!l2hT24 z`k*g7tM;nEg`5ErzG;C62SM+m8!GVyS}(?50UvEbBWfQe5*vnJ@g`?RNwsr?8~ zvFh`kdSJw${JMgat&S}7gOxmGk(h07jm!wP**tD){t3#g5=Xr3{ z)%7v&`EvK{wC6vT{(Nof`Jc=4*YZ4Z*{-hRz2__3wa1qwE|M`WKo%*Pc6|C6C8;sC z${3 zt`IpjSlwGKe!z~&?DgHYF@7!gUXXt8OX}Vs>RxP=9mS8+4@P?0h%QA2+T%X0?mfob z+f-cT>D`oEO~SBA-FvLaw5AP7nRXm94PNodw6}iY$uy6bjqEz(ms)oHf_-x(ueP$c z#D4F*;bN~GleAaFUWl`nt+F2AQ}%6TZ=o4pY+)X)%v<3Jx{=!Y)E}BDXY)F^PtK){ z=iZKjvU}ec==#jMg@!XP{HOJUzRu{37_-~z}AtvrH^ukm7cw=C1UGnIrG-d>F{lq`_81M z7H3!`b}o8L?9;gKzO3`844Q}T8E`4`+3p!Y|1f$s^w}fy;&MK4L1dlLPd7iWb<^4cCn5Ug8usY# zpzh{!oA8?0Zl9Lv_c$7ps6SCI3asCVeeUHoedOP-iyTvMJZC z5}pp|5B0~d8s69MHvOSWea{zhR^GWj6s;E7hCgTQfIs-2&os~ObZO>q%Qk(jbC}4s zJnSryvys?aBW&4*FFLF&aq$0{`RV>pMbt`l=qKJHGE4bRTDJYC556+#hZ4{q>T%zF zS?7_)FJ>NEww(Z9*s|@T)*mYCywc=}o>!)I%Q{XVezZJ!RdUfhdGaLRKQvt7=N_s* z)Yos%-XALK9FG95?zC`qz51?Y?>xTyW$#mRHq?{7|6BV*JyK}ddL@>vhkbr%ThH_* zvgN71mL^ZJ5yWQbZGWid|4{O#N!xl6w@l<=K!2zQzhdO6em68kUp(6;)z|+!k6KKNFP+zjXsHP?4v z)_J7yyP1cUhrj$?I*%X8{!kacn!P_%);Xo|clI^QI!+*Nv@E;_+!$GSv-+<2`zF5o z`Fr!LDgG|RE);)G@*$RIF4W6ieE0ib<&r^7j40Jm3V=Q<6)-?A4s1r z+n1vkd(xL{9-Q*!zB@48m%}GZ`f}6ADE{)*KV|&9{fxJ&U+TAVvC*-2#0Ok! zd_dmQUXs}dTvLEt=ttkUzENOV~KTK$XL=hF4J11`+#~q)8qnvtC9=!@|`y> zyASx3@&O~t2Ymgz>2d)(t0`$`m89&X`)^8@3$kw}KIBWj=N;)g_l^G1VzINV=a*!7 z{)fKjvD4sZ&rY+RzuEVECOmx*xl~`$T`t|5gwN|+C-7C}M~lTys}=lcJMBUre4E9W zesg?ukL)YmxgN$kt$2c*5y%$nlv-0J)>-tpt>;v%bBA-`S>0ltuit3&oQB6dKhXC) zda}{kJT|(;7b|_q_k4FbsK@QDr_B6q`&nP}$4Y-wZ0jijiw&zz$-j*lZ>iBN2TMqI-V%+_a8Qb`tEyg_}Hx=WKM0AY1 zFMF*Lw^1^=cu47Cvw4-4+-K~^PoL83h~8z%-$u!AgHpeh zBdg6=8;uU39#J+Oas@T8Lr38&^~YB-I;3Aphg`>bldDrYq$xc%VPuaTL($jLd?kEA z{PWR5Kh533GiAG9{he&5(jJRNrb6t{+asUGMsb$0g~PkTD-6eU9&lRB)lEO9wG zK}v^}X3$}y19ez(4AEgzyfKnGY#*IxWpvofe7D!_Nb0a3 zU#!=y`b>@gqz*fs{>S7sC>?fsN{8M35y0I_3wL!s+#S|^AoRbAFOZX%$qz)vYoFQE z@l(N%o&S)PK7#dqpsdO|PM}QCbash_tFwH#lD&A94}e~k{uO>(iMme7e1NCPb?V4p z^&t5w6J=kzopXI{E^T`Z;Je@U_~K7fwnyCRfu{2Ty?oRgBp)z6 zACD|~M5_^3d zT-m-UG1H{&a3H6<9kQNlc3jrBL&nQ*1AAbHkQ0|FZ|6*ES0wF_$;e&F+Yvj2dCFeS z`I+nx$-xZk+{|Rm*1DF-4p~~A-42m608+O>Vy-tlYTF@wWiO}E={GLAM){(t9Nf4<4tZ+!98 z^M9G24u2Z2TJuWNA=Y(WXM*!?*0oM$hv+&UvKN(ivTcWu+lw7?OcFk^L;4GT_d4Gg zr+xjBa5ComvJbvGxvvy^&KL82&Uatdc^KZdV3rz+!rPJ$XX~?8&nJ5eUUR7vkxkCz zl5@76I^mq#ine(^*&bw58#zPN3`oqOCeu!Ghfcr-!{=(0e!$g^b5_@O_N5x$ zt$b}EKGPz6CNsCK{MO07RR{WQA%2zowu@(W^RI^AL?_hZFYQL|ObLazPsQ%5;a}yu zOO_Sk|4Po*vBcGj@xjW-4QoU0EJ5zHv3BAMJAQ$9pW9czv zZad?)-Qpxl3z5U@qmj$2Ys{#+E_tyV6Rj&`%=YPW_R?`>olSp*j$8CPbJig7)1T8@ zfWJqw&gi9t$UJ%f?dYZXC&{_^(7qaSC}-i%-vABGBj@ncxpOD{2RVm7E8hN~)J0t$ zIx6-wIfuk=XKvE5jg(#3gLMt!-QKRXu>1bk411V>n7{I7+l)&44gD3ec*JwHYI(t9$e2lP5>Y2dX_n{qatoo@?ndVDcjC$%{4(hDi#-oc41ON7zCWtIYnyEY-_zv!;mjvRzWe>l6y9=U_ky=La&PvK3b%&b^)&wy zoXfdFJD-%ALVG1f+WaH%&2wvycM?}Y?@9lXIO~6r%cJ~D;-_gb(yt@8pyN41y8D;* z7~)?(?v0`ROHcmH!CuWur@?w7kPots6G-pc?*FW{Zs+*c?Xdcnhgi2#Z{4biHw*5P z{v|Q$F9_}=MoNs@$nIl50=NrXxZ4SgHq9SN-2LJLP4g08PQx9#?PR^eG=r|L* z9m)0eoR7dy+jl*F8g&JpkY|>29iMFBz zf%k64m`7YUZ*EO0_n!CKx%V%l53nPfZmA!q`fdBi?dl5iu1M^d4V+m+&gnRB*e&Dy zu``AEB6Xfx<5DwApCNjAF6W!nnI!a$55{cpD;SV5L37i(qI-`Z^$hYY=$Q)eAvV`6 z@Ua+sY_iy8=*~iLl8erLn6n7a7d`Xf5+{$IOWGz|;v9IAzC8_hfg?GSnr-|KGM7J+ z_a*S{RB-`p0^kz(`a?%jGdTi$xxl^(xSqjQl>2V8^mfpE4~4&1B-ad^{$)OsyfHv@ z(aEus4Q~u6OHATD!W;6R;g5OHlRqD=>I(ciXHs+)=jqk?iYu|J>5Y38e}`%~Us`s0 zv{lYZ^v!kE->b)S9x%_HB(xSjN3EIqUU^Qmb};me?bluz;+*Hgjh)yCm-l~rMYely zdh{LUWAABrIg0suPP<-YzWLM$44BVSaP03_C3L=iecOsK=Wc5`qZY3Z%Ney)tqhCC zPe|sKYu-~et2|t8m-kA31Gvo8Z+;u}X!oCp;~TXM#ikg=C-}l12Dh9mhmThLfOCOE zv3>DvYVLAezifWw6;H3pIhFgSxawS~_x#Tv;k=xxYozOx+qJdU7&z(e^}2^6v)(Q~ zzU}d=d6s_m4+7fQ=dZe_*=;H{WGxp`y&@1m*xCk&T8ty ztacJP{mR_PkaD*KoioDI*)lFZ64yKBffk~+%Oe6GGse7%zB&wxv6Kvyf&#F7|s*RH3zdw8N-f-Mg`mKTP$nOktM}Nyn%wEpl=<=FIViCgA z9xqC)YW-6lFY`=I!O`iw%yXN7QQ4@=okTnDS=V@J8b3EbjE%;1d1uw;NVIrMBs!lx z0Y8rmow_e*Ikd{74O^Zs_0fl)UJd?ta{kb!*X2RWy=BTRiKscD*zuT?V8aYq~KKKCNf~fZ z=;5GS{j;sQzKY8p$9n??rE=UCB9H3RWI}fwI3Z#a4Xo@e3cN;kRgMLF)6 z(P0;wNR+^fIn+RFMb^QK$+h1i^G5#18K>s1ob-9~+$-dxC|-ny+Iio)ffZ?M|1S1$ z5)NXG=rC$Rq}PQg^J+Kfo~XlO4`E*jjmg?_?^*J0i6hJBY{u9m@1({-6>;P^@2uvU zzfR9DSPxlaGq&Why@XzoJ{g)8FFqjkZ}3|Z&HVNTzsZ^P(yp#ei;u#21ndUJWB0eN7WG892Gaj z7Rq6~wi4h*hf2)W@GU;rS*?}C3*oyE<5w}h{7uZw{V~_X{t?+&!?|Cv(XP(GpDsSa zdjn2L(qwV}PneOTD^5Inc+tP;^z!pgqNZ>zcX0#EA~c zaT34u=4I@;LS^r!>=T*KK=w8q)|i@uZVvO1*yX{NberdQ=G~sXF+|>t{N8QejZG}? z-a@@Q^KMfs)s}bL)caHYh1C1QN6K881nFwbzLm+Wu@P*)DRilYT(j# z?0*`#ta|uwJ*U^S6?<0tktp1hXxwZ$n1U~;U;PJ#@6$f`{xtx;=RN>@h06aLmPU^Q zb6G!RP6%4ug4|&*Mb$Mt9{v;CQ{omW|GQk#lHjwHdW5%A-*5wUH9M%u_#E+esX6Yi zqiSl9FJZ5x4u811jQWejCuVu|4TT0~nt6Kkv0UZ|eMo;+h5uTQKFD!4^zjw~k# zgR?mar>2ud7M)0aTIcGrgve42E&uRgHog;?>ic_I+TVg-Q*Tt;e5v|^g5yST+|`w% za4Tn*BGe@lyI38J}@G*X6sr9xHJ7e8135zaHUwF4yziPHe^LA?FF{lanu>$mkdF z*JQs^&aavNUPIuY&UMpy?mV8G!Pu!W+E-3>TNMFZ5TZu`r~PGPe!2giwA_vNgC`(&ps_r?6}9>1}5Sj9R?PU|I01?(CNXV_~0LyzdpX{@bK4o z!8#)d1ja-0*AoV&UhtREuVZ}tZftSMXJPN*OtF=t z0t2=<`}9p_pI*yzkJmkUexJYrz3qaJ&G>~%f2Zubze&xedTI@^Pa!=BCAKNos#j9) z4jEH*5&o=mT670zOIwb^H$xY(|AFl%^~@r%W^8=@Zf)<0%=;Se%@j`^L)_esSBl^A zy;DtGBo)7Fy(gsYe}hYG#Xni{$jnE2pV{#Uu~Q{RD|V{3mBmgCBj4$l4YXT{#tIw$1Si_vqIXZN!v#`YK3+txV~1s9*N z;BQ-3Hc{*?k*9uJ(A2m#wxHM$htmdp)54v+KZ!p@Z>jq3qNnlEnnb6xLT}AN6U@)K zTV>- zs86Km40;NrGyGzWyHxx*n9lU?vJRimKxYqFa0;FMI>UMwD*j8Y_Z=sjxu>t+5^w$9 z_O0L2-q1_kpyEFEG=`gsyKdO|;QPR~p~56fKMr@VRRL!h5eXP}=2 z7M#7IpQAI-&s=W}{q*Dae}=LDI86IzO=1(R@oXZ|^%uXSZ8M2c4#Pjww32QUea3sw z&J6PL{nE=_oN1OC+r5!Di$rWHvD+jk*TjI{ zm;FN>?h~*>()8Ja94`itu0J=)e36HTOP}rKyx|(^==X-c?gNIN(AS(#WTvmh*1GkU zzW(+h(ANnW=<9P9oI&(u*4uCYeEuXe_w@Cf;;o-w9`#h8RefIc+0oH|MUM!*`1RR^ z%p;RN8{xhCaO$%v=tt@n_lADLz|j->`Ij>c4!he!Z*z|G{pz!o)E=%DKkYEu&&#$2 z%cmDDID11sIT`3@lZ^L4?V-A(qwk?tg6QYJnMWr2`Ih(Y!%06ohCx5n)$R@bd=)r) zLO&DF$xJ^r*1Ggo{=9S4;isR!k~0&e-zHda_J)4mKGDoQUH+7MYuH2i)9Cltv8Q)P zPpL0upr4{F^poqoyNC2cK5Do4QIqAr1IKC6GNB*($@hkS;{V+<`ni0f!C`m#^D1M! zU-@&{z{5{J*JYreM=dyeLq9KNpr89?yde3b{Mpogf*0>m=j9fOEzKU~t>lA9j8kGf zK{oWQ-q=C=#{u?pkLcqm&M_9#51=>naTRd%M84d8Zf5#8-@%DeooyYzK}W(a)sJ z^z%cR%lq`#sWo%h?VHbLpr1wy&fd_^`5EYEfwzX;=*K5t#9t?#oRTl>UsRKuQq2B^ z_~}9NWsW!Y;gm0{Pl~Uo?j?Ox0!L5iKXRX#Xld8zg>ZE9w#S-o~^3q?z+;YuU6i>{_T<(ufAPhy6f#4uTN+(`6$`^?+pG_ zusu^(6g?L^B1qosWL}x%%_~1X{PLzB^wg5yyLiw41CE~1)5kxRnV$Y#=JGz}&96QL zdOAA;J>6`<8AMN+{P8=6nz^Uj!&TlIc9S>3@#SvxQ}s`h7d|i=Lr(Q5UScDIL*veu=y^628D55K;8n4F^^dDO=FTtnx*p`U3P z=x2wF7hn%B?IHarf2yu;^aPK74z>Te$$MW9;(tA|kM|B0|GRhboBM#FC-gG4A~U@# zw$`Dy^wKrt@YBl)8R+G67Mwx!qG(Lw%j^^6NUr(eiZ2sy&ZghC1<=l%y}>%fl9g-C;$>R!WzPCwO$0Dc>T%A8QQo*BdQ=y-ED_nL=;$zU_@a z_Lm>_jNTSiW~R3e#xQ)}TY9_in8QzRw~@0IB%gk4!5KtvneU`HJL0d zv2UTJZ%M1>|9#H6XXeb!ogr~S-~RsjeDaw)ckVg&oaa3Id7kIgtKXa=_1jWv`IOG> z8?L05&nENRR_nL3`l;W(ZGNj7uKOHEpR3LeSJSTE{8l_d{Wgc1yrp046)xnrI`f+| zQvDXA7G!C0AY4ferWNM5t@^iN((bG=;cfi3)cjU8O0|1l=CH^K2l;KG`K@@g`c2K@ zEj`XJo8O#M_4{O;jl;stjO9l28?_(>F0`vFEgl;#m-l_{V+z(2_)XhFT4qb^P$4)Wxx{unf{u4enZ)1@jgIG?5{D%`RX&@U!&a4-mj%p%oFNy8{xk}$Fi%xOXq+35MqI6mM?15) z<7RTHDrDb)d+FnD+?-%}k8gaJ{$1j377@qQ#%DJ6&t7ClPXDdH--rD(Dv+})=L9Dl z!Tyv-V<70yN7x>t=K?YiOI(ndS#*;ldtQ~NK9I0^hMU#j?di$ zJQWWle(*`p`tMZv1&R1Q$x+hJpdUWQ>+R@a# z8A%R&R!Q<4rQa5ELPQ5q^OLwZ;?V_XZZLBsu215kQ{~^Spa!p#B^n_S2l)+695ot|$0h<@DY){q0pNucr>##6VvAuyQNYNX4PHo8ez0lM?a5S6u8l2h>yr;T2 z6$ReYf%mDvdnNFm3Qmp6TwY7vgIzJ^*Oz%tWKBhfmHCt_{0g<_a2`t^1%p6TYRK=U zenL**tDEQX%$~QVyec)+I-QJzh14sM_BoxMGlkX#W}780h|dQ1^GWsDE4rP}Bsu7= z<3GvEH1b;3@m>$U>U@}FeBFm$XyOWmo(+A!2qrWFJE6B2@M$LAvTV&E;l3ZmjG}G7seMuRP<|`dcC&OLDO#zE9%(o?#wlZ*mlVuO`-0#w>Z- zk~7ZwxcR=Cr^~#qH}AFbp&}Lxz4|(^>Vp5mJB5dah?CeT{1bZ6b+|I3SFnx}r(fn5R%0gmWyNv*ai30dJ`bs`8V*1Kv&nZ%2Z+%fQ=K z;xS$b-Bl~+%S!!6YO)QyPR%tG-mKYh{E7$+DuK%H~v(7T_c(S6Kt?Q@a*V)l0xR$(liEI5K*ETN@eonQ&I3M^F?~m)hKJw}lsp$VP z`Z!wjZ{}d=U&h}<`p;2U*c&D{ae@nP}eT~vo7x!{kItI;;(Rc zPUIA}PWx!Si+n7n_E>0s{`eO3xf<%UG?6nda+D!sza zd-l^SYS1fW4#Sy);N)YxS8A^K&7&9dn9e*-oj*#=Lu!sC=8>c3F+>r-9iS2&K;}_|ZYJ}%i}$vr zn1_+=FU}jT<{>pN6Z6Pa^N^fasq>wS?zENXs(R~ri0)L5?z9~}NA$l+C$MXFZ?Ep8 z*ZnDp145tpuKW2opHX$46MfA6e3Z{k>N-2R!TnsvrXd1}gKKoQHndJF|s4FJ6fz-^cJl2^hHdbt;wy~~rGHa*uFSg4RCwte9x0bCO;bhf5 zi{0`a>=v;P#BOOFpzSgv=Y^Nu1g{l4OzbkLtuu!UTJs; z_DGFux2$n_p^RU6;Vhn$>uJ=|D&n~!Y>8RGbUwA3C&NERpvQ->&o(iSY4kl>{hr$% z#8)=m$*i5O>@;oH%z#Hp{mJHFa91HUgSE|;*S=%RO6DGHZ*=Ew{7Es!dA4WXGH0>R zym%orHrKULS{!YkgzhL`y%AnCiSLiXOOIr$nK_HCCfCMR6TS%?l5Djy@J!ii;99b+ zX6)mP=)Dq`q;$26=sni;Ds`QUjgk>vr>=GV(7UZ?s;%oP>-w8qdvW#WTX>JFuUuvE zBR_w|E9{$l{1u9KtlmT)M@e7#oSB2mGaixg_fTJ1!#sMbuYA(H*V0$+uwduaS0X3+ z`zyppp?ntXy&>PX7=Oi$;EnQEC|`oJ1zGlr`0uK)>639J;ky%`fjlR;{=z$*&q%KC zvrcyV9O&!Cewnp<=xeHzy(@xWZ^yj(hu6R>3Zbp}PIm1|{)N7#;pfYFd&SC8)DRUP z-oA#F4~s8E=xGl;R``jk35T8{c5w_jf3?UrWVG^wAm5cg4?A7a7d$2_U&fKsJ_nn3 z2jkemI9`Ijy6YmDf$;@>Pv^9z|I|Mc_!Gpw~H;UhOz=K2| zdjlR+i9b);2@jGQQ-&A*RAPJRSNtC;Ud_FJM%|aQ8FHdq)U~b=y)%A4JNhKo+Af0M zxiH^IZU3xCwEtthf_W$o^A#@41rC)i%%k0ac?&XG;4Xd?T|-vG{2ifV19Nz}f;oOb zsg=G*V7^wyk<-3j!94V?VJ^N@!J&u+^JiU{%X)}k27df&!AANz zO8je#nTyN6ZjgEOkbixLdGwTj9b?{W@vn<47~Eovm|u=WIvv^y|f?i^PCqn(FwJWo*}xv z_7RHhwPHHDey-N_g@=i))dDRkec`X8?ax5Ub@U_@Z`APyRbyh zX&!pkRQ60(@HraZzvr#xD@VeU-f(i;Uusx^?>k%RkZsU{=9A+0&WXMuvaYvj_O>1wPq<>|J}%y}kQ@Bk!29dPitkt@z^i!*@lWdYt($fPbF` z|K8;C?`K^d((v!!%6Z0&Yud-1nZtQ*5<21ms)$y^JMPGX=z8wuiMi*>@4ebLoY8get8$q;|H*Uj-M*(G_1r6ZI`^U@%$@OfckU(b+*gcr z=Z@VjbB~N*?!+bNxtAs8-bc^9Y`D+d`!IL@douT7J)JwXBMlw+t~=xJ?%e+u+K_b| zeTqBxetPcHPG;`Jxahf4LkqlCINx8-ojRE_cR3-2^FPPd7o1;e>14}Y&Fj3 zvF^1galTn%BU8}3FV0h|H0|6Oe|P8pxI6cq?Dr|0AE@Up_VN^bXL{}>iMb!A=U$Dy z?4|cr$Fc7G_hj8S_H^#}9@5U8@ppIbv)#E%?P)dl!Fuj1&@Hv@DZH*YG4~Vn+(oCC z{mfeah2M#7xqvtY$pII8xy-efI~}v`LA_V6_#p(4U1X&2c)vBb_dGKLdcSk{ z9f|$T7a6`l09#t^5CJU4P%Ye#v_NyVm`vb^RUdTE)X5JEZ@0 z*8Oi=*Q>4T26e5U|E6{SUhDcE>w2U0{0i&--PU!rb^W0A{2l6A+dp5ku5YuhS8;ud z`W}ql?0(+Fr`hvZ#PtGoKNOwseqP6?S3m#H2G+vW&lh;kr<8hre*T4<$y4>{=MAzS zQoWA8j*@;}Zsy|Z=QT2q9_r^4nMY6c^AYB~mVSPX1w*fXzVBnApPvw~ui7}#>4;6i z_csIoLYdPM8kOu{I1_oQ{0qpbYw$aW-{2R}XC{6K^Zf?-enkJnl*3XxLSl#Bt^Z*K zI;ZHL*Yi2u>4pDcrR#sl#s9D(;eWv1Q2qz;^;-Ui3nbQeBKl|<`Y5(<^9=O)DX#wk z-8AbX>VNo_#Co~>>0#?y&dbneL*_*9SJ&GA5Q*QK?JJ*~heDzQl$(wpSeH$Ycfcd>O|_&(GE@aa=B* zH(J+!QrFtg_Iq`$Vg8r+{p{##Tx%WI>t`!haYo(ov+Z~E-a$Iwro;p*n2$_`d65ls zbYKN@{B5o97mepKj-%se`zGgf_SDZ-qhP81Y)h=`JJq%Jvn^ED+Rs)Ozn>kwmFuDG zxtbVNiD%mWBx~u)@e0P1&cC*gy=#yBt`qrv-x~TjO7eTAnS(38@0aoSP<}tdJbEg> z&ol3}?7GPBZpAZ%!UwXQ|I_gdKWE?c-yxo1I& z{~o~~Vf){6`CiU`zr@=3`QIIKYpOV>1iwIg8F4VO-}v7h@6PuwaZ}=>7r%Rp_^a`~ z_Y*jIV!68Rt7<<2@#6Px!Y6-M8lSw*Hwdad{VK~Rzmr%IiN~&Ho|1ba`wNoyx<=yK z7{|BV&((Yyd-^f1>(zbsPu$P@`1I0Q?1==O-PX-e)9OKZyh~)`=XhPOK%M_ zj~>$7f_Fi0mznok^cJ>Y=%u%P-IT`@{*TM!z5gci_}ahx`^e*Zi5Ej2f7AWEkI#G6 zbxyR-{rm=>Usu=J(OUO&1)p9%@%rNlK4Hsazw_IO@lf%FCidw_`56+MDSMRhoJ1Wz zsC0Z2KltDy{=8-S2M|Aam6^ZGTON|R!&|ob@kdo3KRMn`<}dMsCSKBxt@OqU$IljW z=ilA-k~F>)-q5 ze;;|eP2!s13(vWq&+_?S>N+R-6Zi8+eEv{fXGfoLKcD8)%PYv-j{CoCdFp51&WEo2 z_`|CYA3gqXznO!}A6}DO;vVvcaqogZe8s%i;tx;DyM6e>!EM1;CT8?&-}xD5=Amtw zuYBvD6C-OfoUqg_YuYAqt~@U13O|kfde-S^-i3esMdTO1ODw#^h?;nKzgYO$5)Xd4 z_;z)^tHhIj7arF5EV6DJvhGEEyStEgmlt=0h+FAN9Q-6Fb61-y?^Yo1BqwMz@=oI5 zMc%E6$H8lPcPlYmBKvYLmN@v~LJM7+peHy0Pi|f84Ry>oPKZr<&%-OE1g#)4pHEr@7D8(@q0xcHF)Tw=?bxi!ZQ{?Tojbq$bvnI0w z=XWypF|3gjaK^=mBkb%P$Q+J~G!vEdF73>O3vRSwGr4)X}mgcehgR_^~7i1WyVlkXKE8Ch_SsgR2sA+p5Ns6}#T@sqDejn&DSOFzwQthCiuk%W!Gk|DzbEG3aCjom zSDuT{hVfra?9rKlQ0-rc0eqSN1H`nw%>VxckJ)w1Ti;lj?;KORIMAlfGJbhu9-tom1u^W0N_^*kl~j8Q%=*bS$7w$Ky_(ihbF& zXa>1HwYBYx`3A;Zspi_decGAM%v0x$89$p?IT`y3V&$gevpJQy*0LYHfN@Kl+zs@% zivFIU*2OAfX@0)wLi$@(+d_ZKh-14-^+%rHY1GCbE>Y!`(ch@Qbk4kj-;}@UUyCE1 z+cMP|nKsYy%Ry;z=`)j9DzhK|GPow^gA=bwPEc-p^T#@O|9mw2 z=cAom;yCl#f2QKPa&;^tux%t>U&k``irxr(z5K7G3>pH~eq)lnstB>2qou}+le=p) zaLB!58gZN}YGq9O={q^LX|#%E9Bsui%D5#K{9fiF*OC4b+ca9maSE>Q#Lqd6xGv$J zxzNezY-fwmiHuu#*OtF_)~}O%NXFRHe8^VjwvqK3ihgw$bSi7G7rcqb;#%utayw-l zj?2e~x_o?SK=bh{nS)%<$2QC7xhn8rC~GeMPVsLFPf%w7gTH?8RA+0#AH?6eR{1+K z+bi*Rwi2@;b6t1nUHUv{XrE^b^J`MHZTUQ{ITjsee+CN5I)$s{)7 z8rh>SDrIjxSH(r_BnM?QJVI*PJg)LG795^Md}Sf)wg9@Rb@Fyy$mc5P$;1Uu4D@b4 z?R%?;Md{UE1)tgnPPSeEf1e__DY0admys8J5c$!Crl!EVF7U^Jec*A{C>dL?_UG|Q znEaTZL1$8DXg~BUHHLb*HHB&z^FHK&nqcn&dgL+B-* zL;MSB=^#_&ePbB&#U~Ws`!f2`8SvccZ%=u36}(|qfchJ+%5%Ndb8`Ok4LrAs=f=QG z7x0{l6Xdz(*W@`JCn&r|-oHzYOZK>Pqc2(4FK{jQwyAr))$d!a>z}&6zv_PeQ2i$R z;JHy1ucl&*a--i@zhghB-!+V$RM#^9jOgRm^<(N<`x>Nw;WhUD`60=tb#-9Ql#TD7 z?@N{Mi`);Xn5^#QeIGI3ml#mnUx#kETlVCQzwU{8#^tns4oBh% z$pIl3K=F5KrfEG%*LzZN(c}SClIQOi7cF_jj^uza|3n^fc66v`?y?p#Z{N6R@YDFy zL&y`UbyP$y@%B&+`O~3YFS>aE>Efbiu@1sN&rtIwE}ERaLipk~;^=2F#%ah69Sc}E zejD-S*-r8K-%&UeRP~XDvnLr+ZG+0kI+5>NiN`iR)@IHhDMVL^=OHu3xL!~_>+n0- z2_NehpJLsS5z5Mn;$whYgZ2@{nI)CoI%r5>K#T&1CfIfV9;s@c+9cAX=^2B*Eet2S! z>aQ`6p89ipnfF?JY?=i-uRnL^FxihdF&=N+gf0}izbx*jDJy{QVBa@mpU7`9?BVXz zEKq(L#cL9Nnlh28`TC_Z9k3hc9?xa>5^)AsjvWg@xJGVWS#dyGP zsgb%VCv(@m;Y+ zC2BHC{6r!iL(eY9snaI?2tU;NUv_kc#MLR?H9I=hx}K!2wT@cKwcg_j zMla!d8upoj-_V}HFY|8}{5DFAvkSkWz;C1rzkV8ifdlUnej|@A{Qf0zM=tyhTi1VA z*BX9*<=VinGyY6Q^iAt}pLN}4T{o+1tt&TL*MCyiT343-y}Wz0(ESwJkbkM2+vB}l_86C9C(Z6slQtu2&Rh}sL9&waS5L!Ue5dd6 zaUPg2b<~#^M+(t>y!pZ2eCG}12g@0qat=rkzY29_ww#kh2h$aui|*^_yJ=ma4dDNI4 z5TqV*D6&U*Y_$`>Zb)19->0p0i6bLQ89#fk7$xgawUG zxRmiX_jUcD$a}H*#qYWpU-c8zVif&X)=c#Kr#G;k$g-!nCu=Ex|8DU7LFnkgvmymN zC7)_1b-CW@n>f#WD}FTDi*l&V)t<>1$mCE|1RuYj;ovGR-dq5_ z#K0HMligJSzIe~NsaRC9IuKe?+XB8UaRRk1yz{Ot`0ajD+`+zvs?RhT{ak7@UAsuv zTrzf?eP3+08uoZZcQ&yZrB0^8Q8`a%DPt>ucJtBWg@4c#_CC`IPsVzeea@&X$|Qr_|s&6CNP)-sWc+t4bne z{4TZ21pd;8hBK(c@D1uPyhxpag3z+s z?@&8h>JZ5HQohR>$m;{S3WuJ*qjdEg7l+nU(_46-+%tH!K9Co`w?6({@A$pvxhMT) ztePAtXG~JtcB5w82?*qH@RsJ0;A35)$L zbN9|!c(5~}xI^So40-XL6z^CMtV)5^FkrP5SQS7^fzXoL82ns~m$hvK&oupL8!(}# zx!+xS`s8}e+iSe^*F@Ff+f^@SDteBXcfb&K2-t(V=Bt!rvAI{PEMvAI*Biz)#_iqHiSW7OZp9cb7N* zW39#=q31?oOnZ7(U_Nt6r9T+>rqlOsa^d@K^}Y8*zaJ5O?*VrW{OI>!nYQO5_-@|m zJ1B0?HRgb$#BhL<9hEK}>)erG^k;AT%k5M+qiC2|1&O5%hMX;P`K*M7jXrC~8hiCO zQ?Kf#xZrvPcqH*E-u{DiB@xrNJq~%V z^e^qv7sC>Zz~00b@xLeZfN6&XHv{NzVv`pEE7@O?{gXB5gTG+^pc!4~&;}pfMqGL7JJzHoA8bTsS7On8)F{tj#>Cu1+*Q*A6MG1IPyHO zn9IMw>0}pPzZLrD`>*8_To71$*W!78lh~fg%;!bM(A_#(I~=EWD==A)E-v*51@@xb z|A_wf;@eq4f9C9(pSgR=`xlvWYJ#C9Rgr^~~3NX{rdHB>~Un^$LxvU!^j)M-;?Ymcy&5{cW_&V^1rO0hW4Rtp`>_0hc##<#>%#-z5x71 z1`F;hyj8IdA@vSpTYa40GVmvxaoMuRTidNt$xeJX$VMdttp1vj@q!z%%7lNWbZ}{; z>7L&BX8J^8tB;8^)n15S<|6zu7e|`%g7{=Y_+&C8joX~?qPIHhn<|Bdx_6dr2Kd?n z&6L6e3bty0jM&+N1C49&m9zFbR!sadnaVHoCVrV0SVyUAr~FBb_3wqj@F8>)I|gtc zBNiI{dvzduh~MqsV(xE^{FV(b?D3efG1Qo=0?LP!JZAADg`#3l%2>soe89rRLKheB z;GW38gWCcMA97WWWd8*J7W!N4bV$rp1u;djb2;N|-nj7DthIA4=L)Xn9JcJ@&68X@#eE`;pXTg2 zhjY{_1L1xLV)Ze;m-0Op>=RM%dGKWR(-v=zl?B;nEZ*G0d_F#{O`RQP&iI-%$vLoT zc2T&E-vvjdw%%1kIbZCS;*Lp;PFQj=q~58jQMkCc;|*XV{xx~FjJB1W$JRpIR@PAV z-6VeKblNvE51EgQvz2yhi7mY4Yt$y6;nZz{@3y8HV}Hijxi~k{xwseq#FQ@X9cew6 zc3TIBM*z>(lX4?5&iYL?hmv!h0|lXs@JJa)cCUzxwSx8q_veP!vwtCb#x3j>*mEDE zp3RG>d(27T(RxzvNMl(BFuZfK*tX&)5&81zZ@0N;!|Am%ylS=N55udz`fl)pa{@mY z{5V_T$MU}z{5U%;er%q4Wc+yLl=p@on`rNcAMIc59)7G~jK26$bV85tV~vcXoA`0R zdbWG`@r!Ty=@j}H%G4WH+_ zlxuRPl4%@%XlT3y_>_Y0rQ?qaOCE4J^iWfEYIqaZg4gRd@jJ9zT6Lb=W+=RRXtWLf z@G!qMmO;B`!i#Pz?kL7rdoKIB&%?J$SA9I(%>I@509$!h`uawizLrT}6X^?Hp!(um zj61WO`{9RmrJoxdE`*ltz80qG>&wy?`?*c<$wP%1Niw04b4o;B&@X3Ko{Fyvo_kM@ zqI-BjL%|~_gy#s|vrpM_W-{HMBI~*=S3MhmPZu0246k>1b|TNhCu|-uKs~GZNrCW_ z$4(DplWkTtkl~Z|vpMS7yoiD`{6y9!hAeJm?Ca>?<|id_e7RW3g03<`-#2__iR4Yg zXKsSe7?nuLqcV+8J5|o!fH*!?<$_N)flr;iA`X1GKXkSpK8zd;$Evv}GReq_4HX*Li#+Sl%sR}j zDT&O%F4~dQN9whhkY+8aS^vuN!f+9^-F#nsEe;eME)2)A7jJI%S&K`pwOAswKrCM@ zxM*{;&st1!*TU8pn(y;pi#vO`7XKxAzR<#2Yb}H(6g>p9bbb#pA%}uFN&5Qid}ty& z0ABY~G;twtOwa`PY?>$x#c5*yWN>;RI4wF@XJ7P?5=9delG^u8Zr_~HzkV<6;q6WE zSkY~C`_jl5yL~V(x&5{TP5n&TqaQZGS49Tu_GOVFN$ov&P?l)_BWVvWkl2{c&Qsj> z<&oZY`|4AY-@hR{KL4n+UqJhD(*9(({iMiSx7qMJIk|mhqW#0t{yN&9BkhN{?I%ax zOlm(QxqV@x{Yq&sJW1q}z@D1fCu0XFeo}rx7x~n-f#IK*8<9G##Row;-47XTPAH9jKl~ChacxNk8cDj?Ka&T8M+O zpRH8S9%r6CQ1Hj&!oy^|3wU;1^0QZ}XOCCUmPo%XXD|kI?(2B=oaAROQqK-De&-L z{Qe~PeJEVP9Bp}f&1(3)*v`QmWs4`tTkF2z_nRcI8XnW`#)8E8i}43g^VjPS$nOt- zStB@}7qNN%XTkFX&-c)IbAnEHPXZ6GHgu8`X2o`Ge!bErJX8p(h!Az{sGh<9N5**sD*SBs7H`%(LMBfdbC> zR`e&hr138P>_+wMF^OkicWG5{N#kAo*@x7#eG_=+4A6LYNgVIu&wfKa+b@D_+ih&& z=KJ6Y%(DsEY2)3C54(7`P5Xcp%#AO=^5q!3%U-SV?iyoHR(H={So?YL3mhNLdoxzQ zo@>iqNUV=#FPzKz3|GU4nDSj02_1Pf&JnR4lMcj={Bs^9L?>j<^(-J{o&)U(~A*M92R?$PVCI6ifcUROMnf?mrs zz3wA!+TJf*OOCt9cd_kHytSo%DY@y|wofhBe^7=GtuurzuI+O8HT=JSxH%7B=RKi_ zlB2{^N_-YNWSmdMWi7hyFHaDjl_@%x#j~KtLTqgO+qUe>iNiqeno=2bY^OrrJrmr7MUrF?o z8Qx5c0Dbw&zo*jl^_cXPf}RGt^t4|1^p`cC?k+uDrq;ZB^fX01+dX=kpq}j>J>B}C z;m_Tpr>7rGK~MMur2fZ>Q^h~fE6G2=p5~Syd&}&e{0j845cUi0Eu zXlOvBX+ucWyr@#Om`u%!VDu|1Bz~P7h$$rf>uULap3Um=NZl&#WB*)YxYea$?ng^?5fp0r&^Ee!0x7k2fy%tA){zx%H1U7s`C>S{OkUZ!JE}8n+IH)W*1pxwc{-wqei8-i*}4 zkUgQs#ni&UUm!k*#)Y~T#$2lw#=kZ@2j<>a{zIvSF_&5xCB*RzAK*lGLHjYWBJdd6y{vzF`BvQrv?_%xMUY_}l51$ENA*>*4=wtyVsxL?4#VsE_n<6JwYmeGGB?D38oa8iVo~CE8m)qqj?FFFq@L zc893zV(%xv46X_7y};USdehxMTCM#lN&4qPY(Lh>mW6!<_RF+CB}xChjc3tU?Po*k zS?x~=h~J~w^>g3Cv*@e#vmJw^-?%^JK*1B|=zWHpcy>nev;U)>)&3Ov-CZzS{506m zKK636dRF^Wn#Q6p@1BSrj88}WKT}k{4aT;9T|IlE?1wgNLSI(uOSWw9 zU+>zrLCuSd48NjY^W9Buy>=5nG2h2u;#mHYO!7$Yp5)Z+aLx?B&^xpCZgRzUI0M6N z^?8v-#+~p}Bzzq;vc}N6_ABN@TG!wct|^ZE=1U4scWXRF-?!TrCfa{l+6&(}Q*ewu zcGbQlvLmT|c5-{mPcm29TYeI0zloe`|9PMz+2gQ$C6`G*u8ri4eHiZIs@e-L9v{9I zTd8%m_LUTf5B`y%+V_`O`}lg!RqLsJB??b21y5w}3Y>O*CGlskQqO8%Nrm84vFqDU z*kJKzFILZLUkUvlD3}n?{U&U%__Jl|*?u0J^7oZ2dcegg*H@z8mBv@{6UmjuM|Z8Q zF9u!zKj)Wu{r`;;qk;dQnj?{>zQvp8h`u&+WO%&9>d4yI?+R)^VH>y+L#{|%L+g); zT?vMWUCB&}UHQ1XMt`r);J0M|@j32qjr?{1o?9wDlCj_*epTB}I-mFgbm|5_f6K@C zEmoM2C5k@n_zmRDzT=TAKZc%(afzL2#c$yMmiUdICuB;4@mbk2<)^f7H1nj*qnzzh zii}nJL~Dae#;V#@ZVv__0)c<;= zmAPoXg+2zHnt)@cC1WMt2RR#u$wGkxb8KRcO7_uy6FIm3G<}MPrW1P>pD%`{pE0}z z8Av~CYsw-|-E8xwlat$9^6w&P|9#rygFV!oEWh%JFOAEu3r`DARy;w=juN5AE05K_ zOXlmwyu|5omdtNi+!ueKV0mG9nD|eCpX*f)7v=Mamz1DJ|Dl=_9uUu>ygf-Ej@`h=URvm;gK!6&z8giEMH z7qevHx5gU#OphnkI9Gqqsav@1G@tQnyTKm6@EeI6kT?X%8GfQI=8h$ou^`u>@gK*> z*PDCnfsP}__pxE%(W1>UCF`|5eyeAE#q!+P-r)*rAgcO;z)oW27I>aZJCEQPpLyuq z|>Q@>;l@F$-U`1fiTe2GvSWW>Dd$G=G4`JVjk4^Jf?c9WCMI%)W4<{o~g zJU|X2>(T;F$hx(IS911GCGA__)0M>4N?x7R5(#p~qQnY|%^p(}mLu?k2AB`74Kj7>&)HsxQ-n*%H^_*N&>&ouq?s?Z7e#z~lYTod}g4?a| zr+jcNEsT9|B^3^(?ZRQ+SxRmRmlDA>isaSKr@K0(c-cu53 zvGxYz{;HtfuZf%^{coR6;I??4#Iq)XNE4--}ylFy8-gMz%6I-3&P5NFEZ-O2aZ-PeV zk512jaF+J`s&w9g+$Ow`!CaDngy z#XEHSYd!6|;+gKZD_)xU+q_NR)4Yv%SK_ne%$r+VZQcgIgSXYh$0xjvn62^RD>^;A zjmNm;#xw`H~GvF>}}ORey=HgIu2{3*MrB$7v*|7dvQ z;sCYusNt&5b(7kRd5UkfeA;QKA@=#@8tsEx-!GYOZG`td{s?>vztUQGnxQe_J8j_d zUij92_}4!8*dFoMxwM$u+vzB3{o1QFy>oZfG~%Bj-d%Xvb@0PI0cWh#!EEH+Dh?aD z^uK?{_vWSJGR@!Y_pDjuMAj?{@ShP`Gng7SLrNlVz|#w%*?sWN>m^r$`YP=~IhV3F zelF!sctKms*IwPxJA2m-#zk49r;PereU;=4L6btG60@M?s9rbLd3UnT zpzkmI9=b#le@%ZsZ9l&FBDE8U#t3?L`kGwLnfZQS@BU=X|BUv-@ltk7wh%d4RSx0VC$0>p{gPh20WSxQO z1Hd%x{6A1QYB{xC!BN+=il}QXryk|nE2sW`Z$eIe)|FE_KJMR3KKwDa)gH(EaZlNg#L zzVhM8r@9*F?C^-{B>B`}^lFh$LB{$%$)^U7d_q?s4+Qyi@u3e_K3#v_M_WF9hBYwq zX@R=dJoZvA9vwyb^oaqf<zY zgNfTmld+xF}RFGN84qupP39FWtR;Z9xlj9_Bp-mc`ofdlH{J5hn9O2pfg+UEk%zO zefsOr!!#d#y4A^y`U@WMuDRGL)z~Ze z%XWp{u35PR-;>xP0|zz1}3U-)SK`OrfN z+v9g!f8ekpkIoA#si!2cy6V_uSp6byvwbvR6|rFTjiUi8avoE`>f#bte{k_?=|>D! z|6#$ZOkHcaSIo6n?%i`wLhhBjcA5ANY&5Vo_-=QnxJifz*WFLj$ZT7x~zLzB9EZ<=+IbZ4aHMH+g%c$>O zuVh@Ew#`D3*|M*3Wlk3vb=?`sJlx2*Z~3*q{k$&iukf^oclpi}Ubj2h7h~psWEpjB zqmog~MQk%Iqi&6lPs^ySVw(*v3|A=MVM0co=@}ogtj_5-Ld!Dr8RI(~?s+clJbZbu zmQnXTn9O%G-cOwx8Rhl)*!v>$`k_;!Ggjc=!{<{M_xWIlt*du+YW#$PpCZ3T>Ai^_ ztyijb>^Z!&%$fqcjK6HmQHGuEFFV1&PW#Ieu)|+=nSq`7%Usy~4&Ih_&i?Y=mj=@I z^1j2!Q#nguUU99zEGe291reybFbOr$va1NhbQa3=Be{-o~-tou{%!ave%q(y5Y%s zJZ7(Yyr+G!><5iGC%i=VbF97Uzm7?6-xa@fzg=nB%-`n8`kr^MI`D?gll5M8zxeos zC+9|H%YM_F$A#C$_nWlc@H5Z&*2;6_csAup3|@jKZ}mKvb{o!j1xy=r`Fq41~fboZ(UYF=)9YL8Oq?2HHC<+4`|pZDFXW}nDsue#3k zA$!#)yM5Su)w#a%AU&?6!l9n8mF8*N7?`Od+q_yQ))k$O(U!#}=# z?%~&Oo`h4mn`%-R|BCNbHpBD=TvERj_Yt?(OEhQfd1fzBzMm zk$bOz7-Dm8lzVT9`19QUUPC@g+opkud(_)h_ewYi!#tP4J>{e0d{a4BEtQY19Dhb& zFh06L_~_UtRzAAp6SDHuzjw}jBH^QZce0Z6K9rA+n5_9 zmbU+__PY0ouJU4v_HSRCy#BPWbEXdJ(*7Awd*n`CvYj30gAK{{ zr_m97bRFz0J1%d>A7k|uDP=;-_yDdI!vAONPn%vSaEsxc*eI?bhc2D zwo@%#=Pu84Y3Gqf*ZCXqTei$x4<8gC>38w(&xeP3V-9Q|=?lc-86W9J;xmPAA15|L z&a%m(#>j}E^YmU~7F&rOmKc_`Gg;HB{^2>~`2K->rwU>WDjetBmRb5NU-`U?b{ULG z_H(KxxN&)QJSu*Z){(@joT+0~B)(xA?{sMA^_LkxY}VmU9S?#|FMA7%ks;a-tJgFw z?2_!V^th3>AKx|5I?TNiLr2_->^a}|L97R`&!R?*S`UdUB8GZDu|;YYbRNbMJoO2F=G9|73aS+KkHLxkNN1G^#*?DC5{RvXymCt!El zM*wyu7VJiRh_D-AU^m1AJ90fQG_WJq(a`K4-}>-r_OB8f=gOboa{Xb^?Dk$R&EmsI z;&;TozD<0DqFHXFW;3FpZo~GZl(ph z^FKt`jWDpom!AYXd@!>N?8KMv!tO8s`tWHs(}LZ8#;EgGGNOC9_WDoGTh8xpj>h*H zyWU-O>qEN!{An}aoB!k@Vk>O_Nx9`e*($yU*MIVL{1a=4BYJ|f3GBVrb?kc?e?(u` zmqDII{N5wt>$hTz3M~K1NcpXw6@O&;SvE5c<=Z%p@uk@Z=raJ{#xeLdh{uoToDq*N zYcBf$(>dGya|z#uug#boH>+)hq`g@ccS+6}{+(%4)B85QXZbcJR~p+fo^w{`w-4Zq z^tbKL^R(Y8zLDagU3?=4M)F1Gn@Py3$gvdM9~ z8vfpWh&NtWw)yV3ZH^uJKXVj(xufyWFgs)|un9BKv-4nRV;IzMsAJLT^KT)~yqJ zFD;!M1$ujdaT$7xa{Xb^TYa|6C%d`tXV$ItD~WwS8|Jd__dKx|J>B=S`;c|}p4*4b zC&M3sb-Th^w+ZT6@B5w4wO4OlPX4vgTR+X%O+4WL3-R#t`=O6^GakMxEt*)lBg6{6 z%Xs+pvyHx_hYLZ!FxUJ*(+-Bi-*53Mf;_m_Epl}Cmw!+r+q3o zDLpKSXBqg}dp-J|Hy(b*Z)|;1#~OY%K0Y05*eH8Fd(Uw5loPRr13lwYaq~9}?ve-A z%kx~?c_is5W*%Cfyd9ok^T`h;9=>agx7mleG|x#J51)2kKI@Ze-O~2s3m>h+odtZ1 zOgZjoz$#5V{9V+Ku96&PH-69?51)39M*&u?Ur)g5XIy{ac$Fp|e&xC8U>d;cfY)9}P3tRH6N zoF0#fDS6$~ey!}~v;SQpG3QoH#J!&O%yYM2Ov2S&>Jymx+j7eFdw60J*1e|W6mxNF z1rd|b5FelG_mI4;{1G}I%kq0%?-`%U+j=Q4yu_2YHQV!C+Ib}LVKWacr(P!B%jPHV zTTB9VKD{vsRWn&r>MDMMd~S5;2H%(j+Wn~(om^rP@DVFtYjf}w zViJzW-)F}pq=j7)f7h@}g&S%6@m&Kg3vZN|J9kg$vJYZCBqjk{#~YK-c$KWjvEkp5 zXP9z5X!ljK9{AM ztH{k3ViEgNm%lP$KW+Dn4?AnOGh{-zX^_<2Pviys$n#v77MnP+~TsqqJ z)9bm(Hi0*vIPJWWcvSjzOWThxe6-AHT$zv=FL3>V!|J`+Prfvt3YSyef48vurUk37 z9SvBev7bKvu_M|~A1bV-Td+D)U2FSk4A)-Sx3DT9`~2)DCI6^}{9f{j-}hRmX>x|I z!)HPr4qXcsJuzMj6~BP&OWU`@9X-@k@>H5l_R&u$EW3p%H_S`1npn5{^y_#`DZ24S z;zU%8mBhNZey54pC28k*6y(Zu;AL!)Gu5?A|6F&W|HTRV4>5M5`^xA4OZx{`_3DxS z+mP&UFnZ4iqyOIfS;aT%OsxU*U*cK1>c1DBlFT=Z{=3xEzF7EMS7)6`?a1)f?3Ad}|*3!RA{ZjQ*Rto=!1muvb|=aUcD+N9&Vn-Fglmt^ei& zAH%0Ij|QyXoBsQu!s^${60rIa*B>}urO|)CcIFZF-wzd5D=k>vq^`C6yMb%3{QL18 z3Hj%z{~oN)Q0INkU&VPK)uE*Gz8dR^@7X|Ixi!fD)mB}(`eMFQS8h!)zbER-^&v;h zj`_R{N2CsyQ0jLv(fxxN`5RiX2h618~pi#u*2hDg~o#5D?iN$t-NPq*fiYQ0k3?>W4* zu5cXiGP=S)8KW)#V(gMU@XCZoweWct&kc9s1mEsZdkZ$d2WESzC)&w54f4N8O3X?A67bAF%}9ZRWO(-`d!(+B1tYFF8L#e%nWz{ru12 zH(9Gn1^Lb2xioRp6NDvz&`V&B2)*xGTPa9?_8>-%Hzv&srP0 zDFI0_Ohb8RSNfb2|0`^SuJ=Ps2Ak-}31{#Ol`(i(UZU2Y_7+csI`=KgbET zS5gB+&fRMP2W1UvI6Fk@gP{8tY3>ABWo|~ChNWw zSlaR!nAF8>@??5R)FtS~{j~k~!ZxV*`JcfRT?0BJ`YWzQH`yEPtp{DfW<8Lje!8ZdN3^%hvmUfd6}$7!o5}0(8ab{X zrS&+`T8~bN%|Qnco9QjCz5bgSU*&fAt6M7it$UVZ6}h_R zEVYa9J;-@!tH{-rGu76i_uh>TYw~pO!k41zi&kafaS;e1MeByU-vVa z+y>LnW~D=O_L}7Arr8TE3gLG#Il6_&G&vVia&*zTl;6e5(M^&A)w2%2likfd4J$`? zC$?9*z0mKYhnPKy&(CbBFHtq0bWTK-_zk|?PuK6V_Cf~@PWHu{_7{2D3Go0G;FAJ^|PMk+}*b9H4kTnob!brv|^7A@aneKI~7cQ$D;Mky-SkE z^1kXVL%aH5Y`x{z9q5~~uZ(V(q_>cVcnsrGdJ8&@*;kf&$Z272bUyF=eeS32#}{5& zPHtgbMsIoOLxkPk26pImNw7l)d6sw<1v}!74eVBa1YmcK1-t1U*u5(na1u0d*^%bw zyQZ23MyhdX`C7!aSH9jtzO0e2V|b6qRr9CniI(Z};Pzc2GIl`X%$=LCc@|>#-^M!J zf~}A5N1c~^Q!(GsCvU^HUx+=AJtcno(>*e_%#yKdEg5^GD`TY|hJ9}75-XSD#WZqO zWb%l-ge=Vw`HPHwj{72;ORPPUBsq)Tma5L@^bAYRqKC!hEOQh&d%Y!RPwGv75OMIP^Vibi%h%jXZC=hDt2iLT8&w49v=AGGD{`zqVUb(L-Q{=zAT zk!{d<1$zka=iPCe9RKVU#2YF8jNiNo`jFZ&|AMciooA8^)ALNVj%oYxg_o9XZ%Z7M zYm>*gwqf_K`195Tf8KVa`T34Z^XF&1V_|Pr=}Y7y=lYzLYu6jiw9d+HT0Tv4+pQq-^JRl$9E-bYy4ds(OVj+sjki< zL~k+tU3>*?tnps_2K(WS@w0MWIgpF~Q}pLWuhxV@wKZGyS-H}0{47HJ%lIwo9NsNw z5uQdpnnt&+c}EL=W$%0JvvNa^^x&La&K=(o%BtPLSiI-tuG-_;%`VJKK$FRIOKiDA$0TAj??e$zkD+CcBS*m z<-qXmLg$sxkmBy2xx9Cw#wEt&#ic(RAB>AjKcZg4M+ukKu@2@;%l}l@njfuJ*IHkE zkZZ5LxaZ3WeerhYWOPOOH1VX7L82?3l+YF7MJE0(1HCVXtexm&wD)0u$@n}*aG&!| z?Bg_dfZXvLgI@QcoDZHnXCrg{+LQth z+3%bMJeFd|Pn11TZ2MeblF5D-b&>Afk^lU|HBMIaSx4`O);Ncssc~{@mjk2q1}^YP zzy9CLT>gg`FB#unWorZu4r5$0zCPelgzFIF%Vg|p7}xXc)5>#qGM@MH&Q~O^3?IcW z`Ha&@U)cvbC3=dXk-o(p7w{fKBg&rI=ID4c>>=;@42p+2Cx`!o+~h`L6!iDw!=IJ! zmlz(GAO4JdM{erh`-U&$dr1ZL)vL}9$B0X4%FB$X@A)4K%h{(*d0F~<<5}Stva~5L zTYumBG5BRpWVP(AR*zHbqOP}%3s(++CT78#%L3uH;GLWIAalxpaIikzv$HS%8!)kB zq}@E`Yz>#!Zvkf6#U20U!o={46|9k$UkIJte@RPy*>vYXW!2ztb9FGXb}TgV;K_`c zb2Kd)=@pOr)wIiAUL@wO#gFBk;y-3BTCBCO`PEMF`JKK);{2)^|9#U*_~J+M2`r1L z<)-5c0?}o2Tk2ycA-C|!&spw7j2t3zsS{pk#EiSl}DP`qc!cfV@qfmP_Au4 z8RtELh~P}vjPst7$nQPyiJ%L<)Az*q_^>UAi*PzF;Ji&ab5q7pNqj>yV~{;zrB6}E zyye&63363pD1!ZpBbkFsBH8R)7WQ)@!v_Z{pnW|wklpgNSNHUGb}i@L^G-e|2stMK6xw%VUk$t07jLc^@NdJe2$ z$8^?N#$}IZD{H!)cH8(j{6f}!fV=K@@w=giZmhRj2eaO@C1;(k>t)`u&zxetU;dQ;dQWAor+C)8{!5x4+3P(Y-_|>Q zPfpM`_}By;S@fN>-uYLs-q81(A_u_JCh-05=m>|PeOsqJ%)3RWg|;K1fhCbb^yuMw zA6@mg4LUAFCm#+i-^?6`LCZyh0+C_xt|DmKAx6A_|1Zq{n}Sa<@%1s@Rl?`FLFay< z$vMy@=jDtQK2gEhzs-zi4xeg_Re9lU?id5hKOG6yeJ0}kMAPTG<;O)f)EysL`xB=_ z^NBLWCxmwkU0meC=^2Y>8~RwG_;mtav(XiW=k$W-Gy*#VpH<{ibDnpH@L++{#?DT@ zW5+tq7R8qeVhyL z`~e!?`M_I`qa+Cqc`h7UE&i~A{Y6_|DLDnNOocC+KO7&PEo%W!Yl3IROFNON$=T@ZmnUNkh6kQKe$=b-jm+->mmJZb!&3; zJ_7xXH}p3ie+qL|>j2%hk((*BW8yP}rbJ%KXBp4lE%SpGi^n_2rs9rL?kOCGNB`?> zaM-2!j0voR=@2zV1Oot0xm_2Rb-)L;0p5UM61;>WB zzM8;4KYn!pnh<`K4hKitxS{p0Bpe)Pa04FZhl7>ihK+*?*L`rXkNqAW96Z^)Cj|~p zv)_aMq24p3E3W^o!ltQUvaUh9pm`5Ei=Ize60V-JIho1tq1`^> zER>8RW?a)$Tz6HpEB2}%O*MZ})6`cj{CIcr?D+6_!4DU={qW;L7eBfq&wk2$QpvL) zUDs8fl~7-aNkPD}G zFVBt-zfNxC5#<>+Uw7r%mt{;o@+?=$mxO#3xgszZ_z1t>h~7{{eb>1H;{i^j5S>Bf zuIMbodOMihn%@~d8D-ol`5n(r7u*wmCq6;pcic04sUE&$a6)9#^T;O6M+b)Q_w*}z zknmCY9LBR_rQbX!k}rG3^jpBaVa%fd*&O6v$RnGD?}U)eXSldifNaKJ)j_=hUmc~$ zT~pbQv+c=g%C=9y&%h>?eAfEP$>G~YUrB@i%i#sx)#u*6JvILS^IDDnWp$TE#8%q4 zT-#ShmT#;9r)giv+HR;p2bdiSujBs*0q6cC+;Vlb*iD)Th>as~Fn>MM*G>-Sd+_@S zKYa}!N75M5=xaZbarxo5M_+StiX+3o2Sfi$!S7+DE8ggY~~7&H8`MU4L7jcllpk8hw7ZgFgRDcZ@yN=dW^M^)C4z@6HcD z_{$^mzXk^%S9kGatPg%1+@|9l=5y}mJAM1db^6A|@Q~^x9lOr|3Ov1@G^nV zV)$3JzfJZ-c#F|-HlVw~BX>)TXa#cv|Kj;bG1@Dgkk2x3F(9~TcqIMXJn~}E3Eg)F z;c@Ub;gR$^Fg(N4Z?oI4e9q%>|^T;~cuX_=? z$Yv}#@W@u$jTnj_sW6~&XENcDI*v0K#kSD;j`&uP3D^*I#<%j!EcBg1^c3Fj`c~=; z-?@f%FUoj~t<88W--_zvZx=z+X0GT{*tA6*v%MwKN71S`j+xh#$g-+PS-PE&erW1 z%2-XCmO+z|1$-~#A0Ju^^4#!2;H#|NTwoe2Bc}&G7@+^p z(7${qFDCL6?iri@$}ea+F~Y+yB`(nRe^_!-(O4n=1tUYnzlpq5yyyv$7mTHeF&UlE z0f$5fDH<4viu=1?hQ>Sm`lVzV|PN-P4Vte+l>9rI~BiCd-xgA|FXy3TiNew9joCV z)wFxrj2qsf#?6|UaSPAWYo_Cqll;at+Hd?kFwNGv0zR4Xo+N7qZa19?ufnHq!=?>7*fWxSY5dC5Miob9 zoK+IJXnbj8^e88C+F60f>EkmZJLg?@cm+JD6xe%t-6G(icpZJa{t`on=ZcLbaT5|V zXRco)A847t2EMv=-tfcn{%zcoz3Ywi@A^^{&3_M`mTKISf$`-3#kUPyW5B@h62Yk} zWK6ufS;nO8S~I4x;=jL6-Y@)D>{{NtA>mt5@4e4`uMMYq=%^1g-<$tD{(JF1G(Y%j zL-(J(QPce>A9_1jruV~gYlR04iqqU$iDMfzK%ch^PZz%40`ArJZmYk5`ZBW@W~%kP zhV|S8Udg>{7EkIJ$M_2vzkIJ)oY^t^T!}j$7;eg7U)Ad8tEQi7pMI82>KJbKvn;b? z?YZ!r-KS7XhP@}NpX*FNwLbmaGpS>M-OoLl9WTswc5hmHe7F@^&nBClL9>!8DS3bFzqSv9Ugcc!W}e%4Au$)uIpO1EUBUH6 z`joRzo524O?0*Z+i|n5AcIVja+pj(Rms?xvhl5{jtVL7pq=@WMsD0nU;o&*x7xKL5 zfa`&&+@G_dydy>%&KHZw_lganj>b;`i>edDV}B8=f9`Lc2MQb~9DoP0pW0Ayd8t|# z>En65E_HKem391D`atI7*E*2^dIjrKH+xpFqkcNLfy@!yHgKIS^1JHv@aG;T-~UTh zzmn(8xR%nV$gm&MpUAM9k2C+8Uf~e$H|?5`J+ZM)L+R}C;mSbOucp&a(Xgsth1`Aw zXYQgO$pQY3z=M9~o=-n-2L1XuQ2H9R+p_Q6Jf419PEYRV8dvt^uy!)1ipnzdkm8Pq z=yw?XDmjSUS$96Uvh(^VILUK!DuW$YrkVT6p1F&!aEUwjui10oJ=kx|@ww-D=5BN? zf#E#2pYF`PClzn@TldlQBkNv6ZM&KaM|A0Dz2MJT6Y1y9%|D`_ z@_~tUw_!NQ9nbdhjA#5=e*GLMop&Pmvv~7k^s}*7q94J-F8H%R!!Xwa!xH*0_+oYf zh6{onFHK8LJ74Er6@C3-xS#k0MLRO)*%$bYxuJCTC)L~+($CybV$Am3Uw8Xyfj8DP zjP~nicj;O9(1785`e}i8nziu7pPTgDe@4Gav_ou6!51?UbH6Fru_DdfFXmlKa{cH2 zxI5+|nfut|{m1;o@bCtw>Q@ugnD0m$bB#-b57{t0JfurM8Nj6Uk0Zj(eTz4rNS;xe}Oyh7W%CjJHd>* zPWY|xO@;UF{NH+zH9JO+d$pB&E4<^X#QYm-79H26A4P}6p%=n`_tQ`4B>#S8EIre?R9Y=G9Ph<@sIui4i+eT9h5$z<74hPkI03e(d!)iE{-i zZqw^Al75qLQPyMkS!zAxxjDB5JKCoD(xHOss>dy>Xdp z_p{sZvRmoL@G>(Vo0lmVF4Qpm4gK0MgqJlKUZ!BUFxc_UG%)1r| z(@z)tS*+(?@0ojn@bL=+3H(_c?D$NYxu3+l0-y4q`|a+Si$2bJ6^-dKW*dKU=_eKb zTuVRQ#h-uFLxa>^wC8T{XQn%zx#T|7%4BS#t-iXJdHE)U{34-AoE0mXlQKtJW=wb*m-GUjD^ z%qMuqOkPYu`MAWGmjydspOTtye9JRtn{WJ+m;j+uWY~e4D+hIfv%T)M^kc8Pjq`im zerkl?6FN|Q?yOgwZ+uny$)mBM_PSq3KQ`a+>H&&x)M^;M zM89eIMs2WT5V7WWr-9=P-d8|Otyy~;j*ppfqhHi~F0M!0^FL5J20bXRc=P%6Q|_U8 zGyezNeprvXnnfr2&;Rx_lnywOenKZFHhbnr-}n*`~nW@K_db1j=jt;aojJ?7G{y&g-jnF^c}6F7ZO zu%j@|TI_uQy?%`UT1;}syix413He>d925C{AWO;b-_XxS^c%mqpX2t^B6IKEw@W|F z{Xpqfu@4q)-cCO?$NTqFkm#qO=JsQ{^aG6@C>?xOxD0(_GySxr&`bIz`Z-W@Y5y+$ z*lV$te#$+#(Pb^}(`yl+UwbVI#J;>Tlvs=Vg0Am#+F{8*l=zp!^IGaRSTz*P{@hM- zhHU>UF`@WRizBm$*Q{VKcsPEcEdJl%dlRuT!}059@h{&iUUy0hmYku|LS+XXA<8sf`9cpvG$o0_|CujUFv}0ix!`_@jX7UI99(l zyuXJG$}-__6G{4j8DBnFxIvu^E=+VC%6uhNG9 zI($D~cwCk=t^_KHog6|oMH4CW!U(fi5d7_P16-Pz(Rg#NDs53~P2_Ra)8 zs_I_+cQTWWMLwX^d7|?U1fTF+#}X&JX+!_5 ze{2nYebaO7t+!!_6M493*~^peTmQz$sV~2AchTNAo|`{$Rb^;N6*fUt1@YtAVJA{T zJa{H?07`iB$F<0}Z zdQWI_QvXh9qUZahr0>FiW_@ItS|d%Yj|h%eg5%E4424_SHz!05g{*_hI{fRO-U~lv z!e6W_S7-A-G1|I%QgqM8$y{e}9psvGOYSM*nNseRMYY`0_Cmc&6Ybd7A~XIwj_VAC z>tYMnuevm$#=Bjw=S)>OwS(g8If~|Ukr}=FM4OK58*LeSOjPjKR(Mf#@2M9@+t2!B zw5=vPy7$qXX#3;2(d7Ff?q_m8E851I<>Y|#MB7>6j%@ivMw6HDgzQb)!hZw*vW_qi zK5DC(OuH$xn@Zn_K3Y~yj5bu2MN5!f^)tn;VC`k1v$8x~5NT#j<>a=eYS}NfMe@dH zvX)XcHJZhG7T%4QMndvMc4eu;I~QRcN=?V8<{NoDhb^gc|6sVzocjZeb7Lzdj`3^GEU>;W?)zS z2V<1=n*jO5dXBX`k@dMow@&IyW=zyc$=ZkBR2 z=dU-(&FCqAwNf8>H1*drjPY>%watv_|M;t0{B_-oBg0?ig7<$h{(7Lf`}{TZJ@A** zA0JKr+IQ38`D-sVvT95{;4fpZj`7&5l9MVns)@x*&ggS82G%qdQe$HFluxo%U4LY! zj01YxiydnE&sDxrB0h1x?7F)p>Jyv3mR_ z8z%92B%UDg8tpR$+}NdtS=x?%P53;C7l=RLjb$9~iDl?G z^pT5Uyk_A}-f!@?SJB(aao-!Pa^&(^xXtaHbR4KhVE1@u@Bu5JJ)}$;o&H_s zWjV6IkM5-Y*o;%??)NF?KUcw@nE!ttYG6;E!_Cqkvg8f7A45N0|2mI#{ygpftD4=l z(2&S1;l)*)4%?6D+Lc)ky6@SOV!Tt|Bfb3k8RQpxp-Ap!GQFghW4AFD ziLcuH;wQhpdy2tXqK?tXuj{RO=qbJ2%bDFuP8~sdd6zlxqn8V;ar)7VYD0`NKundm zSw|sp)pFvh&BRq%>)2gRTy+C+)rrJaM-W$CLR__Ge(9=$(Bi66_gV8?Iq}vK?iV|O zs)8IRBJo?1t8%`Ji7^`bTGmbZ6rLe+;pE8m=qZs;dGn#O`2qej+!#|bJv%O)N&Lp1 z-}g#i7YKc2hkHa{uS%V<=ly>4HSg5a^z|Zr7(VYQef{+Vps(vw(ARovoPP9W=G!Ze z9zM~)o;-gmr9U5e)LnhHM(s;5Eb>S6h@U?D4sfK>XJ2yP?Wa%PEB!pSP2|&EJ))mW z7)N*L=g!j%4!g>y3$1zSDgE5bIl)I-KK=Id{_<&{HO`*U&nHvRkK@jvSD$s4ew01L zI>xjV^wTR1{WQ$dw0k7!=OpN7EqS;-(QjKAM|bGw6Jt};&kqC^H$LA}`e84tBThe) zQqWJOHO`*U&xI-I=Zo$fzAyTzI3w~?^oF1Oxd}K@$)C&IcOOamS+Q00SI_LDGZ{yB z=;t#ZOHDr~Tl3OW`k8#pk*A;kn&&Tn4pLWY=)5QNb9@T=sh9rz^p~>76YJl`AB+3{ ztby+$FGAVT*f`o>NVcJOxqbWPC%jkv6cYL%x34GiWuw&McEi4joRykB9pTUfyTl6!|;IONGlV#0IPwD5len(!ud=K9B^S}N~ zP2zizFAt=kpXa5&Zpat$*NOM2y%ZL@zWVpc87UyXD1N%1eEE^vcQ@rrx9H=wpObq` zerQkR%e_*^*$w%!>+IC@ahHYnp3=t;KLGkTJ_UWuu*T^pUldJ|qapq|`>|{)!8dQh zH=pBV>@LAKufaDj#Wyd+H(!izK4*RjzWJi60`i^G`QIt*VSjn!oENzpJ>e&B#sOC< zc{9wVrz0tEu7aM5dq_|J{9O0w>Fje-)6+isFnruodfNQ~(9F4>MQ4`uj`ni#D zbVnXtcdo%(8okOp^lOq1tg?{kI zu``My*Squ+kN?H@HA$vd$9-Qn;(y)JUl%|x4b;8&M1Q?{P50iMbZ&a_;TL- zAp24nTPc~&t{1qGi>cN_ef+U*(c7A*iTCtSK9zQp-j-aDn%+KU&0|mH(>=!>d3yT= zIZJ->DaRV8AHAj0Z=X&fpAKH_uitXje)Ea-zKYqbmxs@c$a+Qzb&Mrt!ALoEkcSG| zs?~4KSp6Gkhn1YxFH%T-=mGQFR{dLs{5Jm+k?mR3gPY&j%TM}TCw-1CqONWJrY7@S zSk5LOmsftf|JX=5?fz_jW4{ymZI1kQ>uHf1#_}8U+gANs3Fm#5%s-aey*oF(Xnw00 zr`j!&-=3ugtlwRmcADS9XRF_aQ@dL79mc}@wwm9ZbM*TJhW$m6a^U-k`E9HIjd4;R zJT9`BcALy^73ZpUYAn|rr^fQA{HFFN%Tm8RBkz0U6OnRi`6`FI_zaIX@2f4Ddu*hX z_kGv&i9M?3LB`U*zrytc{ARDQ${PKh%`7`vP^9vIB`s7Be6o2>H!C~^U zosMSKcjex-Z9bvUEOHpJId-Ig+(ew4@QdM6X-xKT(x2{^%t+DpY zTJ}I$E4_@ImPWqIo?yr>*9X)2{W9Lm7;mce+^K3m(!_XWj~m(Frjh+_qy}a!wG%pj zLvptBV&i$I)O8t2d#W&pBa7UlvQn^rB!WCW>pJ5%~onS@NHh2;MQ=MdN?_IekXHn=X1aFSyzXW zujAeCdY7t4N#vKv{^62eVsI&AYzCG#U^*Eb%2_*tOZnWwS&lWFuQLYxXqq$mA|dda z8CwO6d#D521&pTz!keZ6V>>W@KG19TG+=xb7^ef{slZqTjGw=A+Nv>`%d5t)N7pFM zXvr#0hEet!Yo>-sY)}QC_?Wm3`!POOIDK|cduPS+&pW-UCIou75C2isgPlC*ptD=a zOW6ZW?uA~P;X{31U3TnY$zg>i8zw-f)H_hm&ABY(>7%pvK!m~VXeCD{HS?aS_>?A&u^qM=5 zmwV>%K6f6Cywdek$@IDxJJ00t2tOPC&YRA=!JY71Blu||zo~vyxZ@LspT*Ac%a8Kp ze03*3s-FBC1&^EOkuPvy7rpEmzqZE``c&#SC4WZpXr2TPIlDy0G@3Yh1M?|kZe;wj zw;}VBwCAqC^^AG1RX-Q7aOm~d_HvH6olj=?y;0;SevP$5Wz4J!#+#cX)gjdx$3~_$Z@*x-c83X;~&Kot}fqvSc zA7DPP7+EsG$yW5UNYP?;`!3F{b9gSSWnKFiz6(E;QO6&emp{Il`K;s&3eGN4c#^Yt zgx-G4+S@|LFZ>~OZ|v{YrA}@m{4g1Q7zIDv13$F5b#em32w)I+9^t)vfyEDwUcfO8 zI8K>2TEQV_VkO|nQE*IGaOAY_h4=G$ZcUDo+3ivjrQl!>ks<>J^={G+nNH7Y~W~fzP4%S+z|?n4N3Enso;T-==I29f<@?o#qZ#!8&)Z=$i8_OQw z?2Fk=Iw+@J($rR(x=KSI2mIa!zqdMByLZ6vkH9BW;FHnt$x`?v>&{8k zlipqRu=}iePVR5uK60X}(#4P12@B8()XB{d9dm3K878(uFt*abV9BvxU6q*QItvyX zp1qtA?ajB9^KB+MnY-l-)N=MP6&WjgUka=@U_VXaKPQl}d$NMq^{KQgwx^eg*) zE;lk{?#S_#$U%J@Z>Ql~pmuBWo6X%WvAWlHUCsC^!LHB3T&j6@HI*hhE+ za7?A|G3xi+_8_+MG$*ra8nBl0Sx&5cIx?!9cQgfqy9?i0yj*zpRi}6Rj?K$~J=k9F z!fx!zM#i~Jc+-MgU>5rD(uMHYwa|pgDY=F0ZX|H z^8yddk}oVUk3rrP@|?&`@X#*uM)uh#MBbD_X9CkKXf0XZ=(wZoak@|PVALFD#M-Ru zW_2xRsb<7F)U`h6@-Nmif3mKBZ(YC6wO1Y$S+x2YOCI^zD`N)u+beHQVXQtfba{5SG$tKQ${@2J{;IoaP6Ur%gw@%uu=($Mdl zu|Z#IVJ>fmZX}OA6I#5E`{=Tl#D1@UPLgRPVY>?*%5y^N&%N9Eq~z9bakAUzz+XH2 zXI8b**AypvcT~;`o;&Z*YGg$ryfx3su3FB&@YhuA{G4}|Eg#Jpbz;NstzG`$t2`(C z)P~#UnR8Yf(esaseiK_>{7&?{vgh$X6@MXPvhrmdIqh@s(RMJ79gO37_^Z3V zqR2OqTVlJf2A+BF(#W}^#!muPk#nOtt6p&PJp3s3{AhmL;o4)b!jI+H^U_XaknC-4 zWZ@vi3)xC89&26qQ`d4Pc}}d4y4L4y7sT&p$FjJdjLZ_8%bW?$*JmGkGK+JYpWFLQA&cqn&q9_t3qo6*UFciG#+#`&jhoFmf|&hZ1}Z1Oh2`5GBVPP?4*x}$&S zJ>y(_DWRdLh4U>g&SgHDv4gHePNc%U_)^k78TXm7|B`$n=CpzKk6YKZ>RM!2PVD>Y zT5z8kdnSHAJGPN)uiX0ErxUzaXz5sEPx;BOe}nHm{uXN!S&{9N>FX%TFUfaPu(&<&D`L)5qq1WGvUY6e93bD5l@v$dFW{p)m#(oXo>#R=Yd->V= zw(nJho)tS^Y%M>ZC1LBcLm9j-zI(!F(Z2iVGIShZ%yhB!i{if5vT4}*?0Y7*zMMNQ zzE(5xOZlhRL$Y_%k}PL4y1ae+6zn~CQ0)Dme7CcDHa<)c*;OvK0k#7+w92Vpk8N3o zZCQkES&41An4J1xXtDAoTj0wYo|AJm#g`E~(GR99Yi|uooQ$cE;ab*o$4*myL2^$8Q(dqa%TxwGs_`X#)1X8uro= zKCt%%cK&+;``3F4`$>m^o$+@U_P@a!GLK_Uc46A}LWCj1P1$E3;(|m8{y(%TmpWjp1*+a%iE7f01|MTi(bzh17nDzg+72%bobkdftON zR_o|3bFT-hYmw=p z*lFroZ2eGdfOY>E>$=Dn7E{xf-Ziul6bkBNPLLcBh_euC4{IGOmubm9x8#1}><#~02- zpQ`u*ddkEXehJ@Y5{EF~Z<6nduhYdJCLfYoP+2>CuknXv*qma2eqQ`xrx)>u-s)*t#N*@y4E;X`Eck%!TB=oYnvkxXIs)LakkPUigU?V zX#?+#DsC_1$U@fU#{MAlZ|EG~D~@w?vch@3jN_vhXFK1*^LXp}Y;~=1uJYCJEkzGc zj^EFYoyN7calLW2vTn!O_F*d=F19H-K?>)ilIeWDjdSckg>&LCe?coUa~Vuk_R3 z#jIU>;%l`MUu!R+kE5i&A2Tqx`unxZcy|x=cR%3hss8?^d9S6ve<|-yrN6tC&k&02 z&vyR5&S!Xmb<_V1`3&ps|KF3(@QUQw!22(`pTFYsMRlDMd%^wu1)sarHS5Rj=W~2| z<-9@4|kjQTJqsJd3Or=Fs6TU z{N3a^Nxp-LyMGLO-Q+<@?$F-9f4K4Y%NUR3(M5?z*zxyVzL&9fmMZ@4kXu{9zV^fg z+DplUk@d#EbiB9NyW~wtj9%jI%@VK1XYDU|^5k-LU02m{giPWU8;Hp-NfVRT`G!HY zre9&jKKr;u zE4OuXz3VOZ0rAtv*+-Gzo;R?#{Fd_`_-#9I^pxLX=Dilb?Y$&5zjZIaFci7q|8sr3 z=YNSl{`r0Xd-U;NB?kw6{JQ(u&gVXLofF&Rezx-2qOP-JP3~s{pI$jJ)}nD+AMfRi z8gKqAIUXv%(BwYZxw3xiwUV1DYn1Vt1mXnb53Up&-{cSOp8zaAw*IsaAb;>j27Xtz z9QY*f#@65NCm%iM!KnN};1_*r@+G@<7KICcck=_6nlV~(Xs3+R)%&UHMI`3mH9s&M z&kqc$n15zfDY|Yl{%#vF|Lt$Yogv9xy78>u5#pPpPc`c$dM~hd?4|JjM&N6^-y&!`H$o#_~8Er3;(IkGxD=v zzsA079(}54|Ev@=|3T!xNxqxnd6(wLxisICeErG5(Nlf;Tk~Fvjt5zI^yZIrPoHK+ z#)tmTzm@s?u=Dlzt^D7kPlrlgCi3V6_j53x$E)j{*g*I5SUv}+>+D!R_p>jbinlBp zzvkkEthV*3pM2QHKC*uD;nWN1!$&865c1(Qa=L8!aGH$2hw-m_fupDL;YIUa3wM1j z+}ZNs!1mxv6Ega@@A|YerzEzU$b-)my|4vcw;f%#li2QV^xdbz9igJ0<-t#M zGIzJS`feHePHKY2pzkCPUi97Scuu(1cV8igOLSlECnXPl#Q0~Gz6-UFx!9R8kvyIe ztfU zviGd4#fTr@#Jv#qW~CE~EC;5RtAR)IUwKCA&7`iZerEA`ZLD2MEolAKf%6){by5F} zs=L`wsf3(dYI|48d9BSIo#Tq;&N+0=75eOm-PnvO#!@3RBk$Df-A~uGRyP3`cJE8| ztT$#dCOJR12p_*~0`PLbaKND_n^=FXzr^Wi2FDA*Z*vWHW&dDR%W9`%12*RMyt|b- zTQv9jLk7oE^ZL;3oTbXyVvRzJmxMcnP6{t@W@NG7g2Z&1pjFAal^k)g*XAGStS;!= z^ZK?n`rd;bC$zs8+Lye(`&kp75TM5ETxz`Lj@G$_0jGTo-=`3-84Zm4R);&LXUbY~ z@2b~mUqOD|YtX^#!1vg^n+{Fj`SP=g*)aZ3I-#mF1EH$Fk^}f6|NF^ldy)VD2_Cci zn76;VJl{E{YC)iX`;AZB``~KYg~_*T1}6={KET#HHVpZzc$2=Gd58ET-ZS9@4jG%k zAY+qpOk;f0snflYI^9Q|-YWNH_x$P9`czf5Gv=EZbGd@GPy5s}of)UhJ#G9fa^+;~ z%gB|RM$G0EV69?3`bNerd2%<=-wOJBj9S+fBf9;%cCBLb7(?1tPJGW=5Gu3RF<5z>yEVK*lWRgo|*5hA<)-s0_N6FWu zCMdUk@euF@?|6?;zd zeR+pHmgZ7;2weM(N$RSi}fq@ z3$U$czVfiImcXY1_a5jbo{MYEkE!jHaX79V&vWH?UO>z7tAIhS=i!^>^IQdVkjI=$ zyi?+vA`^tKM6dYaQ=P>I{w3bIM#Vcb+slb}wve+Su&zD$9%G)zvq+)Ngt{_y^YYqw(vE z*dyv%*E?;nuGd-DPjWqpyhy1hliY~wWR1S4gthTpl^3y#8k8}}2&rj*RMlnNcxWd1 zm4(dPjqpvC(|h+te6E0>OkVJWK%e$gf3$*JlwR!>$f>>1WXt);_sK$=lItaF^u1&I z(H~uSYBI9xe196)3ms>Tma+9}e}-r*fEpyT< zHdS21vL)E=L>h~em^&t26Q{B%2>Ni;j&yA^kHIDdq<@h$cD?UKQcvr~dN_kHzJ9(pRlP5IUuwflZlxWQ@~itkY`rfzpmw~jp0i8s zcwOjx#^>Xkd=T}%&ymlj@RN;wMlE!v;3m6=^}gUoa@M+Aw|dxmUl%{!jpyBOV6gn0 zSEeTBIAy)Bss~K2UoJydk#Be2bDYO5JUaCRbOAQ5@&{agpNh_(08h*PGW3mlZZNiV z@QzI)2SVQ|R&^e2>bLCn;PJ_I!&37xm4B%lmYlmW*fu%*?+NB~ssE51+%;1FaUAob za*=edsOU72-*%i()etkL*5fq2-qX_>5XLL~T!q}yH6W)b|4Hf~68@8}gScJcqF4Jo z_H-(u4x*V{dcni8z9uIeJUkSR?r~h5V(EwqM=U{PYRgxDS+P%}Q14x$_J(GD5 z`FVzdo4jah`U;VY+sUJ!$rz`iH*_vw;rQ+3muGXX`9?)U!S-DItP!k9hE&_2im^`M z`&RO?O^mgP{eBCvRpNEXj4^H(ES`Dj-Rwk+^?AwvL63_Lc+R?h#=733u7y@IVozJw zKT+3Of4r!!wJd$yx?gKue_vheesur(`HfcF_15)TuD$YhztkeT^0ojwBwamVab|M7 z#>mDk=h26cO#C3?H5CR1S0-+i@goy^63^`i96gQK%rWn^}Op$H3pg7l6|L^>sG$?Jl<#LTMy!U7#Wewi<1sXzV%dm)G^|ZliwgUZc-mDc=7i$ zda>UW{v@*&}U3PUh~d12fe=O7rkPiaC$lZ?6`w zAO5VhcaGE_i(f4BB{31H;T!-goxFD!@-!b@NZn#5H672hCzIq)B=Rvdd^zX=UCW(Z z-`T{u&C-v^Lv8>J z4f&V7^Lo6N%NpY%{G?f3_N2>*nLX5v{@BI7NALDaoX576IEBRe9riwIkG`SKU@Txi zrwr_%?(FfM!5-g@y~WN5#2(LZ2*rgr6;MOlNX(1#w{{nxlf8R`&z@hrDiB&&)!dsH zqZ6oV9t?kPCNA=HxWnveGYR`g_P)7(zTVTu*va;Nv56~*p^I%|*1k)e%-ymdx$Hl_ zNcJBGH~H8}GDmvPICuY4<{;_2tGAAoxkGPlw$|R&{2igQ$>hv3b2eE%`=-d8iwu!Z zd5`(4hfd@S$2ok;9!Fub6Nx_=Jc?YUzEa`R>vy%f zxZS`Utc89SK|c~7Uf}L&D6}K_Un6?lU$Cl%{ua_-3H@QO9e4rxC%F}`xOk1zBet-e zAF#D=;taSTF~krt=*%Kw4b&r#a&7Y|e99gi^Z1mQ-f})A=I|(=5<7i?Plu~Tna*IC^oUc!zqa6(lD`A$Uq8-d*mv)Y^Qf^bJZwA|Rw>DZX!9qYhV3Ah># zt`>o-0(dD9T3FTCFWjNV%iPvOXPSSsjh)bg?su1;E}W$KsnW|&9{T=V8u~8bw~Rie ziq=n+>lI~3f$onSAN^YK(UI%#XCDAxZt%=coIlg(i#e`7rO%SYb=a|d?76C%&Wz7+i{^82ZG{dwNYkHxP3l(RKt zukZ}yGda4OOZhBet;6{3b{?Fc-79%;ak+%uD|%GyVUbHE)ZLe$pGuKivS*0w10r?U z<>(C2U&GO>qEm~NEHLL4r`N6LySVxZv}W)VRq?}wJ+g-VON>3TbEBrO;j=;!vv*0s zQfy3Qo8(5PIukU=_(n2r*+=hgN9(?a8FvA6AviO?Rq~s_ydIbffO$5uxB**6;1cL9px?`>)iZc>=*C6 z2OefESaKDEA!qZoe3rw*#-2S~+`KZhq{_tD?R_#Oo?h;-KOa17ZI46t;gtTRJ@#Tm)_RHkZkG6F!VZ{vNN6*F{U$z75xA20 zy~L+iV-Nn4_-qrl&cPZdDSu-Ixp5{)i8-0`RZ#eay4wx8dNj1i2!9k@q)| z9R;%Qs@QLgdAvJjISYC=ye<37mGlosp8*%w@-KKA=Hlyj!vB2#jeJ52f@|+wJi~92 zJ244(b~1+U?o+hGajLe0lXckQtfk3*6v`I=DgEss_OOip%--O?aM$ei%{Tji2dfH+ zV~5xWT-GDE(Do+Q;i_but_<5zs%6+X?m5<9z4%MSkTZxA6}md)aB|!4EaxPDiMdWE z?+$FwQ2e@#J&F%*4<+SeIm|&lIV`qM^#$-RI#_65(XCob4ykt--|FN1mO;F()CUId z-dW{JcP@_mobOouHKF5$HX6&Fj^aMyXc>E?mJBJ0Hr(5X{nGnJ8&@3@ZK%2^+Vri9 zqb;jG8Exntj5Zw?;tYVyX#I94GXL$)>V|URq3-+T&G1YKGN53q^1~wHXA2F~uO=4B z-0NH%$q~wAk67oxYyaq+@f`Cg`-U~)A2cx5w+e%igV-i^j@4fB;ecf13$mht3Mb-x&Z%{r<0GT)Z>-MXx`b&iF}qv9O5O&++;i?z}= z#&7i!TRsz7xGmffCf0H>aqo=7k8}1H94w5i;~e28;;T~E zW z&R$W69Jqp$IbUO%&`~JTxVTp`9o1yS>1fMqE!Fk#n9N^iXKu9d7U&^V937C)-6!_Qo4gUYl#eYo-{EuN@sdxJ&@LzA? zA3G|Vf!>iAO53pJ>ZYkqU3tZjNK=}5_?%}RnwW=KmBrCH*fqaR>Lc}BT$E-mw!vl?8_iBaNJi+~hMCv#hz;CcHpxQe%)ad3@&L3U@AQ;Jb2op&7nw z`j-D(e6xph@uJjN!V7Dxxezt4RiyrZC?_-z-}Mx zliWU-X#YoP|7F@ES34KLlj{AY(bJOJd+4Av!IQs`_Q(QRJN##1PGrFX$L*smI@Ibz zej}GSc^up`I_AgH&yDnRuHYfh?PFrJm(@q(;=JVcP1*7Gk4Srw4QEOFlil`{qW?I_ zo`;i@+t(!8e@EJ1O?&iIXXh~0zJ&cnw|^EItLPnRsv4Huwmi{x8EuvPDLY^3v!b(| z{gsc6k6ee|5S_4h3cBV>`c`u9B;7Z0N!7PAfWA*k?z=G2_kWna*I0cIIWOM#%hLC! z=v(wyc_>MbjpsZP(PNG9W66*UBa7k3#(M`SdACq_taebOMD*Al$h*nO`eyz%k&VZ8 zm5u1|X7rw|o4%x;Jx)EV`264p&lZc0-alN+ z{j2HMqt8FCo*kl|T`Ri(Ds)_LWZ0EF>(S?Ds%K9y&(;>KJV!tKDW3J{lOpx(i5`72 z6nzqk%mzkVpL{NiJ`vk`agMUplk~ZD-{_O?hP4cP#a)Yw%P-?Eu;-%JU&tSz{ROE> zuyxAi@J~Xg^iHPJri2`LexJ)fivMz=O{)_+r8udNoa8eF&c@9?aH#gi51x z@JGfb^^u+2M^nO9eOUSseo(xY<&L8)I*0X?yre!n_HIq0k8evKm$*FTvG?ba`zAb9 zBRcNK$48ol7QTfYhP|O^-{?4@B@f+g+$ucPS3SE>_;2g!n*W5BJaqSvdiI#av%hzF zRcOgWcM-*-EEoR(%p9LBX*%X_r9UK zPN}CvcV71%{gGg#d;ZAj%uhOhTk!`kEzurSL~yAWzZtM`}x!o}m1k?)oFW)O>f(AL-m8^w~XsN8{crF!kP9r0%!B=!O@Xtxz=O8j8(O2w}$t@uH$U;LnWuj1F0CVo%} zzU}zITJXFGIQ`-W56T>P;s-9j)|NDD-`w{3znP}5d!#Q9zYd3AvE4XZllnDsz3jg3 zNYmG?(pL(8ttTH(_*M0LX_o5O;@4Vl{J@^~lhwS(`L(XV6F;z@Jx)Cv=hv0q_<{Xw zj(WCtRN?tB@q^+xJ;nLeLr=-^gN0Hji`?(Rucew__o_WC66*oQO0Oqq$kOYzds?bHJ45*T+V3xce@ezlD}cY?Z#|Yimkiz z=OW)SJve|L3-RHJjo7-+iQ_=W)zN((9O(Oor@}4{ByJtIw-$Fh9;f)J^xp3A)6L)l z{g;xTemOBUKkeW*KYoH%YyIMJKTXruKLO22sA#x#Ack-k#!Qy-U~ zl$^d*%jxd&(=;{b-Q%YT>e=q`(>V2P_xS1NPZ;^!J%0NBCsOcJFh|GxPr-f<_DYIB zY-KGi$l4R@bDPWEwI_)O)=v&}G+|ROh}Rq+3lAL^ZKw&UnqzXOp*>S`9E^S849OoP z2X%6BM*})l*0TC~JTy9TmaN5y&x7C8 zcr|SoI32T)ixQ8KSgFK9Ok8E>5L;FfBVmq;nV-Zw0LO%I$5-YdN9ZG{;)449^|YOH zg~VtB5fh7~bdF(ui1L-!!(c6K)g}L9r+_x-NaiD~rvEo3-1G|cc zVfRTKNVhMEt{W2WxL5j^>eOx^zS^=_#e))kSn;4t>Ejm0FkSjM$?c;odS%iWRLm#Q z-irCW)k=Gbg%J}xNL{_X-n0W+6W$vE{cL#cgvdzj&z4m>o|0sL-huDO9ND@sTX27m zj;AEqpSSTW_Nx8t+fU20I-XK2agVSYNB=Ug7tnNzpJIWzKH zpUkRO=xm2GFw$DB;w6bWZc4;D=F1$z?>b(Y6Kz>d%(*fgeQ~f&rz%#GXkVCUf0MKq zxpAh@Shm}~IQsLX_NncuYoxvF3&}c)ynh2VZT@hmSV>|WR;*;2^yB(S-nG$T30ke& zz`63*D_V`mN?1qB)3HCFxxYrur;e2J+U!f%a*30-2( zo6;-jnTDs(D^GU+xr(spOc(~-u=lv7(nj9v0Puu^<`XN&NVT}W=fe9g4knSi zAUK!|4qAXk%Pnvrcmj`|mX4Kt0Q77eCtnsk0Am9%D&0r>4b(ir)3ru6?VyfW%O<4* zSH}HyO9x)j0#83lKT5Ws1L!MR5lax%*x?`>I?p4R?*d_2b1Fwy%D+RuLwC+%RzO*nhT;eC-PvYzLvlppn zweDCb{jM0V*X*B+%a8aR6su=XH1X5@aryB$&k}33`#ncJJ5*#s-G;cHIVoBXoZk59 zEgv^}M)RZL{U<)Ic|Yilziik3@;p_umxymkY^w=-pb@*b0h>_P_@$<*erA~OVeUg) zq7&h5sjvM$b*3%kjmTa^ZTw3uMQcv@zE}G@2lA;uXnwo&mDP^(rPo>4UmbG3w2i%p zUd2Bs#!r{NC3j;HZDgO1a&n7WpsDpvaJQTzJcs|9w=0*=BL7SFQuypJaz=BUC-ON{ zQ_i&9K>pQpS%;o%U`!KezmFUn*-u~}?|ABm&dNJVM?_|2hod?k=*FdZpX4Rk_jXVt z(9B*2uR4JPix{WC^$p^FxzzNHo_p>1T=pFpQ?TQ~<>bt?Ik~aCK*pEmkgK%=oQgh_ z+WtQcYOdY}y%soqBMrnB>am%eXEP$j>;u$j#TLH(hZZ+JsmGIQoPVlyYVTNln$P&P zoo|m{&>m~AvD#8Cg>c>}uf9jpUf3J3-mngN_ zBjZy8=P$BN#j2=_t2AN0cw;amkFAXd25HR~-uh zCHa1Lv){-zxn{2syN|o)UUz7#+egLR5r>4fTaZur&{|p?`_M`%8cN%b?_B9KIIfo* zFtx8qMr^ve*0tADxXzQjZmUkXTI!?SI=yCVZP3K4q+WR0ITBkR5|6FdBY!dnU0D)9Rdr zTq=O?ja)iNf2;c>ek&H5f_6k^tur!<_q1U1q>@>upM=cngUsrU%tFT~nbixK1uP=7 zPQl)|D5cDra>(RlCS;brmn5^0vr1;M*TFpYno1|Leyn6xNXe`p476odD4H+4{`C2g z29a6BDNVk_+}|6SrQa>FQIUDy^R(Ye4x4j(-$;R{{Z%R2f78<*nOW!D6o}0Bw4dT> z-<5v#xVqB2!JjQN^}V*CA~SV-S9tu&<+jXZjb$kIa(sLuGx1B#1wTVZkcZ6LWx3!- z%glVw_-4s-Cyj^{aQ3P#GmrN?mllpBJ~VJ>nOTW^uw~{V>O4edegl4(3T=C3W{Z;< zmzf(vhn`&T^indjGN@%HN!dzf21O_5IUPftit`-u9j`@pE=E=%?{|mZsa(Dg*(q{! z;9%$e3dzlfhFkK&9Ydfgt&j9L)54V`r}Xow<}GbMzWC8{>H^7ebLCXQ(ZE%Hs0*&7 zUQlrLnPZc2^-E;oM+sL4BnQpK)o;1}!0C#dU@u)6Ts^S&jcS{&7JbBU^{|DjDs`>( z-%_r<`tNt=CiGuf3jH?~S^a+WA7>RO>A!O<{YT6wuK#|CUa<9F0rJA=G4}dT(tpL4 zZq)nnVVBcaIvscGiRidq=s4`LxQ@$7=(t|kB6fKwijJyvuFC16qki~Xe;wE2*Z%f%y0l;IX}{`+&i-WoBQEP!CfoH!wjW+c z{a~rmQNSX0z1C4bi;qw1sQhz*Z%AQeHs@a3I_fsh_|Ro_PXCcwmtoK7eC}ZEX3ukJ z;qaBgT1Wkfyf9mqWI$Ju8t~CW7pUI z7`q;uadsbNpV!G=u9ev5*J0!DB_APwuoIny?QZnfXy_#^oc=n?cOKLBByfjs^Ps^UzKy}%ACPTnVLl4D3tPAwp{})D9?rE_ zE`RBqgk1ifE0F6dBO#NsJw8cFnVcq8((eRICYxA^$YeKGV$0;N z^ViK-i6xVFjqZ+2*0GY618kX`EixIuP#OJYq`$t!;ZD&`sxFX%T%VD7XO6!B( zk~in-gZ+&0XwI9h5B~eVdK@ED^LDD4HytC3<6L57IcDB^79)%IA@lZk@>XQ-?Ri_} ztBa2AynPqg%)Bj9*IE}X;M%K;UL2RuMKdiQ!PZC1mcBoIbTct4J4PmZ!I=1bePO~! z_wjo6&IH{ZQiz#6!@H`=|oP~v%Rf4@dQO528k ziF@oPq3#v4kDhrhgL`USf%6e$U*=RXx-#M!fg$)WgYjR8)2bNV@d;gd%3GZ?9&`Pd zRQ#;g))=21mrsh(v0tF_UszL^_qFu8@;l0Z(Yo@ve#yErUv%Br{*i5-b%h15`0L6i zJnfbLWBeCOSKgAM{f4gX_dE9=(?wU$Ows<^p7zA}_B*$p8CmEV|0OBfFY&Z@&cVM~ z`titGPx}ce+JD8-^3$KINx|inO0<**d@UJeL-ZG`7z9=m%S8u0sxr|M`95`}2@tUjNgM zkv_*-l8KS7XMIul_EBOj&BXb$sHGdp{+D}Lb8BJkd!MWkeF~T>21H`tYOKa*s-2C$ z$-W$CH?u~RiQJISCA6DH&X4$>6&JYcO7?mxYXdE#*e{s1x_!tX@pZTJPKS2hc$taA zesWExj+bH6OWb7vI>eqoa95WcgV4J0saj$aNq$-S`)T{}oda#d{84h8TpMN!*GGIl zz`^*P(Ap6Pg!FSrn`dfTHXy=^| z6Td9^o;4q|ANmoSkFQ$uakXbYj%a*_dGW?)Y@2e*W^GfF6D2W*+IW0sEPGbEb24iz zF$SS)@VJXT@zc`aQK02f7Vi3dh`8%`+{N8#9^8!%cYMs?Zgc{7U;hZ;?)Q>^=E{Me zac#?iqe*u$gS#RR?($hzCQnAi1@jZQJM|-gyJZ&czVIR9?rMX(lRUU1SNVQ}yCDhO z{rT+=pJzXA;V$n(#9beQI~~JF$UF9LnrLuGtis5gY$AU0IAfRGBKfo9CsSv-m}+Q*Rs}S;t~DaSO#mQ@p}(Rtl!EpDzM@!qvW^#R{oI{XW7I!RBU4q z<4dy+(DyiE8^;ja=xgOn_DRGxrg1jZHHp}UufK5E*ak5i726=bGj&S(*v5~n*v2<| ztJp@Z$(h8ruJc<5nDVP+-`1=H+~sMXFR_tuUYFR&_!RBG;A!uO@4BaJY-Mzc_W$l_ zk8fY+j2+po zbq_ahzj6Dp=k4Z?z`WgI&D*RGao#RA^Va=!KgDmW@{-p567$Bo-|c4JdbaKt??d?Q z2A_HB)c#&-KJkw;98rGjYt7pmjPb+bw^x5?_^sQy@oL^qH}j^~{o**6b-!L_-g>s~ z7w<#nt%Ljx@48>)BQS5Pfz8OtN_DO6)`eVq?bf=}6L#wrj9u*2f0cardHu0RyO|H) zRcD!8IlG2O-%DC+dyo0>`*M^$y3*td=8HY)lMlcC1!FJicbk0pKYH4)k+m+LeE9oQ zwEu;tJ@)W^zkK*gPy1AOBF^uTO$L8lx&4>TiUCN#W7l~ZMb@B1Va}Dd9J!eGL zdU6e~@r;jLL*N)fZS>cZ@>(wUJeL-ZBpb!Rq3y}7$OKzXelYp)U30w6I?ScLowWJz zY2ixJDH^U+^Om+BU;Jnr?smy}b7MK5I~ur3lMlay{m&|_+5vAqd|DWf0v+_c#M^Q$r_f*DM_7w>1%TyHtu5OUrrsFKJKD(;&o2R*lb(R zk$)-v{?mn#22W1HzF!zUr`Lx~+$G=B-jSSh*1wBI4_G-7fAqBPO0V&CXOEuJ_kH6Y zo}7fe^KCsv{v|mHhq4TOI_{zLPyR?NhDMf93p|t>Ro|Qh+KnIwO|5|wBUZJp-N{Ly zop%k~=)$RQT5I6sBpgq?&y$mo8h1(ZJx&|7esPYT&wRRiNv$*!^kVVv8o0{S;1BVLsyYc>i760jkzCH4vJacR8<`2eydN8xOdTo3UgizE` z`RrZmiD&FGdPR@N_)p6{?eU*{>xs)!wEw!Ny;@K3sV5%iY2Q_r#O-j8>@oN|y#G{s zN2802g#UDTe0*{LX{FOlE@D6Sl`K!x6Zi3q5B;^$Iq8B(!(iDrGEoNbVmAlOWThxezeXQ4StNy=zBD9_5S=PU!KRO z^rhug_unh7{`+GITs_0}2ToUM{HH~KJgoopq2lU33s<+PYpwfk<=U(JwvSHeK0p6S z=|A@JdO!8VM|>}zH2Y%QK+Ggy_VU3_RQ{3d<>T&)VejRWiWZaoBhC9saX^*xtM~F5 z!#a7onqj?{kKWf}Pq2#~tBvQ}7bf<_Shq7-kEI%CDjrMrZ}j-Rakw9St*ai{8Xuq5 zBj^YA%{W2F*DO8qbY&A zwU^K1QPwLaQ}c@-BmPc2rxe@xHS$DMo{;3axO-Mi&^2BkF8_lsqgQTI*Dn8a-G%>0 zCHOzY*p2NgpZ`kh2cPNn(Y1g7n4#oGomoG?{w1!`)&9MIN3z^7_U|t|?XiDr{nigE zQ?&o7r#<#>t>5~=t)BLGq}ZzfxwSIc_cnIp;qBkWw=1~?E)w?deev;Wxm7QPdC2_1|W$z4|XmJ+X=X_}RY)7VGnA=dFFKg-(Na<-M<`3GuW?X`r3R(|If z+`8BXE3flJdEUzTwCiX$kUzS5U}9aOz^bPmExDpY62BE&b+s>>Tv5i`a%Ji|*hM+$ z)?>*P9YC(=m99ijpt8 z?5^}Sxtvki*(v)nXT^d6TetR=H4E0}-8GBy#2JG>dlublz1y^Z(@AcR?ol;+YR$rG z|NRv0n>_86ZhqU{N62db-4yL#@w8XE`LP1M*PYe=8!6gv_q6Bz`<;X2a!MVn)&9;D z?H~8FuaNfhheZOO_BVUlr<&&^+rYwi+^4bbwNaPX*?A26lgeJ$q1gPd+O`3EX;Wuc z6(6722K}P>67%}=nL4+iM&?)VwKvf-K71c+oD;j`7M$;SE-f5J_gQ1EXYV#SPa(>= z4YqA?M17hG>3y2J9>%9ZM$IO#6rZLp?$hLlJDwzmNclA6H41;WObBoJRjy zaHg8awEg(vOWO*c17F5gDDmK~k#$tHw<|gI(bLn{;ARpFSnuvr*zE2B)y^JJ&EPDP zb11IMpaz${LW{8}1vl~aE%2pkZuwlob2qzqLT-1c^%Ps)gR?!KBKL~@j^#g-TEq<% zXGdB%+tlo5yf+w(oPx|ti;oWwucDXCxa3UvR`!x@gD&^Vp5?%3^p~7{nHLDPpF+*B z?4{d|o%|aA#f*LL)lNs%JEgBI$aKE6kiC%&Y}@&*mG!E&nVi{@tAE=|n|=Jx;WwG9 za`e?cbVgYqxO*adZq4Dpl)WJH*)vMcHh+sVu?vXfgsGX9Ga%S!tE!o~6MEc2-Slq8 zQ-3w%WbLVOCNzpnmvdf<28E-di<+yPj-p(2FMGZ^mm-tYS-jcoN0t?P;IhVQ>9Yl& zJ#@blH9T-FwbiXvdY(BCq2nOA1@e6)wbkrZ9p{G}_~FK3PGmtKa9|GmRL`WQ`etZo z9(wTfxpT+=fPI}`EZF^E4*LqP2pkjJ!oJSzIXHs@qk7CoesV7@&G_bb{^W>;WR@ zMl?f%G6$7T=5E;^1lwr$b#E_O-U=^mb26*cIXckhzCE4QYw%-a?q%L&-WP#OTOX&z z$p^?saz>8G^Rp%Q68@0u6S)@KWKXb<+WUJra!K%fI&kmh`V{ay9X#L2-rs$|XPeVI zHq*uPWMooSAiHV@dq$5``>1BMpNbv$s?(>v2AXdL&*e@|eDCSS>^+^xXU~phZ)mDE zcv9yNfU8VRcXjdH0!vP>vTOFcaUVRV?#Gw*`hb(H*z1y~-tyfTGQtXT-!SF zh}LiT=)?rxGGjkkuXWh^`zK`B=L7pxw*lrwAPr%k#B0Wgq`NrJnhqU8>xjcVA1M zk6%;c`cayXIo5nkR@XXyQ^vJ7e)FvY=FUA2;C`!Cm*tDZ`o($gZ~apCmbK$HC1T&Y zXOUD;tGkC<-MoPFrHhF@;yrl-bU%}*Z7}_8QZ_XECrgcPnzhiP5OEh%qg&|4U8F`An@h!AtQy@UJ)q7x zHZl3bx(r z#4h{~754y_i8Yan9VFv)JA4)N1tT)PFE#;hyLe#mKYZuF!VexLhk`|-t> zw)x&>Tt-heaBa`y(Zt=0YhBz?3z&pEY>;e&J8Tz&yX7AN+fh(*ps&r54Zy#34coB_NRMvY^kMV*H}9CW>?3`ei))-x1nQ2 zr!KT=DR!pOv!atn_D<;19MQk%Skq6jwPuo}XR+H-?ejS;!_u?ZVJhcH^eixnp8b5X zo~@1h;fhx;KGgLr9(^xqeZ$hTxn=3~>?WmW<;@aXMh*!y&B3B zXK^n1xsmVs-TKV0tk_eY_7$?We*a*-hlADrD=FGP>S^yt?!qJNkGZXWlrqcFDg9?E=A9B#y0B< zUyhGY^lWdvzK}CYpMOvz@agr1(>>!u&#rWeMs+#Mr_l3US~!yU+Q6apY=peN4@^Fv z+f}#OIaAlKK|aIhvsptxKCg`X$ZuK z2kGV_oZ`XVdy>yv6Y_cc;o$R~M=hVTy<=f*R@qC`BIj~`N;-Qflf8K!X01bFiLIOy zHq*&!Zzs;XhxmZR1X`KLeaN-!^~KTN13AN*Smc60Zu=bUu=-#&al2g3v+J$TsQZ*t zSLvJ_na;kfEzIpYVplS^Cf>CkyJfV@EoX?Y!EQ0~U19~T%<&%L2K$hWd(}DvYYeU) z$i@CCdVT&Ym7!2o=^#r9c+`uQVA!@0~=c5J@n z@~IeWRxF~fH4S~0Yg-l!SGuHE`{}Z;(qU+5qD4a^(P=_Mr{bgTVSPv97;zdZ3P*br zb4y18X+-rW!!7;9Y6m4>|UI7ocUK4W+lIFvJALnnp1PfL65(6q#u zytMSXiNUzE^i%e0_$blRUdfAbY3W^ct!b%AU2A)>o@=kYc;>K#y?8q?8Cy|4O+IOK zu-J-26Sg9<$mHK;VD~lh-U&`ddtcU_tz71A?M}5P1t^{)jc6?R&bvjnFF)2 z>!uVrk^ZW^oF$qUlRfFlqfx(cR%awvzH@%;LZ0Ou30{0C+&+Z*Y|C>G7Cn|eQ_({eoXN#^wZpe7QK_BcxF(Yg4oW$9pyw^U1=vUZg zitmG`NBsKj>pXeloi1 z-G0gECo37odg{Z}CfAdrpue9HSts8wF*5GF$oJ$sdQ<;CD)J!T*Upky+qg(0c?k`@ zGo$MJ8opm5-?Q}hS!YEW(WP=`xcWVOHu5qj`X^cQ3yxRwqOMEFN6L?bCuSm>O9PSC z;9Z;A@HJM5Q1~SEtC%Sda*%~kTf|u-Y$Io4y7{Wl#Uq!;^LaJzs`F&sxd>Ww(QM6yEw6S#&+qm-DK4*? z(0dI-iN%lN6I`yDhAq!ppzz_Z`ZQNJ4n=RFv*s*SxdjRP7yb5Xk!$~=-1-lm+nDfU!3y0D3} z%4AL0(8X!&#Ugd>awhv*jQt?L**b4Lv@1Fujn&@;t^B0@Dce z{*Qobct0mvG&m3)4s1o}c846&0{(w+?3>k%yeCZlZ6oh0=JV{JbH9vh4&&lHjd4xf zpG_`v6VJ`zQ;pFniUi#;29{nC4X*rj)Oi}3`|VJ&m2s`_?Bsj6quy~gt9hHnyu%|& z?@yv{cT6sQ&y_Jj-+%GUpU9wh`{l*wPw?&Z*Z3|1-~arPvtQ=V;JXNXU*Y0A|2U2B zeDJNuQJjQ_=`J2xcxN1b)*ozoR&;!7f?mw~4834~*NXkU=1%Z23VOls4fYR5GlvvM zv-3-$h5eoAh#`UKsQip*5PB#?w`LHFYlKHCsM{6Zka%s5;SJggZ^(P%z9H>~SiI4~ zdun)x;Mw$1hOZreKmJBj2Jc~=-TR*Z>Fx5MyeB6k`8~9Ix6tK5aI4<4vN-8Ir|=#x z9|}z!I#KiB54`ht82ZTQgOZH6|GVSY4N z(~(Sriq?H-@M8NtJ~a3_^PUtmxXgYJ`6%i=Cv~Ouv+VaQ4JOk%?Mlsi$WPJmlqS*o zE%tkgT%H=;^*txp@5#wbeh=-&nD-PJp3=I_@a`47$B(B9UHbT%MIVRLXI_3%^igp} zi6Kl*poXT|J4CH*ApvyiLLLZZ*0;iAYT?id40 zFGHVQ9(5iHyZUSZ`s~=~num-WPu6FDI6=#v_o&a*v4$vbq?Gw3EIN7=*X*PedG4iY&kpTl|fR_V956U~>kB>FAj z-f-Y3KsN`u7xL(4kvk!1=L;_F6rh_k7!&o#zBbCW?wm@z-nKWVD%(GSKZ6@%&l!3( z`dQQe*^wWMy^@ChpNB`gOaGs6Veqr(KJLB>u^VvDU`s%;db%hy+86Vkqrxvi;m zI>NI;k+uB)IN;o$L|d+o81CX>tBVK0h5W_smBZU>(D&JqSo4m}wDUj%&*hZdU2O;Pj%4d{0!+h)zuKe;RWJoEpa~ zzpMxI|1-v(%AWsezwXMvBzs=Tzkco*duq@Br;DriEdRjI@2MTN>BHBa#|Q2%ecb9p z9|yMU_0V~o%lB@-0dbqYegQIMacUbo|0;Zmih+@xBBK`|zZU!ZWF7F8@UY058f-Ts zBi903l8mIivI+St<=JAPMX?D*M$*46BR}~LGSYo#5E+MTi_6F=PrprWzw&u4&z>s% z!soM~|7QAF!o7!yk#5MxH{f25D zDSX<^<@j^uj0;&kP|ho-USOrv3p6kmiGjWRR+GZ5_+UJHb`lQgV_&|D1J<;fc;{^H z9W2a<*uHdcciv3ja$c{)Txau6O>dVdzfJT-J--d&x8}*=j-t-a&5O`EP54rctlKmb zpII^_9IXV0a!y?9ahcIh;t`#lS<&Wu%A&-(H;eCYa3(Q{n2WPUV)pgKdQ9BGJo7() zYpOnmaWsR|g^b;d@uG>1)p>6x`)MKY6a!w)-t5R@tfo!#;7RBLzL)Y(oW2=9+Vs;n zf%zgPGM@gLnY)%eU3Ve$DmsH$?%9o{24K?D&UQPZkniFgnzYe<)e>n&=D0(!iL+K9LxQ0}Y7{QZz6S&4-4PWPv-5ue#%? zcgLZWm8GwyD&8NG;Qh()KJhqfTy>s!4D|M~$n!ED=DdM9w*Bke(WOZ~_L$MZXfPkz z&38JK9LRM2ZG3oa0s4}4j*Qr8%zG0)u+Yrn6>1*Udl$opi^1~+Lbu3-3g%JvxVR49 zm9y^bSjaXfn={-qVv)Bybqt4CtvoAz$~ks=AF(N%b+n`FA<6b@x!+p|DAVYlQC{tn{AD|kK*yfxM_Ec88@;;jhi_$ z;})5x=S=4>I*eD1v9oi=^_9hHjL(qckAbTxi=hIh72kJ_pYp~Gx3tA!Gn@@^zFt=>RcP^Z1Lq}O-yoX z%=J#{1$L6JlaE~8I(Nh&dH;6q$=cR>`gda~s{aGXv{d7s1db>Dt#fk;cx?m+$cgxv zs%1>PyGh2R{aQ1oao5pqqr6|_ulTjRw+F73 zXLdMeL*I4KcRym&RzDj}KQ%u6Y@FEfDZ8JInH?jDId0$#l@{b|Cp6i)ASZV?y(yyC=WXIWGJ5>kpmDct${9t;|J3)x>BM{i?N)nh}vX$P#&8eBgB& zr*(54FY6dCFyKeYbF&{0b%ZYi7ZoQ)Zlzwg;LT3fC7ehA8FV%Kh0MOPM9quz@eF<3 zL7O?%r5%H$4|Gm`l@kqMSIGTY)xnP6y$Kzo7lpPBUe{d0oK>72d8o9py5XdXm*sgG zm-vsY{f!eH)^W1dVU^>Zm6bC_MOX*yFzp)9SHs6SD@*>2{TjS;({lQ09va>ha{CdQ zSwcTjBiKeiBN$gR^}>}GjqK77a%6wW*a`G=*QVR)r)*%w%cdXWFUfd*+bEfPVx%d1!KUl!XML|kKQf-{M29l&9B4prGkaAj_Dr~AC;bj*eDd3H^w(PQ zjtah*t?;dIyDHdmcN!c{=Uub=`Qz{rcg(=PvU1k>UB;|nue(seejfc?8%m7XhW!Dz zpE7u)vUW_Det>;t$yj13;BXZEG{ZwS4we02!@gR>zSIMIfE?|DFJ>fQUmfh2oCfwj zylY{uKkW0|F;@!g zu=h|w-Ppu@Yz%g+e3he#6@((zS%d#u!CzUMQOh4U~WfSQq z)H@k=GpFm^@vIk_xTjYa96}p$S#}ov99EV+s&RO~2Zvo`*`vXZPo=@(5Wykx*H0gO z#T_&BTw9s*i7sPaBxCL$jFe&rWYN#Hmi)D4S-IN}a$$evieX*)SttFx&_7Z`KL?9} z9r==0mi?nZOPbxl0RRipEB~FZP>ev z`AI$I-_frvHx^PSRZw4L+jG!F0f;INC_cq-WO8}eGq z(%>K)$n_b_vx;Q3k`k2BnU zt`!=Zf1+PMD@$%aL)m~W^b;Bur=g^NN=!fF!Q=C1`}gz3lT|;j(9g5fdbzZi)X!MA zpE4Ow{)8_5l;9hc3>l?tlWp`1RFmjUVg>$eWOU&~p0bTmB=i=Y#r_4heUFKrDo{KH?YtO|(?4E+FLW#N99&}@1Qx8dsWj- zYPik%%r0`u?f6@e^$=O#n@MbFHfw<+hzn%#|0>@b$dwpDTsMn<`952|6LZYsU;WP7 zS7s5l()_F6`99(_e&=8P&K?>g#_^qh^*i4)$!{3RzxthA%*+e;&cFJd?HA~D9UtR<27X&2e=~XQ_p{(z)`?iJi02AQ%+cU~ znJ4~f%gTd5fLkFUp

  • U!CW|a?4eme*i3616Biz+Kqw3 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 z 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ẘ?PWT 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