Skip to content

Commit

Permalink
Merge pull request #31 from alexballas/devel
Browse files Browse the repository at this point in the history
1.10.0
  • Loading branch information
alexballas authored Feb 13, 2022
2 parents 298fa2a + b4e0bc7 commit 91dbe6b
Show file tree
Hide file tree
Showing 24 changed files with 733 additions and 163 deletions.
35 changes: 35 additions & 0 deletions .github/workflows/build-arm-raspberry-pi.yml.bak
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Build for Raspberry Pi
on: [push]

jobs:
build:
runs-on: self-hosted
strategy:
fail-fast: false

steps:
- uses: actions/checkout@v2

- name: Set env
run: if grep -Fxq "devel" cmd/go2tv/version.txt;then echo "GO2TV_VERSION=$(cat cmd/go2tv/version.txt)";else echo "GO2TV_VERSION=v$(cat cmd/go2tv/version.txt)";fi >> $GITHUB_ENV

- name: Set up Go
run: |
wget -nv https://go.dev/dl/go1.17.5.linux-armv6l.tar.gz
sudo tar xzf go1.17.5.linux-armv6l.tar.gz -C /usr/local/
rm go1.17.5.linux-armv6l.tar.gz

- name: Get dependencies
run: sudo apt update && sudo apt install -y xorg-dev

- name: Package (Raspberry Pi)
run: PATH=$PATH:/usr/local/go/bin go build -ldflags "-s -w" -o go2tv cmd/go2tv/go2tv.go

