From 0ee7abdf5d2923791f7c968de5c08655edfa1516 Mon Sep 17 00:00:00 2001 From: Olivier DOSSMANN Date: Fri, 5 Jul 2024 23:43:24 +0200 Subject: [PATCH] =?UTF-8?q?wip(Golang):=20version=20d'essais=20vari=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang/Icon.png | Bin 0 -> 38056 bytes golang/go.mod | 31 +-- golang/go.sum | 659 ++---------------------------------------------- golang/key.txt | 2 + golang/main.go | 183 +++++++++----- 5 files changed, 138 insertions(+), 737 deletions(-) create mode 100644 golang/Icon.png create mode 100644 golang/key.txt diff --git a/golang/Icon.png b/golang/Icon.png new file mode 100644 index 0000000000000000000000000000000000000000..462e34311f420cf6ef205230183c58b9cb3b0663 GIT binary patch literal 38056 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 M07*qoM6N<$g7HNS(*OVf literal 0 HcmV?d00001 diff --git a/golang/go.mod b/golang/go.mod index 8af8b16..9825e22 100644 --- a/golang/go.mod +++ b/golang/go.mod @@ -3,37 +3,18 @@ module example/fusion go 1.22.5 require ( - fyne.io/fyne/v2 v2.4.5 + gioui.org v0.7.0 github.com/unidoc/unioffice v1.34.0 ) require ( - fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e // indirect - github.com/davecgh/go-spew v1.1.1 // indirect - github.com/fredbi/uri v1.0.0 // indirect - github.com/fsnotify/fsnotify v1.6.0 // indirect - github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe // indirect - github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 // indirect - github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 // indirect - github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect - github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240306074159-ea2d69986ecb // indirect - github.com/go-text/render v0.1.0 // indirect - github.com/go-text/typesetting v0.1.0 // indirect - github.com/godbus/dbus/v5 v5.1.0 // indirect - github.com/gopherjs/gopherjs v1.17.2 // indirect - github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e // indirect - github.com/pmezard/go-difflib v1.0.0 // indirect + gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2 // indirect + gioui.org/shader v1.0.8 // indirect + github.com/go-text/typesetting v0.1.1 // indirect github.com/richardlehane/msoleps v1.0.3 // indirect - github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c // indirect - github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect - github.com/stretchr/testify v1.8.4 // indirect - github.com/tevino/abool v1.2.0 // indirect - github.com/yuin/goldmark v1.5.5 // indirect + golang.org/x/exp v0.0.0-20221012211006-4de253d81b95 // indirect + golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 // indirect golang.org/x/image v0.15.0 // indirect - golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda // indirect - golang.org/x/net v0.21.0 // indirect golang.org/x/sys v0.17.0 // indirect golang.org/x/text v0.14.0 // indirect - gopkg.in/yaml.v3 v3.0.1 // indirect - honnef.co/go/js/dom v0.0.0-20210725211120-f030747120f2 // indirect ) diff --git a/golang/go.sum b/golang/go.sum index fd02104..bcbef9d 100644 --- a/golang/go.sum +++ b/golang/go.sum @@ -1,652 +1,27 @@ -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.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.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4= -cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M= -cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc= -cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk= -cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs= -cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc= -cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY= -cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI= -cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk= -cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg= -cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= -cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= -cloud.google.com/go/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/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= -cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= -cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= -cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= -cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= -cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= -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/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= -cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU= -cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw= -cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos= -cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk= -cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs= -cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= -dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= -fyne.io/fyne/v2 v2.4.5 h1:W6jpAEmLoBbKyBB+EXqI7GMJ7kLgHQWCa0wZHUV2VfQ= -fyne.io/fyne/v2 v2.4.5/go.mod h1:SlOgbca0y80cRObu/JOhxIJdIgtoW7aCyqUVlTMgs0Y= -fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e h1:Hvs+kW2VwCzNToF3FmnIAzmivNgrclwPgoUdVSrjkP8= -fyne.io/systray v1.10.1-0.20231115130155-104f5ef7839e/go.mod h1:oM2AQqGJ1AMo4nNqZFYU8xYygSBZkW2hmdJ7n4yjedE= -github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= -github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo= -github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY= -github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= -github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= -github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs= -github.com/bketelsen/crypt v0.0.4/go.mod h1:aI6NrJ0pMGgvZKL1iVgXLnfIFJtfV+bKCoqOes/6LfM= -github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= -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/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc= -github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk= -github.com/coreos/go-semver v0.3.0/go.mod h1:nnelYz7RCh+5ahJtPPxZlU+153eP4D4r3EedlOD2RNk= -github.com/coreos/go-systemd/v22 v22.3.2/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc= -github.com/cpuguy83/go-md2man/v2 v2.0.0/go.mod h1:maD7wRr/U5Z6m/iR4s+kqSMx2CaBsrgA7czyZG/E6dU= -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/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4= -github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98= -github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po= -github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk= -github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fredbi/uri v1.0.0 h1:s4QwUAZ8fz+mbTsukND+4V5f+mJ/wjaTokwstGUAemg= -github.com/fredbi/uri v1.0.0/go.mod h1:1xC40RnIOGCaQzswaOvrzvG/3M3F0hyDVb3aO/1iGy0= -github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= -github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= -github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbSClcnxKAGw= -github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe h1:A/wiwvQ0CAjPkuJytaD+SsXkPU0asQ+guQEIg1BJGX4= -github.com/fyne-io/gl-js v0.0.0-20220119005834-d2da28d9ccfe/go.mod h1:d4clgH0/GrRwWjRzJJQXxT/h1TyuNSfF/X64zb/3Ggg= -github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504 h1:+31CdF/okdokeFNoy9L/2PccG3JFidQT3ev64/r4pYU= -github.com/fyne-io/glfw-js v0.0.0-20220120001248-ee7290d23504/go.mod h1:gLRWYfYnMA9TONeppRSikMdXlHQ97xVsPojddUv3b/E= -github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2 h1:hnLq+55b7Zh7/2IRzWCpiTcAvjv/P8ERF+N7+xXbZhk= -github.com/fyne-io/image v0.0.0-20220602074514-4956b0afb3d2/go.mod h1:eO7W361vmlPOrykIg+Rsh1SZ3tQBaOsfzZhsIOb/Lm0= -github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04= -github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 h1:zDw5v7qm4yH7N8C8uWd+8Ii9rROdgWxQuGoJ9WDXxfk= -github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw= -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-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240306074159-ea2d69986ecb h1:S9I8pIVT5JHKDvmI1vQ0qs5fqxzUfhcZm/YbUC/8k1k= -github.com/go-gl/glfw/v3.3/glfw v0.0.0-20240306074159-ea2d69986ecb/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8= -github.com/go-text/render v0.1.0 h1:osrmVDZNHuP1RSu3pNG7Z77Sd2xSbcb/xWytAj9kyVs= -github.com/go-text/render v0.1.0/go.mod h1:jqEuNMenrmj6QRnkdpeaP0oKGFLDNhDkVKwGjsWWYU4= -github.com/go-text/typesetting v0.1.0 h1:vioSaLPYcHwPEPLT7gsjCGDCoYSbljxoHJzMnKwVvHw= -github.com/go-text/typesetting v0.1.0/go.mod h1:d22AnmeKq/on0HNv73UFriMKc4Ez6EqZAofLhAzpSzI= -github.com/go-text/typesetting-utils v0.0.0-20240329101916-eee87fb235a3 h1:levTnuLLUmpavLGbJYLJA7fQnKeS7P1eCdAlM+vReXk= -github.com/go-text/typesetting-utils v0.0.0-20240329101916-eee87fb235a3/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o= -github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/godbus/dbus/v5 v5.1.0 h1:4KLkAxT3aOY8Li4FRJe/KvhoNFFxo0m6fNuFUO8QJUk= -github.com/godbus/dbus/v5 v5.1.0/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA= -github.com/gogo/protobuf v1.3.2/go.mod h1:P1XiOD3dCwIKUDQYPy72D8LYyHL2YPYrpS2s69NZV8Q= -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/groupcache v0.0.0-20200121045136-8c9f03a8e57e/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/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= -github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8= -github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= -github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw= -github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk= -github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8= -github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA= -github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs= -github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w= -github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0= -github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8= -github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= -github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= -github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= -github.com/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/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.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg= -github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs= -github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0= -github.com/google/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-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM= -github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE= -github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= -github.com/google/uuid v1.1.2/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/gopherjs/gopherjs v0.0.0-20211219123610-ec9572f70e60/go.mod h1:cz9oNYuRUWGdHmLF2IodMLkAhcPtXeULvcBNagUrxTI= -github.com/gopherjs/gopherjs v1.17.2 h1:fQnZVsXk8uxXIStYb0N4bGk7jeyTalG/wsZjQ25dO0g= -github.com/gopherjs/gopherjs v1.17.2/go.mod h1:pRRIvn/QzFLrKfvEz3qUuEhtE/zLCWfreZ6J5gM2i+k= -github.com/goxjs/gl v0.0.0-20210104184919-e3fafc6f8f2a/go.mod h1:dy/f2gjY09hwVfIyATps4G2ai7/hLwLkc5TrPqONuXY= -github.com/goxjs/glfw v0.0.0-20191126052801-d2efb5f20838/go.mod h1:oS8P8gVOT4ywTcjV6wZlOU4GuVFQ8F5328KY3MJ79CY= -github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw= -github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= -github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= -github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= -github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= -github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= -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/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= -github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= -github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -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/json-iterator/go v1.1.11/go.mod h1:KdQUCv79m/52Kvf8AW2vK1V8akMuk1QjK/uOdHXbAo4= -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/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e h1:LvL4XsI70QxOGHed6yhQtAU34Kx3Qq2wwBzGFKY8zKk= -github.com/jsummers/gobmp v0.0.0-20151104160322-e2ba15ffa76e/go.mod h1:kLgvv7o6UM+0QSf0QjAse3wReFDsb9qbZJdfexWlrQw= -github.com/jtolds/gls v4.20.0+incompatible/go.mod h1:QJZ7F/aHp+rZTRtaJ1ow/lLfFfVYBRgL+9YlvaHOwJU= -github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= -github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= -github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg= -github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI= -github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= -github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= -github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE= -github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= -github.com/magiconair/properties v1.8.5/go.mod h1:y3VJvCyxH9uVvJTWEGAELF3aiYNyPKd5NZ3oSwXrF60= -github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= -github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= -github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= -github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= -github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= -github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo= -github.com/modern-go/concurrent v0.0.0-20180228061459-e0a39a4cb421/go.mod h1:6dJC0mAP4ikYIbvyc7fijjWJddQyLn8Ig3JB5CqoB9Q= -github.com/modern-go/reflect2 v0.0.0-20180701023420-4b7aa43c6742/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/modern-go/reflect2 v1.0.1/go.mod h1:bx2lNnkwVCuqBIxFjflWJWanXIb3RllmbCylyMrvgv0= -github.com/neelance/astrewrite v0.0.0-20160511093645-99348263ae86/go.mod h1:kHJEU3ofeGjhHklVoIGuVj85JJwZ6kWPaJwCIxgnFmo= -github.com/neelance/sourcemap v0.0.0-20200213170602-2833bce08e4c/go.mod h1:Qr6/a/Q4r9LP1IltGz7tA7iOK1WonHEYhu1HRBA7ZiM= -github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pelletier/go-toml v1.9.3/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= -github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI= -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/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA= +eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d h1:ARo7NCVvN2NdhLlJE9xAbKweuI9L6UgfTbYb0YwPacY= +eliasnaur.com/font v0.0.0-20230308162249-dd43949cb42d/go.mod h1:OYVuxibdk9OSLX8vAqydtRPP87PyTFcT9uH3MlEGBQA= +gioui.org v0.7.0 h1:5I+7Uu2yjTu7W5p7HWQrgsDPO3vex+8T1DsvCLGBfuI= +gioui.org v0.7.0/go.mod h1:19wZxaNP+eHN4H2YdZwEfbkAAgoYB5rcIbDHo4BqUl4= +gioui.org/cpu v0.0.0-20210808092351-bfe733dd3334/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ= +gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2 h1:AGDDxsJE1RpcXTAxPG2B4jrwVUJGFDjINIPi1jtO6pc= +gioui.org/cpu v0.0.0-20210817075930-8d6a761490d2/go.mod h1:A8M0Cn5o+vY5LTMlnRoK3O5kG+rH0kWfJjeKd9QpBmQ= +gioui.org/shader v1.0.8 h1:6ks0o/A+b0ne7RzEqRZK5f4Gboz2CfG+mVliciy6+qA= +gioui.org/shader v1.0.8/go.mod h1:mWdiME581d/kV7/iEhLmUgUK5iZ09XR5XpduXzbePVM= +github.com/go-text/typesetting v0.1.1 h1:bGAesCuo85nXnEN5LmFMVGAGpGkCPtHrZLi//qD7EJo= +github.com/go-text/typesetting v0.1.1/go.mod h1:d22AnmeKq/on0HNv73UFriMKc4Ez6EqZAofLhAzpSzI= +github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04 h1:zBx+p/W2aQYtNuyZNcTfinWvXBQwYtDfme051PR/lAY= +github.com/go-text/typesetting-utils v0.0.0-20231211103740-d9332ae51f04/go.mod h1:DDxDdQEnB70R8owOx3LVpEFvpMK9eeH1o2r0yZhFI9o= github.com/richardlehane/msoleps v1.0.3 h1:aznSZzrwYRl3rLKRT3gUk9am7T/mLNSnJINvN0AQoVM= github.com/richardlehane/msoleps v1.0.3/go.mod h1:BWev5JBpU9Ko2WAgmZEuiz4/u3ZYTKbjLycmwiWUfWg= -github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= -github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= -github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= -github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= -github.com/shurcooL/go v0.0.0-20200502201357-93f07166e636/go.mod h1:TDJrrUr11Vxrven61rcy3hJMUqaf/CLWYhHNPmT14Lk= -github.com/shurcooL/httpfs v0.0.0-20190707220628-8d4bc4ba7749/go.mod h1:ZY1cvUeJuFPAdZ/B6v7RHavJWZn2YPVFQ1OSXhCGOkg= -github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc= -github.com/shurcooL/vfsgen v0.0.0-20200824052919-0d455de96546/go.mod h1:TrYk7fJVaAttu97ZZKrO9UbRa8izdowaMIZcxYMbVaw= -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/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cobra v1.2.1/go.mod h1:ExllRjgxM/piMAM+3tAZvg8fsklGAf3tPfi+i8t68Nk= -github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= -github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= -github.com/spf13/viper v1.8.1/go.mod h1:o0Pch8wJ9BVSWGQMbra6iw0oQ5oktSIBaujf1rJH9Ns= -github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c h1:km8GpoQut05eY3GiYWEedbTT0qnSxrCjsVbb7yKY1KE= -github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q= -github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef h1:Ch6Q+AZUxDBCVqdkI8FSpFyZDtCVBc2VmejdNrm5rRQ= -github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE= -github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME= -github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw= -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.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= -github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= -github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= -github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= -github.com/tevino/abool v1.2.0 h1:heAkClL8H6w+mK5md9dzsuohKeXHUpY7Vw0ZCKW+huA= -github.com/tevino/abool v1.2.0/go.mod h1:qc66Pna1RiIsPa7O4Egxxs9OqkuxDX55zznh9K07Tzg= github.com/unidoc/unioffice v1.34.0 h1:ixLmbsN1o2j+2e20LK2dTOJSMPPek13l/WzVNt5dbOc= github.com/unidoc/unioffice v1.34.0/go.mod h1:BMguzPH3QO+4hcnmdBxg8iHVnmdLBYJfLh9nDgXwLeI= -github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= -github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.5.5 h1:IJznPe8wOzfIKETmMkd06F8nXkmlhaHqFRM9l1hAGsU= -github.com/yuin/goldmark v1.5.5/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= -go.etcd.io/etcd/api/v3 v3.5.0/go.mod h1:cbVKeC6lCfl7j/8jBhAK6aIYO9XOjdptoxU/nLQcPvs= -go.etcd.io/etcd/client/pkg/v3 v3.5.0/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v2 v2.305.0/go.mod h1:h9puh54ZTgAKtEbut2oe9P4L/oqKCVB6xsXlzd7alYQ= -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.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw= -go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk= -go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= -golang.org/x/crypto v0.0.0-20181029021203-45a5f77698d3/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-20190820162420-60c769a6c586/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-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/exp v0.0.0-20190121172915-509febef88a4/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-20190731235908-ec7cb31e5a56/go.mod h1:JhuoJpWY28nO4Vef9tZUw9qufEGTyX1+7lmHxV5q5G4= -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-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4= -golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM= -golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU= -golang.org/x/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/exp v0.0.0-20221012211006-4de253d81b95 h1:sBdrWpxhGDdTAYNqbgBLAR+ULAPPhfgncLr1X0lyWtg= +golang.org/x/exp v0.0.0-20221012211006-4de253d81b95/go.mod h1:cyybsKvd6eL0RnXn6p/Grxp8F5bW7iYuBgsNCOHpMYE= +golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91 h1:ryT6Nf0R83ZgD8WnFFdfI8wCeyqgdXWN4+CkFVNPAT0= +golang.org/x/exp/shiny v0.0.0-20220827204233-334a2380cb91/go.mod h1:VjAR7z0ngyATZTELrBSkxOOHhhlnVUxDye4mcjx5h/8= golang.org/x/image v0.15.0 h1:kOELfmgrmJlw4Cdb7g/QGuB3CvDrXbqEIww/pNtNBm8= golang.org/x/image v0.15.0/go.mod h1:HUYqC05R2ZcZ3ejNQsIHQDQiwWM4JBqmm6MKANTp4LE= -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/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= -golang.org/x/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/mobile v0.0.0-20211207041440-4e6c2922fdee/go.mod h1:pe2sM7Uk+2Su1y7u/6Z8KJ24D7lepUjFZbhFOrmDfuQ= -golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda h1:O+EUvnBNPwI4eLthn8W5K+cS8zQZfgTABPLNm6Bna34= -golang.org/x/mobile v0.0.0-20230531173138-3c911d8e3eda/go.mod h1:aAjjkJNdrh3PMckS4B10TGS2nag27cbKR1y2BpUxsiY= -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.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= -golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= -golang.org/x/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-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= -golang.org/x/net v0.0.0-20181201002055-351d144fa1fc/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-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A= -golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA= -golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU= -golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= -golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= -golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= -golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/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/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/oauth2 v0.0.0-20210402161424-2e8d93401602/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= -golang.org/x/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-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/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-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-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-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-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.17.0 h1:25cE3gD+tdBA7lp7QfhuV+rJiE9YXTcS3VG1SqssI/Y= golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= -golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -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.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= -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-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= -golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/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-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-20191112195655-aa38f8e97acc/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-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28= -golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw= -golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8= -golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200619180055-7c47624df98f/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE= -golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA= -golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE= -golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= -golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.8-0.20211022200916-316ba0b74098/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= -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= -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/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE= -google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE= -google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM= -google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc= -google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg= -google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE= -google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8= -google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU= -google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= -google.golang.org/api v0.44.0/go.mod h1:EBOGZqzyhtvMDoxwS97ctnh0zUmYY6CxqXsc1AvkYD8= -google.golang.org/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/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= -google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= -google.golang.org/genproto v0.0.0-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-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-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc= -google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA= -google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c= -google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U= -google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo= -google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= -google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= -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.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= -google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= -google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60= -google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk= -google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak= -google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0= -google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc= -google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8= -google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= -google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= -google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= -google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE= -google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo= -google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU= -google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4= -google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c= -google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= -google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY= -gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= -gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI= -gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= -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.8/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/js/dom v0.0.0-20210725211120-f030747120f2 h1:oomkgU6VaQDsV6qZby2uz1Lap0eXmku8+2em3A/l700= -honnef.co/go/js/dom v0.0.0-20210725211120-f030747120f2/go.mod h1:sUMDUKNB2ZcVjt92UnLy3cdGs+wDAcrPdV3JP6sVgA4= -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.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k= -rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= -rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= -rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= diff --git a/golang/key.txt b/golang/key.txt new file mode 100644 index 0000000..526c732 --- /dev/null +++ b/golang/key.txt @@ -0,0 +1,2 @@ +835e2033a5689686a50cab5e7ef8ba6aec4ec1624eddd74baddf40cff5818044 + diff --git a/golang/main.go b/golang/main.go index 1618d74..1fa8457 100644 --- a/golang/main.go +++ b/golang/main.go @@ -4,80 +4,123 @@ import ( "fmt" "io/ioutil" "log" + "os" "path/filepath" + "strings" - "fyne.io/fyne/v2/app" - "fyne.io/fyne/v2/container" - "fyne.io/fyne/v2/dialog" - "fyne.io/fyne/v2/widget" + "gioui.org/app" + "gioui.org/font/gofont" + "gioui.org/op" + "gioui.org/text" + "gioui.org/layout" + "gioui.org/unit" + "gioui.org/widget" + "gioui.org/widget/material" "github.com/unidoc/unioffice/document" + "github.com/unidoc/unioffice/common/license" ) -func main() { - // Créez une nouvelle application Fyne - a := app.New() - w := a.NewWindow("Sélectionner un dossier") - - // Créez un bouton pour ouvrir le dialogue de sélection de dossier - btn := widget.NewButton("Sélectionner un dossier", func() { - dialog.ShowFolderOpen(func(cheminDossier fyne.ListableURI, err error) { - if cheminDossier != nil { - dossier := cheminDossier.Path() - - // Créez un nouveau document - docFusionne := document.New() - - // Récupérez tous les fichiers DOCX dans le dossier - fichiers, err := ioutil.ReadDir(dossier) - if err != nil { - log.Fatalf("Erreur lors de la lecture du dossier : %v", err) - } - - for _, fichier := range fichiers { - if filepath.Ext(fichier.Name()) == ".docx" { - cheminFichier := filepath.Join(dossier, fichier.Name()) - - // Ouvrez le document existant - doc, err := document.Open(cheminFichier) - if err != nil { - log.Printf("Erreur lors de l'ouverture du fichier %s : %v", fichier.Name(), err) - continue - } - - // Copiez le contenu du document - for _, para := range doc.Paragraphs() { - newPara := docFusionne.AddParagraph() - newPara.Properties().SetAlignment(para.Properties().Alignment()) - for _, run := range para.Runs() { - newRun := newPara.AddRun() - newRun.Properties().SetBold(run.Properties().IsBold()) - newRun.Properties().SetItalic(run.Properties().IsItalic()) - newRun.Properties().SetUnderline(run.Properties().IsUnderline()) - newRun.AddText(run.Text()) - } - } - - doc.Close() - } - } - - // Enregistrez le document fusionné - nomFichierSortie := "fusion.docx" - err = docFusionne.SaveToFile(nomFichierSortie) - if err != nil { - log.Fatalf("Erreur lors de l'enregistrement du document fusionné : %v", err) - } - - fmt.Printf("Documents fusionnés dans %s\n", nomFichierSortie) - } - }, w) - }) - - // Ajoutez le bouton à la fenêtre et affichez-la - w.SetContent(container.NewVBox( - btn, - )) - - w.ShowAndRun() +func init() { + // Make sure to load your metered License API key prior to using the library. + // If you need a key, you can sign up and create a free one at https://cloud.unidoc.io + err := license.SetMeteredKey(os.Getenv(`UNIDOC_LICENSE_API_KEY`)) + if err != nil { + panic(err) + } } + +func main() { + go func() { + w := new(app.Window) + w.Option(app.Title("Fusionner DOCX"), app.Size(unit.Dp(800), unit.Dp(600))) + if err := loop(w); err != nil { + log.Fatal(err) + } + os.Exit(0) + }() + app.Main() +} + +func loop(w *app.Window) error { + var ops op.Ops + + th := material.NewTheme() + th.Shaper = text.NewShaper(text.WithCollection(gofont.Collection())) + var input widget.Editor + input.SingleLine = true + var button widget.Clickable + + for { + evt := w.Event() + switch e := evt.(type) { + case app.DestroyEvent: + return e.Err + case app.FrameEvent: + gtx := app.NewContext(&ops, e) + layout.Flex{ + Axis: layout.Vertical, + Alignment: layout.Middle, + }.Layout(gtx, + layout.Rigid(material.H1(th, "Sélectionner un dossier").Layout), + layout.Rigid(material.Editor(th, &input, "Chemin du dossier").Layout), + layout.Rigid(func(gtx layout.Context) layout.Dimensions { + btn := material.Button(th, &button, "Fusionner") + btn.TextSize = unit.Sp(20) + for button.Clicked(gtx) { + dossier := strings.TrimSpace(input.Text()) + if dossier != "" { + fusionnerDocx(dossier) + } else { + fmt.Println("Le chemin du dossier est vide") + } + } + return btn.Layout(gtx) + }), + ) + e.Frame(&ops) + } + } +} + +func fusionnerDocx(dossier string) { + docFusionne := document.New() + + fichiers, err := ioutil.ReadDir(dossier) + if err != nil { + log.Fatalf("Erreur lors de la lecture du dossier : %v", err) + } + + for _, fichier := range fichiers { + if filepath.Ext(fichier.Name()) == ".doc" { + cheminFichier := filepath.Join(dossier, fichier.Name()) + doc, err := document.Open(cheminFichier) + if err != nil { + log.Printf("Erreur lors de l'ouverture du fichier %s : %v", fichier.Name(), err) + continue + } + + for _, para := range doc.Paragraphs() { + newPara := docFusionne.AddParagraph() +// newPara.Properties().SetAlignment(para.Properties().Alignment()) + for _, run := range para.Runs() { + newRun := newPara.AddRun() + newRun.Properties().SetBold(run.Properties().IsBold()) + newRun.Properties().SetItalic(run.Properties().IsItalic()) +// newRun.Properties().SetUnderline(run.Properties().IsUnderline()) + newRun.AddText(run.Text()) + } + } + doc.Close() + } + } + + nomFichierSortie := "fusion.doc" + err = docFusionne.SaveToFile(nomFichierSortie) + if err != nil { + log.Fatalf("Erreur lors de l'enregistrement du document fusionné : %v", err) + } + + fmt.Printf("Documents fusionnés dans %s\n", nomFichierSortie) +} +