Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

remove all duplicated logic, move all macroses and query parsing functionality to golang, and compile golang parser to WASM #690

Open
wants to merge 112 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
112 commits
Select commit Hold shift + click to select a range
14d0910
refactored structure and move two methods to datasource.ts
lunaticusgreen Dec 8, 2024
845b46d
move scanner dependencies to one place
lunaticusgreen Dec 8, 2024
1a1c6b9
add backend replace implementation
lunaticusgreen Dec 8, 2024
8738583
add backend replace implementation
lunaticusgreen Dec 8, 2024
8765a74
add backend replace implementation
lunaticusgreen Dec 8, 2024
fd3cb98
change replace to endpoint request
lunaticusgreen Dec 8, 2024
d556272
Finalize migration of sql_query
lunaticusgreen Dec 8, 2024
b150ac2
remove sql-query-macros.ts
lunaticusgreen Dec 8, 2024
7ab94be
cleanup tests
lunaticusgreen Dec 8, 2024
4d4b479
sql-query-helper.ts remove unused methods
lunaticusgreen Dec 8, 2024
409441d
Deprecate modifyQuery method, it wasn't used and was replaced with to…
lunaticusgreen Dec 8, 2024
10e8b41
get rid of unnecessary use of scanner.raw()
lunaticusgreen Dec 8, 2024
a3fe164
refactoring
lunaticusgreen Dec 9, 2024
f9614b4
move adhocs processing to backend
lunaticusgreen Dec 9, 2024
185d08b
remove scanner.ts
lunaticusgreen Dec 9, 2024
43bcc1b
cleanup SQLQueryHelper imports
lunaticusgreen Dec 9, 2024
6c94ddb
Add replace time filter function to backend
lunaticusgreen Dec 9, 2024
e9dc130
Remove SQL query helper
lunaticusgreen Dec 9, 2024
4d29222
Merge branch 'master' into v4
lunaticusgreen Dec 9, 2024
c1cdde4
move replace.go to separate directory
lunaticusgreen Dec 9, 2024
c05c6bb
move resource handlers to separate directories
lunaticusgreen Dec 9, 2024
81409e9
Fixed lost tests
lunaticusgreen Dec 10, 2024
70ce512
move to observable
lunaticusgreen Dec 10, 2024
8930f76
rework query to support observable + remove deprecated tests
lunaticusgreen Dec 10, 2024
25c0420
remove unused packages
lunaticusgreen Dec 10, 2024
78142d7
remove temporary directory
lunaticusgreen Dec 10, 2024
d52c235
more refactoring
lunaticusgreen Dec 10, 2024
bc7861a
fix interval parsing
lunaticusgreen Dec 10, 2024
feab6ff
Merge branch 'master' of github.com:Altinity/clickhouse-grafana into v4
Slach Dec 11, 2024
b6f4b87
fix error handling
Slach Dec 11, 2024
343dd58
go fmt
Slach Dec 11, 2024
f74f5c2
go mod tidy applied
Slach Dec 11, 2024
920a391
fix parseInterval
Slach Dec 11, 2024
afe7cd1
Merge branch 'master' of github.com:Altinity/clickhouse-grafana into v4
Slach Dec 11, 2024
d4903a5
refactor and split into smaller files
lunaticusgreen Dec 10, 2024
d9385d9
fix missing metadata
lunaticusgreen Dec 11, 2024
453cab4
fix options.interval
lunaticusgreen Dec 11, 2024
d4cc79d
fix missing IntervalFactor
lunaticusgreen Dec 11, 2024
0d4c489
change rounding algorithm on BE
lunaticusgreen Dec 12, 2024
9153f33
Rewrite replace adhoc sript
lunaticusgreen Dec 13, 2024
79e3c96
Test adhoc rewrite
lunaticusgreen Dec 13, 2024
7fcac9d
fix tests
lunaticusgreen Dec 13, 2024
f5d750b
fix tests
lunaticusgreen Dec 13, 2024
2ca7e5f
temp disable test
lunaticusgreen Dec 13, 2024
6ffd972
fix wrong parameter
lunaticusgreen Dec 13, 2024
5f44b48
fix wrong parameter
lunaticusgreen Dec 13, 2024
ed947f8
replaces undefined with empty string
lunaticusgreen Dec 13, 2024
c3026d9
Change tests issues
lunaticusgreen Dec 13, 2024
71af90a
fix ast parsing
lunaticusgreen Dec 13, 2024
fb62f80
add create query endpoint
lunaticusgreen Dec 13, 2024
168459e
add queries optimization
lunaticusgreen Dec 14, 2024
daecb6f
Fix parsing error
lunaticusgreen Dec 16, 2024
171178a
Fix parsing error
lunaticusgreen Dec 16, 2024
e19e528
remove console.logs
lunaticusgreen Dec 16, 2024
539002b
remove console.logs
lunaticusgreen Dec 16, 2024
a4e3fe3
Add wasm test
lunaticusgreen Dec 17, 2024
06a9e1d
Add wasm test
lunaticusgreen Dec 17, 2024
ea6740b
Add wasm test
lunaticusgreen Dec 17, 2024
7df8a47
Add wasm test
lunaticusgreen Dec 17, 2024
dca7a76
remove replaceTimeFilters
lunaticusgreen Dec 18, 2024
90bc81d
remove getAstProperty
lunaticusgreen Dec 18, 2024
603162e
remove getAstProperty
lunaticusgreen Dec 18, 2024
2e789d2
Cleanup
lunaticusgreen Dec 18, 2024
c39f533
fix typo
lunaticusgreen Dec 18, 2024
94f8135
Merge branch 'master' of github.com:Altinity/clickhouse-grafana into v4
Slach Dec 18, 2024
1e0ee61
merged master to v4, update docker-compose to build wasm
Slach Dec 19, 2024
e511078
fix ci.yaml
Slach Dec 19, 2024
ce21fab
fix ci.yaml, is-compatible.yml, release.yml
Slach Dec 19, 2024
9614cc1
fuck where isStatement ;(
Slach Dec 19, 2024
bd18578
fix eval_query.go
Slach Dec 19, 2024
19e8304
fix testflows tests
Slach Dec 19, 2024
33292e6
Add compression of wasm file
lunaticusgreen Dec 19, 2024
7530940
Optimize build command
lunaticusgreen Dec 19, 2024
93a1d2b
merged master
Slach Dec 19, 2024
1f0c38e
Merge remote-tracking branch 'origin/v4' into v4
Slach Dec 19, 2024
e2f1c37
fix test command
lunaticusgreen Dec 23, 2024
169606f
fix test command
lunaticusgreen Dec 23, 2024
07b7f5c
fix test command
lunaticusgreen Dec 23, 2024
d885dba
Merge branch 'master' into v4
lunaticusgreen Dec 26, 2024
25e2d90
temp disable window_functions tests
lunaticusgreen Dec 28, 2024
2b7de24
Merge branch 'master' into v4
lunaticusgreen Dec 28, 2024
9edf6ce
Move compilation to tinygo
lunaticusgreen Jan 7, 2025
7720a3e
add tinygo setup step
lunaticusgreen Jan 7, 2025
1271e40
add tinygo setup step
lunaticusgreen Jan 7, 2025
40bd53b
add tinygo setup step
lunaticusgreen Jan 7, 2025
f770ae7
add tinygo setup step
lunaticusgreen Jan 7, 2025
8359ff8
add tinygo setup step
lunaticusgreen Jan 7, 2025
2327895
add tinygo setup step
lunaticusgreen Jan 7, 2025
8d062bf
add tinygo setup step
lunaticusgreen Jan 7, 2025
266e6ef
add tinygo setup step
lunaticusgreen Jan 7, 2025
3c8ad62
add tinygo setup step
lunaticusgreen Jan 7, 2025
bd95e17
add tinygo setup step
lunaticusgreen Jan 7, 2025
d83c8e2
add tinygo setup step
lunaticusgreen Jan 7, 2025
75f144e
merge with master and resolve conflicts in sql_series_specs.jest.ts
Slach Jan 9, 2025
68ea587
add tinygo to testflows.yml
Slach Jan 9, 2025
7c42f9e
add tinygo to docker/builder/Dockerfile
Slach Jan 9, 2025
8869965
Add proper initialisation
lunaticusgreen Jan 12, 2025
2eb7e50
Merge branch 'master' of github.com:Altinity/clickhouse-grafana into v4
Slach Jan 20, 2025
d79ac38
merge master to v4, conflict in src/datasource/datasource.ts
Slach Jan 21, 2025
0c5c30f
merge master to v4
Slach Jan 27, 2025
f424796
merge master to v4
Slach Feb 5, 2025
90f82ad
Fix errors processing logic
lunaticusgreen Feb 10, 2025
2e64066
add instruction for debug WASM code
Slach Feb 10, 2025
a748b26
add explicitly build:wasm call to frontend_coverage_builder
Slach Feb 11, 2025
5e9097e
fix ci failures
Slach Jan 27, 2025
762f761
Move wasm_exec to instrumented compatible format
lunaticusgreen Feb 23, 2025
f079c78
merge master to v4 with resolved conflicts
Slach Feb 25, 2025
4daff3a
Add building frontend
lunaticusgreen Mar 2, 2025
a2aaca5
Temp comment test, due to issue with discard button
lunaticusgreen Mar 2, 2025
f967597
Temp comment test, due to issue with discard button
lunaticusgreen Mar 2, 2025
e234b1e
Temp comment test, due to issue with discard button
lunaticusgreen Mar 3, 2025
46f2bac
Update error processing typo
lunaticusgreen Mar 3, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 9 additions & 0 deletions .config/webpack/webpack.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import ForkTsCheckerWebpackPlugin from 'fork-ts-checker-webpack-plugin';
import LiveReloadPlugin from 'webpack-livereload-plugin';
import path from 'path';
import ReplaceInFileWebpackPlugin from 'replace-in-file-webpack-plugin';
import NodePolyfillPlugin from 'node-polyfill-webpack-plugin';
import { Configuration } from 'webpack';

import { getPackageJson, getPluginJson, hasReadme, getEntries, isWSL } from './utils';
Expand Down Expand Up @@ -139,6 +140,7 @@ const config = async (env): Promise<Configuration> => {
},

plugins: [
new NodePolyfillPlugin(),
new CopyWebpackPlugin({
patterns: [
// If src/README.md exists use it; otherwise the root README
Expand Down Expand Up @@ -192,6 +194,13 @@ const config = async (env): Promise<Configuration> => {
],

resolve: {
alias: {
// Map 'node:' scheme to standard module names
'node:crypto': 'crypto-browserify',
'node:fs': 'browserify-fs', // Note: fs is not fully supported in the browser
'node:util': 'util/',
// Add other aliases as needed
},
extensions: ['.js', '.jsx', '.ts', '.tsx'],
// handle resolving "rootDir" paths
modules: [path.resolve(process.cwd(), 'src'), 'node_modules'],
Expand Down
1 change: 1 addition & 0 deletions .cursorignore
Original file line number Diff line number Diff line change
Expand Up @@ -3,3 +3,4 @@
.go-cache/
.idea/
dist/
.aider*
9 changes: 9 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
.git
.aider*
.go-cache
.idea
go_coverage
instrumented
node_modules
venv
coverage
30 changes: 17 additions & 13 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,21 +18,9 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'
cache: 'npm'

- name: Install dependencies
run: npm ci

- name: Check types
run: npm run typecheck
- name: Lint
run: npm run lint
- name: Unit tests
run: npm run test:ci
- name: Build frontend
run: npm run build

- name: Check for backend
id: check-for-backend
run: |
Expand All @@ -47,6 +35,22 @@ jobs:
with:
go-version: '1.23'

- uses: acifani/setup-tinygo@v2
with:
tinygo-version: '0.35.0'

- name: Install dependencies
run: npm ci

- name: Check types
run: npm run typecheck
- name: Lint
run: npm run lint
- name: Test frontend
run: npm run test:ci
- name: Build frontend
run: npm run build

- name: Test backend
if: steps.check-for-backend.outputs.has-backend == 'true'
uses: magefile/mage-action@v3
Expand Down
5 changes: 4 additions & 1 deletion .github/workflows/is-compatible.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,11 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'
cache: 'npm'
- uses: acifani/setup-tinygo@v2
with:
tinygo-version: '0.35.0'
- name: Install dependencies
run: npm ci
- name: Build plugin
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Setup Node.js environment
uses: actions/setup-node@v4
with:
node-version: '20'
node-version: '22'
cache: 'npm'

- name: Setup Go environment
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/testflows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,10 @@ jobs:
with:
ref: ${{ inputs.ref }}

- uses: acifani/setup-tinygo@v2
with:
tinygo-version: '0.35.0'

- name: Setup
run: tests/testflows/infra/setup.sh

Expand Down
2 changes: 1 addition & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ yarn-error.log*
.pnpm-debug.log*

node_modules/

src/static/*
# Runtime data
pids
*.pid
Expand Down
10 changes: 10 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,16 @@ docker compose up --no-deps -d grafana clickhouse
```
after that open http://localhost:3000/ to open grafana instance with one clickhouse datasource

#### Ability to debug WASM code

Install https://goo.gle/wasm-debugging-extension

Check in JS console in DevTools something like
```
[C/C++ DevTools Support (DWARF)] Loading debug symbols for wasm://wasm/main-006e733a...
[C/C++ DevTools Support (DWARF)] Loaded debug symbols for wasm://wasm/main-006e733a, found 213 source file(s)
```

#### Frontend Builder

The frontend builder is the docker container used to transpile the typescript source code into the javascript found in the `dist` dir. This will affect the grafana query and configuration functionality.
Expand Down
35 changes: 26 additions & 9 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,9 +137,17 @@ services:


frontend_builder:
image: node:lts
build:
dockerfile: ./docker/builder/Dockerfile
environment:
GOCACHE: "/go-cache"
RUN_TESTS: "${RUN_TESTS:-.+}"
CGO_ENABLED: "0"
working_dir: /grafana-clickhouse
volumes:
- ./.go-cache:/go/pkg/mod
- ./.go-cache:/root/go/pkg/mod
- ./.go-cache:/go-cache
- ./:/grafana-clickhouse
# for speedup npm install under WSL
# - "node_modules:/grafana-clickhouse/node_modules"
Expand All @@ -151,7 +159,8 @@ services:
'

backend_builder:
image: golang:1.23
build:
dockerfile: ./docker/builder/Dockerfile
working_dir: /go/src/grafana-clickhouse
environment:
GOCACHE: "/go-cache"
Expand All @@ -160,18 +169,20 @@ services:
volumes:
- ./:/go/src/grafana-clickhouse
- ./.go-cache:/go/pkg/mod
- ./.go-cache:/root/go/pkg/mod
- ./.go-cache:/go-cache
command: |
bash -xec "
git config --global --add safe.directory /go/src/grafana-clickhouse &&
(command -v mage || go install -v github.com/magefile/mage@latest) &&
go test -timeout 1m -failfast -tags=integration -run "${RUN_TESTS:-.+}" -v ./pkg/ &&
go test -timeout 1m -failfast -tags=integration -run "${RUN_TESTS:-.+}" -v ./pkg/... &&
mage -v &&
chmod +x ./dist/altinity-clickhouse-plugin*
"

frontend_coverage_builder:
image: node:lts
build:
dockerfile: ./docker/builder/Dockerfile
working_dir: /grafana-clickhouse
volumes:
- ./:/grafana-clickhouse
Expand All @@ -180,15 +191,17 @@ services:
command: |
bash -xec '
if [[ "3" == `ls -la ./node_modules/ | wc -l` ]]; then npm install; fi && \
npm run build:wasm &&
mkdir -p instrumented &&
npm run create_instrumented &&
cp -R -n src/* instrumented/ &&
npm run build:test
npm run build:test:frontend &&
npm run test:coverage
'

frontend_coverage_generate:
image: node:lts
build:
dockerfile: ./docker/builder/Dockerfile
working_dir: /grafana-clickhouse
volumes:
- ./:/grafana-clickhouse
Expand All @@ -205,7 +218,8 @@ services:
'

backend_coverage_builder:
image: golang:1.23
build:
dockerfile: ./docker/builder/Dockerfile
working_dir: /go/src/grafana-clickhouse
environment:
GOCACHE: "/go-cache"
Expand All @@ -214,19 +228,22 @@ services:
volumes:
- ./:/go/src/grafana-clickhouse
- ./.go-cache:/go/pkg/mod
- ./.go-cache:/root/go/pkg/mod
- ./.go-cache:/go-cache
command: |
bash -xec "
git config --global --add safe.directory /go/src/grafana-clickhouse &&
(command -v mage || go install -v github.com/magefile/mage@latest) &&
mkdir -p /go/src/grafana-clickhouse/go_coverage/raw &&
go test -timeout 1m -cover -failfast -tags=integration -run "${RUN_TESTS:-.+}" -v ./pkg/ -test.gocoverdir="/go/src/grafana-clickhouse/go_coverage" &&
go env &&
go test -timeout 1m -cover -failfast -tags=integration -run "${RUN_TESTS:-.+}" -v ./pkg/... -test.gocoverdir="/go/src/grafana-clickhouse/go_coverage" &&
GOOS=linux GOARCH=amd64 go build -cover -buildvcs=false -o ./dist/altinity-clickhouse-plugin_linux_amd64 ./pkg/ &&
chmod +x dist/altinity-clickhouse-plugin*
"

backend_coverage_generate:
image: golang:1.23
build:
dockerfile: ./docker/builder/Dockerfile
working_dir: /go/src/grafana-clickhouse
volumes:
- ./:/go/src/grafana-clickhouse
Expand Down
19 changes: 19 additions & 0 deletions docker/builder/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
FROM ubuntu:latest
LABEL maintainer="Altinity <[email protected]>"

ARG NODEJS_VERSION=22
ARG GOLANG_VERSION=1.23
ARG TINYGO_VERSION=0.35.0

RUN apt update && apt install --no-install-recommends -y curl git gnupg2 software-properties-common && \
( curl -fsSL https://deb.nodesource.com/setup_${NODEJS_VERSION}.x | bash - ) && \
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 52B59B1571A79DBC054901C0F6BC817356A3D45E && \
add-apt-repository -y ppa:longsleep/golang-backports && \
apt update && apt install -y nodejs golang-${GOLANG_VERSION} && \
ln -nsfv "/usr/lib/go-${GOLANG_VERSION}/bin/go" /usr/bin/go && \
curl -sL -o "/tmp/tinygo_${TINYGO_VERSION}_amd64.deb" "https://github.com/tinygo-org/tinygo/releases/download/v${TINYGO_VERSION}/tinygo_${TINYGO_VERSION}_amd64.deb" && \
dpkg -i "/tmp/tinygo_${TINYGO_VERSION}_amd64.deb" && \
rm -rfv "/tmp/tinygo_${TINYGO_VERSION}_amd64.deb" && \
go install -v github.com/magefile/mage@latest && go env > $HOME/go_env && . $HOME/go_env && ln -nsfv "$GOPATH/bin/mage" /usr/bin/mage && \
apt clean && rm -rf /var/lib/apt/lists/*

2 changes: 2 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,15 @@ require (
github.com/andybalholm/brotli v1.1.1
github.com/dlclark/regexp2 v1.11.4
github.com/grafana/grafana-plugin-sdk-go v0.260.1
github.com/hyperjumptech/jiffy v1.0.0
github.com/klauspost/compress v1.17.11
github.com/stretchr/testify v1.10.0
golang.org/x/sync v0.10.0
)

require (
github.com/BurntSushi/toml v1.4.0 // indirect
github.com/antlr/antlr4 v0.0.0-20200124162019-2d7f727a00b7 // indirect
github.com/apache/arrow/go/v15 v15.0.2 // indirect
github.com/beorn7/perks v1.0.1 // indirect
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
Expand Down
4 changes: 4 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ github.com/BurntSushi/toml v1.4.0 h1:kuoIxZQy2WRRk1pttg9asf+WVv6tWQuBNVmK8+nqPr0
github.com/BurntSushi/toml v1.4.0/go.mod h1:ukJfTF/6rtPPRCnwkur4qwRxa8vTRFBF0uk2lLoLwho=
github.com/andybalholm/brotli v1.1.1 h1:PR2pgnyFznKEugtsUo0xLdDop5SKXd5Qf5ysW+7XdTA=
github.com/andybalholm/brotli v1.1.1/go.mod h1:05ib4cKhjx3OQYUY22hTVd34Bc8upXjOLL2rKwwZBoA=
github.com/antlr/antlr4 v0.0.0-20200124162019-2d7f727a00b7 h1:4IkFZAFQ87SeXXF6n+nwLyK2K+tcA5OojhBVf2lhg8g=
github.com/antlr/antlr4 v0.0.0-20200124162019-2d7f727a00b7/go.mod h1:T7PbCXFs94rrTttyxjbyT5+/1V8T2TYDejxUfHJjw1Y=
github.com/apache/arrow/go/v15 v15.0.2 h1:60IliRbiyTWCWjERBCkO1W4Qun9svcYoZrSLcyOsMLE=
github.com/apache/arrow/go/v15 v15.0.2/go.mod h1:DGXsR3ajT524njufqf95822i+KTh+yea1jass9YXgjA=
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
Expand Down Expand Up @@ -85,6 +87,8 @@ github.com/hashicorp/go-plugin v1.6.2 h1:zdGAEd0V1lCaU0u+MxWQhtSDQmahpkwOun8U8Ei
github.com/hashicorp/go-plugin v1.6.2/go.mod h1:CkgLQ5CZqNmdL9U9JzM532t8ZiYQ35+pj3b1FD37R0Q=
github.com/hashicorp/yamux v0.1.2 h1:XtB8kyFOyHXYVFnwT5C3+Bdo8gArse7j2AQ0DA0Uey8=
github.com/hashicorp/yamux v0.1.2/go.mod h1:C+zze2n6e/7wshOZep2A70/aQU6QBRWJO/G6FT1wIns=
github.com/hyperjumptech/jiffy v1.0.0 h1:hLfjgh4YQPYFanSmh06nfN2Es7BZ1WF2sQwmZIQ5tHQ=
github.com/hyperjumptech/jiffy v1.0.0/go.mod h1:iFHHUap4onOTcvqBBU0iF33snPmqz4DSA/KgnBHG7dU=
github.com/invopop/yaml v0.3.1 h1:f0+ZpmhfBSS4MhG+4HYseMdJhoeeopbSKbq5Rpeelso=
github.com/invopop/yaml v0.3.1/go.mod h1:PMOp3nn4/12yEZUFfmOuNHJsZToEEOwoWsT+D81KkeA=
github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgfCL6c=
Expand Down
Loading