From 7c7e6a9171913f0fbebb7db0bb7a82b0da87944c Mon Sep 17 00:00:00 2001 From: Richard Ramos Date: Mon, 4 Jul 2022 13:01:54 -0400 Subject: [PATCH] feat: cross compilation and API refactor (#1) * chore: use cross instead of rustup for building rln * chore: generate protobuffer and contract * refactor: make API match nwaku * feat: add WakuRLNRelay type * test: rln * chore: add more architectures * refactor: use time.Duration instead of uint/float --- LICENSE | 1 + Makefile | 19 +- README.md | 33 + go.mod | 6 + go.sum | 624 ++++++++- lib/rln | 2 +- libs/aarch64-linux-android/librln.d | 1 + libs/aarch64-linux-android/librln.rlib | Bin 0 -> 1741466 bytes libs/aarch64-unknown-linux-gnu/librln.d | 1 + libs/aarch64-unknown-linux-gnu/librln.rlib | Bin 0 -> 1740576 bytes libs/arm-unknown-linux-gnueabi/librln.d | 1 + libs/arm-unknown-linux-gnueabi/librln.rlib | Bin 0 -> 1775874 bytes libs/arm-unknown-linux-gnueabihf/librln.d | 1 + libs/arm-unknown-linux-gnueabihf/librln.rlib | Bin 0 -> 1775948 bytes libs/armv7-linux-androideabi/librln.d | 1 + libs/armv7-linux-androideabi/librln.rlib | Bin 0 -> 1702194 bytes libs/i686-linux-android/librln.d | 1 + libs/i686-linux-android/librln.rlib | Bin 0 -> 1807118 bytes libs/i686-pc-windows-gnu/librln.d | 1 + libs/i686-pc-windows-gnu/librln.dll.a | Bin 0 -> 7732 bytes libs/i686-pc-windows-gnu/librln.rlib | Bin 0 -> 1764682 bytes libs/i686-unknown-linux-gnu/librln.d | 1 + libs/i686-unknown-linux-gnu/librln.rlib | Bin 0 -> 1806010 bytes libs/mips-unknown-linux-gnu/librln.d | 1 + libs/mips-unknown-linux-gnu/librln.rlib | Bin 0 -> 1869028 bytes libs/mips64-unknown-linux-gnuabi64/librln.d | 1 + .../mips64-unknown-linux-gnuabi64/librln.rlib | Bin 0 -> 1990010 bytes libs/mips64el-unknown-linux-gnuabi64/librln.d | 1 + .../librln.rlib | Bin 0 -> 1987126 bytes libs/mipsel-unknown-linux-gnu/librln.d | 1 + libs/mipsel-unknown-linux-gnu/librln.rlib | Bin 0 -> 1866136 bytes libs/x86_64-apple-darwin/librln.d | 1 - libs/x86_64-apple-darwin/librln.rlib | Bin 1652304 -> 0 bytes libs/x86_64-linux-android/librln.d | 1 + libs/x86_64-linux-android/librln.rlib | Bin 0 -> 1834172 bytes libs/x86_64-pc-windows-gnu/librln.d | 1 + libs/x86_64-pc-windows-gnu/librln.dll.a | Bin 0 -> 6238 bytes libs/x86_64-pc-windows-gnu/librln.rlib | Bin 0 -> 1697282 bytes libs/x86_64-unknown-linux-gnu/librln.d | 1 + libs/x86_64-unknown-linux-gnu/librln.rlib | Bin 0 -> 1833008 bytes libs/x86_64-unknown-linux-musl/librln.d | 2 +- libs/x86_64-unknown-linux-musl/librln.rlib | Bin 1735314 -> 1832934 bytes rln/contracts/RLN.go | 1222 +++++++++++++++++ rln/contracts/RLN.sol | 98 ++ rln/contracts/crypto/PoseidonHasher.sol | 535 ++++++++ rln/contracts/generate.go | 3 + rln/librln.h | 17 +- rln/pb/generate.go | 3 + rln/pb/waku_message.pb.go | 969 +++++++++++++ rln/pb/waku_message.proto | 20 + rln/rln.go | 359 +++-- rln/rln_linux64.go | 1 + rln/rln_test.go | 322 +++-- rln/serialize.go | 38 + rln/testdata/parameters.key | Bin 3891544 -> 2392664 bytes rln/types.go | 279 ++++ rln/utils.go | 36 + rln/waku_rln_relay.go | 296 ++++ scripts/Cross.toml | 32 + scripts/build-cross.sh | 63 + scripts/build.sh | 4 +- 61 files changed, 4790 insertions(+), 210 deletions(-) create mode 100644 libs/aarch64-linux-android/librln.d create mode 100644 libs/aarch64-linux-android/librln.rlib create mode 100644 libs/aarch64-unknown-linux-gnu/librln.d create mode 100644 libs/aarch64-unknown-linux-gnu/librln.rlib create mode 100644 libs/arm-unknown-linux-gnueabi/librln.d create mode 100644 libs/arm-unknown-linux-gnueabi/librln.rlib create mode 100644 libs/arm-unknown-linux-gnueabihf/librln.d create mode 100644 libs/arm-unknown-linux-gnueabihf/librln.rlib create mode 100644 libs/armv7-linux-androideabi/librln.d create mode 100644 libs/armv7-linux-androideabi/librln.rlib create mode 100644 libs/i686-linux-android/librln.d create mode 100644 libs/i686-linux-android/librln.rlib create mode 100644 libs/i686-pc-windows-gnu/librln.d create mode 100644 libs/i686-pc-windows-gnu/librln.dll.a create mode 100644 libs/i686-pc-windows-gnu/librln.rlib create mode 100644 libs/i686-unknown-linux-gnu/librln.d create mode 100644 libs/i686-unknown-linux-gnu/librln.rlib create mode 100644 libs/mips-unknown-linux-gnu/librln.d create mode 100644 libs/mips-unknown-linux-gnu/librln.rlib create mode 100644 libs/mips64-unknown-linux-gnuabi64/librln.d create mode 100644 libs/mips64-unknown-linux-gnuabi64/librln.rlib create mode 100644 libs/mips64el-unknown-linux-gnuabi64/librln.d create mode 100644 libs/mips64el-unknown-linux-gnuabi64/librln.rlib create mode 100644 libs/mipsel-unknown-linux-gnu/librln.d create mode 100644 libs/mipsel-unknown-linux-gnu/librln.rlib delete mode 100644 libs/x86_64-apple-darwin/librln.d delete mode 100644 libs/x86_64-apple-darwin/librln.rlib create mode 100644 libs/x86_64-linux-android/librln.d create mode 100644 libs/x86_64-linux-android/librln.rlib create mode 100644 libs/x86_64-pc-windows-gnu/librln.d create mode 100644 libs/x86_64-pc-windows-gnu/librln.dll.a create mode 100644 libs/x86_64-pc-windows-gnu/librln.rlib create mode 100644 libs/x86_64-unknown-linux-gnu/librln.d create mode 100644 libs/x86_64-unknown-linux-gnu/librln.rlib create mode 100644 rln/contracts/RLN.go create mode 100644 rln/contracts/RLN.sol create mode 100644 rln/contracts/crypto/PoseidonHasher.sol create mode 100644 rln/contracts/generate.go create mode 100644 rln/pb/generate.go create mode 100644 rln/pb/waku_message.pb.go create mode 100644 rln/pb/waku_message.proto create mode 100644 rln/serialize.go create mode 100644 rln/types.go create mode 100644 rln/utils.go create mode 100644 rln/waku_rln_relay.go create mode 100644 scripts/Cross.toml create mode 100755 scripts/build-cross.sh mode change 100644 => 100755 scripts/build.sh diff --git a/LICENSE b/LICENSE index 915b62e..8efb4fd 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,7 @@ MIT License Copyright (c) 2021 Dean Eigenmann +Copyright (c) 2022 Status Research & Development GmbH Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Makefile b/Makefile index 6b2be34..e877c18 100644 --- a/Makefile +++ b/Makefile @@ -1,5 +1,20 @@ .PHONY: rlnlib -rlnlib: - sh scripts/build.sh +SHELL := bash # the shell used internally by Make + +GOBIN ?= $(shell which go) + +rlnlib-cross: + scripts/build-cross.sh cd lib/rln && cbindgen --config ../cbindgen.toml --crate rln --output ../../rln/librln.h --lang c + +rlnlib: + scripts/build.sh + cd lib/rln && cbindgen --config ../cbindgen.toml --crate rln --output ../../rln/librln.h --lang c + +generate: + ${GOBIN} generate ./rln/pb/generate.go + ${GOBIN} generate ./rln/contracts/generate.go + +test: + LD_LIBRARY_PATH="${PWD}/libs/x86_64-unknown-linux-gnu/" go test ./... -count 1 -v \ No newline at end of file diff --git a/README.md b/README.md index 415a790..8a31436 100644 --- a/README.md +++ b/README.md @@ -10,3 +10,36 @@ Further research can be found here: The goal of this is to create a rate-limiter for blockchains where block production is cheap. I started playing around with this after talking to the team at [Celestia](https://celestia.org/). + + +### Building this library + +#### Using [cross](https://github.com/cross-rs) + +``` +make rlnlibs-cross +``` + +Some architectures are not available in cross unless they're locally build. This [PR](https://github.com/cross-rs/cross/pull/591) will update ubuntu base version on cross. But while it's merged, build them locally. To build them locally execute the following instructions (adapted from [here](https://github.com/cross-rs/cross/wiki/FAQ#newer-linux-versions)): + +``` +git clone --single-branch --depth 1 --branch increment_versions https://github.com/Alexhuszagh/cross +cd cross +cargo build-docker-image x86_64-pc-windows-gnu +cargo build-docker-image aarch64-unknown-linux-gnu +cargo build-docker-image x86_64-unknown-linux-gnu +cargo build-docker-image arm-unknown-linux-gnueabi +cargo build-docker-image i686-pc-windows-gnu +cargo build-docker-image i686-unknown-linux-gnu +cargo build-docker-image arm-unknown-linux-gnueabihf +cargo build-docker-image mips-unknown-linux-gnu +cargo build-docker-image mips64-unknown-linux-gnuabi64 +cargo build-docker-image mips64el-unknown-linux-gnuabi64 +cargo build-docker-image mipsel-unknown-linux-gnu +``` + +#### Using [rustup](https://rust-lang.github.io/rustup/cross-compilation.html) + +``` +make rlnlibs-cross +``` \ No newline at end of file diff --git a/go.mod b/go.mod index a527e55..8c85738 100644 --- a/go.mod +++ b/go.mod @@ -1,3 +1,9 @@ module github.com/decanus/go-rln go 1.16 + +require ( + github.com/ethereum/go-ethereum v1.10.20 + github.com/golang/protobuf v1.5.2 + github.com/stretchr/testify v1.7.2 +) diff --git a/go.sum b/go.sum index e29e10a..168f86b 100644 --- a/go.sum +++ b/go.sum @@ -1,2 +1,622 @@ -github.com/cbergoon/merkletree v0.2.0 h1:Bttqr3OuoiZEo4ed1L7fTasHka9II+BF9fhBfbNEEoQ= -github.com/cbergoon/merkletree v0.2.0/go.mod h1:5c15eckUgiucMGDOCanvalj/yJnD+KAZj1qyJtRW5aM= +cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw= +cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU= +cloud.google.com/go v0.43.0/go.mod h1:BOSR3VbTLkk6FDC/TcffxP4NF/FFBGA5ku+jvKOP7pg= +cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU= +cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY= +cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc= +cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0= +cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To= +cloud.google.com/go v0.51.0/go.mod h1:hWtGJ6gnXH+KgDv+V0zFGDvpi07n3z8ZNj3T1RW0Gcw= +cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= +cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= +cloud.google.com/go/bigtable v1.2.0/go.mod h1:JcVAOl45lrTmQfLj7T6TxyMzIN/3FGGcFm+2xVAli2o= +cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= +cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= +cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= +cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= +cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= +collectd.org v0.3.0/go.mod h1:A/8DzQBkF6abtvrT2j/AU/4tiBgJWYyh0y/oB/4MlWE= +dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= +github.com/Azure/azure-sdk-for-go/sdk/azcore v0.21.1/go.mod h1:fBF9PQNqB8scdgpZ3ufzaLntG0AG7C1WjPMsiFOmfHM= +github.com/Azure/azure-sdk-for-go/sdk/internal v0.8.3/go.mod h1:KLF4gFr6DcKFZwSuH8w8yEK6DpFl3LP5rhdvAb7Yz5I= +github.com/Azure/azure-sdk-for-go/sdk/storage/azblob v0.3.0/go.mod h1:tPaiy8S5bQ+S5sOiDlINkp7+Ef339+Nz5L5XO+cnOHo= +github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= +github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ= +github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= +github.com/DATA-DOG/go-sqlmock v1.3.3/go.mod h1:f/Ixk793poVmq4qj/V1dPUg2JEAKC73Q5eFN3EC/SaM= +github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6 h1:fLjPD/aNc3UIOA6tDi6QXUemppXK3P9BI7mr2hd6gx8= +github.com/StackExchange/wmi v0.0.0-20180116203802-5d049714c4a6/go.mod h1:3eOhrUMpNV+6aFIbp5/iudMxNCF27Vw2OZgy4xEx0Fg= +github.com/VictoriaMetrics/fastcache v1.6.0 h1:C/3Oi3EiBCqufydp1neRZkqcwmEiuRT9c3fqvvgKm5o= +github.com/VictoriaMetrics/fastcache v1.6.0/go.mod h1:0qHz5QP0GMX4pfmMA/zt5RgfNuXJrTP0zS7DqpHGGTw= +github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw= +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/allegro/bigcache v1.2.1-0.20190218064605-e24eb225f156/go.mod h1:Cb/ax3seSYIx7SuZdm2G2xzfwmv3TPSk2ucNfQESPXM= +github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8= +github.com/apache/arrow/go/arrow v0.0.0-20191024131854-af6fa24be0db/go.mod h1:VTxUBvSJ3s3eHAg65PNgrsn5BtqCRPdmyXh6rAfdxN0= +github.com/aws/aws-sdk-go-v2 v1.2.0/go.mod h1:zEQs02YRBw1DjK0PoJv3ygDYOFTre1ejlJWl8FwAuQo= +github.com/aws/aws-sdk-go-v2/config v1.1.1/go.mod h1:0XsVy9lBI/BCXm+2Tuvt39YmdHwS5unDQmxZOYe8F5Y= +github.com/aws/aws-sdk-go-v2/credentials v1.1.1/go.mod h1:mM2iIjwl7LULWtS6JCACyInboHirisUUdkBPoTHMOUo= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.0.2/go.mod h1:3hGg3PpiEjHnrkrlasTfxFqUsZ2GCk/fMUn4CbKgSkM= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.0.2/go.mod h1:45MfaXZ0cNbeuT0KQ1XJylq8A6+OpVV2E5kvY/Kq+u8= +github.com/aws/aws-sdk-go-v2/service/route53 v1.1.1/go.mod h1:rLiOUrPLW/Er5kRcQ7NkwbjlijluLsrIbu/iyl35RO4= +github.com/aws/aws-sdk-go-v2/service/sso v1.1.1/go.mod h1:SuZJxklHxLAXgLTc1iFXbEWkXs7QRTQpCLGaKIprQW0= +github.com/aws/aws-sdk-go-v2/service/sts v1.1.1/go.mod h1:Wi0EBZwiz/K44YliU0EKxqTCJGUfYTWXrrBwkq736bM= +github.com/aws/smithy-go v1.1.0/go.mod h1:EzMw8dbp/YJL4A5/sbhGddag+NPT7q084agLbB9LgIw= +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/bmizerany/pat v0.0.0-20170815010413-6226ea591a40/go.mod h1:8rLXio+WjiTceGBHIoTvn60HIbs7Hm7bcHjyrSqYB9c= +github.com/boltdb/bolt v1.3.1/go.mod h1:clJnj/oiGkjum5o1McbSZDSLxVThjynRyGBgiAx27Ps= +github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k= +github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U= +github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1/go.mod h1:7SFka0XMvUgj3hfZtydOrQY2mwhPclbT2snogU7SQQc= +github.com/c-bata/go-prompt v0.2.2/go.mod h1:VzqtzE2ksDBcdln8G7mk2RX9QyGjH+OVqOCSiVIqS34= +github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= +github.com/cespare/cp v0.1.0 h1:SE+dxFebS7Iik5LK0tsi1k9ZCxEaFX4AjQmoyA+1dJk= +github.com/cespare/cp v0.1.0/go.mod h1:SOGHArjBr4JWaSDEVpWpo/hNg6RoKrls6Oh40hiwW+s= +github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko= +github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= +github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY= +github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs= +github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI= +github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI= +github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU= +github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw= +github.com/cloudflare/cloudflare-go v0.14.0/go.mod h1:EnwdgGMaFOruiPZRFSgn+TsQ3hQ7C/YWzIGLeu5c304= +github.com/consensys/bavard v0.1.8-0.20210406032232-f3452dc9b572/go.mod h1:Bpd0/3mZuaj6Sj+PqrmIquiOKy397AKGThQPaGzNXAQ= +github.com/consensys/gnark-crypto v0.4.1-0.20210426202927-39ac3d4b3f1f/go.mod h1:815PAHg3wvysy0SyIqanF8gZ0Y1wjk/hrDHD/iT88+Q= +github.com/cpuguy83/go-md2man/v2 v2.0.0-20190314233015-f79a8a8ca69d/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= +github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o= +github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E= +github.com/cyberdelia/templates v0.0.0-20141128023046-ca7fffd4298c/go.mod h1:GyV+0YP4qX0UQ7r2MoYZ+AvYDp12OF5yg4q8rGnyNh4= +github.com/dave/jennifer v1.2.0/go.mod h1:fIb+770HOpJ2fmN9EPPKOqm1vMGhB+TwXKMZhrIygKg= +github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c= +github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= +github.com/deckarep/golang-set v1.8.0 h1:sk9/l/KqpunDwP7pSjUg0keiOOLEnOBHzykLrsPppp4= +github.com/deckarep/golang-set v1.8.0/go.mod h1:5nI87KwE7wgsBU1F4GKAw2Qod7p5kyS383rP6+o6qqo= +github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0= +github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc= +github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs= +github.com/deepmap/oapi-codegen v1.6.0/go.mod h1:ryDa9AgbELGeB+YEXE1dR53yAjHwFvE9iAUlWl9Al3M= +github.com/deepmap/oapi-codegen v1.8.2/go.mod h1:YLgSKSDv/bZQB7N4ws6luhozi3cEdRktEqrX88CvjIw= +github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ= +github.com/dgryski/go-bitstream v0.0.0-20180413035011-3522498ce2c8/go.mod h1:VMaSuZ+SZcx/wljOQKvp5srsbCiKDEb6K2wC4+PiBmQ= +github.com/dgryski/go-sip13 v0.0.0-20181026042036-e10d5fee7954/go.mod h1:vAd38F8PWV+bWy6jNmig1y/TA+kYO4g3RSRF0IAv0no= +github.com/dlclark/regexp2 v1.4.1-0.20201116162257-a2a8dda75c91/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= +github.com/dnaeon/go-vcr v1.1.0/go.mod h1:M7tiix8f0r6mKKJ3Yq/kqU1OYf3MnfmBWVbPx/yU9ko= +github.com/dnaeon/go-vcr v1.2.0/go.mod h1:R4UdLID7HZT3taECzJs4YgbbH6PIGXB6W/sc5OLb6RQ= +github.com/docker/docker v1.6.2/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/dop251/goja v0.0.0-20220405120441-9037c2b61cbf/go.mod h1:R9ET47fwRVRPZnOGvHxxhuZcbrMCuiqOz3Rlrh4KSnk= +github.com/dop251/goja_nodejs v0.0.0-20210225215109-d91c329300e7/go.mod h1:hn7BA7c8pLvoGndExHudxTDKZ84Pyvv+90pbBjbTz0Y= +github.com/eclipse/paho.mqtt.golang v1.2.0/go.mod h1:H9keYFcgq3Qr5OUJm/JZI/i6U7joQ8SYLhZwfeOo6Ts= +github.com/edsrzf/mmap-go v1.0.0 h1:CEBF7HpRnUCSJgGUb5h1Gm7e3VkmVDrR8lvWVLtrOFw= +github.com/edsrzf/mmap-go v1.0.0/go.mod h1:YO35OhQPt3KJa3ryjFM5Bs14WD66h8eGKpfaBNrHW5M= +github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= +github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= +github.com/ethereum/go-ethereum v1.10.20 h1:75IW830ClSS40yrQC1ZCMZCt5I+zU16oqId2SiQwdQ4= +github.com/ethereum/go-ethereum v1.10.20/go.mod h1:LWUN82TCHGpxB3En5HVmLLzPD7YSrEUFmFfN1nKkVN0= +github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= +github.com/fjl/gencodec v0.0.0-20220412091415-8bb9e558978c/go.mod h1:AzA8Lj6YtixmJWL+wkKoBGsLWy9gFrAzi4g+5bCKwpY= +github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5/go.mod h1:VvhXpOYNQvB+uIk2RvXzuaQtkQJzzIx6lSBe1xv7hi0= +github.com/fogleman/gg v1.2.1-0.20190220221249-0403632d5b90/go.mod h1:R/bRT+9gY/C5z7JzPU0zXsXHKM4/ayA+zqcVNZzPa1k= +github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= +github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= +github.com/fsnotify/fsnotify v1.5.4/go.mod h1:OVB6XrOHzAwXMpEM7uPOzcehqUV2UqJxmVXmkdnm1bU= +github.com/garslo/gogen v0.0.0-20170306192744-1d203ffc1f61/go.mod h1:Q0X6pkwTILDlzrGEckF6HKjXe48EgsY/l7K7vhY4MW8= +github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff/go.mod h1:x7DCsMOv1taUwEWCzT4cmDeAkigA5/QCwUodaVOe8Ww= +github.com/getkin/kin-openapi v0.53.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/getkin/kin-openapi v0.61.0/go.mod h1:7Yn5whZr5kJi6t+kShccXS8ae1APpYTW6yheSwk8Yi4= +github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= +github.com/glycerine/go-unsnap-stream v0.0.0-20180323001048-9f0cb55181dd/go.mod h1:/20jfyN9Y5QPEAprSgKAUr+glWDY39ZiUEAYOEv5dsE= +github.com/glycerine/goconvey v0.0.0-20190410193231-58a59202ab31/go.mod h1:Ogl1Tioa0aV7gstGFO7KhffUsb9M4ydbEbbxpcEDc24= +github.com/go-chi/chi/v5 v5.0.0/go.mod h1:BBug9lr0cqtdAhsu6R4AAdvufI0/XBzAQSsUqJpoZOs= +github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU= +github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= +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-ole/go-ole v1.2.1 h1:2lOsA72HgjxAuMlKpFiCbHTvu44PIVkZ5hqm3RSdI/E= +github.com/go-ole/go-ole v1.2.1/go.mod h1:7FAglXiTm7HKlQRDeOQ6ZNUHidzCWXuZWq/1dTyBNF8= +github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg= +github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk= +github.com/go-sourcemap/sourcemap v2.1.3+incompatible/go.mod h1:F8jJfvm2KbVjc5NqelyYJmf/v5J0dwNLS2mL4sNA1Jg= +github.com/go-sql-driver/mysql v1.4.1/go.mod h1:zAC/RDZ24gD3HViQzih4MyKcchzm+sOG5ZlKdlhCg5w= +github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk= +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/gofrs/uuid v3.3.0+incompatible/go.mod h1:b2aQJv3Z4Fp6yNu3cdSllBxTCLRxnplIgP/c0N/04lM= +github.com/gogo/protobuf v1.1.1/go.mod h1:r8qH/GZQm5c6nD/R0oafs1akxWv10x8SbQlK7atdtwQ= +github.com/gogo/protobuf v1.3.1/go.mod h1:SlYgWuQ5SjCEi6WLHjHCa1yvBfUnHcTbrrZtXPKa29o= +github.com/golang-jwt/jwt/v4 v4.3.0/go.mod h1:/xlHOz8bRuivTWchD4jCa+NbatV+wEUSzwAxVc6locg= +github.com/golang/freetype v0.0.0-20170609003504-e2365dfdc4a0/go.mod h1:E/TSTwGwJL78qG/PmXZO1EjYhfJinVAhrmmHX6Z8B9k= +github.com/golang/geo v0.0.0-20190916061304-5b978397cfec/go.mod h1:QZ0nwyI2jOfgRAoBvP+ab5aRr7c9x7lhGEJrKvBwjWI= +github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= +github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= +github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A= +github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y= +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.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.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= +github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= +github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= +github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/snappy v0.0.0-20180518054509-2e65f85255db/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= +github.com/golang/snappy v0.0.4/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= +github.com/golangci/lint-1 v0.0.0-20181222135242-d2cdd8c08219/go.mod h1:/X8TswGSh1pIozq4ZwCfxS0WA5JGXguxk94ar/4c87Y= +github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ= +github.com/google/flatbuffers v1.11.0/go.mod h1:1AeVuKshWv4vARoZatz6mlQ0JxURH0Kv5+zNeJKJCa8= +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.4.1/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 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU= +github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= +github.com/google/gofuzz v1.1.1-0.20200604201612-c04b05f3adfa/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= +github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= +github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc= +github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= +github.com/google/pprof v0.0.0-20210407192527-94a9f03dee38/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= +github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/uuid v1.2.0 h1:qJYtXnJRWmpe7m/3XlyhrsLrEURqHRM2kxzoxXqyUDs= +github.com/google/uuid v1.2.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= +github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= +github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= +github.com/gorilla/mux v1.8.0/go.mod h1:DVbg23sWSpFRCP0SfiEN6jmj59UnW/n46BH5rLB71So= +github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc= +github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE= +github.com/graph-gophers/graphql-go v1.3.0/go.mod h1:9CQHMSxwO4MprSdzoIEobiHpoLtHm77vfxsvsIN5Vuc= +github.com/hashicorp/go-bexpr v0.1.10/go.mod h1:oxlubA2vC/gFVfX1A6JGp7ls7uCDlfJn732ehYYg+g0= +github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d h1:dg1dEPuWpEqDnvIw251EVy4zlP8gWbsGj4BsUKCRpYs= +github.com/hashicorp/golang-lru v0.5.5-0.20210104140557-80c98217689d/go.mod h1:iADmTwqILo4mZ8BN3D2Q6+9jd8WM5uGBxy+E8yxSoD4= +github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao= +github.com/holiman/bloomfilter/v2 v2.0.3/go.mod h1:zpoh+gs7qcpqrHr3dB55AMiJwo0iURXE7ZOP9L9hSkA= +github.com/holiman/uint256 v1.2.0 h1:gpSYcPLWGv4sG43I2mVLiDZCNDh/EpGjSk8tmtxitHM= +github.com/holiman/uint256 v1.2.0/go.mod h1:y4ga/t+u+Xwd7CpDgZESaRcWy0I7XMlTMA25ApIH5Jw= +github.com/hpcloud/tail v1.0.0/go.mod h1:ab1qPbhIpdTxEkNHXyeSf5vhxWSCs/tWer42PpOxQnU= +github.com/huin/goupnp v1.0.3/go.mod h1:ZxNlw5WqJj6wSsRK5+YfflQGXYfccj5VgQsMNixHM7Y= +github.com/huin/goutil v0.0.0-20170803182201-1ca381bf3150/go.mod h1:PpLOETDnJ0o3iZrZfqZzyLl6l7F3c6L1oWn7OICBi6o= +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/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= +github.com/influxdata/flux v0.65.1/go.mod h1:J754/zds0vvpfwuq7Gc2wRdVwEodfpCFM7mYlOw2LqY= +github.com/influxdata/influxdb v1.8.3/go.mod h1:JugdFhsvvI8gadxOI6noqNeeBHvWNTbfYGtiAn+2jhI= +github.com/influxdata/influxdb-client-go/v2 v2.4.0/go.mod h1:vLNHdxTJkIf2mSLvGrpj8TCcISApPoXkaxP8g9uRlW8= +github.com/influxdata/influxql v1.1.1-0.20200828144457-65d3ef77d385/go.mod h1:gHp9y86a/pxhjJ+zMjNXiQAA197Xk9wLxaz+fGG+kWk= +github.com/influxdata/line-protocol v0.0.0-20180522152040-32c6aa80de5e/go.mod h1:4kt73NQhadE3daL3WhR5EJ/J2ocX0PZzwxQ0gXJ7oFE= +github.com/influxdata/line-protocol v0.0.0-20200327222509-2487e7298839/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/line-protocol v0.0.0-20210311194329-9aa0e372d097/go.mod h1:xaLFMmpvUxqXtVkUJfg9QmT88cDaCJ3ZKgdZ78oO8Qo= +github.com/influxdata/promql/v2 v2.12.0/go.mod h1:fxOPu+DY0bqCTCECchSRtWfc+0X19ybifQhZoQNF5D8= +github.com/influxdata/roaring v0.4.13-0.20180809181101-fc520f41fab6/go.mod h1:bSgUQ7q5ZLSO+bKBGqJiCBGAl+9DxyW63zLTujjUlOE= +github.com/influxdata/tdigest v0.0.0-20181121200506-bf2b5ad3c0a9/go.mod h1:Js0mqiSBE6Ffsg94weZZ2c+v/ciT8QRHFOap7EKDrR0= +github.com/influxdata/usage-client v0.0.0-20160829180054-6d3895376368/go.mod h1:Wbbw6tYNvwa5dlB6304Sd+82Z3f7PmVZHVKU637d4po= +github.com/jackpal/go-nat-pmp v1.0.2/go.mod h1:QPH045xvCAeXUZOxsnwmrtiCoxIr9eob+4orBN1SBKc= +github.com/jedisct1/go-minisign v0.0.0-20190909160543-45766022959e/go.mod h1:G1CVv03EnqU1wYL2dFwXxW2An0az9JTl/ZsqXQeBlkU= +github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo= +github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U= +github.com/json-iterator/go v1.1.6/go.mod h1:+SdeFBvtyEkXs7REEP0seUULqWtbJapLOCVDaaPEHmU= +github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU= +github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk= +github.com/jsternberg/zap-logfmt v1.0.0/go.mod h1:uvPs/4X51zdkcm5jXl5SYoN+4RK21K8mysFmDaM/h+o= +github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= +github.com/julienschmidt/httprouter v1.2.0/go.mod h1:SYymIcj16QtmaHHD7aYtjjsJG7VTCxuUUipMqKk8s4w= +github.com/jung-kurt/gofpdf v1.0.3-0.20190309125859-24315acbbda5/go.mod h1:7Id9E/uU8ce6rXgefFLlgrJj/GYY22cpxn+r32jIOes= +github.com/jwilder/encoding v0.0.0-20170811194829-b4e1701a28ef/go.mod h1:Ct9fl0F6iIOGgxJ5npU/IUOhOhqlVrGjyIZc8/MagT0= +github.com/karalabe/usb v0.0.2/go.mod h1:Od972xHfMJowv7NGVDiWVxk2zxnWgjLlJzE+F4F7AGU= +github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00= +github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= +github.com/klauspost/compress v1.4.0/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A= +github.com/klauspost/cpuid v0.0.0-20170728055534-ae7887de9fa5/go.mod h1:Pj4uuM528wm8OyEC2QMXAi2YiTZ96dNQPGgoMS4s3ek= +github.com/klauspost/crc32 v0.0.0-20161016154125-cb6bfca970f6/go.mod h1:+ZoRqAPRLkC4NPOvfYeR5KNOrY6TD+/sAC3HXPZgDYg= +github.com/klauspost/pgzip v1.0.2-0.20170402124221-0bf5dcad4ada/go.mod h1:Ch1tH69qFZu15pkjo5kYi6mth2Zzwzt50oCQKQE9RUs= +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.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI= +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/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= +github.com/kylelemons/godebug v0.0.0-20170224010052-a616ab194758/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k= +github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw= +github.com/labstack/echo/v4 v4.2.1/go.mod h1:AA49e0DZ8kk5jTOOCKNuPR6oTnBS0dYiM4FW1e6jwpg= +github.com/labstack/gommon v0.3.0/go.mod h1:MULnywXg0yavhxWKc+lOruYdAhDwPK9wf0OL7NoOu+k= +github.com/leanovate/gopter v0.2.9/go.mod h1:U2L/78B+KVFIx2VmW6onHJQzXtFb+p5y3y2Sh+Jxxv8= +github.com/lib/pq v1.0.0/go.mod h1:5WUZQaWbwv1U+lTReE5YruASi9Al49XbQIvNi/34Woo= +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/matryer/moq v0.0.0-20190312154309-6cfb0558e1bd/go.mod h1:9ELz6aaclSIGnZBoaSLZ3NAl1VTufbOrXBPvtcy6WiQ= +github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= +github.com/mattn/go-colorable v0.1.2/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= +github.com/mattn/go-colorable v0.1.7/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= +github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= +github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= +github.com/mattn/go-isatty v0.0.9/go.mod h1:YNRxwqDuOph6SZLI9vUUz6OYw3QyUt7WiY2yME+cCiQ= +github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= +github.com/mattn/go-runewidth v0.0.3/go.mod h1:LwmH8dsx7+W8Uxz3IHJYH5QSwggIsqBzpuz5H//U1FU= +github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0= +github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI= +github.com/mattn/go-sqlite3 v1.11.0/go.mod h1:FPy6KqzDD04eiIsT53CuJW3U88zkxoIYsOqkbpncsNc= +github.com/mattn/go-tty v0.0.0-20180907095812-13ff1204f104/go.mod h1:XPvLUNfbS4fJH25nqRHfWLMa1ONC8Amw+mIA639KxkE= +github.com/matttproud/golang_protobuf_extensions v1.0.1/go.mod h1:D8He9yQNgCq6Z5Ld7szi9bcBfOoFv/3dc6xSMkL2PC0= +github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= +github.com/mitchellh/pointerstructure v1.2.0/go.mod h1:BRAsLI5zgXmw97Lf6s25bs8ohIXc3tViBH44KcwB2g4= +github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= +github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= +github.com/modocache/gover v0.0.0-20171022184752-b58185e213c5/go.mod h1:caMODM3PzxT8aQXRPkAt8xlV/e7d7w8GM5g0fa5F0D8= +github.com/mschoch/smat v0.0.0-20160514031455-90eadee771ae/go.mod h1:qAyveg+e4CE+eKJXWVjKXM4ck2QobLqTDytGJbLLhJg= +github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= +github.com/naoina/go-stringutil v0.1.0/go.mod h1:XJ2SJL9jCtBh+P9q5btrd/Ylo8XwT/h1USek5+NqSA0= +github.com/naoina/toml v0.1.2-0.20170918210437-9fafd6967416/go.mod h1:NBIhNtsFMo3G2szEBne+bO4gS192HuIYRqfvOWb4i1E= +github.com/nxadm/tail v1.4.4/go.mod h1:kenIhsEOeOJmVchQTgglprH7qJGnHDVpk1VPCcaMI8A= +github.com/nxadm/tail v1.4.8/go.mod h1:+ncqLTQzXmGhMZNUePPaPqPvBxHAIsmXswZKocGu+AU= +github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= +github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec= +github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6HuIJcUGPhkA7kY= +github.com/onsi/ginkgo v1.6.0/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.10.3/go.mod h1:lLunBs/Ym6LB5Z9jYTR76FiuTmxDTDusOGeTQH+WWjE= +github.com/onsi/ginkgo v1.12.1/go.mod h1:zj2OWP4+oCPe1qIXoGWkgMRwljMUYCdkwsT2108oapk= +github.com/onsi/ginkgo v1.16.4/go.mod h1:dX+/inL/fNMqNlz0e9LfyB9TswhZpCVdJM/Z6Vvnwo0= +github.com/onsi/ginkgo v1.16.5/go.mod h1:+E8gABHa3K6zRBolWtd+ROzc/U5bkGt0FwiG042wbpU= +github.com/onsi/ginkgo/v2 v2.1.3/go.mod h1:vw5CSIxN1JObi/U8gcbwft7ZxR2dgaR70JSE3/PpL4c= +github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7JYyY= +github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= +github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= +github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= +github.com/opentracing/opentracing-go v1.0.2/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.0.3-0.20180606204148-bd9c31933947/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/opentracing/opentracing-go v1.1.0/go.mod h1:UkNAQd3GIcIGf0SeVgPpRdFStlNbqXla1AfSYxPUl2o= +github.com/paulbellamy/ratecounter v0.2.0/go.mod h1:Hfx1hDpSGoqxkVVpBi/IlYD7kChlfo5C6hzIHwPqfFE= +github.com/peterh/liner v1.0.1-0.20180619022028-8c1271fcf47f/go.mod h1:xIteQHvHuaLYG9IFj6mSxM0fCKrs34IrEQUhOYuGPHc= +github.com/peterh/liner v1.1.1-0.20190123174540-a2c9a5303de7/go.mod h1:CRroGNssyjTd/qIG2FyxByd2S8JEAZXBl4qUrZf8GS0= +github.com/philhofer/fwd v1.0.0/go.mod h1:gk3iGcWd9+svBvR0sR+KPcfE+RNWozjowpeBVG3ZVNU= +github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= +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/pkg/term v0.0.0-20180730021639-bffc007b7fd5/go.mod h1:eCbImbZ95eXtAUIbLAuAVnBnwf83mjf6QIVH8SHYwqQ= +github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= +github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= +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_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/common v0.0.0-20181113130724-41aa239b4cce/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/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/tsdb v0.7.1 h1:YZcsG11NqnK4czYLrWd9mpEuAJIHVQLwdrleYfszMAA= +github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= +github.com/retailnext/hllpp v1.0.1-0.20180308014038-101a6d2f8b52/go.mod h1:RDpi1RftBQPUCDRw6SmxeaREsAaRKnOclghuzp/WRzc= +github.com/rjeczalik/notify v0.9.1 h1:CLCKso/QK1snAlnhNR/CNvNiFU2saUtjV0bx3EwNeCE= +github.com/rjeczalik/notify v0.9.1/go.mod h1:rKwnCoCGeuQnwBtTSPL9Dad03Vh2n40ePRrjvIXnJho= +github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= +github.com/rs/cors v1.7.0/go.mod h1:gFx+x8UowdsKA9AchylcLynDq+nNFfI8FkUZdN/jGCU= +github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= +github.com/segmentio/kafka-go v0.1.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/segmentio/kafka-go v0.2.0/go.mod h1:X6itGqS9L4jDletMsxZ7Dz+JFWxM6JHfPOCvTvk+EJo= +github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU= +github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA= +github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= +github.com/sirupsen/logrus v1.2.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo= +github.com/smartystreets/assertions v0.0.0-20180927180507-b2de0cb4f26d/go.mod h1:OnSkiWE9lh6wB0YB77sQom3nweQdgAjqCqsofrRNTgc= +github.com/smartystreets/goconvey v1.6.4/go.mod h1:syvi0/a8iFYH4r/RixwvyeAJjdLS9QV7WQ/tjFTllLA= +github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA= +github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= +github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= +github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4= +github.com/status-im/keycard-go v0.0.0-20190316090335-8537d3370df4/go.mod h1:RZLeN1LMWmRsyYjvAu+I6Dm9QmlDaIIt+Y+4Kd7Tp+Q= +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/testify v1.2.0/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs= +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.2 h1:4jaiDzPyXQvSd7D0EjG45355tLlV3VOECpq10pLC+8s= +github.com/stretchr/testify v1.7.2/go.mod h1:R6va5+xMeoiuVRoj+gSkQ7d3FALtqAAGI1FQKckRals= +github.com/supranational/blst v0.3.8-0.20220526154634-513d2456b344/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw= +github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a h1:1ur3QoCqvE5fl+nylMaIr9PVV1w343YRDtsy+Rwu7XI= +github.com/syndtr/goleveldb v1.0.1-0.20220614013038-64ee5596c38a/go.mod h1:RRCYJbIwD5jmqPI9XoAFR0OcDxqUctll6zUj/+B4S48= +github.com/tinylib/msgp v1.0.2/go.mod h1:+d+yLhGm8mzTaHzB+wgMYrodPfmZrzkirds8fDWklFE= +github.com/tklauser/go-sysconf v0.3.5 h1:uu3Xl4nkLzQfXNsWn15rPc/HQCJKObbt1dKJeWp3vU4= +github.com/tklauser/go-sysconf v0.3.5/go.mod h1:MkWzOF4RMCshBAMXuhXJs64Rte09mITnppBXY/rYEFI= +github.com/tklauser/numcpus v0.2.2 h1:oyhllyrScuYI6g+h/zUvNXNp1wy7x8qQy3t/piefldA= +github.com/tklauser/numcpus v0.2.2/go.mod h1:x3qojaO3uyYt0i56EW/VUYs7uBvdl2fkfZFu0T9wgjM= +github.com/tyler-smith/go-bip39 v1.0.1-0.20181017060643-dbb3b84ba2ef/go.mod h1:sJ5fKU0s6JVwZjjcUEX2zFOnvq0ASQ2K9Zr6cf67kNs= +github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI= +github.com/urfave/cli/v2 v2.10.2/go.mod h1:f8iq5LtQ/bLxafbdBSLPPNsgaW0l/2fYYEHhAyPlwvo= +github.com/valyala/bytebufferpool v1.0.0/go.mod h1:6bBcMArwyJ5K/AmCkWv1jt77kVWyCJ6HpOuEn7z0Csc= +github.com/valyala/fasttemplate v1.0.1/go.mod h1:UQGH1tvbgY+Nz5t2n7tXsz52dQxojPUpymEIMZ47gx8= +github.com/valyala/fasttemplate v1.2.1/go.mod h1:KHLXt3tVN2HBp8eijSv/kGJopbvo7S+qRAEEKiv+SiQ= +github.com/willf/bitset v1.1.3/go.mod h1:RjeCKbqT1RxIR/KWY6phxZiaY1IyutSBfGjNPySAYV4= +github.com/xlab/treeprint v0.0.0-20180616005107-d6fb6747feb6/go.mod h1:ce1O1j6UtZfjr22oyGxGLbauSBp2YVXpARAosm7dHBg= +github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673/go.mod h1:N3UwUGtsrSj3ccvlPHLoLsHnpR27oXr4ZE984MbSER8= +github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.4.1/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= +go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU= +go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8= +go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= +go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= +go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= +go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= +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-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +golang.org/x/crypto v0.0.0-20190909091759-094676da4a83/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= +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= +golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= +golang.org/x/crypto v0.0.0-20201221181555-eec23a3978ad/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I= +golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg= +golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/exp v0.0.0-20180321215751-8460e604b9de/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20180807140117-3d87b88a115f/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +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-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= +golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= +golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek= +golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY= +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-20220426173459-3bcf042a4bf5/go.mod h1:lgLbSvA5ygNOMpwM/9anMpWVlVJ7Z+cHWq/eFuinpGE= +golang.org/x/image v0.0.0-20180708004352-c73c2afc3b81/go.mod h1:ux5Hcp/YLpHSI86hEcLt0YII63i6oz57MZXIpbrjZUs= +golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js= +golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0= +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-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE= +golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= +golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/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/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE= +golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o= +golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc= +golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY= +golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= +golang.org/x/mod v0.3.0/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.6.0-dev.0.20211013180041-c96bc1413d57/go.mod h1:3p9vT2HGsQu2K1YbXdKPJLVgG5VJdoTa1poYQBtP1AY= +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-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-20190108225652-1e06a53dbb7e/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-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg= +golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks= +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-20190724013045-ca1201d0de80/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-20200520004742-59133d7f0dd7/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= +golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= +golang.org/x/net v0.0.0-20201010224723-4f7140c49acb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= +golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210220033124-5f55cee0dc0d/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210428140749-89ef3d95e781/go.mod h1:OJAsFXCWl8Ukc7SiCT/9KSuxbyM7479/AVlXFRxuMCk= +golang.org/x/net v0.0.0-20210610132358-84b48f89b13b/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20211015210444-4f30a5c0130f/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= +golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= +golang.org/x/net v0.0.0-20220607020251-c690dde0001d/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= +golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= +golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= +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/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-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.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-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +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-20180909124046-d0be0721c37e/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= +golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/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-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20190904154756-749cb33beabd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/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-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-20200107162124-548cf772de50/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20200826173525-f9321e4c35a6/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-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-20210316164454-77fc1eacc6aa/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210420205809-ac73e9fd8988/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-20211019181941-9d821ace8654/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-20220412211240-33da011f77ad/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a h1:dGzPydgVsqGcTRVwiLJ1jVbufYwmzD3LfVPLKsKg+0k= +golang.org/x/sys v0.0.0-20220520151302-bc2c85ada10a/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= +golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= +golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= +golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= +golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= +golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= +golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= +golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/time v0.0.0-20210220033141-f8bda1e9f3ba/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= +golang.org/x/tools v0.0.0-20180525024113-a5b4c53f6e8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= +golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/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-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190328211700-ab21143f2384/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= +golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q= +golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= +golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= +golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/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-20191119224855-298f0cb1881e/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-20191126055441-b0650ceb63d9/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-20200108203644-89082a384178/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= +golang.org/x/tools v0.0.0-20201224043029-2b0845dc783e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= +golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.8-0.20211029000441-d6a9af8af023/go.mod h1:nABZi5QlRsZVlzPpHl034qft6wpY4eDcsTt5AaioBiU= +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= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df h1:5Pf6pFKu98ODmgnpvkJ3kFUOQGGLIzLIkbzUHp47618= +golang.org/x/xerrors v0.0.0-20220517211312-f3a8303e98df/go.mod h1:K8+ghG5WaK9qNqU5K3HdILfMLy1f3aNYFI/wnl100a8= +gonum.org/v1/gonum v0.0.0-20180816165407-929014505bf4/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.0.0-20181121035319-3f7ecaa7e8ca/go.mod h1:Y+Yx5eoAFn32cQvJDxZx5Dpnq+c3wtXuadVZAcxbbBo= +gonum.org/v1/gonum v0.6.0/go.mod h1:9mxDZsDKxgMAuccQkewq682L+0eCu4dCN2yonUJTCLU= +gonum.org/v1/netlib v0.0.0-20181029234149-ec6d1f5cefe6/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/netlib v0.0.0-20190313105609-8cb42192e0e0/go.mod h1:wa6Ws7BG/ESfp6dHfk7C6KdzKA7wR7u/rKwOGE66zvw= +gonum.org/v1/plot v0.0.0-20190515093506-e2840ee46a6b/go.mod h1:Wt8AAjI+ypCyYX3nZBvf6cAIx93T+c/OS2HFAYskSZc= +google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE= +google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M= +google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg= +google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI= +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/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.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= +google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0= +google.golang.org/appengine v1.6.5/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-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= +google.golang.org/genproto v0.0.0-20190716160619-c506a9f90610/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc= +google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8= +google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/genproto v0.0.0-20200108215221-bd8f9a0ef82f/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= +google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= +google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= +google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= +google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= +google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= +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.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= +google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= +google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk= +google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= +gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= +gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= +gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= +gopkg.in/fsnotify.v1 v1.4.7/go.mod h1:Tz8NjZHkW78fSQdbUxIjBTcgA1z1m8ZHf0WmKUhAMys= +gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce h1:+JknDZhAj8YMt7GC73Ei8pv4MzjDUNPHgQWJdtMAaDU= +gopkg.in/natefinch/npipe.v2 v2.0.0-20160621034901-c1b8fa8bdcce/go.mod h1:5AcXVHNjg+BDxry382+8OKon8SEWiKktQR07RKPsv1c= +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.3/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.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI= +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.0-20210107192922-496545a6307b/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= +honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4= +honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/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-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg= +honnef.co/go/tools v0.1.3/go.mod h1:NgwopIslSNH47DimFoV78dnkksY2EFtX0ajyb3K/las= +rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= +rsc.io/pdf v0.1.1/go.mod h1:n8OzWcQ6Sp37PL01nO98y4iUCRdTGarVfzxY20ICaU4= diff --git a/lib/rln b/lib/rln index 628fd74..7ac7418 160000 --- a/lib/rln +++ b/lib/rln @@ -1 +1 @@ -Subproject commit 628fd742237f49347469dfcbbe57fd591d6629b1 +Subproject commit 7ac74183f8b69b399e3bc96c1ae8ab61c026dc43 diff --git a/libs/aarch64-linux-android/librln.d b/libs/aarch64-linux-android/librln.d new file mode 100644 index 0000000..7834959 --- /dev/null +++ b/libs/aarch64-linux-android/librln.d @@ -0,0 +1 @@ +/target/aarch64-linux-android/release/librln.so: /project/src/circuit/mod.rs /project/src/circuit/polynomial.rs /project/src/circuit/poseidon.rs /project/src/circuit/rln.rs /project/src/ffi.rs /project/src/hash_to_field.rs /project/src/lib.rs /project/src/merkle.rs /project/src/poseidon.rs /project/src/public.rs /project/src/utils.rs /target/aarch64-linux-android/release/build/num-bigint-4ba1a00c5942ed3b/out/radix_bases.rs build.rs diff --git a/libs/aarch64-linux-android/librln.rlib b/libs/aarch64-linux-android/librln.rlib new file mode 100644 index 0000000000000000000000000000000000000000..ade059fa14ebc9e5b3bf723c938ae3c678eaa458 GIT binary patch literal 1741466 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%0DSfnMdyi;5qv> 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