- uses: actions/upload-artifact@v2
with:
name: go2tv_${{ env.GO2TV_VERSION }}_linux_arm
path: |
LICENSE
README.md
go2tv
retention-days: 2
4 changes: 2 additions & 2 deletions .github/workflows/build-arm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,9 +30,9 @@ jobs:
- uses: actions/upload-artifact@v2
with:
name: go2tv_${{ env.GO2TV_VERSION }}_linux_armv6
name: go2tv_${{ env.GO2TV_VERSION }}_linux_arm
path: |
LICENSE
README.md
go2tv
retention-days: 2
retention-days: 2
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ Cast your media files to UPnP/DLNA Media Renderers and Smart TVs.
---
GUI mode
-----
![](https://i.imgur.com/pD5P6Fz.png)
![](https://i.imgur.com/karpZgp.png)
![](https://i.imgur.com/Eq3UkuD.png)
![](https://i.imgur.com/B7wF14V.png)

CLI mode
-----
Expand Down
94 changes: 57 additions & 37 deletions cmd/go2tv/go2tv.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,6 @@ import (
var (
//go:embed version.txt
version string
dmrURL string
mediaArg = flag.String("v", "", "Local path to the video/audio file. (Triggers the CLI mode)")
urlArg = flag.String("u", "", "HTTP URL to the media file. URL streaming does not support seek operations. (Triggers the CLI mode)")
subsArg = flag.String("s", "", "Local path to the subtitles file.")
Expand All @@ -35,17 +34,24 @@ var (
versionPtr = flag.Bool("version", false, "Print version.")
)

type flagResults struct {
dmrURL string
exit bool
}

func main() {
guiEnabled := true
var mediaFile interface{}
flag.Parse()

exit, err := checkflags()
flagRes, err := processflags()
check(err)
if exit {

if flagRes.exit {
os.Exit(0)
}
if *mediaArg != "" || *urlArg != "" {

if len(os.Args) > 1 {
guiEnabled = false
}

Expand Down Expand Up @@ -74,18 +80,17 @@ func main() {

mediaType, err = utils.GetMimeDetailsFromFile(absMediaFile)
check(err)

case io.ReadCloser:
absMediaFile = *urlArg
}

absSubtitlesFile, err := filepath.Abs(*subsArg)
check(err)

upnpServicesURLs, err := soapcalls.DMRextractor(dmrURL)
upnpServicesURLs, err := soapcalls.DMRextractor(flagRes.dmrURL)
check(err)

whereToListen, err := utils.URLtoListenIPandPort(dmrURL)
whereToListen, err := utils.URLtoListenIPandPort(flagRes.dmrURL)
check(err)

scr, err := interactive.InitTcellNewScreen()
Expand Down Expand Up @@ -117,9 +122,6 @@ func main() {
// Wait for HTTP server to properly initialize
<-serverStarted

err = tvdata.SendtoTV("Play1")
check(err)

scr.InterInit(tvdata)
}

Expand All @@ -131,15 +133,26 @@ func check(err error) {
}

func listFlagFunction() error {
if len(devices.Devices) == 0 {
return errors.New("-l and -t can't be used together")
flagsEnabled := 0
flag.Visit(func(f *flag.Flag) {
flagsEnabled++
})

if flagsEnabled > 1 {
return errors.New("cant combine -l with other flags")
}

deviceList, err := devices.LoadSSDPservices(1)
if err != nil {
return errors.New("failed to list devices")
}

fmt.Println()

// We loop through this map twice as we need to maintain
// the correct order.
keys := make([]string, 0)
for k := range devices.Devices {
for k := range deviceList {
keys = append(keys, k)
}

Expand All @@ -156,42 +169,48 @@ func listFlagFunction() error {
fmt.Printf("%sDevice %v%s\n", boldStart, q+1, boldEnd)
fmt.Printf("%s--------%s\n", boldStart, boldEnd)
fmt.Printf("%sModel:%s %s\n", boldStart, boldEnd, k)
fmt.Printf("%sURL:%s %s\n", boldStart, boldEnd, devices.Devices[k])
fmt.Printf("%sURL:%s %s\n", boldStart, boldEnd, deviceList[k])
fmt.Println()
}

return nil
}

func checkflags() (bool, error) {
func processflags() (*flagResults, error) {
checkVerflag()

res := &flagResults{
exit: false,
dmrURL: "",
}

if checkGUI() {
return false, nil
return res, nil
}

if err := checkTflag(); err != nil {
return false, fmt.Errorf("checkflags error: %w", err)
if err := checkTflag(res); err != nil {
return nil, fmt.Errorf("checkflags error: %w", err)
}

list, err := checkLflag()
if err != nil {
return false, fmt.Errorf("checkflags error: %w", err)
return nil, fmt.Errorf("checkflags error: %w", err)
}

if err := checkVflag(); err != nil {
return false, fmt.Errorf("checkflags error: %w", err)
if list {
res.exit = true
return res, nil
}

if list {
return true, nil
if err := checkVflag(); err != nil {
return nil, fmt.Errorf("checkflags error: %w", err)
}

if err := checkSflag(); err != nil {
return false, fmt.Errorf("checkflags error: %w", err)
return nil, fmt.Errorf("checkflags error: %w", err)
}

return false, nil
return res, nil
}

func checkVflag() error {
Expand Down Expand Up @@ -222,24 +241,25 @@ func checkSflag() error {
return nil
}

func checkTflag() error {
if *targetPtr == "" {
err := devices.LoadSSDPservices(1)
func checkTflag(res *flagResults) error {
if *targetPtr != "" {
// Validate URL before proceeding.
_, err := url.ParseRequestURI(*targetPtr)
if err != nil {
return fmt.Errorf("checkTflag service loading error: %w", err)
return fmt.Errorf("checkTflag parse error: %w", err)
}

dmrURL, err = devices.DevicePicker(1)
res.dmrURL = *targetPtr
} else {
deviceList, err := devices.LoadSSDPservices(1)
if err != nil {
return fmt.Errorf("checkTflag device picker error: %w", err)
return fmt.Errorf("checkTflag service loading error: %w", err)
}
} else {
// Validate URL before proceeding.
_, err := url.ParseRequestURI(*targetPtr)

res.dmrURL, err = devices.DevicePicker(deviceList, 1)
if err != nil {
return fmt.Errorf("checkTflag parse error: %w", err)
return fmt.Errorf("checkTflag device picker error: %w", err)
}
dmrURL = *targetPtr
}

return nil
Expand All @@ -257,7 +277,7 @@ func checkLflag() (bool, error) {
}

func checkVerflag() {
if *versionPtr {
if *versionPtr && os.Args[1] == "-version" {
fmt.Printf("Go2TV Version: %s\n", version)
os.Exit(0)
}
Expand Down
2 changes: 1 addition & 1 deletion cmd/go2tv/version.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
1.9.1
1.10.0
21 changes: 11 additions & 10 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,24 @@ require (
fyne.io/fyne/v2 v2.1.2
github.com/fsnotify/fsnotify v1.5.1 // indirect
github.com/gdamore/tcell/v2 v2.4.0
github.com/go-gl/gl v0.0.0-20211025173605-bda47ffaa784 // indirect
github.com/go-gl/gl v0.0.0-20211210172815-726fda9656d6 // indirect
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec // indirect
github.com/godbus/dbus/v5 v5.0.6 // indirect
github.com/h2non/filetype v1.1.1
github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c // indirect
github.com/h2non/filetype v1.1.3
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/hashicorp/go-retryablehttp v0.7.0
github.com/koron/go-ssdp v0.0.2
github.com/lucasb-eyer/go-colorful v1.2.0 // indirect
github.com/mattn/go-runewidth v0.0.13
github.com/pkg/errors v0.9.1
github.com/srwiley/oksvg v0.0.0-20211104221756-aeb4ca2c1505 // indirect
github.com/srwiley/rasterx v0.0.0-20210519020934-456a8d69b780 // indirect
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966
github.com/srwiley/oksvg v0.0.0-20220128195007-1f435e4c2b44 // indirect
github.com/srwiley/rasterx v0.0.0-20220128185129-2efea2b9ea41 // indirect
github.com/stretchr/testify v1.7.0 // indirect
github.com/yuin/goldmark v1.4.4 // indirect
golang.org/x/image v0.0.0-20211028202545-6944b10bf410 // indirect
golang.org/x/net v0.0.0-20211116231205-47ca1ff31462 // indirect
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881 // indirect
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 // indirect
golang.org/x/text v0.3.7 // indirect
github.com/yuin/goldmark v1.4.6 // indirect
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect
golang.org/x/sys v0.0.0-20220209214540-3681064d5158 // indirect
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
)
39 changes: 24 additions & 15 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -18,18 +18,20 @@ github.com/gdamore/encoding v1.0.0/go.mod h1:alR0ol34c49FCSBLjhosxzcPHQbf2trDkoo
github.com/gdamore/tcell/v2 v2.4.0 h1:W6dxJEmaxYvhICFoTY3WrLLEXsQ11SaFnKGVEXW57KM=
github.com/gdamore/tcell/v2 v2.4.0/go.mod h1:cTTuF84Dlj/RqmaCIV5p4w8uG1zWdk0SF6oBpwHp4fU=
github.com/go-gl/gl v0.0.0-20210813123233-e4099ee2221f/go.mod h1:wjpnOv6ONl2SuJSxqCPVaPZibGFdSci9HFocT9qtVYM=
github.com/go-gl/gl v0.0.0-20211025173605-bda47ffaa784 h1:1Zi56D0LNfvkzM+BdoxKryvUEdyWO7LP8oRT+oSYJW0=
github.com/go-gl/gl v0.0.0-20211025173605-bda47ffaa784/go.mod h1:9YTyiznxEY1fVinfM7RvRcjRHbw2xLBJ3AAGIT0I4Nw=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211024062804-40e447a793be h1:Z28GdQBfKOL8tNHjvaDn3wHDO7AzTRkmAXvHvnopp98=
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/v3.3/glfw v0.0.0-20211024062804-40e447a793be/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec h1:3FLiRYO6PlQFDpUU7OEFlWgjGD1jnBIVSJ5SYRWk+9c=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20211213063430-748e38ca8aec/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-ole/go-ole v1.2.6/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
github.com/godbus/dbus/v5 v5.0.4/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/godbus/dbus/v5 v5.0.6 h1:mkgN1ofwASrYnJ5W6U/BxG15eXXXjirgZc7CLqkcaro=
github.com/godbus/dbus/v5 v5.0.6/go.mod h1:xhWf0FNVPg57R7Z0UbKHbJfkEywrmjJnf7w5xrFpKfA=
github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff h1:W71vTCKoxtdXgnm1ECDFkfQnpdqAO00zzGXLA5yaEX8=
github.com/goki/freetype v0.0.0-20181231101311-fa8a33aabaff/go.mod h1:wfqRWLHRBsRgkp5dmbG56SA0DmVtwrF5N3oPdI8t+Aw=
github.com/h2non/filetype v1.1.1 h1:xvOwnXKAckvtLWsN398qS9QhlxlnVXBjXBydK2/UFB4=
github.com/h2non/filetype v1.1.1/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c h1:JGCm/+tJ9gC6THUxooTldS+CUDsba0qvkvU3DHklqW8=
github.com/goki/freetype v0.0.0-20220119013949-7a161fd3728c/go.mod h1:wfqRWLHRBsRgkp5dmbG56SA0DmVtwrF5N3oPdI8t+Aw=
github.com/h2non/filetype v1.1.3 h1:FKkx9QbD7HR/zjK1Ia5XiBsq9zdLi5Kf3zGyFTAFkGg=
github.com/h2non/filetype v1.1.3/go.mod h1:319b3zT68BvV+WRj7cwy856M2ehB3HqNOt6sy1HndBY=
github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80=
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
Expand Down Expand Up @@ -64,14 +66,17 @@ github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
github.com/rivo/uniseg v0.2.0/go.mod h1:J6wj4VEh+S6ZtnVlnTBMWIodfgj8LQOQFoIToxlJtxc=
github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/shurcooL/sanitized_anchor_name v1.0.0/go.mod h1:1NzhyTcUVG4SuEtjjoZeVRXNmyL/1OwPU0+IJeTBvfc=
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966 h1:JIAuq3EEf9cgbU6AtGPK4CTG3Zf6CKMNqf0MHTggAUA=
github.com/skratchdot/open-golang v0.0.0-20200116055534-eef842397966/go.mod h1:sUM3LWHvSMaG192sy56D9F7CNvL7jUJVXoqM1QKLnog=
github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/srwiley/oksvg v0.0.0-20200311192757-870daf9aa564/go.mod h1:afMbS0qvv1m5tfENCwnOdZGOF8RGR/FsZ7bvBxQGZG4=
github.com/srwiley/oksvg v0.0.0-20211104221756-aeb4ca2c1505 h1:fWb9FJAdmiORr+NEeaadjEXp6C2qGAjdd7icfppTskE=
github.com/srwiley/oksvg v0.0.0-20211104221756-aeb4ca2c1505/go.mod h1:afMbS0qvv1m5tfENCwnOdZGOF8RGR/FsZ7bvBxQGZG4=
github.com/srwiley/oksvg v0.0.0-20220128195007-1f435e4c2b44 h1:XPYXKIuH/n5zpUoEWk2jWV/SjEMNYmqDYmTgbjmhtaI=
github.com/srwiley/oksvg v0.0.0-20220128195007-1f435e4c2b44/go.mod h1:cNQ3dwVJtS5Hmnjxy6AgTPd0Inb3pW05ftPSX7NZO7Q=
github.com/srwiley/rasterx v0.0.0-20200120212402-85cb7272f5e9/go.mod h1:mvWM0+15UqyrFKqdRjY6LuAVJR0HOVhJlEgZ5JWtSWU=
github.com/srwiley/rasterx v0.0.0-20210519020934-456a8d69b780 h1:oDMiXaTMyBEuZMU53atpxqYsSB3U1CHkeAu2zr6wTeY=
github.com/srwiley/rasterx v0.0.0-20210519020934-456a8d69b780/go.mod h1:mvWM0+15UqyrFKqdRjY6LuAVJR0HOVhJlEgZ5JWtSWU=
github.com/srwiley/rasterx v0.0.0-20220128185129-2efea2b9ea41 h1:YR16ysw3I1bqwtEcYV9dpvhHEe7j55hIClkLoAqY31I=
github.com/srwiley/rasterx v0.0.0-20220128185129-2efea2b9ea41/go.mod h1:nXTWP6+gD5+LUJ8krVhhoeHjvHTutPxMYl5SvkcnJNE=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
Expand All @@ -80,8 +85,8 @@ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
github.com/urfave/cli/v2 v2.3.0/go.mod h1:LJmUH05zAU44vOAcrfzZQKsZbVcdbOG8rtL3/XcUArI=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.3.8/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
github.com/yuin/goldmark v1.4.4 h1:zNWRjYUW32G9KirMXYHQHVNFkXvMI7LpgNW2AgYAoIs=
github.com/yuin/goldmark v1.4.4/go.mod h1:rmuwmfZ0+bvzB24eSC//bk1R1Zp3hM0OXYv/G2LIilg=
github.com/yuin/goldmark v1.4.6 h1:EQ1OkiNq/eMbQxs/2O/A8VDIHERXGH14s19ednd4XIw=
github.com/yuin/goldmark v1.4.6/go.mod h1:rmuwmfZ0+bvzB24eSC//bk1R1Zp3hM0OXYv/G2LIilg=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
Expand All @@ -93,8 +98,9 @@ golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200904194848-62affa334b73/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20211116231205-47ca1ff31462 h1:2vmJlzGKvQ7e/X9XT0XydeWDxmqx8DnegiIMRT+5ssI=
golang.org/x/net v0.0.0-20211116231205-47ca1ff31462/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20211118161319-6a13c67c3ce4/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/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-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
Expand All @@ -108,8 +114,9 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
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-20211124211545-fe61309f8881 h1:TyHqChC80pFkXWraUUf6RuB5IqFdQieMLwwCJokV2pc=
golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=
golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211 h1:JGgROgKl9N8DuW20oFS5gxc+lE67/N3FcwmBPMe7ArY=
Expand All @@ -119,6 +126,8 @@ golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8 h1:vVKdlvoWBphwdxWKrFZEuM0kGgGLxUOYcY4U/2Vjg44=
golang.org/x/time v0.0.0-20220210224613-90d013bbcef8/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-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
Expand Down
Loading

0 comments on commit 91dbe6b

Please sign in to comment.