From 5e99d568388e31385063743bd77b6e1a332bb59a Mon Sep 17 00:00:00 2001 From: Andy Grunwald Date: Sun, 27 Mar 2016 17:45:00 +0200 Subject: [PATCH 001/403] Added cachet client library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e392f1a3..d0ab5961 100644 --- a/README.md +++ b/README.md @@ -852,6 +852,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [anaconda](https://github.com/ChimeraCoder/anaconda) - A Go client library for the Twitter 1.1 API * [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. * [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB API. +* [cachet](https://github.com/andygrunwald/cachet) - Go client library for [Cachet (open source status page system)](https://cachethq.io/) * [clarifai](https://github.com/samuelcouch/clarifai) - A Go client library for interfacing with the Clarifai API. * [discordgo](https://github.com/bwmarrin/discordgo) - Go bindings for the Discord Chat API * [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API From d244e9456256ea3dba2a45a7ec7d9783560a840c Mon Sep 17 00:00:00 2001 From: Alexey Palazhchenko Date: Thu, 19 May 2016 20:36:24 +0400 Subject: [PATCH 002/403] Add reform --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69eb5b51..16671532 100644 --- a/README.md +++ b/README.md @@ -670,6 +670,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. * [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. * [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. +* [reform](https://github.com/AlekSi/reform) - A better ORM for Go, based on non-empty interfaces and code generation. * [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. * [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. From 12fe64d146056c8d7e2dd0853cfdc5344945f146 Mon Sep 17 00:00:00 2001 From: abo Date: Thu, 26 May 2016 10:27:41 +0800 Subject: [PATCH 003/403] Add ratelimiter to utilities --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3c9756b..17714b9d 100644 --- a/README.md +++ b/README.md @@ -983,6 +983,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. * [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go. +* [ratelimiter](https://github.com/abo/ratelimiter) - Redis-based rate counter and rate limiter for Go. * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. * [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes. * [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client. From 63648112ed0c2b2d7f076c4576ef6faa4a8a9842 Mon Sep 17 00:00:00 2001 From: abo Date: Fri, 27 May 2016 10:42:22 +0800 Subject: [PATCH 004/403] ratelimiter rename to rerate --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 17714b9d..afc9d26e 100644 --- a/README.md +++ b/README.md @@ -983,8 +983,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. * [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go. -* [ratelimiter](https://github.com/abo/ratelimiter) - Redis-based rate counter and rate limiter for Go. * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. +* [rerate](https://github.com/abo/rerate) - Redis-based rate counter and rate limiter for Go. * [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes. * [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client. * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics. From b443b8cb3ea07f9f4898d4a4cdf83dff2266a5a9 Mon Sep 17 00:00:00 2001 From: Agniva De Sarker Date: Sat, 28 May 2016 12:15:39 +0530 Subject: [PATCH 005/403] Added levenshtein to Data Structures --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e3c9756b..4297bdfd 100644 --- a/README.md +++ b/README.md @@ -212,6 +212,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. +* [levenshtein](https://github.com/agnivade/levenshtein) - Implmentation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing * [roaring](https://github.com/RoaringBitmap/roaring) - Go package implementing compressed bitsets. * [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go From e7a542a00a3704160035e496b64245c1cb6aea13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Mart=C3=AD?= Date: Wed, 8 Jun 2016 03:56:18 +0100 Subject: [PATCH 006/403] Add github.com/mvdan/sh to Text Processing (#981). --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e6d888d..deb4d28e 100644 --- a/README.md +++ b/README.md @@ -868,6 +868,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. * [guesslanguage](https://github.com/endeveit/guesslanguage) - Functions to determine the natural language of a unicode text. * [mxj](https://github.com/clbanning/mxj) - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. + * [sh](https://github.com/mvdan/sh) - A shell parser and formatter * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. * [Slugify](https://github.com/avelino/slugify) - A Go slugify application that handles string. * [toml](https://github.com/BurntSushi/toml) - TOML configuration format (encoder/decoder with reflection). From d0646b8f7446499af61cd97b1c62cb5af15b98e7 Mon Sep 17 00:00:00 2001 From: Dan Buch Date: Wed, 8 Jun 2016 11:53:14 -0400 Subject: [PATCH 007/403] Update location/name of codegangsta/cli (#982). Also update description to match repository description. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index deb4d28e..2cf9c035 100644 --- a/README.md +++ b/README.md @@ -131,7 +131,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [cli-init](https://github.com/tcnksm/gcli) - The easy way to start building Golang command line application. * [climax](http://github.com/tucnak/climax) - An alternative CLI with "human face", in spirit of Go command * [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions -* [codegangsta/cli](https://github.com/codegangsta/cli) - A small package for building command line apps in Go. * [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. * [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser * [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. @@ -140,6 +139,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. * [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license. * [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. +* [urfave/cli](https://github.com/urfave/cli) - A simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli). * [wlog](https://github.com/dixonwille/wlog) - A simple logging interface that supports cross-platform color and concurrency. * [wmenu](https://github.com/dixonwille/wmenu) - An easy to use menu structure for cli applications that prompts users to make choices. From 3fe8d685bfd7177c0049cdeaeb1c73d87feed31c Mon Sep 17 00:00:00 2001 From: Hafiz Ismail Date: Mon, 13 Jun 2016 15:28:15 +0800 Subject: [PATCH 008/403] Update `graphql-go` new repo URL. (#985) Previously `github.com/chris-ramon/graphql-go` is now `github.com/graphql-go/graphql`. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2cf9c035..ac0fb574 100644 --- a/README.md +++ b/README.md @@ -702,7 +702,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. * [graphql](https://github.com/sevki/graphql) - GraphQL implementation in go. -* [graphql-go](https://github.com/chris-ramon/graphql-go) - An implementation of GraphQL for Go. +* [graphql-go](https://github.com/graphql-go/graphql) - An implementation of GraphQL for Go. * [jsonql](https://github.com/elgs/jsonql) - JSON query expression library in Golang. From 57de172318364ae3288ec4715e1491b789b9d24b Mon Sep 17 00:00:00 2001 From: Stan Bright Date: Mon, 13 Jun 2016 14:16:44 +0300 Subject: [PATCH 009/403] Add 'Awesome Go @LibHunt' to the Websites section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac0fb574..5aa3100e 100644 --- a/README.md +++ b/README.md @@ -1288,6 +1288,7 @@ Where to discover new Go libraries. ## Websites +* [Awesome Go @LibHunt](https://go.libhunt.com) - Your go-to Go Toolbox. * [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - A curated list of awesome remote jobs. A lot of them is looking for Go hackers. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - List of other amazingly awesome lists. * [Flipboard - Go Magazine](https://flipboard.com/section/the-golang-magazine-bVP7nS) - A collection of Go articles and tutorials. From 2369ffa85ca2b1151b3542d1f88a80685e5345ca Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Mon, 13 Jun 2016 10:47:58 -0400 Subject: [PATCH 010/403] add form library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac0fb574..d377abcb 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [bind](https://github.com/robfig/bind) - Bind form data to any Go values * [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. * [conform](https://github.com/leebenson/conform) - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. +* [form](https://github.com/go-playground/form) - decodes url.Values into struct, creating objects as necessary. Dual Array and Full map support. * [formam](https://github.com/monoculum/formam) - decode form's values into a struct. * [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. * [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. From 723391e0c3dfffb880298bffef3564e7d12f04ed Mon Sep 17 00:00:00 2001 From: Daniel Fu Date: Tue, 14 Jun 2016 10:59:31 +0800 Subject: [PATCH 011/403] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac0fb574..42cf5f5f 100644 --- a/README.md +++ b/README.md @@ -643,6 +643,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [grab](https://github.com/cavaliercoder/grab) - Go package for managing file downloads * [graval](https://github.com/koofr/graval) - An experimental FTP server framework. * [kcp-go](https://github.com/xtaci/kcp-go) - KCP - A Fast and Reliable ARQ Protocol. +* [kcptun](https://github.com/xtaci/kcptun) - An extremely simple & fast udp tunnel based on KCP protocol * [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces * [llb](https://github.com/kirillDanshin/llb) - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response. * [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang From a1fb273c612affff81fe0a67328c8b55f5bfc27d Mon Sep 17 00:00:00 2001 From: "A. Darian" Date: Wed, 15 Jun 2016 23:35:07 +0100 Subject: [PATCH 012/403] Add sleuth to "Distributed Systems" section. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ac0fb574..5106489c 100644 --- a/README.md +++ b/README.md @@ -338,6 +338,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. +* [sleuth](https://github.com/ursiform/sleuth) - A library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)). * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. * [go-peerflix](https://github.com/Sioro-Neoku/go-peerflix) - Video streaming torrent client. From 29c9622ddb3a8e6224ea695f43994d6d6753598b Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Thu, 16 Jun 2016 10:24:58 -0400 Subject: [PATCH 013/403] update pool description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d377abcb..8ee56a66 100644 --- a/README.md +++ b/README.md @@ -441,7 +441,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Tools for managing and working with Goroutines* * [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool. -* [pool](https://github.com/go-playground/pool) - Go consumer goroutine pool for easy goroutine handling + time saving. +* [pool](https://github.com/go-playground/pool) - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation. * [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for golang. From 6d3d7ad7311d9228b9515e5f12fa2c28438b1667 Mon Sep 17 00:00:00 2001 From: Dean Karn Date: Tue, 21 Jun 2016 00:05:23 -0400 Subject: [PATCH 014/403] Update go-playground/form's description as it now also supports Encoding url.Values from a struct. (#997) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ee56a66..f9341b56 100644 --- a/README.md +++ b/README.md @@ -389,7 +389,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [bind](https://github.com/robfig/bind) - Bind form data to any Go values * [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. * [conform](https://github.com/leebenson/conform) - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. -* [form](https://github.com/go-playground/form) - decodes url.Values into struct, creating objects as necessary. Dual Array and Full map support. +* [form](https://github.com/go-playground/form) - Decodes url.Values into struct values and Encodes struct values into url.Values. Dual Array and Full map support. * [formam](https://github.com/monoculum/formam) - decode form's values into a struct. * [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. * [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. From 6245537529f1017e1542cdb83c3eac12a61091a9 Mon Sep 17 00:00:00 2001 From: Danny van Kooten Date: Tue, 21 Jun 2016 10:02:45 +0200 Subject: [PATCH 015/403] Add dannyvankooten/vat to Financial. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9341b56..1f823181 100644 --- a/README.md +++ b/README.md @@ -380,6 +380,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang * [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers +* [vat](https://github.com/dannyvankooten/vat) - VAT number validation & EU VAT rates ## Forms From 7114a7a1389dd55eb6918c956e45fa16cffc4f2a Mon Sep 17 00:00:00 2001 From: Melih Mucuk Date: Tue, 21 Jun 2016 18:38:30 +0300 Subject: [PATCH 016/403] geocache package added to Database section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9341b56..4623243b 100644 --- a/README.md +++ b/README.md @@ -232,6 +232,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. * [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. * [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. +* [geocache](https://github.com/melihmucuk/geocache) - An in-memory cache that is suitable for geolocation based applications. * [goleveldb](https://github.com/syndtr/goleveldb) - An implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in the Go. * [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. * [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics From b45c160f91e3566c459aab866f319a80d913f912 Mon Sep 17 00:00:00 2001 From: Melih Mucuk Date: Tue, 21 Jun 2016 18:44:18 +0300 Subject: [PATCH 017/403] change order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4623243b..2c121066 100644 --- a/README.md +++ b/README.md @@ -231,8 +231,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store. * [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. * [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. -* [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. * [geocache](https://github.com/melihmucuk/geocache) - An in-memory cache that is suitable for geolocation based applications. +* [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. * [goleveldb](https://github.com/syndtr/goleveldb) - An implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in the Go. * [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. * [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics From b4b61321f6e407aa6a8aa885ffa4856c23c605d6 Mon Sep 17 00:00:00 2001 From: aymer Date: Wed, 22 Jun 2016 06:38:41 +0800 Subject: [PATCH 018/403] Add zap logger package from Uber. (#996) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f9341b56..4b7c22c5 100644 --- a/README.md +++ b/README.md @@ -519,6 +519,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [stdlog](https://github.com/alexcesaro/log) - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs. * [tail](https://github.com/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program. * [xlog](https://github.com/rs/xlog) - A structured logger for `net/context` aware HTTP handlers with flexible dispatching. +* [zap](https://github.com/uber-go/zap) - Fast, structured, leveled logging in Go. ## Machine Learning From c6dc6c69b0a0c46596538561f8931a39c32350a5 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Wed, 22 Jun 2016 11:01:31 +0300 Subject: [PATCH 019/403] add more info to PR template and gocover.io altername --- .github/PULL_REQUEST_TEMPLATE.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a4a4de05..eaf3b70c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,9 +1,9 @@ Please check if what you want to add to `awesome-go` list meets [quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) before sending pull request. Thanks! -Please provide package links to: +**Please provide package links to:** - godoc.org: - goreportcard.com: -- gocover.io: +- gocover.io or coveralls: Note, that new categories can be added only when there are 3 packages or more. @@ -11,9 +11,9 @@ Note, that new categories can be added only when there are 3 packages or more. Make sure that you've checked the boxes below before you submit PR: - [ ] I have added my package in alphabetical order - [ ] I know that this package was not listed before -- [ ] I have added godoc link -- [ ] I have added gocover.io link -- [ ] I have added goreportcard link +- [ ] I have added godoc link to the repo and to my pull request +- [ ] I have added gocover.io or coveralls link to the repo and to my pull request +- [ ] I have added goreportcard link to the repo and to my pull request - [ ] I have read [Contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#contribution-guidelines) and [Quality standard](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard). Thanks for your PR, you're awesome! :+1: From 36e9d8281f7b0e57fb22f39c9b152f4de1ab2d5c Mon Sep 17 00:00:00 2001 From: Olivier Gagnon Date: Thu, 23 Jun 2016 02:35:04 -0400 Subject: [PATCH 020/403] Remove 4 repos from Game Development section. (#1003) --- README.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/README.md b/README.md index 64590b32..301efee0 100644 --- a/README.md +++ b/README.md @@ -406,7 +406,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-like 2D game library in Go * [engo](https://github.com/EngoEngine/engo) - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. * [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. -* [glm](https://github.com/luxengine/glm) - A performance oriented vector, matrix, geometry library. * [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. * [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A\* path finding algorithm * [go-collada](https://github.com/GlenKelley/go-collada) - Go package for working with the Collada file format. @@ -414,10 +413,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go * [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang * [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework -* [lux](https://github.com/luxengine/lux) - A 3D physically based rendering engine. -* [math](https://github.com/luxengine/math) - A float32 native version of standard library math. * [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox -* [tornago](https://github.com/luxengine/tornago) - A 3D rigid body physics engine in pure Go. ## Generation & Generics From d2882cfa8f4aeca79deb9a33aa8249163a7c6726 Mon Sep 17 00:00:00 2001 From: Alexey Palazhchenko Date: Thu, 23 Jun 2016 17:33:42 +0400 Subject: [PATCH 021/403] Update reform repository --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 301efee0..a9e464b2 100644 --- a/README.md +++ b/README.md @@ -677,7 +677,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. * [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. * [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. -* [reform](https://github.com/AlekSi/reform) - A better ORM for Go, based on non-empty interfaces and code generation. +* [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation. * [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. * [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. From ab8195b41ca13af1ed3ac821f224f9e4921e0b83 Mon Sep 17 00:00:00 2001 From: Qiang Xue Date: Thu, 23 Jun 2016 14:31:46 -0400 Subject: [PATCH 022/403] added ozzo-validation --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9e464b2..4a507b37 100644 --- a/README.md +++ b/README.md @@ -1012,6 +1012,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for validation.* * [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs. +* [ozzo-validation](https://github.com/go-ozzo/ozzo-validation) - Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags. * [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. From fe0481dd8b8a71e0c9f7dbbd27600d911b7f6b3b Mon Sep 17 00:00:00 2001 From: Michel Aquino Date: Sat, 25 Jun 2016 01:43:02 -0300 Subject: [PATCH 023/403] Add govendor, a Go package manager. (#1007) --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 4a507b37..f90407a5 100644 --- a/README.md +++ b/README.md @@ -694,12 +694,15 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gom](https://github.com/mattn/gom) - Go Manager - bundle for go. * [goop](https://github.com/nitrous-io/goop) - A simple dependency manager for Go (golang), inspired by Bundler. * [gopm](https://github.com/gpmgo/gopm) - Go Package Manager +* [govendor](https://github.com/kardianos/govendor) - Go Package Manager. Go vendor tool that works with the standard vendor file. * [gpm](https://github.com/pote/gpm) - Barebones dependency manager for Go. * [johnny-deps](https://github.com/VividCortex/johnny-deps) - Minimal dependency version using Git * [nut](https://github.com/jingweno/nut) - Vendor Go dependencies * [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments + + ## Query Language * [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. From cb8b345ef0080aeadb59775e2be04b4f71ed83f0 Mon Sep 17 00:00:00 2001 From: Victor Gaydov Date: Fri, 1 Jul 2016 09:06:52 +0400 Subject: [PATCH 024/403] Add httpexpect. (#1010) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f90407a5..747de15d 100644 --- a/README.md +++ b/README.md @@ -832,6 +832,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [GoSpec](https://github.com/orfjackal/gospec) - BDD-style testing framework for the Go programming language. * [gospecify](https://github.com/stesla/gospecify) - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. * [Hamcrest](https://github.com/rdrdr/hamcrest) - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. + * [httpexpect](https://github.com/gavv/httpexpect) - Concise, declarative, and easy to use end-to-end HTTP and REST API testing * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. * [testfixtures](https://github.com/go-testfixtures/testfixtures) - A helper for Rails' like test fixtures to test database applications. * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. From 2c6cff21adff7f7ea5fe106c5c1cfa577b15f196 Mon Sep 17 00:00:00 2001 From: mstrong Date: Fri, 1 Jul 2016 21:58:43 -0400 Subject: [PATCH 025/403] Correcting goreturns URL --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 747de15d..69213c50 100644 --- a/README.md +++ b/README.md @@ -1136,7 +1136,7 @@ Go software and plugins. * [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) - Tool to fix (add, remove) your Go imports automatically. * [GoLint](https://github.com/golang/lint) - Golint is a linter for Go source code. * [Golint online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. -* [goreturns](https://sourcegraph.com/sqs/goreturns) - Adds zero-value return statements to match the func return types. +* [goreturns](https://sourcegraph.com/github.com/sqs/goreturns) - Adds zero-value return statements to match the func return types. * [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages. * [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. From a1e94025d402d2f898ed435567e3c91deae2ddab Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Sat, 9 Jul 2016 00:39:51 -0700 Subject: [PATCH 026/403] Remove aac/h264 package because of 404. Resolves #1016. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 4607aa1f..f5abf8c3 100644 --- a/README.md +++ b/README.md @@ -1035,7 +1035,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for manipulating video.* -* [aac/h264](https://github.com/nareix/codec) - Golang aac/h264 encoder and decoder. * [gmf](https://github.com/3d0c/gmf) - Go bindings for FFmpeg av\* libraries. * [goav](https://github.com/giorgisio/goav) - Comphrensive Go bindings for FFmpeg. * [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer. From 23ad8e20d9d932b2feef71f5c451186aeb7092c3 Mon Sep 17 00:00:00 2001 From: Stefan Cocora Date: Sat, 9 Jul 2016 08:58:44 +0100 Subject: [PATCH 027/403] Add gvt to package management. (#1017) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f5abf8c3..f83fd966 100644 --- a/README.md +++ b/README.md @@ -697,6 +697,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gopm](https://github.com/gpmgo/gopm) - Go Package Manager * [govendor](https://github.com/kardianos/govendor) - Go Package Manager. Go vendor tool that works with the standard vendor file. * [gpm](https://github.com/pote/gpm) - Barebones dependency manager for Go. +* [gvt](https://github.com/FiloSottile/gvt) - `gvt` is a simple vendoring tool made for Go native vendoring (aka GO15VENDOREXPERIMENT), based on gb-vendor. * [johnny-deps](https://github.com/VividCortex/johnny-deps) - Minimal dependency version using Git * [nut](https://github.com/jingweno/nut) - Vendor Go dependencies * [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments From ca7e08343d68d5a428643a23145addce61370f0c Mon Sep 17 00:00:00 2001 From: mozillazg Date: Sun, 10 Jul 2016 10:54:47 +0800 Subject: [PATCH 028/403] add go-unidecode --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f83fd966..f3ee3d5b 100644 --- a/README.md +++ b/README.md @@ -604,6 +604,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-i18n](https://github.com/nicksnyder/go-i18n/) - A package and an accompanying tool to work with localized text. * [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. * [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. +* [go-unidecode](https://github.com/mozillazg/go-unidecode) - ASCII transliterations of Unicode text. * [go2vec](https://github.com/danieldk/go2vec) - Reader and utility functions for word2vec embeddings. * [gojieba](https://github.com/yanyiwu/gojieba) - This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm. * [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2 From 5097ceff9e72deb92537b0fd1efee83d429cf95d Mon Sep 17 00:00:00 2001 From: Shamsher Ansari Date: Tue, 12 Jul 2016 15:23:32 +0530 Subject: [PATCH 029/403] Add gods, go data structure. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3ee3d5b..f6244b10 100644 --- a/README.md +++ b/README.md @@ -210,6 +210,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - A Go implementation of Adaptive Radix Tree. * [go-datastructures](https://github.com/Workiva/go-datastructures) - a collection of useful, performant, and thread-safe data structures * [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. +* [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing From 2e6e626e70fb68ef866785f66b05d0a93c511dfc Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Wed, 13 Jul 2016 21:16:52 -0300 Subject: [PATCH 030/403] Add editorconfig-core-go --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f3ee3d5b..ef1927ad 100644 --- a/README.md +++ b/README.md @@ -862,6 +862,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. * [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer + * [editorconfig-core-go](https://github.com/editorconfig/editorconfig-core-go) - Editorconfig file parser and manipulator for Go * [enca](https://github.com/endeveit/enca) - Minimal cgo bindings for [libenca](http://cihar.com/software/enca/). * [genex](https://github.com/alixaxel/genex) - Count and expand Regular Expressions into all matching Strings * [go-humanize](https://github.com/dustin/go-humanize) - Formatters for time, numbers, and memory size to human readable format. From 7148844e99b9a055754991a7d9ba59de1ca36ab0 Mon Sep 17 00:00:00 2001 From: Blake Orth Date: Sat, 16 Jul 2016 11:57:12 -0600 Subject: [PATCH 031/403] Add gaad, a native Go AAC bitstream parser. (#1023) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 32c201ce..503d4552 100644 --- a/README.md +++ b/README.md @@ -89,6 +89,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. * [flac](https://github.com/mewkiz/flac) - A native Go FLAC decoder. +* [gaad](https://github.com/Comcast/gaad) - A native Go AAC bitstream parser * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps. From d9a07f328ad6248dbf5bf73c786f846b35483f9d Mon Sep 17 00:00:00 2001 From: mozillazg Date: Sun, 17 Jul 2016 07:36:12 +0800 Subject: [PATCH 032/403] add go-slugify --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 503d4552..6a0ed2c8 100644 --- a/README.md +++ b/README.md @@ -872,6 +872,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-pkg-rss](https://github.com/jteeuwen/go-pkg-rss) - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. + * [go-slugify](https://github.com/mozillazg/go-slugify) - Make pretty slug with multiple languages support. * [gofeed](https://github.com/mmcdole/gofeed) - Parse RSS and Atom feeds in Go * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. * [gommon/bytes](https://github.com/labstack/gommon/tree/master/bytes) - Format bytes to string. From 011f6f01db84956ff5dfe5ca2a806dc8bf6bcbc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mustafa=20Ak=C4=B1n?= Date: Mon, 18 Jul 2016 14:33:05 +0300 Subject: [PATCH 033/403] Added Gongular web framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0afbb737..cd827aab 100644 --- a/README.md +++ b/README.md @@ -1071,6 +1071,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Golf](https://github.com/dinever/golf) - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library. * [golongpoll](https://github.com/jcuga/golongpoll) - HTTP longpoll server library that makes web pub-sub simple. * [Gondola](https://github.com/rainycape/gondola) - The web framework for writing faster sites, faster +* [gongular](https://github.com/mustafaakin/gongular) - A fast Go web framework with input mapping/validation and (DI) Dependency Injection * [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go * [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. From 558bea32846aa1dd41e731195da9058595b35683 Mon Sep 17 00:00:00 2001 From: Ben Gadbois Date: Mon, 18 Jul 2016 12:38:44 -0700 Subject: [PATCH 034/403] Removing unmaintained bmizerany/assert --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index cd827aab..122957f2 100644 --- a/README.md +++ b/README.md @@ -820,7 +820,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * Testing Frameworks * [assert](https://github.com/go-playground/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions - * [assert](https://github.com/bmizerany/assert) - Asserts to Go testing * [badio](https://github.com/cavaliercoder/badio) - Extensions to Go's `testing/iotest` package * [baloo](https://github.com/h2non/baloo) - Expressive and versatile end-to-end HTTP API testing made easy. * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them From 349631abaf021b0d08e4958d4c42b9c26f6e4415 Mon Sep 17 00:00:00 2001 From: Mehrdad Arshad Rad Date: Wed, 20 Jul 2016 08:54:47 -0700 Subject: [PATCH 035/403] added mylg repo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 122957f2..7aa0ad26 100644 --- a/README.md +++ b/README.md @@ -1225,6 +1225,7 @@ Software written in Go. * [limetext](http://limetext.org/) Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text. * [LiteIDE](https://github.com/visualfc/liteide) LiteIDE is a simple, open source, cross-platform Go IDE. * [mockingjay](https://github.com/quii/mockingjay-server) Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests. +* [myLG](https://github.com/mehrdadrad/mylg) - Command Line Network Diagnostic tool written in Go. * [naclpipe](https://github.com/unix4fun/naclpipe) - A simple NaCL EC25519 based crypto pipe tool written in Go. * [nes](https://github.com/fogleman/nes) - A Nintendo Entertainment System (NES) emulator written in Go. * [orange-cat](https://github.com/noraesae/orange-cat) - A Markdown previewer written in Go. From c2488d20e3ec5870b1b8289231fbbc1012ca049a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vytautas=20=C5=A0altenis?= Date: Wed, 20 Jul 2016 20:54:30 +0300 Subject: [PATCH 036/403] Fix some typos --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 122957f2..b8f8670f 100644 --- a/README.md +++ b/README.md @@ -204,17 +204,17 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [binpacker](https://github.com/zhuangsirui/binpacker) - Binary packer and unpacker helps user build custom binary stream. * [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. * [bloom](https://github.com/zhenjl/bloom) - Bloom filters implemented in Go. -* [boomfilters](https://github.com/tylertreat/BoomFilters) - probabilistic data structures for processing continuous, unbounded streams +* [boomfilters](https://github.com/tylertreat/BoomFilters) - Probabilistic data structures for processing continuous, unbounded streams * [count-min-log](https://github.com/seiflotfy/count-min-log) - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). * [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. * [encoding](https://github.com/zhenjl/encoding) - Integer Compression Libraries for Go. * [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - A Go implementation of Adaptive Radix Tree. -* [go-datastructures](https://github.com/Workiva/go-datastructures) - a collection of useful, performant, and thread-safe data structures +* [go-datastructures](https://github.com/Workiva/go-datastructures) - A collection of useful, performant, and thread-safe data structures * [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. * [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. -* [levenshtein](https://github.com/agnivade/levenshtein) - Implmentation to calculate levenshtein distance in Go. +* [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing * [roaring](https://github.com/RoaringBitmap/roaring) - Go package implementing compressed bitsets. * [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go @@ -241,7 +241,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics * [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. * [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. -* [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. +* [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. * [rqlite](https://github.com/rqlite/rqlite) - Replicated SQLite, using Raft consensus. * [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. * [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. @@ -943,7 +943,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org) * [translate](https://github.com/poorny/translate) - Go online translation package. * [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. -* [webhooks](https://github.com/go-playground/webhooks) - Webhook reciever for GitHub and Bitbucket. +* [webhooks](https://github.com/go-playground/webhooks) - Webhook receiver for GitHub and Bitbucket. ## Utilities @@ -1258,7 +1258,7 @@ Where to discover new Go libraries. ## Benchmarks * [autobench](https://github.com/davecheney/autobench) - Framework to compare the performance between different Go versions. -* [go-benchmarks](https://github.com/tylertreat/go-benchmarks) - A few miscellaneous Go microbenchmarks. Compare some language features to alternative aproaches. +* [go-benchmarks](https://github.com/tylertreat/go-benchmarks) - A few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches. * [go-http-routing-benchmark](https://github.com/julienschmidt/go-http-routing-benchmark) - Go HTTP request router benchmark and comparison. * [go-type-assertion-benchmark](https://github.com/hgfischer/go-type-assertion-benchmark) - Naive performance test of two ways to do type assertion in Go. * [go_serialization_benchmarks](https://github.com/alecthomas/go_serialization_benchmarks) - Benchmarks of Go serialization methods. From 94cf18dc9d7edb6f6e8976a00057f4c69be42d84 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Wed, 20 Jul 2016 20:54:10 +0300 Subject: [PATCH 037/403] add dlog --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e271b6d..401ea467 100644 --- a/README.md +++ b/README.md @@ -906,6 +906,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Death](https://github.com/vrecan/death) - Managing go application shutdown with signals. * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go. * [delve](https://github.com/derekparker/delve) - Go debugger. +* [dlog](https://github.com/kirillDanshin/dlog) - Compile-time controlled logger to make your release smaller without removing debug calls. * [fastlz](https://github.com/digitalcrab/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go From 9935f127192419f58f7e898aa0acbc713848e4a0 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Thu, 21 Jul 2016 03:13:52 +0300 Subject: [PATCH 038/403] support any coverage service --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index eaf3b70c..86e0ef59 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -3,7 +3,7 @@ Please check if what you want to add to `awesome-go` list meets [quality standar **Please provide package links to:** - godoc.org: - goreportcard.com: -- gocover.io or coveralls: +- coverage service link (gocover, coveralls etc.): Note, that new categories can be added only when there are 3 packages or more. From 04d0f0d91a3527d5bd29e85f2111884b19777f42 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Thu, 21 Jul 2016 03:14:36 +0300 Subject: [PATCH 039/403] rename coverage checkbox --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 86e0ef59..8b15977c 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -12,7 +12,7 @@ Make sure that you've checked the boxes below before you submit PR: - [ ] I have added my package in alphabetical order - [ ] I know that this package was not listed before - [ ] I have added godoc link to the repo and to my pull request -- [ ] I have added gocover.io or coveralls link to the repo and to my pull request +- [ ] I have added coverage service link to the repo and to my pull request - [ ] I have added goreportcard link to the repo and to my pull request - [ ] I have read [Contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#contribution-guidelines) and [Quality standard](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard). From d790cae6a047d3b4e745055f8b7b3810a3b4c725 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Thu, 21 Jul 2016 03:17:09 +0300 Subject: [PATCH 040/403] add github link to links list + bold font weight --- .github/PULL_REQUEST_TEMPLATE.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8b15977c..8c1dadd7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,14 +1,15 @@ Please check if what you want to add to `awesome-go` list meets [quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) before sending pull request. Thanks! **Please provide package links to:** +- github.com repo: - godoc.org: - goreportcard.com: - coverage service link (gocover, coveralls etc.): -Note, that new categories can be added only when there are 3 packages or more. +**Note**: that new categories can be added only when there are 3 packages or more. -Make sure that you've checked the boxes below before you submit PR: +**Make sure that you've checked the boxes below before you submit PR:** - [ ] I have added my package in alphabetical order - [ ] I know that this package was not listed before - [ ] I have added godoc link to the repo and to my pull request From a72bef4b4be7831361742f8a13c6f1abe81a39e0 Mon Sep 17 00:00:00 2001 From: Ryan Leary Date: Thu, 21 Jul 2016 10:06:22 -0400 Subject: [PATCH 041/403] Add Kazaam JSON transformation project --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18fe1723..a82a4b00 100644 --- a/README.md +++ b/README.md @@ -990,6 +990,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [JobRunner](https://github.com/bamzi/jobrunner) - Smart and featureful cron job scheduler with job queuing and live monitoring built in. * [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON. * [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects. +* [kazaam](https://github.com/Qntfy/kazaam) - API for arbitrary transformation of JSON documents. * [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go * [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. * [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. From ae07c9b3c4504fb18b1a1a10f8429538eb853e9c Mon Sep 17 00:00:00 2001 From: Eduard Date: Mon, 25 Jul 2016 17:52:18 +0300 Subject: [PATCH 042/403] Add implementation of the "Bailey-Borwein-Plouffe" algorithm. (#1039) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f28f9b38..bb066cfa 100644 --- a/README.md +++ b/README.md @@ -751,6 +751,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language * [mudlark-go](https://github.com/pwil3058/mudlark-go-pkgs) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. * [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go +* [PiHex](https://github.com/claygod/PiHex) - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi * [stats](https://github.com/montanaflynn/stats) - A statistics package with common functions missing from the Golang standard library. * [streamtools](https://github.com/nytlabs/streamtools) - general purpose, graphical tool for dealing with streams of data. * [vectormath](https://github.com/spate/vectormath) - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive) From 8d7dd301276f6953723fd1c14f780bf495eb3314 Mon Sep 17 00:00:00 2001 From: joeybloggs Date: Tue, 26 Jul 2016 10:46:09 -0400 Subject: [PATCH 043/403] update form description for new functionality added. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bb066cfa..1ceb612d 100644 --- a/README.md +++ b/README.md @@ -395,7 +395,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [bind](https://github.com/robfig/bind) - Bind form data to any Go values * [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. * [conform](https://github.com/leebenson/conform) - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. -* [form](https://github.com/go-playground/form) - Decodes url.Values into struct values and Encodes struct values into url.Values. Dual Array and Full map support. +* [form](https://github.com/go-playground/form) - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. * [formam](https://github.com/monoculum/formam) - decode form's values into a struct. * [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. * [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. From bccf2f8b1368a3275c7fd896d46a8e422486d081 Mon Sep 17 00:00:00 2001 From: Belac Darkstorm Date: Wed, 27 Jul 2016 00:43:15 -0500 Subject: [PATCH 044/403] Added bbConvert --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1ceb612d..99c218ba 100644 --- a/README.md +++ b/README.md @@ -862,6 +862,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for parsing and manipulating texts.* * Specific Formats + * [bbConvert](https://github.com/CalebQ42/bbConvert) - Converts bbCode to HTML that allows you to add support for custo bbCode tags * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. * [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer From 35ecc98f708dfc5781800bfe04afea8784f7058a Mon Sep 17 00:00:00 2001 From: Belac Darkstorm Date: Wed, 27 Jul 2016 00:51:23 -0500 Subject: [PATCH 045/403] Fixed typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 99c218ba..0ab835cb 100644 --- a/README.md +++ b/README.md @@ -862,7 +862,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for parsing and manipulating texts.* * Specific Formats - * [bbConvert](https://github.com/CalebQ42/bbConvert) - Converts bbCode to HTML that allows you to add support for custo bbCode tags + * [bbConvert](https://github.com/CalebQ42/bbConvert) - Converts bbCode to HTML that allows you to add support for custom bbCode tags * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. * [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer From 8adaeb7d5ec147a5042c3ccad36a22392d99552a Mon Sep 17 00:00:00 2001 From: Alex Flint Date: Sun, 31 Jul 2016 09:26:21 -0700 Subject: [PATCH 046/403] add go-arg under CLI --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e3633db..484ecd1b 100644 --- a/README.md +++ b/README.md @@ -133,6 +133,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [climax](http://github.com/tucnak/climax) - An alternative CLI with "human face", in spirit of Go command * [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions * [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. +* [go-arg](https://github.com/alexflint/go-arg) - Struct-based argument parsing in Go * [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser * [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. * [liner](https://github.com/peterh/liner) - A Go readline-like library for command-line interfaces. From d6152169eb33ff7da1461bfe1840a02d2db49ada Mon Sep 17 00:00:00 2001 From: Josh Baker Date: Mon, 1 Aug 2016 13:23:14 -0700 Subject: [PATCH 047/403] Adding BuntDB --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e3633db..24664662 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Databases implemented in Go.* * [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go. +* [buntdb](https://github.com/tidwall/buntdb) - A fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. * [cache2go](https://github.com/muesli/cache2go) - An in-memory key:value cache which supports automatic invalidation based on timeouts. * [cockroach](https://github.com/cockroachdb/cockroach) - A Scalable, Geo-Replicated, Transactional Datastore * [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server. From b55edbbaf46a494520cf404450c1f31516a02801 Mon Sep 17 00:00:00 2001 From: Leonel Quinteros Date: Sat, 6 Aug 2016 23:52:47 -0300 Subject: [PATCH 048/403] Add YARF and gotext --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index a646375c..78d3e235 100644 --- a/README.md +++ b/README.md @@ -883,6 +883,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gonameparts](https://github.com/polera/gonameparts) - Parses human names into individual name parts * [GoQuery](https://github.com/PuerkitoBio/goquery) - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. + * [gotext](https://github.com/leonelquinteros/gotext) - GNU gettext utilities for Go. * [guesslanguage](https://github.com/endeveit/guesslanguage) - Functions to determine the natural language of a unicode text. * [mxj](https://github.com/clbanning/mxj) - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. * [sh](https://github.com/mvdan/sh) - A shell parser and formatter @@ -1104,6 +1105,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. * [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. * [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. +* [YARF](https://github.com/yarf-framework/yarf) - Fast micro-framework designed to build REST APIs and web services in a fast and simple way. * [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. * [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. From d468da2494de69a86409b5ad4ebd2319d29d5bb6 Mon Sep 17 00:00:00 2001 From: Ahmet Alp Balkan Date: Wed, 10 Aug 2016 16:37:27 -0700 Subject: [PATCH 049/403] add govvv --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 78d3e235..3f0a3a9e 100644 --- a/README.md +++ b/README.md @@ -1198,6 +1198,7 @@ Software written in Go. * [godbg](https://github.com/sirnewton01/godbg) - Web-based gdb front-end application. * [Gogs](https://gogs.io/) - A Self Hosted Git Service in the Go Programming Language. * [gonative](https://github.com/inconshreveable/gonative) - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages. +* [govvv](https://github.com/ahmetalpbalkan/govvv) - A “go build” wrapper to easily add version information into Go binaries * [gox](https://github.com/mitchellh/gox) - A dead simple, no frills Go cross compile tool. * [goxc](https://github.com/laher/goxc) - build tool for Go, with a focus on cross-compiling and packaging. * [GVM](https://github.com/moovweb/gvm) - GVM provides an interface to manage Go versions. From d9e03240cf1d1175e0fa36a37d63a97db07755f3 Mon Sep 17 00:00:00 2001 From: Michael Fogleman Date: Thu, 11 Aug 2016 23:12:35 -0400 Subject: [PATCH 050/403] Add gg, ln, pt graphics libraries. (#1056) --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 78d3e235..037dc6fd 100644 --- a/README.md +++ b/README.md @@ -475,23 +475,26 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for manipulating images.* -* [bimg](https://github.com/h2non/bimg) - Small package for fast and efficient image processing using libvips +* [bimg](https://github.com/h2non/bimg) - Small package for fast and efficient image processing using libvips. * [geopattern](https://github.com/pravj/geopattern) - Create beautiful generative image patterns from a string. +* [gg](https://github.com/fogleman/gg) - 2D rendering in pure Go. * [gift](https://github.com/disintegration/gift) - Package of image processing filters. * [go-cairo](https://github.com/ungerik/go-cairo) - Go binding for the cairo graphics library. -* [go-gd](https://github.com/bolknote/go-gd) - Go binding for GD library +* [go-gd](https://github.com/bolknote/go-gd) - Go binding for GD library. * [go-nude](https://github.com/koyachi/go-nude) - Nudity detection with Go. * [go-opencv](https://github.com/lazywei/go-opencv) - Go bindings for OpenCV. * [go-webcolors](https://github.com/jyotiska/go-webcolors) - Port of webcolors library from Python to Go. * [imagick](https://github.com/gographics/imagick) - Go binding to ImageMagick's MagickWand C API. -* [imaginary](https://github.com/h2non/imaginary) - Fast and simple HTTP microservice for image resizing +* [imaginary](https://github.com/h2non/imaginary) - Fast and simple HTTP microservice for image resizing. * [imaging](https://github.com/disintegration/imaging) - Simple Go image processing package. * [img](https://github.com/hawx/img) - A selection of image manipulation tools. +* [ln](https://github.com/fogleman/ln) - 3D line art rendering in Go. * [mpo](https://github.com/donatj/mpo) - A decoder and conversion tool for MPO 3D Photos. -* [picfit](https://github.com/thoas/picfit) - An image resizing server written in Go +* [picfit](https://github.com/thoas/picfit) - An image resizing server written in Go. +* [pt](https://github.com/fogleman/pt) - A path tracing engine written in Go. * [resize](https://github.com/nfnt/resize) - Image resizing for the Go with common interpolation methods. * [rez](https://github.com/bamiaux/rez) - Image resizing in pure Go and SIMD. -* [smartcrop](https://github.com/muesli/smartcrop) - Finds good crops for arbitrary images and crop sizes +* [smartcrop](https://github.com/muesli/smartcrop) - Finds good crops for arbitrary images and crop sizes. * [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation. * [tga](https://github.com/ftrvxmtrx/tga) - Package tga is a TARGA image format decoder/encoder. From bd41e89a1a22da649b54455159f2a19f8ec294fa Mon Sep 17 00:00:00 2001 From: Albert Date: Sun, 14 Aug 2016 00:48:52 +0500 Subject: [PATCH 051/403] Add id3v2 library. (#1057) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4688e84f..e1761ab3 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gaad](https://github.com/Comcast/gaad) - A native Go AAC bitstream parser * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. +* [id3v2](https://github.com/bogem/id3v2) - Fast and stable ID3 writing library for Go * [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps. * [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. * [music-theory](https://github.com/go-music-theory/music-theory) - Music theory models in Go. From de021874f68861463e4d0e4a944d616b90b801ec Mon Sep 17 00:00:00 2001 From: Peng Xiao Date: Wed, 17 Aug 2016 19:10:15 +0800 Subject: [PATCH 052/403] add gobgp to networking Signed-off-by: Peng Xiao --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1761ab3..a97aa987 100644 --- a/README.md +++ b/README.md @@ -645,6 +645,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [ftp](https://github.com/jlaffaye/ftp) - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). * [go-getter](https://github.com/hashicorp/go-getter) - A Go library for downloading files or directories from various sources using a URL. * [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389). +* [gobgp](https://github.com/osrg/gobgp) - BGP implemented in the Go Programming Language. * [golibwireshark](https://github.com/sunwxg/golibwireshark) - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data. * [gopacket](https://github.com/google/gopacket) - A Go library for packet processing with libpcap bindings * [gopcap](https://github.com/akrennmair/gopcap) - A Go wrapper for libpcap From 97737430d13e81f066b79346d19c692f0929e6a8 Mon Sep 17 00:00:00 2001 From: Christian Zangl Date: Mon, 8 Aug 2016 21:59:29 +0200 Subject: [PATCH 053/403] add Hjson --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a646375c..12216568 100644 --- a/README.md +++ b/README.md @@ -176,6 +176,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. * [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections * [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy +* [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file * [ini](https://github.com/go-ini/ini) - Go package for read and write INI files * [mini](https://github.com/FogCreek/mini) - A golang package for parsing ini-style configuration files From f3379e83c82b76984b35736f7ffe30f9cc0fe830 Mon Sep 17 00:00:00 2001 From: Alessio Pracchia Date: Thu, 18 Aug 2016 01:19:09 +0200 Subject: [PATCH 054/403] Update README.md Realize is a Go build system with file watchers and live reload. It can run, build and watch file changes with custom paths --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1761ab3..ef0755e6 100644 --- a/README.md +++ b/README.md @@ -1016,6 +1016,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. * [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go. +* [realize](https://github.com/tockins/realize) - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths. * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. * [rerate](https://github.com/abo/rerate) - Redis-based rate counter and rate limiter for Go. * [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes. From 0b975a8ff54fe16dc3f82f4c1c1168bd1f53aaf8 Mon Sep 17 00:00:00 2001 From: Denis Bernard Date: Thu, 11 Aug 2016 14:26:14 +0200 Subject: [PATCH 055/403] Add Ngaro to Embeddable Scripting Languages [ngaro](https://github.com/db47h/ngaro) - Ngaro VM implementation enabling scripting in Retro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1761ab3..6ef4653b 100644 --- a/README.md +++ b/README.md @@ -378,6 +378,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-python](https://github.com/sbinet/go-python) - naive go bindings to the CPython C-API * [golua](https://github.com/aarzilli/golua) - Go bindings for Lua C API * [gopher-lua](https://github.com/yuin/gopher-lua) - a Lua 5.1 VM and compiler written in Go +* [ngaro](https://github.com/db47h/ngaro) - Embeddable Ngaro VM implementation enabling scripting in Retro * [otto](https://github.com/robertkrimen/otto) - A JavaScript interpreter written in Go * [purl](https://github.com/ian-kent/purl) - Perl 5.18.2 embedded in Go From ab4d06c115c4a49e61b39ef7a80994b5475510af Mon Sep 17 00:00:00 2001 From: "Anthony N. Simon" Date: Sun, 21 Aug 2016 05:01:30 +0200 Subject: [PATCH 056/403] Add bild, a collection of image processing algorithms in pure Go. (#1051) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e1761ab3..d46d6392 100644 --- a/README.md +++ b/README.md @@ -476,6 +476,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for manipulating images.* +* [bild](https://github.com/anthonynsimon/bild) - A collection of image processing algorithms in pure Go. * [bimg](https://github.com/h2non/bimg) - Small package for fast and efficient image processing using libvips. * [geopattern](https://github.com/pravj/geopattern) - Create beautiful generative image patterns from a string. * [gg](https://github.com/fogleman/gg) - 2D rendering in pure Go. From 5c93bdeeaec67205e54883258708de32f1625ad3 Mon Sep 17 00:00:00 2001 From: seborama Date: Mon, 22 Aug 2016 23:13:41 +0100 Subject: [PATCH 057/403] [govcr] Add govcr HTTP mock for Golang: record and replay HTTP interactions for offline testing. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d46d6392..c177c66e 100644 --- a/README.md +++ b/README.md @@ -856,6 +856,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-txdb](https://github.com/DATA-DOG/go-txdb) - Single transaction based database driver mainly for testing purposes. * [gock](https://github.com/h2non/gock) - Versatile HTTP mocking made easy. * [gomock](https://github.com/golang/mock) - Mocking framework for the Go programming language. + * [govcr](https://github.com/seborama/govcr) - HTTP mock for Golang: record and replay HTTP interactions for offline testing * [mockhttp](https://github.com/tv42/mockhttp) - Mock object for Go http.ResponseWriter * Fuzzing and delta-debugging/reducing/shrinking From 5685a99870622f6d519fb507168846ab6e2ab6b8 Mon Sep 17 00:00:00 2001 From: Eliseu Benedito Codinhoto Date: Wed, 24 Aug 2016 02:30:27 -0300 Subject: [PATCH 058/403] Add GopherCon Brazil. (#1066) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7f19fa4..2cbbbb34 100644 --- a/README.md +++ b/README.md @@ -1297,6 +1297,7 @@ Where to discover new Go libraries. * [GolangUK](http://golanguk.com/) - London, UK * [GopherChina](http://gopherchina.org) - Shanghai, China * [GopherCon](http://www.gophercon.com/) - Denver, USA +* [GopherCon Brazil](https://gopherconbr.org) - Florianópolis, BR * [GopherCon Dubai](http://www.gophercon.ae/) - Dubai, UAE * [GopherCon India](http://www.gophercon.in/) - Bengaluru, India * [GothamGo](http://gothamgo.com/) - New York City, USA From 5505e62c971f2c5d4637e42452bd18db1cb4ec79 Mon Sep 17 00:00:00 2001 From: John Rowley Date: Fri, 26 Aug 2016 23:21:14 -0700 Subject: [PATCH 059/403] Added github.com/robbert229/jwt Added my jwt library to the list. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2cbbbb34..d5ffe589 100644 --- a/README.md +++ b/README.md @@ -115,6 +115,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gorbac](https://github.com/mikespook/gorbac) - provides a lightweight role-based access control (RBAC) implementation in Golang. * [goth](https://github.com/markbates/goth) - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box. * [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. +* [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implmentatino of JSON Web Tokens (JWT). * [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). * [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. * [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. From d8078ed803335d2e8e9495470364a27cae04d2a3 Mon Sep 17 00:00:00 2001 From: bogem Date: Sat, 27 Aug 2016 14:21:46 +0500 Subject: [PATCH 060/403] Complete description about id3v2 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 2cbbbb34..9be51f5c 100644 --- a/README.md +++ b/README.md @@ -92,7 +92,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gaad](https://github.com/Comcast/gaad) - A native Go AAC bitstream parser * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. -* [id3v2](https://github.com/bogem/id3v2) - Fast and stable ID3 writing library for Go +* [id3v2](https://github.com/bogem/id3v2) - Fast and stable ID3 parsing and writing library for Go * [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps. * [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. * [music-theory](https://github.com/go-music-theory/music-theory) - Music theory models in Go. From 10c1e6ca5461d80565517f5b9d6184c9393eb5b0 Mon Sep 17 00:00:00 2001 From: Andrew Brampton Date: Sun, 28 Aug 2016 09:39:41 -0700 Subject: [PATCH 061/403] Add hilbert - Mapping values to and from space-filling curves. (#1075) Such as Hilbert and Peano curves. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9be51f5c..cb07c265 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. +* [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. * [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing * [roaring](https://github.com/RoaringBitmap/roaring) - Go package implementing compressed bitsets. From 289d60824f74e8fdf8d18c8adcbd2a7483a65c98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Karol=20Wo=C5=BAniak?= Date: Tue, 30 Aug 2016 06:29:32 +0200 Subject: [PATCH 062/403] Add battery package, provides cross-platform, normalized battery information. (#1070) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cb07c265..a7c96862 100644 --- a/README.md +++ b/README.md @@ -589,6 +589,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [archiver](https://github.com/mholt/archiver) - Library and command for making and extracting .zip and .tar.gz archives * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [banner](https://github.com/dimiro1/banner) - Add beautiful banners into your Go applications. +* [battery](https://github.com/distatus/battery) - A cross-platform, normalized battery information library. * [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. From 8334404d32960a7eaf4d88eb371a7a12164511f9 Mon Sep 17 00:00:00 2001 From: Miguel Loureiro Date: Tue, 30 Aug 2016 19:05:12 +0100 Subject: [PATCH 063/403] Add Carbon, a simple time extension, ported from PHP Carbon library. (#1076) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7c96862..feaeb10d 100644 --- a/README.md +++ b/README.md @@ -326,6 +326,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for working with dates and times.* +* [carbon](https://github.com/uniplaces/carbon) - A simple Time extension with a lot of util methods, ported from PHP Carbon library. * [durafmt](https://github.com/hako/durafmt) - A time duration formatting library for Go. * [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). * [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. From 44300c9825ee1180a84cb605da7fe20566b85fdf Mon Sep 17 00:00:00 2001 From: adranwit Date: Wed, 31 Aug 2016 20:13:56 -0700 Subject: [PATCH 064/403] Added new go projects (#990) * Added new go project - added datastore connectivity - datastore testiblity * Added viant datastore connectivity and testability projects asc bgc dsc toolbox --- README.md | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index feaeb10d..7c08514a 100644 --- a/README.md +++ b/README.md @@ -284,6 +284,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for connecting and operating databases.* * Relational Databases + * [bgc](https://github.com/viant/bgc) - Datastore Connectivity for BigQuery for go. * [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS SQL driver for Go * [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using database/sql. * [go-bqstreamer](https://github.com/rounds/go-bqstreamer) - BigQuery fast and concurrent stream insert. @@ -296,9 +297,11 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql. * NoSQL Databases + * [asc](https://github.com/viant/asc) - Datastore Connectivity for Aerospike for go. * [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language. * [arangolite](https://github.com/solher/arangolite) - Lightweight golang driver for ArangoDB. * [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends. + * [dsc](https://github.com/viant/dsc) - Datastore connectivity for SQL, NoSQL, structured files. * [dynago](https://github.com/underarmour/dynago) - Dynago is a principle of least surprise client for DynamoDB * [go-couchbase](https://github.com/couchbase/go-couchbase) - Couchbase client in Go * [go-couchdb](https://github.com/fjl/go-couchdb) - Yet another CouchDB HTTP API wrapper for Go @@ -700,7 +703,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. * [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. - ## Package Management *Libraries for package and dependency management.* @@ -836,6 +838,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [badio](https://github.com/cavaliercoder/badio) - Extensions to Go's `testing/iotest` package * [baloo](https://github.com/h2non/baloo) - Expressive and versatile end-to-end HTTP API testing made easy. * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them + * [dsunit](https://github.com/viant/dsunit) - Datastore testing for SQL, NoSQL, structured files. * [frisby](https://github.com/verdverm/frisby) - a REST API testing framework * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go * [go-carpet](https://github.com/msoap/go-carpet) - Tool for viewing test coverage in terminal @@ -854,7 +857,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. * [testfixtures](https://github.com/go-testfixtures/testfixtures) - A helper for Rails' like test fixtures to test database applications. * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. - + * Mock * [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained mock objects * [go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) - Mock SQL driver for testing database interactions @@ -1032,6 +1035,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. * [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package. +* [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. * [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. * [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. From 3c2aa961032bb47e4d20035ec06490b1288859af Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Thu, 1 Sep 2016 06:28:43 +0300 Subject: [PATCH 065/403] fix latest merge :( Signed-off-by: Kirill Danshin --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 7c08514a..ab4bede0 100644 --- a/README.md +++ b/README.md @@ -297,9 +297,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql. * NoSQL Databases - * [asc](https://github.com/viant/asc) - Datastore Connectivity for Aerospike for go. * [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language. * [arangolite](https://github.com/solher/arangolite) - Lightweight golang driver for ArangoDB. + * [asc](https://github.com/viant/asc) - Datastore Connectivity for Aerospike for go. * [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends. * [dsc](https://github.com/viant/dsc) - Datastore connectivity for SQL, NoSQL, structured files. * [dynago](https://github.com/underarmour/dynago) - Dynago is a principle of least surprise client for DynamoDB @@ -857,7 +857,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. * [testfixtures](https://github.com/go-testfixtures/testfixtures) - A helper for Rails' like test fixtures to test database applications. * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. - + * Mock * [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained mock objects * [go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) - Mock SQL driver for testing database interactions From dea65ef8dfc2f674ca82604d7f8e09863e4db300 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Thu, 1 Sep 2016 12:29:28 -0300 Subject: [PATCH 066/403] Add gormigrate --- README.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index ab4bede0..9f9a10f0 100644 --- a/README.md +++ b/README.md @@ -252,18 +252,22 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. * [Tile38](https://github.com/tidwall/tile38) - A geolocation DB with spatial index and realtime geofencing. +*Database schema migration.* + +* [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. +* [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. +* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. +* [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., +* [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. + *Database tools.* * [go-mysql](https://github.com/siddontang/go-mysql) - A go toolset to handle MySQL protocol and replication. * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. -* [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. -* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. * [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication. * [orchestrator](https://github.com/outbrain/orchestrator) - MySQL replication topology manager & visualizer * [pgweb](https://github.com/sosedoff/pgweb) - A web-based PostgreSQL database browser -* [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., -* [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. * [vitess](https://github.com/youtube/vitess) - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. *SQL query builder, libraries for building and using SQL.* From 3cd6996c82409714e7a36b28d6016174f412d3ee Mon Sep 17 00:00:00 2001 From: Yaron Sumel Date: Mon, 5 Sep 2016 07:55:49 +0300 Subject: [PATCH 067/403] Add grapes (#1080) * Update README.md * new grapes github.com repo: https://github.com/yaronsumel/grapes godoc.org: https://godoc.org/github.com/yaronsumel/grapes goreportcard.com: https://goreportcard.com/report/github.com/yaronsumel/grapes coverage service link (gocover, coveralls etc.): N/A Make sure that you've checked the boxes below before you submit PR: I have added my package in alphabetical order I know that this package was not listed before I have added godoc link to the repo and to my pull request I have added coverage service link to the repo and to my pull request I have added goreportcard link to the repo and to my pull request I have read Contribution guidelines and Quality standard. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ab4bede0..5364f886 100644 --- a/README.md +++ b/README.md @@ -1216,6 +1216,7 @@ Software written in Go. * [govvv](https://github.com/ahmetalpbalkan/govvv) - A “go build” wrapper to easily add version information into Go binaries * [gox](https://github.com/mitchellh/gox) - A dead simple, no frills Go cross compile tool. * [goxc](https://github.com/laher/goxc) - build tool for Go, with a focus on cross-compiling and packaging. +* [grapes](https://github.com/yaronsumel/grapes) - lightweight tool designed to distribute commands over ssh with ease. * [GVM](https://github.com/moovweb/gvm) - GVM provides an interface to manage Go versions. * [kala](https://github.com/ajvb/kala) - Simplistic, modern, and performant job scheduler. * [kubernetes](https://github.com/kubernetes/kubernetes) - Container Cluster Manager from Google. From 9ce000ec120079502ae8a01b7f0a267f2e36604d Mon Sep 17 00:00:00 2001 From: SlevinT Date: Sun, 4 Sep 2016 22:46:37 -0700 Subject: [PATCH 068/403] Update Readme (#1079) * Update Readme Added the package listing for go-openapi allows parsing swagger files outside of the go-swagger package. * ammending change whoops was not paying attention. sloppy on my part --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5364f886..527e15e6 100644 --- a/README.md +++ b/README.md @@ -599,6 +599,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. * [go-commons-pool](https://github.com/jolestar/go-commons-pool) - A generic object pool for Golang. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. +* [go-openapi](https://github.com/go-openapi) - A collection of packages to parse and utilize open-api schemas * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS From c2bdeb770dba0a5640d03265db23e359e0ab8e0d Mon Sep 17 00:00:00 2001 From: Patrick O Date: Mon, 5 Sep 2016 21:18:02 +1000 Subject: [PATCH 069/403] Add SQLBoiler to ORM section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 527e15e6..6a1af8bb 100644 --- a/README.md +++ b/README.md @@ -700,6 +700,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. * [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation. * [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. +* [SQLBoiler](https://github.com/vattle/sqlboiler) - An ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. * [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. * [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. From 59bff5ad6bbadad92d90d1e56a100fa7588df90e Mon Sep 17 00:00:00 2001 From: Patrick O Date: Mon, 5 Sep 2016 22:07:09 +1000 Subject: [PATCH 070/403] Add SQLBoiler to ORM section --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a1af8bb..b704cdf7 100644 --- a/README.md +++ b/README.md @@ -699,8 +699,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. * [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. * [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation. -* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. * [SQLBoiler](https://github.com/vattle/sqlboiler) - An ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. +* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. * [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. * [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. From ab434de89e0cb3862e0c5348dfd68ad06618186d Mon Sep 17 00:00:00 2001 From: Andras Belicza Date: Tue, 6 Sep 2016 12:07:22 +0200 Subject: [PATCH 071/403] Added bitio. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 527e15e6..6e3801c9 100644 --- a/README.md +++ b/README.md @@ -594,6 +594,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [banner](https://github.com/dimiro1/banner) - Add beautiful banners into your Go applications. * [battery](https://github.com/distatus/battery) - A cross-platform, normalized battery information library. +* [bitio](https://github.com/icza/bitio) - Highly optimized bit-level Reader and Writer for Go. * [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. From 11ab5e5ddfa7c253684c576a6f0810d36348d1df Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Tue, 6 Sep 2016 16:07:19 +0300 Subject: [PATCH 072/403] add gocryforhelp (#1036) * add gocryforhelp * fix sort --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 527e15e6..06029737 100644 --- a/README.md +++ b/README.md @@ -1339,6 +1339,7 @@ Where to discover new Go libraries. * [Go Blog](http://blog.golang.org) - The official Go blog. * [Go Forum](https://forum.golangbridge.org) - Forum to discuss Go. * [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki. +* [gocryforhelp](https://github.com/ninedraft/gocryforhelp) - A collection of Go projects that needs help. Good place to start your open-source way in Go. * [godoc.org](https://godoc.org/) - Documentation for open source Go packages. * [golang-graphics](https://github.com/mholt/golang-graphics) - A collection of Go images, graphics, and art. * [golang-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list. From 18651551812f8a689401137232cd4461b43caf6c Mon Sep 17 00:00:00 2001 From: Gerasimos Maropoulos Date: Tue, 6 Sep 2016 23:21:46 +0300 Subject: [PATCH 073/403] Add go-events --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 06029737..c7eae96a 100644 --- a/README.md +++ b/README.md @@ -570,6 +570,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. +* [go-events](https://github.com/kataras/go-events) - Simple Nodejs-style EventEmmiter for Go. * [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. * [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ From e9f48b942affaa0fa51adba3bfc12af6891ad956 Mon Sep 17 00:00:00 2001 From: HeadwindFly Date: Wed, 7 Sep 2016 12:01:41 +0800 Subject: [PATCH 074/403] Added CleverGo web framework --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 06029737..1fb4ee66 100644 --- a/README.md +++ b/README.md @@ -1078,6 +1078,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. * [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. * [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. +* [CleverGo](https://github.com/headwindfly/clevergo) - CleverGo is a simple, easy to use and high performance web framework for Go. * [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for Go. * [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. From 70ccc5237901ff1576533d5f24b6eb7e916fd25a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andr=C3=A1s=20Belicza?= Date: Fri, 9 Sep 2016 04:30:48 +0200 Subject: [PATCH 075/403] Added session. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1e2b12e..a8d9c62e 100644 --- a/README.md +++ b/README.md @@ -1117,6 +1117,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Revel](https://github.com/revel/revel) - A high-productivity web framework for the Go language. * [rex](https://github.com/goanywhere/rex) - Rex is a library for modular development built upon gorilla/mux, fully compatible with `net/http`. * [sawsij](http://sawsij.com/) - lightweight, open-source web framework for building high-performance, data-driven web applications. +* [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE). * [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers * [tango](https://github.com/lunny/tango) - Micro & pluggable web framework for Go. * [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard From 0e0188a7b61686e354fe3837a4f691e972be140d Mon Sep 17 00:00:00 2001 From: Gerasimos Maropoulos Date: Fri, 9 Sep 2016 07:09:32 +0300 Subject: [PATCH 076/403] Add simple go-serializer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1e2b12e..90c8916f 100644 --- a/README.md +++ b/README.md @@ -795,6 +795,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-capnproto](https://github.com/glycerine/go-capnproto) - Cap'n Proto library and parser for go * [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go. * [go-codec](https://github.com/ugorji/go) - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support +* [go-serializer](https://github.com/kataras/go-serializer) Serialize custom types or content to []byte or string * [gogoprotobuf](https://github.com/gogo/protobuf) - Protocol Buffers for Go with Gadgets * [goprotobuf](https://github.com/golang/protobuf) - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. * [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures. From d00961971cd9ec1eb7f28b5e8d82e35365cda060 Mon Sep 17 00:00:00 2001 From: Gerasimos Maropoulos Date: Fri, 9 Sep 2016 07:13:12 +0300 Subject: [PATCH 077/403] Add go-options --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d1e2b12e..ca3cdd18 100644 --- a/README.md +++ b/README.md @@ -177,6 +177,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. * [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections * [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy +* [go-options](https://github.com/kataras/go-options) - Clean APIs for your Go Applications * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file * [ini](https://github.com/go-ini/ini) - Go package for read and write INI files From 1f50ae300bfd9a739942c8b65c709c6a806dd44a Mon Sep 17 00:00:00 2001 From: Gerasimos Maropoulos Date: Fri, 9 Sep 2016 08:35:41 +0300 Subject: [PATCH 078/403] Fix test, go-options is top of the gofigure(;) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ca3cdd18..5544e1e7 100644 --- a/README.md +++ b/README.md @@ -176,8 +176,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [envconf](https://github.com/ian-kent/envconf) - Configuration from environment * [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. * [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections -* [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy * [go-options](https://github.com/kataras/go-options) - Clean APIs for your Go Applications +* [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file * [ini](https://github.com/go-ini/ini) - Go package for read and write INI files From 6f4aa6eb854767c81c3e4bfce00c31c78792247a Mon Sep 17 00:00:00 2001 From: Yandry Pozo Date: Fri, 9 Sep 2016 11:53:05 -0700 Subject: [PATCH 079/403] Add CoreOS raft implementation. (#1093) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d54bfbb..82c1eec7 100644 --- a/README.md +++ b/README.md @@ -352,6 +352,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. +* [raft](https://github.com/coreos/etcd/tree/master/raft#readme) - Go implementation of the Raft consensus protocol, by CoreOS. * [sleuth](https://github.com/ursiform/sleuth) - A library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)). * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. From 6eefb9f84501c19513b49a3876c15517912feea9 Mon Sep 17 00:00:00 2001 From: Pavlos Ratis Date: Sun, 11 Sep 2016 14:56:50 +0100 Subject: [PATCH 080/403] add golang-challenge The Go Challenge is a monthly programming challenge for Go developers. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82c1eec7..7832d710 100644 --- a/README.md +++ b/README.md @@ -1345,6 +1345,7 @@ Where to discover new Go libraries. * [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - List of other amazingly awesome lists. * [Flipboard - Go Magazine](https://flipboard.com/section/the-golang-magazine-bVP7nS) - A collection of Go articles and tutorials. * [Go Blog](http://blog.golang.org) - The official Go blog. +* [Go Challenge](http://golang-challenge.org/) - Learn Go by solving problems and getting feedback from Go experts. * [Go Forum](https://forum.golangbridge.org) - Forum to discuss Go. * [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki. * [gocryforhelp](https://github.com/ninedraft/gocryforhelp) - A collection of Go projects that needs help. Good place to start your open-source way in Go. From 7a51ab9fffcf8c635f21dcb8407dfbaa582e42fc Mon Sep 17 00:00:00 2001 From: Dima Veselov Date: Sun, 11 Sep 2016 19:04:23 +0300 Subject: [PATCH 081/403] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82c1eec7..9db99010 100644 --- a/README.md +++ b/README.md @@ -625,6 +625,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [dpar](https://github.com/danieldk/dpar/) - Transition-based statistical dependency parser. * [go-eco](https://github.com/ThePaw/go-eco) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. * [go-i18n](https://github.com/nicksnyder/go-i18n/) - A package and an accompanying tool to work with localized text. +* [go-mystem](https://github.com/dveselov/mystem) - CGo bindings to Yandex.Mystem - russian morphology analyzer. * [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. * [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. * [go-unidecode](https://github.com/mozillazg/go-unidecode) - ASCII transliterations of Unicode text. From d3576dacd36cc7e644d2a0c5d0494743b1d6f998 Mon Sep 17 00:00:00 2001 From: Jesse Szwedko Date: Sun, 11 Sep 2016 15:41:44 -0700 Subject: [PATCH 082/403] Add go-circleci --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 82c1eec7..6173dc00 100644 --- a/README.md +++ b/README.md @@ -927,6 +927,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. * [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB API. * [cachet](https://github.com/andygrunwald/cachet) - Go client library for [Cachet (open source status page system)](https://cachethq.io/) +* [circleci](https://github.com/jszwedko/go-circleci) - A Go client library for interacting with CircleCI's API * [clarifai](https://github.com/samuelcouch/clarifai) - A Go client library for interfacing with the Clarifai API. * [discordgo](https://github.com/bwmarrin/discordgo) - Go bindings for the Discord Chat API * [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API From 3c5a4a5210369770cd44c8e07240e490dbd90b85 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jos=C3=A9=20Riguera=20Lopez?= Date: Tue, 13 Sep 2016 18:17:05 +0200 Subject: [PATCH 083/403] Removed heka https://github.com/mozilla-services/heka From the [Readme](https://github.com/mozilla-services/heka): This project is deprecated. Please see [this email](https://mail.mozilla.org/pipermail/heka/2016-May/001059.html) for more details. --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6173dc00..1fa1f4f6 100644 --- a/README.md +++ b/README.md @@ -1253,7 +1253,6 @@ Software written in Go. * [gocc](https://github.com/goccmack/gocc) - Gocc is a compiler kit for Go written in Go. * [GoDocTooltip](https://github.com/diankong/GoDocTooltip) - A chrome extension for Go Doc sites, which shows function description as tooltip at funciton list. * [Gor](https://github.com/buger/gor) - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. -* [heka](https://github.com/mozilla-services/heka) - universal tool for data processing from Mozilla. Large collection of built-in plugins. Extendable via Go and Lua plugin API. * [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer. * [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine. * [ipe](https://github.com/dimiro1/ipe) - An open source Pusher server implementation compatible with Pusher client libraries written in GO. From c21b248a2c94ab425f7655d2a56aac8595f062b2 Mon Sep 17 00:00:00 2001 From: Aaron Schlesinger Date: Fri, 16 Sep 2016 00:27:03 -0700 Subject: [PATCH 084/403] Add Go In 5 Minutes website. (#1104) 5 minute screencasts focused on getting one thing done. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1fa1f4f6..37973cc4 100644 --- a/README.md +++ b/README.md @@ -1346,6 +1346,7 @@ Where to discover new Go libraries. * [Flipboard - Go Magazine](https://flipboard.com/section/the-golang-magazine-bVP7nS) - A collection of Go articles and tutorials. * [Go Blog](http://blog.golang.org) - The official Go blog. * [Go Forum](https://forum.golangbridge.org) - Forum to discuss Go. +* [Go In 5 Minutes](https://www.goin5minutes.com/) - 5 minute screencasts focused on getting one thing done. * [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki. * [gocryforhelp](https://github.com/ninedraft/gocryforhelp) - A collection of Go projects that needs help. Good place to start your open-source way in Go. * [godoc.org](https://godoc.org/) - Documentation for open source Go packages. From e13c9ae831d035f1f1639f19ed8b2dc2213ebe32 Mon Sep 17 00:00:00 2001 From: peter-mogensen Date: Mon, 19 Sep 2016 15:44:22 +0200 Subject: [PATCH 085/403] Added gone/log std-lib compatible log library (#1082) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37973cc4..aea63456 100644 --- a/README.md +++ b/README.md @@ -518,6 +518,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-log](https://github.com/ian-kent/go-log) - A log4j implementation in Go. * [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. * [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. +* [gone/log](https://github.com/One-com/gone/tree/master/log#readme) - Fast, extendable, full-featured, std-lib source compatible log library. * [log](https://github.com/apex/log) - Structured logging package for Go. * [log](https://github.com/go-playground/log) - Simple, configurable and scalable Structured Logging for Go. * [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. From 9ebf0b174731b490491dd939495756ec666e12be Mon Sep 17 00:00:00 2001 From: Bradley Falzon Date: Sun, 25 Sep 2016 02:24:30 +0930 Subject: [PATCH 086/403] Add apicompat. (#1109) Tool that checks recent changes to a Go project for backwards incompatible changes. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aea63456..f6940cff 100644 --- a/README.md +++ b/README.md @@ -1167,6 +1167,7 @@ Go software and plugins. ## Code Analysis +* [apicompat](https://github.com/bradleyfalzon/apicompat) - Checks recent changes to a Go project for backwards incompatible changes. * [dupl](https://github.com/mibk/dupl) - A tool for code clone detection. * [errcheck](https://github.com/kisielk/errcheck) - Errcheck is a program for checking for unchecked errors in Go programs. * [gcvis](https://github.com/davecheney/gcvis) - Visualise Go program GC trace data in real time. From 55450935b76ba0120780b61cdb7381181de8b606 Mon Sep 17 00:00:00 2001 From: Ethan Buchman Date: Sun, 25 Sep 2016 17:10:34 +0900 Subject: [PATCH 087/403] Add Tendermint --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6940cff..9bbf645f 100644 --- a/README.md +++ b/README.md @@ -354,6 +354,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. * [raft](https://github.com/coreos/etcd/tree/master/raft#readme) - Go implementation of the Raft consensus protocol, by CoreOS. * [sleuth](https://github.com/ursiform/sleuth) - A library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)). +* [tendermint](https://github.com/tendermint/tendermint) - High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols. * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. * [go-peerflix](https://github.com/Sioro-Neoku/go-peerflix) - Video streaming torrent client. From df732b5de66ae37bb70ab34e34f80947fd5f11aa Mon Sep 17 00:00:00 2001 From: devghosh Date: Tue, 27 Sep 2016 20:33:08 +0530 Subject: [PATCH 088/403] add florest library High performance workflow based REST API Framework Repo: https://github.com/jabong/florest-core Godoc: https://godoc.org/github.com/jabong/florest-core/src GoreportCard: https://goreportcard.com/report/github.com/jabong/florest-core Coverage: https://coveralls.io/github/jabong/florest-core --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6940cff..d287cd78 100644 --- a/README.md +++ b/README.md @@ -1088,6 +1088,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. * [CleverGo](https://github.com/headwindfly/clevergo) - CleverGo is a simple, easy to use and high performance web framework for Go. * [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for Go. +* [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework * [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. * [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io). From 4693196dc52e2a4003795422a7e95c1a4d0bba8c Mon Sep 17 00:00:00 2001 From: topu Date: Sat, 1 Oct 2016 23:50:49 +0200 Subject: [PATCH 089/403] Add pkg/errors. (#1113) Package errors provides simple error handling primitives. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6940cff..07d0de7e 100644 --- a/README.md +++ b/README.md @@ -601,6 +601,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [bitio](https://github.com/icza/bitio) - Highly optimized bit-level Reader and Writer for Go. * [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. +* [errors](https://github.com/pkg/errors) - A package that provides simple error handling primitives. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. * [go-commons-pool](https://github.com/jolestar/go-commons-pool) - A generic object pool for Golang. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. From a7dd36642e84a8aebc369f7279db91c1a20c9561 Mon Sep 17 00:00:00 2001 From: Matthias Ladkau Date: Sun, 2 Oct 2016 21:02:32 +0200 Subject: [PATCH 090/403] Add EliasDB. (#1094) EliasDB is a graph based database which aims to provide a lightweight solution for projects which want to store their data as a graph. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07d0de7e..7c218410 100644 --- a/README.md +++ b/README.md @@ -238,6 +238,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server. * [dgraph](https://github.com/dgraph-io/dgraph) - Scalable, Distributed, Low Latency, High Throughput Graph Database. * [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store. +* [eliasdb](https://github.com/krotik/eliasdb) - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language. * [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. * [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. * [geocache](https://github.com/melihmucuk/geocache) - An in-memory cache that is suitable for geolocation based applications. From 64412431e60a4974e4eca16584cc0553525fafaf Mon Sep 17 00:00:00 2001 From: smallnest Date: Mon, 3 Oct 2016 22:42:55 +0800 Subject: [PATCH 091/403] add rpcx --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7c218410..738ac861 100644 --- a/README.md +++ b/README.md @@ -354,6 +354,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. * [raft](https://github.com/coreos/etcd/tree/master/raft#readme) - Go implementation of the Raft consensus protocol, by CoreOS. +* [rpcx](https://github.com/smallnest/rpcx) - A distributed pluggable RPC service framework like alibaba Dubbo. * [sleuth](https://github.com/ursiform/sleuth) - A library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)). * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. From 9a6b9a213a46ca3c58bef9befd04c3d9951481cf Mon Sep 17 00:00:00 2001 From: smallnest Date: Mon, 3 Oct 2016 22:59:12 +0800 Subject: [PATCH 092/403] add go-web-framework-benchmark --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 738ac861..60ab6f98 100644 --- a/README.md +++ b/README.md @@ -1302,6 +1302,7 @@ Where to discover new Go libraries. * [go-benchmarks](https://github.com/tylertreat/go-benchmarks) - A few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches. * [go-http-routing-benchmark](https://github.com/julienschmidt/go-http-routing-benchmark) - Go HTTP request router benchmark and comparison. * [go-type-assertion-benchmark](https://github.com/hgfischer/go-type-assertion-benchmark) - Naive performance test of two ways to do type assertion in Go. +* [go-web-framework-benchmark](https://github.com/smallnest/go-web-framework-benchmark) - Go web framework benchmark. * [go_serialization_benchmarks](https://github.com/alecthomas/go_serialization_benchmarks) - Benchmarks of Go serialization methods. * [gocostmodel](https://github.com/PuerkitoBio/gocostmodel) - Benchmarks of common basic operations for the Go language. * [golang-micro-benchmarks](https://github.com/amscanne/golang-micro-benchmarks) - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others. From ebca4b3689f07e2c7dd512c96167c08c999d468b Mon Sep 17 00:00:00 2001 From: zpatrick Date: Mon, 3 Oct 2016 20:26:30 +0000 Subject: [PATCH 093/403] add fireball --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03adfa85..49532cb0 100644 --- a/README.md +++ b/README.md @@ -1097,6 +1097,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. * [CleverGo](https://github.com/headwindfly/clevergo) - CleverGo is a simple, easy to use and high performance web framework for Go. * [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for Go. +* [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework. * [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework * [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. From 01a4a7a859bbfadb7a9889fdc4f2a9638202d4f0 Mon Sep 17 00:00:00 2001 From: Vadim Shakun Date: Thu, 6 Oct 2016 14:04:47 +0400 Subject: [PATCH 094/403] Update README.md append description of RapidMQ - mq managing library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03adfa85..cf1a0ab2 100644 --- a/README.md +++ b/README.md @@ -591,6 +591,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [NATS Go Client](https://github.com/nats-io/nats) - A lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. * [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for REST APIs * [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. +* [RapidMQ](https://github.com/sybrexsys/RapidMQ) - RapidMQ is a lightweight and reliable library for managing of the local messages queue * [sarama](https://github.com/Shopify/sarama) - A Go library for Apache Kafka. * [Uniqush-Push](https://github.com/uniqush/uniqush-push) - A redis backed unified push service for server-side notifications to mobile devices. * [zmq4](https://github.com/pebbe/zmq4) - A Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2). From 84cba4c2975b15099f401a05b096ba568a55b553 Mon Sep 17 00:00:00 2001 From: Christian Rocha Date: Fri, 7 Oct 2016 07:24:20 -0400 Subject: [PATCH 095/403] fix typo: MP# -> MP3 (#1120) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 03adfa85..954ae70d 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. * [id3v2](https://github.com/bogem/id3v2) - Fast and stable ID3 parsing and writing library for Go * [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps. -* [mp3](https://github.com/tcolgate/mp3) - A native Go MP# decoder. +* [mp3](https://github.com/tcolgate/mp3) - A native Go MP3 decoder. * [music-theory](https://github.com/go-music-theory/music-theory) - Music theory models in Go. * [PortAudio](https://github.com/gordonklaus/portaudio) - Go bindings for the PortAudio audio I/O library. * [portmidi](https://github.com/rakyll/portmidi) - Go bindings for PortMidi. From 76b1d7e3f3b9c1c263fe22a14247ff436b246608 Mon Sep 17 00:00:00 2001 From: crufter Date: Sat, 8 Oct 2016 15:13:40 +0100 Subject: [PATCH 096/403] Add crufter/borg --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 954ae70d..3ef0e8c7 100644 --- a/README.md +++ b/README.md @@ -1254,6 +1254,7 @@ Software written in Go. * [winrm-cli](https://github.com/masterzen/winrm-cli) - A cli tool to remotely execute commands on Windows machines ### Other Software +* [borg](https://github.com/crufter/borg) - A terminal based search engine for bash snippets * [boxed](https://github.com/tejo/boxed) - Dropbox based blog engine * [Cherry](https://github.com/rafael-santiago/cherry) - A tiny webchat server in Go. * [Circuit](https://github.com/gocircuit/circuit) - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. From ff219e23d91f04fc2eadbd3112e18d8eb24eeac1 Mon Sep 17 00:00:00 2001 From: Tory Adams Date: Mon, 10 Oct 2016 16:33:59 -0700 Subject: [PATCH 097/403] Goworker (#1112) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 1e20a979..c896b41b 100644 --- a/README.md +++ b/README.md @@ -461,7 +461,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Goroutines *Tools for managing and working with Goroutines* - +* [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker * [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool. * [pool](https://github.com/go-playground/pool) - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation. * [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for golang. From d6a65b74e14de01a27160dca9b24c28b35a2ed90 Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Mon, 10 Oct 2016 21:21:46 -0300 Subject: [PATCH 098/403] Markdown to html, generate page to awesome-go.com (#1127) * initial version html generate After being made to change the master generate html based on markdown, ref #363 * change package name, repo to main * up port 80 on caddy server * install mux on travis build * generate sitemap * added robots.txt * set metatags on html page * update repo via exec get the most current readme * remove unnecessary lowdash assign * fix linter errors, remove unnecessary conversion, add binary to .gitignore * fix fonts, use domain-level assets --- .gitignore | 2 + .travis.yml | 2 +- Dockerfile | 8 + docker-compose.yml | 15 + repo.go | 42 +- repo_test.go | 2 +- tmpl/assets/awesome-go.css | 43 + tmpl/assets/fonts/firasans.css | 140 ++ tmpl/assets/fonts/firasans.ttf | Bin 0 -> 57640 bytes tmpl/assets/fonts/firasans.woff | Bin 0 -> 26168 bytes tmpl/assets/fonts/firasans.woff2 | Bin 0 -> 20516 bytes tmpl/assets/fonts/firasansbold.ttf | Bin 0 -> 67080 bytes tmpl/assets/fonts/firasansbold.woff | Bin 0 -> 28712 bytes tmpl/assets/fonts/firasansbold.woff2 | Bin 0 -> 22592 bytes tmpl/assets/fonts/firasansbolditalic.ttf | Bin 0 -> 71852 bytes tmpl/assets/fonts/firasansbolditalic.woff | Bin 0 -> 31564 bytes tmpl/assets/fonts/firasansbolditalic.woff2 | Bin 0 -> 24892 bytes tmpl/assets/fonts/firasansbook.ttf | Bin 0 -> 57564 bytes tmpl/assets/fonts/firasansbook.woff | Bin 0 -> 26592 bytes tmpl/assets/fonts/firasansbook.woff2 | Bin 0 -> 20864 bytes tmpl/assets/fonts/firasansbookitalic.ttf | Bin 0 -> 62364 bytes tmpl/assets/fonts/firasansbookitalic.woff | Bin 0 -> 28692 bytes tmpl/assets/fonts/firasansbookitalic.woff2 | Bin 0 -> 22644 bytes tmpl/assets/fonts/firasansextralight.ttf | Bin 0 -> 56564 bytes tmpl/assets/fonts/firasansextralight.woff | Bin 0 -> 25708 bytes tmpl/assets/fonts/firasansextralight.woff2 | Bin 0 -> 20084 bytes .../assets/fonts/firasansextralightitalic.ttf | Bin 0 -> 60864 bytes .../fonts/firasansextralightitalic.woff | Bin 0 -> 28036 bytes .../fonts/firasansextralightitalic.woff2 | Bin 0 -> 21968 bytes tmpl/assets/fonts/firasansitalic.ttf | Bin 0 -> 61996 bytes tmpl/assets/fonts/firasansitalic.woff | Bin 0 -> 28312 bytes tmpl/assets/fonts/firasansitalic.woff2 | Bin 0 -> 22268 bytes tmpl/assets/fonts/firasanslight.ttf | Bin 0 -> 56048 bytes tmpl/assets/fonts/firasanslight.woff | Bin 0 -> 25720 bytes tmpl/assets/fonts/firasanslight.woff2 | Bin 0 -> 20128 bytes tmpl/assets/fonts/firasanslightitalic.ttf | Bin 0 -> 60688 bytes tmpl/assets/fonts/firasanslightitalic.woff | Bin 0 -> 27900 bytes tmpl/assets/fonts/firasanslightitalic.woff2 | Bin 0 -> 21884 bytes tmpl/assets/fonts/firasansmedium.ttf | Bin 0 -> 57332 bytes tmpl/assets/fonts/firasansmedium.woff | Bin 0 -> 26212 bytes tmpl/assets/fonts/firasansmedium.woff2 | Bin 0 -> 20604 bytes tmpl/assets/fonts/firasansmediumitalic.ttf | Bin 0 -> 61796 bytes tmpl/assets/fonts/firasansmediumitalic.woff | Bin 0 -> 28548 bytes tmpl/assets/fonts/firasansmediumitalic.woff2 | Bin 0 -> 22528 bytes tmpl/assets/fonts/firasanssemibold.ttf | Bin 0 -> 67644 bytes tmpl/assets/fonts/firasanssemibold.woff | Bin 0 -> 28728 bytes tmpl/assets/fonts/firasanssemibold.woff2 | Bin 0 -> 22472 bytes tmpl/assets/fonts/firasanssemibolditalic.ttf | Bin 0 -> 72096 bytes tmpl/assets/fonts/firasanssemibolditalic.woff | Bin 0 -> 31568 bytes .../assets/fonts/firasanssemibolditalic.woff2 | Bin 0 -> 24876 bytes tmpl/assets/jquery-custom.min.js | 5 + tmpl/assets/logo.png | Bin 0 -> 4491 bytes tmpl/assets/marked.js | 1286 +++++++++++++++++ tmpl/assets/normalize.css | 425 ++++++ tmpl/robots.txt | 1 + tmpl/sitemap.xml | 12 + tmpl/tmpl.html | 34 + 57 files changed, 2014 insertions(+), 3 deletions(-) create mode 100644 .gitignore create mode 100644 Dockerfile create mode 100644 docker-compose.yml create mode 100644 tmpl/assets/awesome-go.css create mode 100644 tmpl/assets/fonts/firasans.css create mode 100644 tmpl/assets/fonts/firasans.ttf create mode 100644 tmpl/assets/fonts/firasans.woff create mode 100644 tmpl/assets/fonts/firasans.woff2 create mode 100644 tmpl/assets/fonts/firasansbold.ttf create mode 100644 tmpl/assets/fonts/firasansbold.woff create mode 100644 tmpl/assets/fonts/firasansbold.woff2 create mode 100644 tmpl/assets/fonts/firasansbolditalic.ttf create mode 100644 tmpl/assets/fonts/firasansbolditalic.woff create mode 100644 tmpl/assets/fonts/firasansbolditalic.woff2 create mode 100644 tmpl/assets/fonts/firasansbook.ttf create mode 100644 tmpl/assets/fonts/firasansbook.woff create mode 100644 tmpl/assets/fonts/firasansbook.woff2 create mode 100644 tmpl/assets/fonts/firasansbookitalic.ttf create mode 100644 tmpl/assets/fonts/firasansbookitalic.woff create mode 100644 tmpl/assets/fonts/firasansbookitalic.woff2 create mode 100644 tmpl/assets/fonts/firasansextralight.ttf create mode 100644 tmpl/assets/fonts/firasansextralight.woff create mode 100644 tmpl/assets/fonts/firasansextralight.woff2 create mode 100644 tmpl/assets/fonts/firasansextralightitalic.ttf create mode 100644 tmpl/assets/fonts/firasansextralightitalic.woff create mode 100644 tmpl/assets/fonts/firasansextralightitalic.woff2 create mode 100644 tmpl/assets/fonts/firasansitalic.ttf create mode 100644 tmpl/assets/fonts/firasansitalic.woff create mode 100644 tmpl/assets/fonts/firasansitalic.woff2 create mode 100644 tmpl/assets/fonts/firasanslight.ttf create mode 100644 tmpl/assets/fonts/firasanslight.woff create mode 100644 tmpl/assets/fonts/firasanslight.woff2 create mode 100644 tmpl/assets/fonts/firasanslightitalic.ttf create mode 100644 tmpl/assets/fonts/firasanslightitalic.woff create mode 100644 tmpl/assets/fonts/firasanslightitalic.woff2 create mode 100644 tmpl/assets/fonts/firasansmedium.ttf create mode 100644 tmpl/assets/fonts/firasansmedium.woff create mode 100644 tmpl/assets/fonts/firasansmedium.woff2 create mode 100644 tmpl/assets/fonts/firasansmediumitalic.ttf create mode 100644 tmpl/assets/fonts/firasansmediumitalic.woff create mode 100644 tmpl/assets/fonts/firasansmediumitalic.woff2 create mode 100644 tmpl/assets/fonts/firasanssemibold.ttf create mode 100644 tmpl/assets/fonts/firasanssemibold.woff create mode 100644 tmpl/assets/fonts/firasanssemibold.woff2 create mode 100644 tmpl/assets/fonts/firasanssemibolditalic.ttf create mode 100644 tmpl/assets/fonts/firasanssemibolditalic.woff create mode 100644 tmpl/assets/fonts/firasanssemibolditalic.woff2 create mode 100644 tmpl/assets/jquery-custom.min.js create mode 100644 tmpl/assets/logo.png create mode 100644 tmpl/assets/marked.js create mode 100644 tmpl/assets/normalize.css create mode 100644 tmpl/robots.txt create mode 100644 tmpl/sitemap.xml create mode 100644 tmpl/tmpl.html diff --git a/.gitignore b/.gitignore new file mode 100644 index 00000000..83b7210a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +tmpl/index.html +awesome-go diff --git a/.travis.yml b/.travis.yml index 6812fc17..684c823c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,4 +8,4 @@ sudo: false install: - go get github.com/russross/blackfriday - go get github.com/PuerkitoBio/goquery - + - go get github.com/gorilla/mux diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 00000000..f58bfdeb --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM golang:alpine + +RUN apk add --update -t build-deps curl go git libc-dev gcc libgcc +RUN go get github.com/russross/blackfriday github.com/gorilla/mux + +WORKDIR /srv + +CMD ["go", "run", "repo.go"] diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..b42a8ac0 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,15 @@ +version: "2" + +services: + caddy: + image: abiosoft/caddy + volumes: + - ./tmpl:/srv + ports: + - 80:2015 + webhook: + build: ./ + volumes: + - ./:/srv + ports: + - 9000:9000 \ No newline at end of file diff --git a/repo.go b/repo.go index e0281bfd..194d4022 100644 --- a/repo.go +++ b/repo.go @@ -1 +1,41 @@ -package repo +package main + +import ( + "io/ioutil" + "net/http" + "os" + "os/exec" + "text/template" + + "github.com/gorilla/mux" + "github.com/russross/blackfriday" +) + +type content struct { + Body string +} + +func generateHTML() { + // Update repo + exec.Command("git", "checkout", "-f").Output() + exec.Command("git", "pull").Output() + + input, _ := ioutil.ReadFile("./README.md") + body := string(blackfriday.MarkdownCommon(input)) + c := &content{Body: body} + + t := template.Must(template.ParseFiles("tmpl/tmpl.html")) + f, _ := os.Create("tmpl/index.html") + t.Execute(f, c) +} + +func hookHandler(w http.ResponseWriter, r *http.Request) { + go generateHTML() + w.Write([]byte("Done!\n")) +} + +func main() { + r := mux.NewRouter() + r.HandleFunc("/hook", hookHandler) + http.ListenAndServe(":9000", r) +} diff --git a/repo_test.go b/repo_test.go index d6e72627..5aeaa44e 100644 --- a/repo_test.go +++ b/repo_test.go @@ -1,4 +1,4 @@ -package repo +package main import ( "bytes" diff --git a/tmpl/assets/awesome-go.css b/tmpl/assets/awesome-go.css new file mode 100644 index 00000000..5dd55395 --- /dev/null +++ b/tmpl/assets/awesome-go.css @@ -0,0 +1,43 @@ +* { + max-width: 100%; + box-sizing: border-box; + font-family: "Fira Sans"; + text-decoration: none; + font-weight: 300; +} +.awesome-logo { + max-width: 500px; + width: 100%; + margin: auto; + display: block; +} + +a { + color: #669; +} +a:visited, h1, h2, h3, h4 { + color: #494368; + font-weight: 400; +} +h1 > a:nth-child(1) { + margin-left: 10px; +} +h1 > a img { + padding-right: 5px; +} + +#content { + width: 100%; + padding: 40px 80px; +} + +@media (max-width: 720px) { + #content { + padding: 20px 40px; + } +} +@media (max-width: 420px) { + #content * { + word-wrap: break-word; + } +} \ No newline at end of file diff --git a/tmpl/assets/fonts/firasans.css b/tmpl/assets/fonts/firasans.css new file mode 100644 index 00000000..b52258d7 --- /dev/null +++ b/tmpl/assets/fonts/firasans.css @@ -0,0 +1,140 @@ +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans ExtraLight'), + local('FiraSans-ExtraLight'), + url('/assets/fonts/firasansextralight.woff2') format('woff2'), + url('/assets/fonts/firasansextralight.woff') format('woff'), + url('/assets/fonts/firasansextralight.ttf') format('truetype'); + font-weight: 100; + font-style: normal; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans ExtraLight Italic'), + local('FiraSans-ExtraLightItalic'), + url('/assets/fonts/firasansextralightitalic.woff2') format('woff2'), + url('/assets/fonts/firasansextralightitalic.woff') format('woff'), + url('/assets/fonts/firasansextralightitalic.ttf') format('truetype'); + font-weight: 100; + font-style: italic; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Light'), + local('FiraSans-Light'), + url('/assets/fonts/firasanslight.woff2') format('woff2'), + url('/assets/fonts/firasanslight.woff') format('woff'), + url('/assets/fonts/firasanslight.ttf') format('truetype'); + font-weight: 200; + font-style: normal; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Light Italic'), + local('FiraSans-LightItalic'), + url('/assets/fonts/firasanslightitalic.woff2') format('woff2'), + url('/assets/fonts/firasanslightitalic.woff') format('woff'), + url('/assets/fonts/firasanslightitalic.ttf') format('truetype'); + font-weight: 200; + font-style: italic; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Book'), + local('FiraSans-Book'), + url('/assets/fonts/firasansbook.woff2') format('woff2'), + url('/assets/fonts/firasansbook.woff') format('woff'), + url('/assets/fonts/firasansbook.ttf') format('truetype'); + font-weight: 300; + font-style: normal; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Book Italic'), + local('FiraSans-BookItalic'), + url('/assets/fonts/firasansbookitalic.woff2') format('woff2'), + url('/assets/fonts/firasansbookitalic.woff') format('woff'), + url('/assets/fonts/firasansbookitalic.ttf') format('truetype'); + font-weight: 300; + font-style: italic; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans'), + local('FiraSans-Regular'), + url('/assets/fonts/firasans.woff2') format('woff2'), + url('/assets/fonts/firasans.woff') format('woff'), + url('/assets/fonts/firasans.ttf') format('truetype'); + font-weight: 400; + font-style: normal; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Italic'), + local('FiraSans-Italic'), + url('/assets/fonts/firasansitalic.woff2') format('woff2'), + url('/assets/fonts/firasansitalic.woff') format('woff'), + url('/assets/fonts/firasansitalic.ttf') format('truetype'); + font-weight: 400; + font-style: italic; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Medium'), + local('FiraSans-Medium'), + url('/assets/fonts/firasansmedium.woff2') format('woff2'), + url('/assets/fonts/firasansmedium.woff') format('woff'), + url('/assets/fonts/firasansmedium.ttf') format('truetype'); + font-weight: 500; + font-style: normal; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Medium Italic'), + local('FiraSans-MediumItalic'), + url('/assets/fonts/firasansmediumitalic.woff2') format('woff2'), + url('/assets/fonts/firasansmediumitalic.woff') format('woff'), + url('/assets/fonts/firasansmediumitalic.ttf') format('truetype'); + font-weight: 500; + font-style: italic; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans SemiBold'), + local('FiraSans-SemiBold'), + url('/assets/fonts/firasanssemibold.woff2') format('woff2'), + url('/assets/fonts/firasanssemibold.woff') format('woff'), + url('/assets/fonts/firasanssemibold.ttf') format('truetype'); + font-weight: 600; + font-style: normal; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans SemiBold Italic'), + local('FiraSans-SemiBoldItalic'), + url('/assets/fonts/firasanssemibolditalic.woff2') format('woff2'), + url('/assets/fonts/firasanssemibolditalic.woff') format('woff'), + url('/assets/fonts/firasanssemibolditalic.ttf') format('truetype'); + font-weight: 600; + font-style: italic; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Bold'), + local('FiraSans-Bold'), + url('/assets/fonts/firasansbold.woff2') format('woff2'), + url('/assets/fonts/firasansbold.woff') format('woff'), + url('/assets/fonts/firasansbold.ttf') format('truetype'); + font-weight: 700; + font-style: normal; +} +@font-face { + font-family: 'Fira Sans'; + src: local('Fira Sans Bold Italic'), + local('FiraSans-BoldItalic'), + url('/assets/fonts/firasansbolditalic.woff2') format('woff2'), + url('/assets/fonts/firasansbolditalic.woff') format('woff'), + url('/assets/fonts/firasansbolditalic.ttf') format('truetype'); + font-weight: 700; + font-style: italic; +} diff --git a/tmpl/assets/fonts/firasans.ttf b/tmpl/assets/fonts/firasans.ttf new file mode 100644 index 0000000000000000000000000000000000000000..5ea949d23c094dabf64c26616527d8600a852bb9 GIT binary patch literal 57640 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbold.ttf b/tmpl/assets/fonts/firasansbold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..bcf62411d2b33293b94c42db3e7f5fade82c888b GIT binary patch literal 67080 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

?3*EFqCLrbnS}acFATDSL zW>acq>a$$dU5=}w&M{-4qCe@-o`URV|4_DQ;mJJWLP*FL(SkhO* z?=_-Vq~ohK+n1iAX1krVdTa)w4{})by^OnJdrV}eK#jla729R0=b;e)11h$Em6sRg z&IrFj726+~N%IO?ea`AlA>0w4bOOrL zPC)t39y(bACx#o$h=fFU0u+iDMr9r8e1fmUp@R}bq6s8FcFE}NPPz-$GBA=}6kw5c zIkb&H?gLV^LMTyWCn}S)l<4iw9g8D70ZAm3^*I!m7ma;D$|6|Hbdtt6`Wh8R&^%(J`BZTqp#;}B zD()-l>9=wXI6$(I+|1lDrrL(*pt>u5lGwmWU@qxu2 zTML2e`tY2K<>Xn1f=IfM+etNuP=$v4;nC%XGEGRfkjLakvtg!356q3MwUPGNqjRx! z$rF|23M;@#5?=~s`r-NW!4xcpC(xOatUw!ykINQNA0f~w#$`4sNTfyR8;6G)DV&7v zMv~4-A`MlqXyglMhQT2yrnWZGSs0F@!m^UW%A(3ZAXx6UQ>}&Q@Lc0d_UwtQ!^+bg zz!Y7Qx1a7LCWAJ=YF$__su*rPmd-7aYEror-5_^7>$7qTa7h-!TKI=2wG-xUvJrDz zf|<22lVuyh(T%8_6Vu*cuyo>U7Q=F8uox&CJuNLQBaMo~YPDgrPC&IqXZgo5AhxwJ z(>xlBaoHF<)i`|tQ9+A_yeVV#>~P3kr1`)raYjp;$BpBqbbmk$dJlreiqsuC-a-1l zfw`xC(|O-hU2w{2&6Ds5U#?25F@bgUeG`by(3-& zPcQgE^}&^4aZth~x!~fzf`-_ZG51<~=^9S8LloJab|;xUM%0S;3vsP zX2k@4iJDWN?#o7*Gs!wzvlJo<;w1+`Vq?goFG< zE1kGO8&RJH%RoIBeOh}GS?mI7`$AAYYWw3(ys89F4}-0XzM^hjr~L+Xt`x$OzSEZo zL@C2xIM`3~64H|EPxuPTHtXGzC{&WMC-e~C!$eyE#6)}&&K3x{F>j_JfpA^Xq0w1Z z_!G*gC@(0et1X{UF`=NWpe*PIr~7fVRWj9#iv_0YhjYcAA}0?*F;mi~DFwME1%&|Q z(pm3H6R@i0DeA#jUz!!#zi`c={SC#{@@ToOwNqAaJ$U=lqH^Ou>q@PnsJ=Egav)Yu z4;?d?S`p0JR5)##dNkIXq1;kKesK=Da#}&jKgnIp!v>DW)k(`I2`(45&dpE;y8*0* z5e2$;LnKTl0B=N%B-cLR+r3flN931k?NVE#32LNTB1UdtS+Np6wyIxWM2=^@uNS?J z>|o)4X$7wp4TVfur`hmt9zeYw?4d5$sAG^sksXWTH){XTEp^L+qcbYXieq*xs^1MB z*1tdphEt&}YOIhPv*+aG1ap8z4)}2Z9z}Cv_N&-gR+ESH1I+k_$l&Il3Vp2OkHWK0 zL>>#~g&bccD`lkN3`E%E3d1=!k-9m#m{NFvjFikB*1cvD?z?z9vfUZz&P&~eA=38{6BKC*iXaj1&KsMKF|+Z~r*bG3=zWA zZSIC^r?k>(oZ_Y9k3aSGXCKJVd1i9YvXQ%&^?w~E7t6*tk|okVV|?S7hMo1Zj{^tH zjcXhM)O6x02QIjH_x6hw-f8Wd)iQO-`Q_Dy|KT+vc+;WthOR!4o3X!a+4S(_iLK@a zU{(z3oM^SE{j3OkYl06!{ygljx;|g5Zj&%Kv6Es)HCYh|GaGsmFs9aa8@5!*kyA-= zD37+qZD?5rXj$5q(9&qMbm?EP(2?z#!GObFSP&=*7UjZ7^Lp%lhoAP=L_+0`!N!}l zGA-cC`1$)y%y#;%Q%q&7g0bPmX*H;`s%aU1WCnanN=*BLD1iil&rAv8fN#an;(MoH zhS(&5!zW`5MYGaX4KknYJ(kIh3A#2Bz}|~_2962a8H#fl4GG5HB%7e~1uSIjNeFbz z;R19o!C>ti)7sEYt*unZJT)KE$d^Z!I%yDYVgcH9*qEy3C%4vlg&eeY-oT$uFxcbj zo`(}pVYHLz$MXKW#slLYH8S45*iq|PY`vB{Mtu_N{q5L6|KJ4sJq|V=E*)dTD{B2# zZROXpt3#i(It#z`f>OFkEsN{b8ggZ{jn%yfH& zqvEtwiVb7NqfQpb5-9)Vg*oE*=KCir(jhf3RH{7(D+XTE<0%%QI;=@;1*i+h1%gp} zDS|^-6U}3n6?+3;7*nGbHH95^Ivoq(agZIJXiupN;q>@2wMTjNpkAI zf;1q{lC&5oG*Jnr?QbOPa2My{7=Vv68;!DdCp9yZak}yGKl=vm_(v@ zsTE(tR^6es%_?~Pz4wLRy!XDJT{UCo%-J*I<1744gVFh@9AA1*2^+EHpd$xNu?{jVv>m6^xE8;gn+=QzzuA*qI8% zp3)dMTi+jhVx#i^W7iR5Iy3hEzk^*jj#({vtbkpta#l%Hqlb-*gP^UwHpyYC`kxr5 z{#QgB<2KrZaMY0c!W7gJqX)vu_ACXa-K%bQc!N93#aB@57giM7u zVo2~UZRN!#EyQX4k@XizU{GW}=!hmU3*b?A=0n#BLf1idv>92_@TaRhq4`*)MW}0b zr_u)FIAR>yU_iA3GGGc8I0_iE)anD8 zZ2ipRAFJp6e>(mvW5)l}lT|H<y-iG=$dP;aIgR^FkLMZUu z0Q3?$2ZxIL62e*$>Nz+Por6%ZJeOV;HFN{U$qWtyiY_K4#_4zQsco0?>RaRLZB0mq7Xlze$7Cq^r z(DtP+8sFEmc=h)9^gAeh`%lQcQ#88jdf(cRjl9^r%>(sMs|@6Y%iS=j?$5x-_8}+= z1Qt0|eDounTt=LoYcOm_6N>xc1KHzXEtwdeVz=9~?b(h@RSC>EK?yX*RX4gqGKr>t z@RWFR$Et!~JAv+smI0~OPspZoy~zIYU_83FC`%m$>9MFLU@{??il7oz)M}17&P=~8 zUDOnez)g52wSl-(RedV+gptJ0z?RsNyc0JUaoWaPV<$zQlQ%KFW<;^)gxqeTY@1nT zs+jofq(q_Db3^Hg)0C1=!oltyi##seK(Gqb3_wnDqbrW&e9iX7%Xr2)i+Uf6C-(zS z`MzC$yx`m6pP!P}E3`f?47mVHM|}Z=$n}2erwgjbn1a**f)F<7ltr)9&N|$gG9T;Y zeQnnJdPO`%OZ2`zJ(is4p$E22k+ygE*tSqY9ygm1ZI5^nV}gz#Iim2!br3CN=wSAx z!>B+Nl`<@eJ5U{P{$xx`f<8%u#{o9+*?j;9NIy{mnLT6n2QOim;;N^AFGe)Zh$*BV zyCdu!Q&b(}l1L_PPspQj<&JY)n2gUdt~`4lfCQ%-R}=z4u!1LIhUJSEh>Df-x5pNX z;)Fq$r#)HqN=dRl0&u%zxasM*(G)ZAKEZZ@^@ClGs33l0arJ7kJP^l_rQ@k?y-Ne_ z`pmy0#4dl%DeA&=Wc~bucovZ6vNrCi-wwik5pVxR2Vi$7*uifL{|rDz)ayV%6BfAQ zjM#)Zh%gSS8cjZ;e1MY@@4?7Quo@EjY#Mi3t;Xe%z&M;+dONyrFoH+5_RMNDTD#yC zlg+J0M8-XtnfU>jQaPD9sM8)Gp_T|{)pc5``+}40>rh~ra;fM%FUpV9YPa*Ha%y+U zf8QBf$X%#>yG@48!^`DKhS93-Mu{JLHex5{K%dt~8eL_2&*ex#_V|%T+l_Ce1;NNj zeJ;A2qa#Hr170Er`3IaCTRA=a-4kk7X;JX0^6=R3g0TgxAQ8cqUR2}r zvK!SSut^)C9Vr}vVgbfrbOsII4TsS7f2SB1G1=~0VRF*QO?QOHX%P+ z8RT+t%iehgp2AJ)nd0~jYqk6^NTcKs&c$5j#pA#ORcJ(2cKXXt6| z42Irz*%<4b+9LXGKu)iLZPS~hA--V|N-tfubZM<%PTA$ zkc6r1=y#@!++B>R2mXh#KPjc?5K>ZA`rve3%sQ^0MfFhoNT~G606sY>Q9^~04hxGr zdJCl)B3A*rr9*)z*;xUG5T^oR?HX)RxAdti#n5aqp2}~>*@W~*z)Mrd_TZ=cZNHIM z7;B6CcO`q4ui%f1I&oC|RD7glD)W^~lqZz$D*rJg8Ri==WZGl8-)uJz zm|wMITk0&!EL$!AYrWX|NFB9@wFs#Qb*FYNq zw0pjtT9Ude_21t8-e0A)q+OBr%XD-4wDf)H&!zu6V`@fE#+NhxkU2N=@yy?6g|hC> z`k(BC?1t>?vVWh`l5<(kJGs8xb-9n_+43gj9m#v$SKzzJ_nJT7-{-&2|8AfpFc`Qe z@OH2vxIXyh{L=h&`NR2tD<~)!DEMk&LgC!PhlOlU$Sb zP5Q;;4U_-U)ZBDc({HELPuV}^h33TOrOnT`6trw=d8Fm%ArYDxx;*sb*4)2wm zH}#6CKc1F1ZR)gR(}UCZP5;3R!;JMa-k;es^W9mCXK$GOtvM}ozT9SQyQ|1>C;-4-lUvf*Q=xpsg z(D}jA%}amTwYlpkI0pR0luZ9KAKZV>>XfDrgiS%wN5=l2<=OA-0Zs`RjIC6zU?zp*Ml1II(mV2S)iRH<>X zD)t`B;5Pw-^B&6<7B)xBVFmnkmV`Q|CSe)<1gF4ci8TCPhwDGW=M1!~0@@7i>ANU~ z#U|D&T9{89#%D5X<-f=0#rXYJ{9J&)Q${}!=inM=tqQ6N ziJS2AQG71L=acxP?>8|k>L6J0j7BjD6^It#=NahJqS1egJd9&H-iAIMW_V}Jy zjP}>y-fy8RTnL%c#3l;lvWUMjoIQnpn?^t8ud*b(*UI;@L40PQ=mro^==0xjEsW1* zi~;?ZV=Wl{K8;ryhM;*`Z6mhgvvu@+aSc9+UQ6(aG0X4n#_xERayiDCJsOs@A^OmF zj^G(YFVIoa>t=is&4|`SD?AfY%_Hgb1g>vn9_30rYZyO&4J@_@pY%5e=Wl))pDXZu zqSq9Ry&PkH0^=_QUx8+*A7|kI0Nobg8vPC8?ISl>N995c?a~AV$Cum+ep&9JPmI~TK#xO%h7_~i&PmNamXPL2suEhS~si1t5cn%u3MO*M{Wa^1=0VAOHnr@@`PzircY&gEb0HP?OKE5xT^HMQtN3+mfx`zJ1vjp z*wSdM8A-NeJB~FEnZyp3A4w!b5{)I<7M3MPmJ^Z%1IsH20wE!fUC0thHY{O*mQAuD z{J^j#yt1JnP-M44K^d}CZKal^iZTW9*6jD)dwQlv8aa+3-Ri#Qo_p>&=bn4+v%5!` zO!2(TTJ-~Gnf{}z)aOZ!-#&Q~fon2jLka6Mh0#^v_fV8NgBZE2LTKZTdc?$COmrRm zs>TVY%Gv3>)49bNaE?3oIS)IJI;Wg(Ip1}jbAIjoIgPVG?fHiD%g@)H zUz#foIL?0X*HM&uNeJd4fgiA-oya zEr9Wg5?<%!KW9?v+X(TaEzWVk-$8f}uKNIg58(s29tQkFgpc5Q6!1?GK7os)&My!? zh3i{@e~s`ouI~bV8R3s{JqH-$kb_q?9i*%OL3kDyK3`L>dn)XD>iXVPpX+XaTGi~@ z?v?J@*Xy;_d29Om54e-p_j*MQ>2G2psRjl@`|IlKJ=N!_L@0R@)=Tuqn>`)&-2Ma2 zUQyT`biLC(p0j%2$u+t%ks3&OrK#R}uehOa_d9y)L-lo&y{^~O1Ju^OI@jwU)X~@H zPFd>optlAniMd`2(_2V+x~JELHj`=BtL*9R2gYSuC870%*7w)-=lRIl%hZmdUQ!ku&{Az-SdqydH8)!W}wm)_mi8|tg?bG@y5dXZMgqKW)wuO#f1C7MoR zZfPu4ifAYvg2hAev{$tMfTstbg;&zp?3IOGsyZhz@U)}$g9OTM?e8N=f6}O09zIz% zM)7E5iA8QE9p8Ca91=x%=JJWGKygG4@h*w5jLTK}lar)J`a!v?AurlHFT{ zT*#a)S};=;T__YkIj6E1m0cIA?`y1Y_Nv2EMMWuZFr94nYQiXh>v~m*YgsM;p?IHH z&Dd_lsu64U=7LSFF^LNc3_xwKCeiOs_PbsUjMnVchPUtSopJ_~eXG3cq0qaVy?Np7 zyLz|pvBGr_*t7ZWDbLo*bX5;;kAtPcKGI6gTwrPSKHJ ztoS7Amtq_1L&)aC@CK$c3z`B``%sc?(0?1S`BgPb1)|+A2*JbΠAgg`n|<1!43D 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 C2!ql9 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbold.woff b/tmpl/assets/fonts/firasansbold.woff new file mode 100644 index 0000000000000000000000000000000000000000..dae100fbe0f070e71f6bf3e1690b48ceeadf3e13 GIT binary patch literal 28712 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%0AECOMEFoisXtb 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 MfYwbI?SX*)3(8+I4*&oF literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbold.woff2 b/tmpl/assets/fonts/firasansbold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..05c5da2f5074ae36071a53a72b583eed2c6d5591 GIT binary patch literal 22592 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbolditalic.ttf b/tmpl/assets/fonts/firasansbolditalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..fab739eb10273196ee50295f7c96a9be88fd5b91 GIT binary patch literal 71852 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 X65MGBj~*ti-e&{65YLMRT;KlzlTp0l literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbolditalic.woff b/tmpl/assets/fonts/firasansbolditalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..48ca8dccde9bf110283ed8277e3a1e1ad1e54a21 GIT binary patch literal 31564 zcmYhCV{j);w8sCjZQHi7v7L==+qRR9ZQI<~wrxAv7&q^&`{8!YQ&asr&#CE|`OsZw zdfep2!~j5mpXMb4K>9fWVOIV0|Cjtn|9=w~5f%F}`2R54AJKynfDwu-$SeP_DgXdB z><2XkapuK{E2|0t0Pw6oo~EA|Vv?|W+ z%A)}8*EDi3YTyi0do!CKRtErp4FUi#`vNsYm1YJ`KXG*DA0OoZ z3DL~j!}N!F0|08r06^cOF9JrZxru=>0ATwgz<=XmhgP{mHvfS?EbXUH@*`5nGC+d4 zjkEg?>jVIRhX4Rjbt7EFbZa}KAD=_;52OE2p%$t%HU{oL*LC{2F96|x0(OFHvNfrQgt$vMI;T1V#QUv||YIXLS5DQ#aBLq~`J!?qQ%350-?Q3~k zXTxe_rrC%m7G*{q=?wFsPMx0C7dcDvgR|0QDD+$K*Pi`jG* z56cM?1{Hwoa;REj$M-SzFQezq$xK%N>BvkLXT+Q`0iPFkp#%zeGBhZ=%l%;bf_Z9I z39IIdTp>9o!^_vmi?+_ z#Yd;KZIKh`mdyzz?EO>*= z?yP9{Jv#kU?V)OSRZ(xbw|lk9b#pQ^SHC&AQN?NMH)lRTqPg}x{~YiQrV&ktt-V1S z(Krai(%uR5ZOb#aIAxW-cxNz8-R0~(XbdOCW*(2uG_JrzTPWQkUobG4N{rDAK2RI+ zP*LAn`)1c?Cw2Y8-Zq>p@su>e@iJD%I~{==58|5y%JdKe*ONw3{PuezY4drDRL$S7i+XiYcA! zF;_)(FM9P_*^EI+KETw?TCNaiiDxW6Ag?>qeYn%1gO)uY@gqD0txXrtE^1|Av1!jH z13caM(qf{I^V(vAT+-MxN2Q%KO%q)7+zELgF_??^?{Aa)*KwsIN0azsvK$}jDvf>H zc%^tRvj|2}sY|joVcJ?1bj+xA-5T0DQw@{%f^INN?Wej!NRs-1$#8Ipt<$1^GsWBr zvbm*$6em-L#l7k^v^Y|euZ5-Gkz8>q(4!HFE65%qzG$fZSpgcQAR(wK^f2)8IZss; z9_UV!(H@mKD)+}0W%d@LtkkP4O3l=T8p*0^lo0D_@}gtQ=mYDWiugXs&A?En!h6+%bCrv7rLIJ7lIYPnxqxnls*D;!m+iY07bp zNtj@5(xO>cIim3jtA^p|+RvWSx(4plMAPiasOA*Hjfm=3OJS!Jf{E709EAHUfkPFp2^GK@uHU^3*&mA&ve2ZalSee)vr zl2+A)<-9KR6d(J)p2Zb5S9|70e=_#ejsCcV2Ccv~Vw~4>@CG(6Bzg?Alx~o4n7{Lf z)j}Kf>_Q9KXn`4SPK#&qW$K%WqkG9yL-8!em4V_8g9(Q(vbO)IcYhhj--Vwmt`0ZUyDO zS#LNc#)8igQ$;U<<*jl_&FKtlHn>;Q_EbS>e%%{Ir22Sox@n8gnw;WQNpmlpDE;J0 z`RO7gD}waWdT}WtSGVic#*W2Ny^>||F0^bnC!`y<)l&NDwops^!55tO{=IcQ|9V&S z&UB44?JMC%SDoP6juUMUqF#sXrKqJO8Mh#(>AU_`iIwpvPoC!CwYAB}xbdU5la-Ru zv!kY9h2>hVXf;I^d`mFwlIG96!Ya$+ql?^bZ)RUeEv1VI4>IKUnjJZt?I4w|b;k~#)a33c zsQ1BF+Hr&Lajt&?Xf6y8_{F18>ab5nYg>69Iqv@|f^%ZU9zF3fA9U|1Y1Fd$`Xb}Z zGt>^4$FAc?BO{yinm60dYi;e0IO(`s281%MAS-`Ow}5UwK2;9Q2kMxwcq!ZklrjeK znGev~ib9Y*;9>SShg>IskI}G&(_YhtwQkrVp$x zpIwG|?%=#pZic~lBcFGfym4-Z+^}}yZdkTs2zJ9>0KUOs-jD))@)7T5FI@bAC$})0 zQF{AoO`m>2JNrg2c)Ew?3@karH+K-;(0+p^u^$wjp)-3kFEHKyG%qyW;XQjdFUVg3 z9Cv6*ck;14<1dt7Q!jKXN;tRb6%0#Z1f}=ozhbk5yec-{##c~0XTyAD3>17;NzNY# z4kR0r+o|rIp*PUHBC~8oGfExVLy6?CpA$B?oGW(z!fnwaFjfd8yWW(Ydu7&xp`uE^vDI1V-R$0Vm)M9tUaEM=6T>@xBUGMEpauF=tAL1&k3 zv#$Y}{F|XW?IE~;C{AFU(U4R^cO9=E`YK^bq)N}VdAudPeso-xO7n@npPWh3zO!1r zi9>QSvT8LbJLv7*?L|bcd%}K%eMJfHCLyF)*}45;Zpg3m3fvL@uYzqB=j=jn= zStF3nJ+I&>e+zI}^RYj_ozc3ng;e~;18#HJL2G=%l=gQhxv)oVON+zN^w~G6&_A&* zlgt&a$qPL+=F+KkGk8ZMv$7ltaqcE~sRMAOHKPfq;I(4ApXrAvgv~z8rL=7ed3n;2 zKvL?0Z@%*>*)9C9ta7eRqBG7}SANPQ^BZvCGkga~?T@rYG=PY#D|bDiVg zecLig=VSV%AUHi5RW|h<)1g_!wQ!=E#dqp9KU0KZG;i**S{qP3-w{1~glik;c&2dnAIKR#E~n$V>?Zr(?{mw#q`Fe$h-k@l!g-5|HxS=Ju@3oZJdNN{p}OoJf3 zFV#EsyQ8IiZAq4QG%16VeD#=C@1|C?iEDPhPGVqNF+ z!_dI2{xFnL+R>bgA`Fi-;~V|v3xNVPvO-6b*c^phJ!EQZ66tB2@|LnHpkw(SE=smM zgUD8HaPDXL9bNvrJp}uX$Wl+-9)V7z-l-uvsKU+lT+ijo+pVD_${~Dpl0f)ARg>TV z-0<2=*VR4rO1NrcbalcZG{Q*an-AOMaz8CI+%CF4$jGk5l=8r>(kF=wEllFoVAxm5 zDfs2uKqj%miz~7oE6Z-%LBe^M^(yS=ki~6GENrEOc&d|+)jX>j!I*pB>d`*7xdsZg z_K>NUpI=`Uf-w$Ni2$>#BAwd_V{7*aSik#iGr46pNA}{pLs+GOF7A9 z;{p77hJ|!0=xYlLP;(HFjzXq+#!Q_HvH>Hji@BV2A^vc5v9-FB&}(qZlS1osnH;^! z3|KYR(5%r((i~~W-+a$B+_8QSK{MdLOTDt|oxPI2CA#{NnU7pkw;XtfQV={|Fee$mam=S$r||(EWmlA}5B(B79d;a(Y5WVZ=oVZp#1D6Ol)~6xO7)oV0UB7^oqERln zXBp|6GV8Ao^p5xTEe@gHebWSSgqt!NM;kF3HW>kc;lVNWEzJz|^@H!SgtfCUQL)^= zzs=A;YRBvYMI-N`fI$Yl>!b`yss*J20zd$x2=GnrSs{P=q<|GM#r*EHLZInL0yP$i zHANqBgS?z9z5NC4FIXT0d4AcS(1UUyr!Nwt7K#29{1bQ!1bh~@;o!K_o9^U$>}YnK zmOe>~Fj5C0FVk*4ePgP@kVzu-yQu^^QdO}a1KYB)vO5&ps-it*J-GM0KyJ)q zBd;3BjFfEU%hIcJZ2Dg^JNwKkr##vr!QCTNb<6nnc-W65w!bochw)D58PdLs_&*~d z7>jmpA%`E4<@Kff_OT|<7&-wt8`!n_!rvdjltr?j|2@JhM= zSV%FtOs-3u3lic&+I?_*=>vD5TXC;%^c-Gbne`2w5{VN-?<%O@qZa#$&E7EkMSc3Ycvlyw_N`nBq zKsrS+6(7@GVkM`qRYZf_7cYuM<{6mdM%n6F+fyRXWxG-wc#)n&_sa9kr<@^n2zBn9 zw|)=zi%pDe2g6|;-m3|GNuSI-`*|h(wetW<9VH~Ngj*L7v)e@_h7-*WOmge9L)f+d zp3oHQcKVKPlHAMHt^_%8FE>)y*;Gzw^RkzSub!lg>>8n)B~S-;Q#T}L2_#@aZ2vcj zE_2mcgp^ntvGzpT-f;tlTdeKCYo5dBm)2kWCs0`fFK zrwTllwjcJjYxinrC-c1x=Wr^zuA1GHiw%T&{+!NKsAoDob-CM46Y(`!)bz7ONwplX ze5CaSJ(?I3Yn{6@K_G0eBi&D|q{v3Bgsw_FzoIn(TY0&Y!qK}ECK{36zb zx5)I-SxMBUqoiAAzRnSMnn$OXEqo~z2uy*ojdS%?IinghVWhW@kyrGUUrLNuE@w&ayStZ*gkVg5c?*x3SOTCOZ zf_>G~_6ej^-o_oh{|NiTs645R!o-qFn}+}rq8%=aG})YQs996hSanngLstZ(X^=`I z$w2mAfy#lb{+Z;~`T2$HbQ*=htgGdt zbl5LORwIhxO#1ee`6H~4Vk4>q(h6NiammRgiv24p68JjM7maEzMY@1mbMpoAD4Wu9 z44phAi~$s!rlc>lhJkMX3!8kAIRoY!Dug_H+(0E+Xptn#006ogb?3#_m%rGbmthj0%0 zc@Z?ev6v&)4zBtxtTM`N>X#};So!84Z<*s_2Ijd-54PGrQP$n+_zsquZO?Qc;**vF z&7(nK8_^YNB>H2+faVb{3F+jDJnlkh9I@0W>4L>d^MuDX@KEsMZ>uE3i|-14_S_R` z9mC-0qm4%h_72?W{BPN(ounWD><4E1X5fUhh0}g2(3^d}RO(z5L2f}$P%CSonj-h<(Q*_TAEoI4+P|EdS|Ur==AXSqQ>8YnBnPRRj1SonyvT zBlsYn<4y3FKrYyBV|b7_E?DnlPQY{8z%IWNruPsoI6~S2=u5^=^e4fe3s&fO6#y}5 zFlz!IgztojOWnZ_{eZ+^j&iyIx&{13Urs^WQum@e7lZT;p-Xy6fHHWQi#)iPi?$@b zsOKK9;3tcy>?e(=OhDbiRlvV5D)h(__*H~{2@dK0w(zsg`esOhKMoyn*A>K->Fm-t9djBf&A7W2Qxn zvhs4w06udex%<>*eG6<_8-pmiE`5c{2*aS;!`S?EEn^Rkih(FN7D=iVK7BX6E*`SK zsjia|jSzKPXpFRz7SdY9Ydl!hs9bx_xH0X1khfI0$)j=;$qo2-!cCtl8%Hy*m-5lV z$pG8cQG5nGv#?&rqo+<=XCXcEO|M2(VcbH`QR5%UMCK^%041s6-HXxR(0bRQJG&uB z-T|?F!a{1%U5C!xc;s5Y(7dsH4UC^RHe7u$zUrdRauxL6DC)YUZ^7^`sgxw7MiD}D z=t5`cXA&`yz{Iff6WJ~6t??Ro9Kkf$ zjmF)*hewbaJEvYuZJaCQupqxnE=RNW+O$8QE{5Fp14o9HehEnh4vE&~^!xYpLXf)h z{QI^ZQdN-~MdC_0^h<#Hq9A$@VCF9pkZU@oi^z?UAF_)jdw9!4UrQCSjj)c&iXpwy z+gxT96?jTNd*AIjn~~Xp{+9IvCue+^NT;JEcaEo&EIN;ZN$(A07Xz!rDxreyM~Ci3 zQ6439My22f@A-o^*I$Ow8b(ZVI48l3F7JsFLpLQ`&*>=2Av>y@iyIYO>>Za{^slR&|cQgZmYoZ&HVj}W`=V{z)-KTrnR10eebNzW5~q= zp=+YsSXP=<371TSbc^MidT><$h=NPPKPge{{yHgJQL!Wlm<%K-QaYKh!k)wvtp0Uof46q?O8_zUDQJbk0Ht)l{gtqG=#p? zyrQz)yvjN{7(4HBd`JOPg{W_-JbwT>dnjO85 z6-cFo{Bzte$MaL%^|pfYvI<)9!RN)@&cy^r>pjLQNNS36y*%g&z3u91kL}%fqgG0i z8*PnsPg4tlZm-%qI|J2?wlwuTHAO*5PfJNx^V;zbA)J&T z(D+c$rIqB{t{qp6RHQLohzU!#HGyL!PwZs8d65_UHIB9$DSBHy5u1nf&f=7^cxqK# z7&JCVbMQg3QGVoK^c5A?IyJHP1e}a%XS$lr4nsA|*L%EyuEdz7C>kjqO(C9f5;V9d z^w+?%mw|uf=4{MVqxknY^j?-pZ0jmts)w;bw@zi_BD_Hi+<35LS=6=)i@PUnW+kT< z1}JxkXJ9P(gqJ?9)Y84%%_S+usS)5Dan_E1g~s>-3LIM#)2r{si)H&uig|h*SGH=e zPpfP-1?oK9-uH1h2Wxc7E zi=teR?>2@MOlN?8r^Ub9;Y-qOy&|}6KbWLxq3MYA4C#`%Dy5G%o*b)BHjrirmK-9k zs=wccM%8uO7<=r&+&Xz)h5(w620o73aOH;+yWNH4-cEZ*??RV0;J21M`yZdiwLYCq zM{Z@!Lfu~F+_wGnp0Qq1JRO6-qD3QOXmLDS5Gm8;6>5Nt0K)!RtKcUV&@;+RxGHyb zPl#htu%aXFDtcTg4fYzxf2;$jE1+3W4V^!Qr^7nUx)8VtCVN7*UG6_#6Hnrmb}}_Y zb;;%9wUK4eG;dkJ6*UtEvN(QaBxq;Q07l4gT)04^TX?h&=(Ydm_q6>h&#?dHv*j~$ zk~$EdXAi$!B!23!8xE}AUv;I%AwU|YX_3kD3C-t=>_+fN*$(Mc7hlvb%B8J%HZo9L zR;zfW8aUD~_RAd+r`d$OG%FyxqQqNDEg{L>>>7e<1JIbDi};5?A&@bF-;ZaDh;xS* z1=$vy2{&v(dn$)Q4w=~MIBTtX#nE(&UJCk?-k7B|Tj}#bT&zgg1bQUt`X(3A)5nHfD;{5S`#}rNMr?MLxj@Tv3!AD<%z|4@ zjYVbH5*t8+A6iqBIEVqnC@`rwD6*l&ffN{rQIhquB3Hp1N{({gnY7Slcv$!GRtH*i zv$q$j<89C6B-77_qtGbq2Hf`*FZvB_c2u0bs7jamk9VY!oUlM(9tzB=Yjj!1dR%P) z{4cr@%x`{giM7aj6?`)M)G13Q6oP*d+}UZk$--mw;6*^*7%4<8$rY$gJ;#Z!8m&Qe1Aj)z>}s`JgQoIH&0 z=D&O{U+as{p4ve&oK#x=o$fH4*{?(iK+}4CZ^a5%gORG zfoF9RTrWt1f{NUd?H|1>cZhfaVRbYlx59)6j536gAGc-qB$4wZNzU(}vHoeSY2S4e zpPJitcCRBON3HLn`0l#_7H<*5k2doBP^f+&a&c&Fb>Z5Ai~0rd)ZrfCuBxWdz-VBJ zl(@kR91)AGU^0|3NRs;$Q8u7~auBd`|ey47mN~W-shB652cX zn?rSD{kmrBk@M?+IwZbQ&q15vz2n)vR^jP2@@rdyP6!GM2-*~7+P@PFh+V$4!i+7M zO;%|GIT4S!i{pY%k}|}a4akjI^%RL3GJqqs;SuS9uo-8N>GeNIvC)hvTOng~RQA~5 zQJ&#r|59_ax8koeyy|t^_?+yUe-^mp_{w`E78W&eQH7miwARGY>aC&myqb4j3x6xL zQq_4h@qJ3{G&J1XHe}U<#g5h17~Sj{pPpb4g3z^N}SNC+Fz<)^*ARS}5q4*(VRb62*>|2k)PuzF<`s zW?2)gey^^5mg4KWjMUSue0vqN>~vLF%S)?y_}Dka%C%l^I-9QCp2ZHnxva#&U;BD1 z7Ew`h&{I*%zW==lbZD*i6xINn!PzU{eOlHu)ZvvtZJkg+;29CJJ2(G)H5MK~T z&x4gNf9-z>n+yt#>$+dO9et^yAKTDEPYwW+~S6(B`Ay+*npx$7j^B(KslDW)U;>WS6gH~R<9^Fy`$arJ(gko)u z!^QSo4#Nq2pD^QLBgK~0RfTnM2END`_e`T^?T!VnH)jn0m3Mp$pmsifarB8y5eGYG zH}@#?`M_5_$Xv>ORHCc+viI5L1Ob;u zFR)7YNhaz7HlY4E&?gs;QOcI)7S827`q+8~_`a5~i1T~Th}(w=9oC*+Ji=YWL6%B| z3mr-Zvf=|R11Z3g>gI2J`48Rt4Lm}bd0N5yAb*wEWnuG$>|`VCe0Dr-!S-mOAF#1X z>OB{=ikwA0_P8xTT)*CqDYt4v>}&#IKf~39Kucy>%dPlw#V!IO^ z(bEgXtD!Q)Vz^5Z(M{@8p{R2)iz`Py+A<+$FWao)%QaE-U(!3NnwhD3na!-$VCVUW z7Gcw7yOgh!%`yAADCT78DJb-C;#W}DTx;_AoO!wIMY>KiN2^Q*hcFCepvUvyGyVJX zRwjB{$COwcD%FHug}R_`Fg~GIY#J4lF}V)nU@zk#k7gYM&ZE!?dmyR{=!a48k z2$_`Ei8Q&3$E-QYDTvxuLx|4OIVCnlZi!Duj!Bn(nq=^zUQtw?oNzt8+}+Y0+Ho$W z0PkBnl4BGQW#lt2|SXoFIBO+xV0*K=ORd7^@;MW-DK`X z%|+N`t=rsDcGcTEoS&wRR`qbQ?eRXEZKZiXv(su(`90g$^Db#T^^ZZzN~+)1PIZ1r z_w`*I9gnB3jitrp!T#a#>3aRqjXQIthC#r&(__oUE1{JitG#AlKu_EIX5;x;@2xT= zH)F-x>UvoD4dGS|ZWk+EeXJu2-E!WBeRrG8)&z}+8~23Saw zF~;>3mPoW>KG(<lb?={$+{$w2(1#d-7=oEJbHkUiRKzj`z{_Y5=Sygm zMdO%{R;w;%Q-|}c#TQlOtrp7wqu`v}a+Gg&sgq z51)-TOOh)I!l0rJcG}~Nb zd)+P~FDKjDWNvnw+fd9Ro~QypG?+Z$Oe!OOB{DKNz{WC+RFp8S&Pt-}*db9;IPR85 zqsWjOh~SZ={WiuqM7q`k^?>1gnD;~T=DWE75aFFgNWSr>c)pD~jqLqR)@a+~fKlYA z>1BlZ+VVzE1U~UuEg=!%!bo(gs!V-#i(>D2+Y$opevKgj>ppx@`sgS1L6G*jRDZ+x z&@$>3C~ar3(i@NbAR)}jFd>t5L{DHvA8&hYO9oZWQ+|^mkMwS}M?^uR8B4u!<-&Wy z)h{K48(+HwWiG>UHkOz@MC`IZS)YnZX^B}rWU!Q7^yC2G*YJ4GT)Ba+FYom0uGQ7F zo6YP^A9aD9#FgY~xZY%!&%_>D0vv%3tbWz-Eve*_(kc+d}kbMV=MJ!f}6b$I+J+os!YON zgL;3IZu7kAy3?pD>!oSPXTCxkG5{>lf?tqD6(Do(iNBcP9)jeXk#K~$p{XyO7LM6c z-um)I9PA2B;6|G;I$B+aaYsHT-ZXkVpK^{L8vi^+F{^fhd9LbTAa-cHsBBRx8Ps^P z0-3!hOcV=3WZ4lZgphxMm)SoV5xfJ?_+f)zoZoak)1JzcUesR5<7t(;d;5;q4HF!$ zoKK8!kL-sPS>@VrE{GL${7JG08xvlrn}Zj4$Qd>rVI0pVGwT9Z_BbFkJ{ok`q5P*8 z(b{&Mf|-&?LrnmnXbQAOmjF@NR_8tQwk&)E0qp$nzhqP*ppxh>8OWDTaqm}P1pI0w zXdJv>vlxaL-E!FoJtS8J0zKbzk9PVoWRC)>^natI>tj=CVV4aEN$HcYA;?ht4}H4ywO?jbKra6xRmi% zi0>wGOP=xaS6JQCRPt9Sxt;a%QwM`bk`~`|o?U;WsB+YDJGHiYyc~B|e6{U3=6RSb z_UU@uPCpq@3~Lc|6n?J$!_kswrQK+#`3NWudt%=yz2D$0O<*9I(H9oXleO$fjPkyw zqCU=%O>zQe!ZPIxZ48x-3eCDx+GK6D>;a(!o4=#_J-6`fdk!yuwa>>lA^O)b{qle-fB^<*GqQdGVbpWaNhQPou}#BPnhh5K4N=5Yf&mE#{bF6*`R%iT{ijG35~iGlDg9LG5E9_1tlS zzWx$3pvVAqw(NTs({GnBM4?udW<_=6=F>jyL*7IpiajZaw^T7TiW;%?aP465G`N31 zdmNA^f$Fhwqeu*eADQ1NHqH3L!;NP^O;URS-);KBu(zg}Xnb-?6|p7pXjl;ZKq9&Q;2CjVQ0jn@{$D1Nn=_ZDZjYSPTiz2; z;xi#h&7EXx7P5W6mk8P(riC8~=IMO4x_lm^7~{BKI+Ym_B4|6zna#s-#bP=phfu-# z%*8TwoT(CUim)S#RsiC#Y__qTA2{@#(zm9`6vUy^cv1lYCJ`rXS8~=fTx? zX7;p@aoL{C)5Mvc!9yP~vKn^H4@3&mt-wn*(;#z|&p4X(SM}klG zHg>q21iEy}W<<603)J4h*9OR?U$o;98ivnh4jht^!r$K2dw$pPnFtHvMpKi{qPye~GFO5WM ztQ9vzhM8(&}p8=FM`cpnvT029wvLx1i-=F3)q^ zT>7k=$am%H2r?@FxsMAX;nvT%-ulHQJ<`xXFiG2<49=FKHO~{? zzj$@@`me>xa`Q#xddYk0qL{pR2DHez^~#*it|*4I62#Q zAzVd-DprUmvRu@}WU5S2Pz}=|5}vY5&rmXBQ@uPe^%pEWGAxK|>H0LDVKUTEye_O- zaG6ya!xvC}unCJTAN>fO3TmtsQg#(2;J<9BP z5(8c0en{$s^2^e4;!mK?U}B8iI;H@}iQLQ$FkRMGCOsg$(#=hHX^%7vz^q_BIunmz z48~l!gbJ#B^0h3d-73M&WgTnvxE9$4ynNLen5expC%V8N-_t?3yMgYnp~u;P(7p0= zI^DbqUKB%z)p+1u_fjQYa9-q+0w{Nd!AXKfqIK+k^OSu-|0^K-NHbFL}#1I5WD?yGNo_2S&h2gE) zZ~Rx_fMeqxGJ58e2JYKvg#L)-E?8JTw#PhT6lVyN{5_WvQG_O5-XzF&uHP(|@lhR% zgz%aLbeK&jh!)O@Z}xU^%}3sehxcs7)YDhKRW0s;$uaQ7b_H7dLuT{e)4EPY0xPrd zdY~*tO!<+kg4=R5v?)j`UJ4y@7RxEjR&hWkW;s*fJCLS|`7l|n`qODJg~2=`WSjYB zx`to-95hxU_065Y-zhT)IT#h1X%}R?I zSdJd!793)3dTJehkz`pSU`ebg9iKPT9{qEZsj$0H~UK7r!40N{o8Ie@Ov|P z%GmEJ1Y<13ozG~H;*Aque4S4rgT!+J-HkG#A4V%HqRK1EM6bdCF-@%`U)!+(n{qsx zD|5~^bLZM9tJ0(NM)H z9Gq+r^CzQcqK?_UXd8kAkV;A(Co!h89D$(e_+w?kd&N!>M{O3GGvN}11k+)HiN7a{ zfB5Jmbuld2*l?{FS6Z8w_Y-`Hc1Jn|xj{y?F1w{muUL&#e7`+%?A?4VKf0xPeb$Kh z*fjcnP3(U3=tzDk84D79v6?Jb6S&7?tqE#zz_RrzDw#nZ9waj&b zAxOPek;^4#DQagXA)1NDs_VZsZke=~XLT)mp@p?_?Dd`gN2P;Ojtj#t1_Ll zOgJ;+T3N_oQYBXj<|>z8Zfl9}ukyl3FRmW0&C>>Wp{y^Ci3x|yitXmAo{ORUNWRXN z_=Orh-Ny7c@YtQ#EQhLhx9B04s;Pei5U!OFDZrm1Y`!=I8hYHevWDK<`mLro09Ju+<8Rl+8;H-7TJ~kk(~&p}C)y#O0?Bx} zqJ(P!+?WJlna@)~jKjO{L3qQn?k= zI=EY~qMj+#^WQu&Mf3YXSPPqst*%lv4&;Z-+=&L};}W0n47Y-=!DgC0A&YwWmTz1HJyIS9M}91o5P&$Cgn9$jM$KJ?e48YQ zcN3M7uH$z#6dwPrnUW9XE|BjUnnRc>hq4kg=lm|kXX!>r-_(RsONtX*!NSU{wwvwJ z@?G+y^V^;KohLVJBQ20DQh>(vg>YsEIf3SVBFYVe*D2Mp+)dtzy#$&mXrCFwp>U?> z1b@>J!359e-Koc3PS_O%enD%ge1EFk+{i70{fj^!#8LnAy2QyuN;`j3InCRwb_W6+ zAGL#X{+uj_U)jkEiyq%o{_xbzNJrv~Uk>`$41_>9#reN3}4(0CZ%fAPst# z@?bLs#D<`-l@~|FXE|yHD!Dn_goDR6)Y7uSU%AmmCU?0uAH^0!aq;!jDd8J6~m_T|9B?-TOt)^QH4U zybgbU>&1Cl<#0(Mz<}gMVH9Uf<>{Q}fr{Y+1%;3NE|;7t7}7*SMNX;?w1Y{=LvfBl ziNi=%v4i1Y&MhQRMLhR=24%lip1(Y4eQK>AI_{1 z!QxUv`xX3M%2`-{i1_o}yY9lU7(6pSG@6YO;zJKr}MDFgi6V(^9*Dz7h@22CBQZ5)o{P``hPHg>+4*sP)xp{9eSXKq1H zKiZFhI*U%~ad2&}et&Y^rlvJhu-$&)5KpkMGcO*I>g+_In+R6NJNDem-uR1uVonA; zN6tYi%Y*CpEV|`BUdPL3%&$;eSCQFf*ax#i_X)GWn2>y4zjCL4k=1=7iWWI6X{kJ& z3H;|z9WXFBa_v60sT&LSg&7XWDEL7OAy|Q}WzFpDrf3QbS_)j@A_<~U2c{`ZhV@Mb z)iEB?X;W9Glepv9RzNBBY2^Q&M@<`f3u05J^xaeRw>3FcBFPjx@yCxQ?~Xmutf)p3 zZ0JH>ZYq3IC5>K;+LTang!iE5lJZIc&zIp(HK}eZ^qP!LG ztr{o>cV^^y&twlZlXG>Uwa|UllKAYd6>9hMSLTtra)p)Empq<;$)^{0Yc!v`+k5@N zL3O1#&M*h=)EylG`3ff6y|G-M{VAAS_a;g^_1&T!Sf?zn z&Yi3dC4A`(UJu%o${C~d*B+K0RNGMbr$j_7uRc*YB5$^ZpM6|e)Y^)zG~g{YWz7xn zQ_c${yYUL~EWfEW>O!TMRuCH~{~6IjnJG=p8U4J$E!^`SgO}z#mU;!78U5B;S|v36 zJOa%v*4cKJU*Eo#(gQE!n#-Qov2Iu4YjQ_P*=<4SdT*Qd6K&Xi82F)V?t*JE6(tm_ zNv7k*{Vmc-QQR8GB|XgVh@BF3HNrR|fT9OvDSnA#4Tm|z8Lh}alh zA116xFPGvHkBY-s^WumQRcmnKvpE>zoZ!ITw9+(#1xj*Ok;|Pzp&X3T(xPGA5p4FmH<`~CvSR~J5uh1l`4)<7$X{dZNXK}Ea9={<1+Keo5-Rm7u|W25_f zWZFwk9i0JYaqDxtnZT?^r-!t(dZEi$R=#8RCHTsp?Dv2(hWFn)PU!?`Ai{oAR~dR>Nh}rRm(v_lw4S|=U9J4dwSL_hleb-XNZhDp5?FI= zejQ7bB;f^Hr4=DphDZD^I7GxkThr%H24^)E;<`uul^~_G@dxT`{Iw)lqQH4|Fy@hj z5t?uu@&nNWtT7yIlKoE!Ct2;9(jZKqi$kOzAaN-1m!=R(g)^Eh+z^g*%l5SP1s>Wha06($~Tvf8LJ_mxs{z4flINUhXGT{ z?DWSUHO6kC@zF7rU!Y~^^rljCWfTY^Wj;9-bCO+_P2vcKPt#g#++21`=4C~*db=)M zjy6TnDdi~?J%_e1yJETob^e_yT zm&m~qOY?nSpO?utl^x=E$MGi0EArK6r!|!|0^2Hhk%%%+S8AiW z&8U=Pji;=+UWwkz1Dh-O|7NZ~4Iec_bK232h!|oV z2vcV!T0Sg1)?m!OTkkHvpR7i|TD4uCzLW18y&gxUZ?r~dT0X$;8__JcvXhs_IcPFH zx-{n*d9j%ejc7EgBQbY}$g1}HE7ZamWSDtoEW66GUuaDH&9u4IQh{t=6PbH!t2Hac zXRgn?S}duePG%J7T-G`dV0YWSx9gAYJw`UycX^sfO{VtxpcCnN9ordj#)RigbGW`mJOrIzC3Y+kmS;J{*>{7+lo7~EU*Y#H0O{flkewr$(FxzUYn z+qP}nxw)}zO#W})OijI-eLkG-U3K=SK2^PTuhqQ)4FWy$Q8_pJ1z*)j6p?tYvcj1B z8${YPsS@ip5>x`JBzw!C0hSh=1-zdq2v`=1BXFD|Ek!mIR%O1501`GDSBA^4N3opY z1oqd38}~h(=Uho(bgkIqV#UbYMWaZ8wSCE=F6&y@Rn z@M&$cTNT}`OzO^}zJR8ZWeFm?+z%oFRB74t+)D07@O77<1Ex4qN<1RyY&6uj*+j1D z<|JfqQ;N4WW@LH_NRGV5Q(6;Jqf*u{b>$IkN>QGSqDjcek<&6)PqD3HSMF;(6HlUp?3NI?AiP%oLK+O`<=W zn=Pw~Q7vlU2MIe9&|S;V8d2q4Cd#~C>~qo_uvivg=Xp;aa+=GL^_)EfoPc=|sc@&8%Q}r8YJc(i#IKX6x zd66mDIhfa@ncKmBA=}gU%6F+IrpGz?B+>m^Rvj=jq0i`Mbnnrmx}v-KTtsZwPJ=PS+S!I5TA#R-KerGuD2l0&{~&SE@})$4U>sJm z7hf-w`u21#JvaCw)oc4}J_!J%9-EsngvWWwyYptz;*s=wsY_RoH7(9slyz(A?{r1e z3}+81hc}7{WvIPw3wt~_?x)pGtW`m|kJL5$)5LbG$F8HZ%J~NTV=lio)7&C!z4AC5 zhJA3dr&N@$suVO-(C4I}s+~xC@BD8mb3PFa8Yx%OJK@@#Ta|o7Rlgc(79NDPjb#r@ z8@WCdGvfqA6rq7ocSt8PEWEpNjI>rr5K8V9cK7s~PYY z2{bDg1@4n6Jy4N)iurdKNxB20K~0D?}MR|7LOea z`NHPAk#tH1JuJ?STC==TC&x|6*Y4lbzPO$a&2( zWzQF$Cg+M4e#1mLaRPG!3xeA_p>6=1*ebg}YF!~X;XO9}t1i|=v;qA%;mn#+Oz(to z3QP@LX7~B0EGMpv+oJO(QzUFTmBRndJ@cAICnA(p@=b!$#Kgza>yhhrMH)$Akl=Jq z`@fgv1(BPtvG{syU8J7>_Gfb_zVCni5%qPeaG-LKtdi$e$tMp9tO)21aJhe2iRrX2 zDDA`x8Q%Oe@YIEFqO-6{r>7yXp@>~8?VkSt?^p|cl=~_fZtKgnhaCOsy|aI0xS>@y zcIxuFBr0rY)UcX3ex70)=iES6DMxU6_V?6p@mUVPz0vr@RAVrqEB28LvUTK4Q_EoU zC%JFbkteVh=qUC(zC$=}*qB{68!ex3wrA_*y664`nY947$-{aop$bzXPCd??wzpg1 zC^84eDu_;BF%K<*vxi4}!*|aFS5Xo31BVf?x?M;qYM`UKEt=mZ#I8F1iMP(zp4-9m z=f`A*vkN;MBQrp!gY?@32;2B=GO0|*s7Q{Yf0J`pSeZr9@6QyE+>HUBhI-Bs|3_s- zESELK`uqc?J36Qte|A6^lNkdIEv!jnxh44?HDQYq+AGM?S4M=mfef9?`7nTPe2qt> zGNwizP0Oyv$9~Jbkd=fqYY)cv-hd_bKILQ_x8T7fbnS#7MPhz&F92Oqjl0pt>P~#J& zb1NHbYr8X_M8Cn(qN=UOSL8Uk0g8uN>-Xil)^GeRwE0FTpIYX~xx17GDD(hj!SFzG zW!as?iDuAw_!(s$$PQI?-vTU`OToNJb}Isv=J%}&;+r^)UE2j;93ww4;7)nGVJJFK z_Z(G;2#{IJlA<;$#kgyyBP#;+dpyMREU_9kPc2jzj4AmO{}rA_%v$qJ3D1^K^p7fh zhxOS%5@Xd_*l+I>mSRfVSCks7DLJ^j8oG_N3xg8~ha)tQ3l1N9kW-({=h|m`x*y(0 z8dHc_CX}DlmFYe*2kkX0F@O$jP;m`Fhm0l%{Cq9{Mh9K5^)Qn|QB$9a+;xe9?blTF z)xVaTKh*}KDz5^9iNQCQsrL=;x{0Z5<(^tz1uWiLtKEQEl(u`@^l_D^zDEZ1tdAE9 z_bY|oSow?1caEv-FCx9#D_O2tuRDGfawrPxUY1QmVP}Jv}v(Wc>8HMvVy0*$8#>_p83WB95(1cl$Vh z{~J6%-tOpjF1fF%My+-Fwy4AEzy10e( zI3&|v&}nUxp#B3D6G)nBd_gI8&T9Ozpt8AJwzt%HNkLj+=jBd0_g7 zpmmOFL5_uQNbwvF)fKeRE34}48f>EzztG9iZ!M?HhX2vEVj%_*$1Z5nXG0w;JsQ^i zk-Q%i2^uPiIjkQGHk$^O33CyFw?UBs6i5WCy{?F=c@5>#*V4ca{bJ(>_*}Niby9fS zch&U%`?)-$K)kHL-(^pirlawXOcn{j;&F(Nd*{uIF(``yB)DF4F6ec(ZQ! zkUE^=3`FPH`#>~6Tc&4sA9iJmXCqm)X!w1J!ogHg@27bydrtj#iaWAHC z(v+TkmTAV;6f$3eBT$VCOnj&j@rW ziG27nx+^g+msew}*Jfs#seX zPPX_~SCobKDwS)pCnPR0zb7O>&p>CFE;UBISXpx~{I2v)H?esk_dzXB8P86VeR-KZ z7GYjz0rO2^0p_K%H+h8fj1V(rfSdH-E7jIA*Xo>h0GDwkEk1}lv*EvrVf$_v-_VM;I~ zt52OkD>~!O>oYbv_$l zbaKsK;o!k%0$?wrY38Km_Wp;g)W%$!z`6;1zdQYsoi++cy+whmJ>xTdG!;3^;ZfT& zSN}SLjNNvA$m_OhIZfG|%M*>1{DBAf7{GqZ{4KcbPF$3koo^Lr`Ow|a)8Ipzsmg** z^#|Ul=c09Oh1!=Y!9$MArroG^iTSPZmoFop?CLiW<9D7jhb zf{>OC^5{}Cfw5nnE;&{ZOMsr%yJ@_Hl&gW1ztnE&swr;~I8JOQEUnbRXpXLHQ1Qu1 zcKBhBS~fL$6ta29xK>4KtoG0!I3c>G`3@ne#Gy0v7D1rDd1gHMGJ$JFP`koW7fxp+ zFVu92=-80bDv?l}5+R$?0GPl%A?r4izNl{+5>C63tKA5c1qt1qjQrPd)e}pAd-EAK zD>j+Cu4}Ee{)TXNh%F8!@Wjq7EX||yAkKg7z4qS^`-!z)LvdiNVT9p+u(R51AYMvm zbH30WeVw&r#<0^GU;uZT6a8Xa+XZ)T0@Aw^{DpV$`4tiShXU5D0HP7rY2T5AlI5q4 z%gnA&o&aZm@z{?Q+n4V~X3U*Bd%9O#3qAvKID<|*%~q-JeV9;^=D#h+BR68Xnlm2c z67+)ve2ks)+^!dn-oAd%4o>){e!c%A{MP?hVW}Wts?kvK-A$3lK7pL7H~^rjkV56k zY!H)9qe=x{ZU#kf0jh+?<4mN^>#{0DUs(w2LA4^yJJE+$M`1(wbqt2Y8v2VYf&mip z4@#Z26fi@lBa$LEGam8F%%{c~4!y(#yY$D=q%%2lDAsDdE6*(2Lfhq%7$}a4$2AtOMZ2 zDh&%G97YIbMCmS0neo-c=Ef;h?|tUw42rw256HcKV%c8Iqz^sbJ5{;O^w1 z^O_Vj9h;4L_(~ld)GoQlYQ{S?xB&Rvzoq1Enwcw<5<}0 zi3-r^<^5#Z87yp!Y@xYCT(PruqFr|-=q#Z^2HJ@Q$d)L-5~n$ogSIS>n*gPq$U=N2 zNd{WdP>=kfR?&oWIai9I3;~FO=Df>|e|K92h4%^AYJIjm1kj^lz|2?xk=HFu zV@4aI(n_+Lk<}?*C7+&6!u#w*m2oUCYcPc`$5SXBxbq<}m+SdC8F>c7_MHI1kA*hS z=!2Lu#?DW!bUTdyxmyYS+EO_7*RHXZX`;tjci#Iw?uH~7 zz6CBJ29}6d^^}kja&B08RMHFtv$-aA#pfI=!wr31T|7Ga$RtPF%h`d220i8M(O*^i zW+DvKbI$j!&Y3)vv&ZmiWRt3~cXmp-0+@j%F}2s5TPuwXT`R}&XbdiIt%MlB&J`!4 zQ*`%4ulawPBFm?2(Y}O>sy{^H+=}$F^m;<;C~>j!w+S-%B;^_yfk;AJnLw-rO~F_WImZ+uk6Z_F>P=#2g6 zSP%<$+Y{DGzK)26yKyjUK7B-A2-~cDj1}YW#vP5#X$>`h;p#&Bam2hYWYYef*FNhX z;Vk^B{?5a>*)dW}a8rYcQ_!lvf|Szk<3joRT0n|A7R;P=deX;O|5Tc%$ip2UHIOV)%w?>j^LsFYCR&jbWzWmg1}ww9ljH2MUTmg)r_Ga0S=>L2m-(B zINIR$6-kSv!8srvM~?;fzJKYlAN4140wh+-RM)#e_cq0+wXBTg9sKhJde?L=Tnj<_ z3znYE@F>szE{81On(Z=JZ+Ck-J7{?Pi0({gbUs&gGS1X-@u_mRnnskKsahXU*Q$db!{t0gfnV)dP>m;Y?ZC5g-iN$r{b_|QH4_yWu5u7*Vg^%hLPVNOnc z3y?`kuQrVwhc;tddkcJ0Fi?>3R)D+ax~e$c-e$)6!0R?Mncr2~Zrf35b@FvOod2gj zsrnYeqJHe&{QhKj(KsZXVZf{+(t85%K)5kH209z$gqP01cx#lXl<9pgz9h8u=nr z=91zG*|hMBB;`3qnpWuDQs!xjjkgGGmQx9{@>7ChcD0t8eIa z@s^OAY0}6HP!Cm3s4rQHv)qkypG?P*(=a+)^7Y6w!?6*yLhE;9Hn|^8hWwc%< zNOi`W*1z`9fP1j(3HX>(%{{i2S!gM%EcH4#`4KL@ZF{(iis23DbuQXSUV7qRb z7_Qe`^kX3;E<21%)~{GAC+Yj1JgdK#7N6Q}@d2 zwmSx$F)|npZ@q^AR9!sb0kf>ZYMC$kKgj{lS5>7x=c}w1n~yVVkA|%QCotWx$`YeC zlL16Vwngb}$JPT}?W9~Bk4irG+ z9(0|qR=$=zdv#*aTF_0ek478Ky3=C%wZF|%idgSk?CtT{-&LXNY-cE@&#I|HY&SuF zxE;!$@BlZvWJ6S{0-mgzL=(ul#xh_5$z88&i(1{zdfOBn$C=hX4~^NT=3?~}kwv>f zgd{^Tz8APU-T=MJ78OT}@+V1xhKuZWtA~Amu$>Bxqo* zC>e895F)ZGBaAR&YHb~Ipn?EGw@C;LYnJ!^U%G)k)%p)1(X&~kX654OhFL%79KvOk zena1x%1nYmkKc@hMCnp|m!!Hw5Z3a(?w379N}&aWkA@_e;z?l32mkg8pAEO zTQth@Oyj0!pdT#)q-UR@nVZXCr5;zqp9r&Kiq%5vWi%g@GD4tsFh*^Ny%NPa5m-t9z9Ix9$)V#W_aID zd{UaMvBRaVBt9#Xwqb2xZrBc8VkWRhBLBRSc?|w8=S^rXL-13|kX2rFS+6gr2>}{u zK6gkH0S1M}ll-M9PV2H8qC_C0@Wh4Rj1Vv$9E^y8+2;`RR509~T;JCFLk>W=`Ruyt zIPx}=U}6AW`NHWXxB3rbhh)mJ(0~DRKC|JJqQ`w02?{=b^w}IUl1eK;UjM!L(YY=eC*$U0m^+$cj`k?@oXTx|pU7G|gpqSWgMEYO?(G-kM{lx>#xG(-c~y z%J}c179Pb|SMU!Vu0`fF>WOsqu;6WwD56Qv60-*5d}9Idlrp!pYpUKE*D_rO{o`i; z(6>hhD`l$TEsZpj(OkC}2nAf3;b$qxVDCH1Su@2ufn?uwPD9|TO?pZml?h5frV6=m*pD{bXuAq1GB4_-DP|fwcXX8GL9LvDS{JQ0dWnrzyLo zMtm=D9>--GeFdJ3aaF<3$;xnx$De5Vk~iKz9Py+-7GBT-A61p4x^y#^$vs2NM9x*H!X2KNY5%cTm|)SEoD#2{v7jmB@~D5>AE2;!rEJNyxjW zxC@zUE6pA|7;`T|%v^;r17#A5NY-|kYF^5-|5s`MFKjbjXe!wOGb73)VC;lIjH$Mv zwK}4QK=qwo!xi!)u;H7vsZ38U?j(Ouseo6Wa%TBZ@av)m-QjH2B2$VfAEHdD0}|gz z!;A0L_|xy_g2;E&0x#BbUwyI{$?q?W8h49HSJ@jXec>It%&7DAgo@mt)^Q43vimeE@&|Y0FzohZ6mKq& zhq)5cxz=M_I`1M=nVAhg$+X<6?HlsrR*t#ZB8S4#1?pjpBR{Y#Q%*Cd17k`T6^hI_ z!q(}=jZ?5Bmyj!;KfskzgYa3@ukFVP^xIDU+xqQMQT_hThvXTX8>VROfwYZ9Y#GqseC6w^^_%LJD49A^< zJhxn!6>4AuSeUO_9W+>^TF}LB)5#veBH8^N0e2c1rTw>rwM7#KRW!^&3 zrehlzM3qft(L@t6&YiaWW|#;2o>CrCRjQ|uN|xJQ8T;zA(tmcpIb`w|Foh>q=!kSw zQhZafU8|^71o$kD@HGTn?Dh#fJXeN_!#j|D_qR3OJZd-vk}~VS?~ceOrfq)R{?LLdZ2yC+bsO52PX)uFI$I)$%1>3lofsAw3s}_n6Nu*Ly{sObZk6nKgHxEW%5Z|JxDn@LW{qw37E^+H;ibE6zc+G zE{P=>qm|GkXUNBCSLvb zl+&f#)Y8P2BR3;Ts?W9{`P~j@wi<#rJ&*PVU9re$7rK_qf+*tQ{wNO<#clBGemmv#xRyb?Sr3m{pSMz6jF9dXx%e#f-RQT5I zvW}<>?M%s;3dQTwNWtD#HP}sDsASC&&@>rC4^!=r=0Ec$l+ zW5ZBlSN|<%&;qvX(ucQ&OX@F^f+8`oGq!NvNcrQJuhkVh+;32Ir7Onls9yw8D~k%o z&z)d@aX!Pz=!Pp8O(ok6S=#0La}d=|MxKc55l5li?%N^rTdU$z7>DQ^asHOFI;>Yz zYn!;9q@JeB4sg3W%=EoruJT+RfEQpsess>NLLu?cqb)Yq;sG}TP$24H zy~&q23$8>^G`3Ac2$x5%>fY#f;km=Ef%^!L5kw4pv2Gk4(r)@P4C4gr!q0 z1Hra-ID?x%wF`+w28Vo{tq0PSZldnf5(8`J744Ha(50X%*r^XV*13160n@kc`>@yT?09VMOCPHyEQ zwl%hEU9N+nYJ4_`DW0&wL8m7VmbLA4D>u__5jDcqgj&$6!u-x}#k7C%KuhvIB~@XTgz!CVRm! zX!f6WUh5$(6^8yf@W*+J(7Oly2eN-d4(ZlDgwLROhg- zu{E1JTY(TIrdlhJdu^qCfy-pT-9BH8!GAx8a7}@bBcRC&aX~;C4NV;*Dw3D)-4-ukPWV{kt^KMQ`2o z9IZM&DT2mPufm}K=}j0vml;ZKXZGkiW;f6Wkc@|N`0h6BJ{n&J)oKHgjByca8@6OQ zwYHzH8`xagH~qNAn&dbTtpCuXK6OQ3Ekjc;i+D4n zfCp{YE=A97Dx8~EYl(9OFx`^IFt}DmFC%Oah(L!rH!Kwv1hAxdnqe^>r6nnsB2{^{ zP@3YR>ZYnz4CE^fps{GuaoXZIOx}TZNcLXUoNi3tkc(;uETk7B9#SR7y3VE&CT$pp z!MH$7LbaU;5*eVyRnRb|Sx9M5s&2E1RBLkd(vV_UG+@mY&H&t#^+=)A6xD|q$%)|5 zO4Juc)Si)v5)J=YZ>c5PE;1#_`aUprHbDUK76d+r{-`&<$@olB;Gh?>Dx}zrK<<#8 zga7R?e^0}UY=e<^ysI}4U_!L+&hil6^PqZB?Xji2mP2n+iY#xANT(ZCW!D%^BaU68zF7Dlg>bTTOTH<{tdSdvJMch7qxp-d7J)5#xOCOXP4){myiv6N)Oc z2*$|dLHlIm*&^RYMny!=j;++jM(BKb@lhIno1R{9c@Xy5D>F zXyWI-AdYXJD?V)LfDV}(r`H2~O!A!Hv*`*;qEv*%?S=`o3@U6q*CdH&rCAF_D?P2Kg&v%8D-bOE>`tfGRd;50;;)TC z1+MnPgYigz>xAZRIPG*X1B8wK=vT$y_$!)%WtW2DJ8CgEVA+O$+zF$ zI~59L4Z`vI(U0ik6Q*TD8v2U<%l!G^47(@VfoNeE9Z4nxrvd3Y+_KWUJjr4EYt?5A z|ClPNG|E&Abar&-;g%vWhidQCHNE;*yaez73`yzE7+gbATg`UDWmfc_GPtp z6*d)B;j2ljRG+IX>UE#i)q7kzI?aK|U2`$BOusM>fRz3MeKxHYd<*7lxna~SV#bQ9 z1ZML^T0S<$>DjX{U%)J1h*zjBuUZM`)#ul=_q10ubhQ*i*)dqnvFI&Qc#PNwr+v@|j*pI;zZ>_!q3=C)k95=W6eImr4jaXt`9-Q3 z6#=GsE8n4f`HFCgQb^S9bWcMd)j2s@fy?$dxMEHroZSJ@`U9EgW8B9h|zBI43l&iqR{LFfo zAL?|Atr*V z=yl0WUI2IL+bDa%6-eqi4`B-BD)$968}7CRf4B7|5Hj1JZ4D-VJ^u3fz<-g0=yZ3R zxKw(xkdfxu2+FeQc89AynC3V(VH_`dQbVbC6Md@L_CKB=UGo3FOJp!}ScKGv^UHrN zUc+4YX1DN3+AbH{z}|}6V1#<*mA!~1(%QFXV8^0Yvb&Lg;R1*cgFRJa zOuI!IkyY=J6_6QK+iUS$b*z{I$D`~sFKIYV*mtus+x*#j!Oh96Z$}4C9$+(b&Y-9B;Y&K z)4;Y!BzK+}s+qY943Jy_Q@CT-?zA(R_rl6*zqN<4MM|8E+g|`q-Nwpfwq;4`R z^W9aqD-#-D_%%J)RThQryg<|Cu57_**apf6DxDjj2)o960G103{4@xa)T5H%{ecHq=_(Ghl_DnOXRWdJ!nl8G`S8m7@Ku#cxGZG2WoL(97a1k zzoHy?qS2ch2OGYhK9VNJR(RA&-mgx=8rB`MGkOZ zRHTS-1y zxdn+N)kP%;_Z|>)yJv8d_++YTfo`;vCz2d<+Ir#;?idVCOrAhgz%s};DUW0~T>>g( zC%+8hO^iTWv0Y~aHQ{*K2 zuiE$6Ft$LkKSAk1!N71p?540x|NTw;+vs3lU&mqZ)iu-#P$(J%KLlAH6$Fsa0Jz}K zxn_yeGD%8kBe_2I@yLay2geV8HT{jbgU!pzg^a25LnEmQ+?yNZf`~+$%cG4W3%-7# zkZh?nS;t3`l!?XvHq%-co)TS@=Hol&{#O8T#d|&4eVlddF#`yegbcWX`ld**LD|15 z)PZr+D&W5CoI4;b8^Lt#^tN?+d>i2tY%j`(X?)v(&jVxOZTv-RC0>s!wDma;-dcdF z921>T)2RGM_!*8%ITnuksGaa8ZPh6!qTLM5(az0be$PUQhVD&Rp4h-zkyfMZJpP(r z@m-NDxGTo#a=Fww<_-6iUnI3C_d2YtH`qJX`WTg)G+lDcY=}HYdiR&Q(WNsKTSBo) zjeIZDx7%6Ug*g1V-_?erFisqRF1%xP%%lrHVVZZ;O*5lT=!tmL%*k#=M_GnWFy5hn zfj?DTv{)}-+@HU9gsoz+26H`uC=q-lU9kPVoMHT^)2F~d4}U=y@rFDnifVRZW$!`eiB5FQmu<=aJsbHUm2*v2NIe4X*JJXf zoI|%%A9qe<5#GLywTt~+HCO7kLPEt*ifry>}tUhcs zYzypU?0Fn$9BG_joJE`qTprv&+z&isyc~Q8d>i~2{4)Yf0xyDPLI%Q6!gC@jB3q&^ zVl-kg;&|dE5+uS%atzrujRV9k)lNXqEV_{_w~G{p45 z?9JT6!pzdlipm<#ddMctw!+TAKF-0GDT z!{__W*T#3jPx(WEs1d*xND_n-%oZXR3J}^8mKGip!548984yJg4G_H)V-{->I~7L~ zR~OF}Ka*gT_#^R8Qc1E}@?A<+%0U`bI#K#uMp(v6=0Mg)_ChX9?n1sxfm|U^5mwP$ z2~;UXnO}KdC03PHHB9wM%~tJOJw^jhpMD-_cZ(I^2b0_)GSF?T1*|bQ}a1aBoi9@@f>9@utcxnoA?k~K1&n zgE^TRzGsOCj)xV3H(2iz(p2ZeB6twhNG-mZE)Etv`iK*GS6O7WUQo>tQthFN0XFRd z2hf_uRaUq*A%nTfK+Kakf2bE6Klxrr-)!v%jXsVOe>BK0Nx-}ZFvGm_1M^;{%L|5` z*e;}RX3rmgvB$Fd@a4^u*g(>^sweI}9J*D1xHfqOYXQiuy!U1SQ2o5zGXn_UX!WyR zFyHKjHwWO|JpX^0ftcm1o~Sn{)$HbO4l{psOfgeHd*rG^Ry(b$sygCC*wNJMg6Q?J z*yQPaMl+libO$S&C*I0UXCFf*nEN~4XdyLDvm$)Q-k1|fvnzuPC44hIl7W%D+6xAh~lJevf__ZRLck zlwXEhoE438ydD)sAN^x*bSImsl2@}|-?kdi;cb7OpQteXr9~R*Ofp5iSP0;`vQ)AB z*E+>BfCc|HMY+B+POM|35XQ^^ORi9y9?omA=|jl;9i6PLV_RLDo11$tM7{^gcUle{ z&WRSKjblDP%oLQ%~I#`W1_$ur8QN zJpI3X^5p%Atatt)8S*ZoSuI9-p0YQbVp2SNX8NyF9_e1w5N*)jUV?UKM91`=moksC zo$lp1tNxn7pAyL?4^~LImqtBjz)NtPJ^OO~P5v=la>xoukw%EO_KRTY3h|3h;x`>M zlxftZat^U^l~S?&riPp`ePnbm)M@Pkv7KY*4K2RQKHny@6TKm|hsGkVN8GF@@x-Gi zq!wHK8+$tQ`dmC_2)&EARTUT4_qsKF7q3X)fV$G2iu2My;kQ$)U9l_59{8uygO4TM z@?0Asou-)MErG3o;BVEvuMdi)`@~9Sb&le<3O#j>Mr-ExF$%x0n%p3s!b)imjgo6W zsR#kSqvyU4*=h^j%UV$k4@}q>U4vo);43wgp=YJWXO5dx3*-O%Z+3IbE?eq&!?*Wt zeNI^T<`fp>dY9TpR^;G#u6Rc!2P<;Y)UDJkKTCFZ^Si>qj+@W_e8zIt()Ie<1;tWdeKvEPE>BeRBm2XZqapGvDMr<#oQ+5 z$U5i9CJ4hi9>XRg#X3F3CPdvjS=}aj#X5WCN36Z1=&GiGmQ+!m;+YYA#2R6k~YCw!V+w6&K$WuWki3UHVcB$5I#(6L_MiF1Eb#XXSvFV z?p#v=5!Vt4IT1BO5Q1hCF>CHxIGkBchXIF7Jh4th{K6RWNSc--U-m^#N**enc5!N*&gQ8 z9{cVU26!v`P1tnJ;C7AcbWQVgP5N}r zLi&zL_)by!PFVQPVET@0_)c^9PI~yxB7Tf1d`vNXR0up!_PRB_^Dr3T+5Q$kh{}#& z;Z(6$Tz7urX0f=U&9bvNtooiT``d)O9(^J1PTCp2J!Wsp(eS_B!UZdV2ExtQ%h4y3 z_xjH@e_Mf;|KaAYDO^xKp}t3a4*44k)c+5c@B;F^-@oqv`^w#ryDV{6=`7z~vbW}F z&ip@a_mcji{G$Bib@gA5PP)$YYf6{dsdJXv*)4!e?Nm4O^TdA}yAoHg?Z?MCxjz0^ zpY6}bJGqG0&#%t8wKrV@_b{^n-de}q0YBJhx~hlfaP9aI*L|{OGb*EG3!f;0@bA(j^SAo!h$|S8M zZiGSAOq(5#SNRH@0=@+mhJ3+mL#QJJ${2u7LIRg&YAI>M`0;5XXM}Y=I0D-3^r-jDj$5X%Hu7aVx;ML~A`fjy1Jl!4}+G|K> R3yJO@1_#L#;1$xCuVd{lRoIVm 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 AiU0rr literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbook.woff b/tmpl/assets/fonts/firasansbook.woff new file mode 100644 index 0000000000000000000000000000000000000000..239780f979b52ef5aac382f1c76e3876361c2211 GIT binary patch literal 26592 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbook.woff2 b/tmpl/assets/fonts/firasansbook.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2d880f927544c481bec4410c8c02d27d9d3390c2 GIT binary patch literal 20864 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansbookitalic.woff2 b/tmpl/assets/fonts/firasansbookitalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b4ddd45fbbc0bb3a0f9b5d8873309ead63393ca9 GIT binary patch literal 22644 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�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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansextralight.ttf b/tmpl/assets/fonts/firasansextralight.ttf new file mode 100644 index 0000000000000000000000000000000000000000..92fa7ddbe6072798fcb6759d23bc7776d28938bb GIT binary patch literal 56564 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 YQ3pmqmcs^{OC1n95?7HRxo$ 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 z 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 WL%WTc>|wF}!{9*cX3S1NK>rJDX&F=i literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansextralightitalic.woff2 b/tmpl/assets/fonts/firasansextralightitalic.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..c7340a406bc4bbea091c9ad4c13976626a620d97 GIT binary patch literal 21968 zcmV(=K-s@{Pew8T0RR9109DWc5dZ)H0PfrX099)M0~;a$00000000000000000000 z0000QE*sr69D)!AU;u+42!ap^mtqkJ3WBb5f`NGfHUcCAh*%4RE&v1|1&<*Ik6R3Z zRT~G@N3_o7c*EQd*v~8dgDH@k$I9(IuL%84XCrF2gHqFGe`K=%|NnE7${3nPO#wjw z)#>(sr*bzgDMX}z)jcR7mkkNE^?{tQ73*fNI1tW&o?S$c5dFdlA>c)w^*|MrVRF3%6%^Shdkz&Xw}lH<2fjDI>VONl z;No4@yQt)dJZPa+OpIu@FGgYHHaA)6!bQ3n`!1Yob77&)sv0E?p%)M?dd%b?@v*k} zXKnXUC|ccjR=sL(chAf&7NkOmcaDjKgGg7A z4^Ce%&~y-pOY%9$5`na_-5Ad+h*AuNNUAG<|3ByIUx^o?1Zfs22S`SoG2ba1f3H-{ zWtzC%ey42CQ}hZve^M(yFCQ*m&uo?=v`32gRa$6oG((B#9I!juA@gCBkPyocd2pF6fa-MXU z^S`Frqyqr|M<5(Nk4^;mk|Ofmes6Rw>mg@cLUJQ=>l6SOIqPO?C$!k%vj5pn_egN2 z+GZp|vdJXNU9#EVYROC{d)aJxM=8zq>Tt~nj74L`L%4(ImnXUhW*?F+p}9>o!2O@9 zWeb4PQFob_;$G(%T1BT+x^h!${tN~j3_vabQhNZz)so!6u!*F?QQQE6@;y=~`$_Ah z3$fBUXOdFBq}|K0^K<7ehss^+&Q0B!hyT`I^@l4%QpcK4vw;_&5gXJ5im}2~iJq#E zDv)rMHO?0lSBzr(uOmo2PvdR)^5)E2+^1y;F1S!ao`|?Z4mm`EWKJa8zh(2X`~OoH z;?&T<_&y2pw)5RbY&J=zXnuyy@1v&nsvS3nHj7M1SdaA}X>VCa0Dk6zNpv*6C-}jS zlK3f6Ld4>dBJMb%rNE)X7*&~Xa3rK}4tBRCr0;guweuaTKKkGZ z3?8q4)_WuQ1^F)ArZ3iS!u)O)d-Ky~ZaV#6e>X3J_rkc3))56Gi->le2c5{}QM|E+ zNAD$!ocX~zJQMF{Ye7H3BZ08%vP$Il(&YdlW|>>=w^x7~n8muusCN z=*9iVJX7vSU%CHmT#ok`0&)#rU0^OZ?G5B$yi}07p(=-Z;_L}G`P}As54RU{IkWhmg*SEj+5+6Y0i`63hAzv?iwkslj4?14B06%Q?dssj}xAv zdzRrI(BuLn&YmO(HCTus7K<9-) znrsN&j|498(o=3AcsNvj!HXPRQ=1awE;RZvz!z6P%o?v`5u+!x8Zbq;(3m!4~QFjr~=LP|MK9 zp^~|4Q!vx?!fC-Xc+C&G1Q6B_C;B;V;$d0~xrarc27bm>R`O9^chwEI$vieUuxQy& z0ZnaYmCAzxuu6xc9JpLQ7FS&;K*vbxD+q9$O1Nz7ZIxhX3-%>&eJ<C=k7xB?Au z)J)a}1g9a_0pL%QBg#Ck$dcHh?c9S1wPIXU#`ZC2TGH z===u%g_aq3nbie|D}O2i=2_&Q();t+jA|s2r(QiwK~6pFw?3-)H55Cl2rAD@1;{3~ z4SH(?E3_hIQSmB6Ri+22SN2R&*{pn5hn;WFojudlDfsskhpIsZ9&QO^T??&U{w+y# zMJrL~z7BAw>1pMn99!X3l=h`C5A0LQDVx#RPPGoiRBeR|m#z@JYrferUqob)^aGgJ zrmhg;N`DccM;e47^Bn84nN}wts;^&m(>;1w&Zybt+N&2eb*e7WwU<6=>K4f990x&F zoVA&E=+Z;ur8^Q~zZtctOJXO8Me=KLP10w?DGooX$uSxGBw2ghaA}toBAf72IM?z*C0Oos2=a7!bQOBNx5R7^)QSTj z(8@M;q$bwF>3=_6LW@?Wc4KVw4Mk=g71s1rTQ@|s89aQdRn0Wpcd_i!%d`7p0!LcL zuwvMpX_Yn1>ug}#WHaaXA>`iua(MRI$9upO|53+;PB&Z)cTvW8b5+iG@r zIktcMnH_GtveU${WiJ*F?1}b+wq8?pBugM~P28XrJ%Yt4V_k zy!f~q5eFu)I4Pck+peHQSqD{la7<;d$-t;l}d75C!{{7OHgP z-blq{qV~i$7mR|gn_YfstLhJX*s0EaR8Myn;{Nlm%r$%aO^#hW)@K0Rw#a*l;tov+ zxKU8I61{c(>iQRYW|X;K0*v?N44SQ`d1D_pK(lNG!M~=-+DJBGVD$1p^&5wvZsFY= z#B~^!-(81H^(+VY!xPmfT$-cuTPQ#HQ z0r$2SQkPWoJnvh5DKF)c=8dI7W;acN$jT9_7s^RDRDK-%zHnK)cQAx%MX08S>`~*$lF^Pb*@`^s zmM{>2k;OBagMYM)v8ljR_XGbSzg+SlL8Nu>=V~AKjz`lgFVkMhI};=)1H^5xYsh4a zf9<6CXsmlp>Q20XGT#furTRdIb8y1MozITPrJ1`Xok4%{17EjP$S|0#5BIk{ZbVdu z5~_Ggh*_4G?MlW?fZ^H}hZzfx*PP`(4u{1Dp*VjcA^3-d1_?=#P(YN+({1Y#5Q?Y@ zg(bP!0@*QX2>E3~j%>)50j#2(aLPo7-S!&&(bP=ij0C(_~vy@8TO#%`y@9E}T*3u`pUT4=);g$}p3Y!C=7 zx=sp4LYh}w>=3n+9wHp=6yU^cAn|ZrCaQ%9+ernXgBWdTS&55Y^8x_SOU*bDdad#~ zxE30SQ5TYa4DjIc5a?Mmu^s5tpjr?V5}una&<{@l4*PoikE`FyygE=rpIld2LDO-Y zqk^uJw`>JNmtY%- zveM^1O8X&ErtQyBT=+9qq)-Ide`c!XDxktDrux+SdEUHa-ZJl*56^e!H}l!@00D|q zsGwS*LaJ7Et2OiVdEvZz-aa3k@67k+-If2`@9WcliKvLMATySMocIVD z=es--n5aWFpa}Ml@&7L=0m=_-1{DOg9M}PB1*r9bo1iuXwGnV1)TW>|10I0d8PsmT zLr^C|odO<%Ivwgf@D$XAP?vz0pst3x1-u4zJJdbk1E>d~9tNL5Jp=VD_!8;`s1Lx` zP#;76C4oOc&e|8DzGXY1(*IRCw4UfH(~xILHsx7)Eu;h9-Ilq1{Z@C8UA2ATXN7vt zDP<5&VMQ`~wNNOYyZ4aWInqGv&P zDW@9l5>o4bD^&DHwsPJBPq1UN5sGPv0ScIY8la(L@v~9c$FU*qrsqd0^W zt}>zSPMhLFLOL3SrdDU{XQC7}C{xU$u2XINdBvEKe z()I}EavQ^)TV(2>9+hK$Ach1J9l!2Lu&(3(ZQa5ewS}A}w#AlcLSq)dY=Aica{=Z7 z%m-KiunH}*Hr;bE1I1=dk zwV4>xNsWu~d1}N!yM~@qYQWNc=&q{YzyNDdF5rd{CKx~|DE)%%U(fDSd(iqZy&V`r zy_Tx}Ex}HG5E!Am&=w!OWWm3US3Ut&1?}qX55ntq@HmJpR#DETE+~> z$|VV>_27$vxPdWTB|s-_t9A60lgfd)`C%mimt`f^KL{+oB@rcp!wWzV1d1>11=7pT zEax_L>dm_kIzx;+_BITCX?WF%6ED?FUO6a8y+mMDdW3#aOE2%MAN6By4O8c^ds^%y z^|@;}iaUYLw;o&55W?E%FT6EjY77guC(LXR3Xy^ot&y()%MNUTo#dj9g~-a9dUX|q zu=@7ioiwpl8{_bQVwrd#JG3oEZ_S4{)N!BHQ}--EO_%oL-bS(sioW83R;-xjNFDs4 zoaq>*z#%AeG-*KH3`WD`@r21)I4OtH+|+3?C?Jo`(@88EELj$uO-31D$Xz6*2-GPk z(s&V=5O|CwMc_DMJWLQmAel&tAaTTGn4p9}GnEuUY9MZ`hLgc`1R`<9<5xmOoC`^Gw5g^ro(;frP=z8mR?EbA6@b@(&;%!H zn;7o`@E#a9)Xe#otK`?UjGT1iS#_h8&kf9don*-fMDxg6=^zqomuy)~JcrD8X!ygt zw~T?Ke{mfHmkSqv9bPRjASYk7<_b!PoaW*^Yw5^bYKfAH4f!%B6g02lkfewW`FN&O ziz$_O4g1#0-jeb`UAV{vO&>FlV8KQ( zHvtPgz>4Js6-?O>e`QrmUAdWkk}fkBp*-E(0dx!fN&jm5ei9*l5NK#yC*G4PUhvYp zjz#GnddHU`v*F20R%_vafI9IOtaWVJ)Z{xR(Hm?5iDqcm3n11SyH1!OkWl|>bP%!K zTJP&>5|ShDdsdrz8QNCJleJo)4?`c5bC`KIUQu05R`ue^2j{GXz2j+8W8wzyyJv@vUPE5y9B$kV?}uZV%t?Sl;Q$I z!gALs_J~hlT0W{me7Uf;yz4dJJkSzk-;s_zYH}g9P5uhoCXP6|y$IRiHkppzwCRgu zh8UwbBbp{L%3o@z&#ib?(S0C|vqte#5VVf@kGqb6&}c@W_Q{d2cu|+M`-HecS1^2O zJg^gr18;zGqVIN5p0OG1%`y8qV8{lU*p`b*;(_kC;yF=1!I;>ZgzG;4=VPyS<(8?* zVfo#*m5o4?JymPj+)A18((*uqQLmg+FCYFOYSZGV-k8wz`W(yXFg|kY)xPHBa!QVt zJlMIdjP!}}E?cC&#wMERJ9K@RGGFb6#e_6&i5n9e+qgsFu{O-?WZpko`dVLwAjTT_ zy)xn!Lt7)(E4`vUXPY=n=}3#+h<$wG2(b0sJr1BVB7QJs@Kq$bAdQP_=fU6xe5#~d zz)(ghq48CPpbVv>Fa*5Cb?A6izZ3@_z=shszgBoVD9ZydqfNwW?JYLLJoZ>t7&e7% zohVUOFrhIsdRT(0$PVz;$AnjM@x;MCb4p02G(Lt)bNIlVv&eK3DNz%7?7kR32I;@16EMIs9rmU zL3AO-M(1}u0z6C)#WDB<3ggR;$N1A*lJ^GCX8HhWc9@xnrNUQ1igmAt5{4ZN|RB{Mf7u>xd*=(%l(!ip1I3$izqENGUnnd)dNTD za0MRnifXK$ml)-iKRHSK6z~Zi?pnIgXx~*sPhQj@~4ngBHVm01S^@3%k zX^sT=wkAWttLd zUxWxd)keQ8h_jLIROt{1@$zuVrR4IAh3n$=3MCEp_{2BU3Y@v4htQ>g6AhgiX5j$U zNiBRsGfM?YGtNiB7*{=Y1j3B^qfLyS-qdX!bY=Ts=dMjdDj#*C~jugh{S#WG?H!edzNDx#*aOG5G=s8W5yjz12l}y@2ke3G|~p5)$;8i8VAxI1S9*Eru?p> z7Y(368e=vd+&QB9(uOToiI0Ss*%QW7m717SqM*$)7IIEGn9YqTJ;b78<-unR%wLhn zCyu18%hl0)vFRgs7|}nB={-_^1-qUoL6ZP${ zM*jBAqr90zQw6F~BkQjjE+=1+^S`A~kp58`rJ)$7+Mao{BjL-NJLt+1&@KYmm*}gY zsJIYt6il~Rf;(Oy=~%#fR9ERW{xf+q{QuS!q5kKVKR5Mf^&tUQmh?apf>PdTUaY1UPv-?x=)&Uv`(_~xgAP6+zzvsXQheK5PPm<$I22!h`D$~c>_vGP{LuJAg1 zm$|tlpF;7pN}VtDlPgYKv3M(JnWJ0(dMLW6e6(Pj?8_I}e&xGl44tqtd));ZYGrkP zv*HHY74&Vlmfen}cjY=N$y6`vc=BgtWwb(=<7)pDvZtQ^meh;X*p4Q-F5)x{6!%TBc#I`|MXK34f(>LUJf6@K(= z`y!%D=iPA#(X>P>zO`mJsoDKhb%YG4@{ypAQWLM$x|xV zdKW|54xtP-SgR+aQ(+)E^$wwPNJ%q7rniK^t|2)sk(tPdzqsSVxs)yF)t8s~I0Gx= zNyBP#BxX;TS@w}aD!uuraY21^Av1s%2J%SKb&v+o$Wa@=xRHFtJvJrREpFkMu-#^4 z-Suh-!#JQEmsk2a_C0aNZdth6FyvE6xW2jCHYgF(b1*%Qo~RH2Ow$9YCL;enx>Rx% zd~Ezd>_~ZU6~P7!gVUhC20dW1>ejax~q{RWYUfOt<;hv(G!iwsSq@Nw?g zyB55&i|j_~Q3u9&-lZ~bC3LrM`Y7}yy#Tot!7{H(p{&zH2t^0QpiJ5^$83x5Jj}X> zsgr+lQPN5NZdHF@aYrY3J@as%A7t1xZm2DfxY zAQ=wFUyss83T_EwN|fMh@xVs-i*!ED11QE@Jmzq2w0-)>a16gWW*TlqBT8yG0Chc( zysRFnJ4nOU7-lw>?$5-5<3fOL#iz8}ahozPWVdM5y86%HuXCTjiN}hEmlq&aZKGw( zkW`(mM{#e&csU|MNhfqG&W?Eyxn_7Hq}@f6Z0&mAb=wCUnSUnITn9$YDI}5r?(LZ&yAoP20`|NsfX@h)Hl(8%7V9IMDWB?45ALF1VLpNjbi$isHbmaf@+NU z=LK5l$sYyimA0$<9Jg<*H%NrbZ49XWz8%vmUi~A~MA7~Lt))V7Y#UU>w-)$(=DnI3s z0F~vfClWJn7U!PG*TM43QSxk90W8a!weVx2_+wgoLoO4RHvoqzbKpw|i>3j>6YR++ z-=7mxc=!$ReVxlhKTj@lQE?`(cbR|9X;mi5A@W2n<{eqD8oMaEe{q02sP!r&)K7It zd$HXtvosC2&B>c2z?ZeA>J2~26m`)^t(qnk>55z>MuSips|_Z@SL5MpY^f^QPd~>m zAEaJLrC!`o#8;?<!$V38<+qDG0UY$jfvaRKE=F z$C_bamOHU_Aj3vntQ+DP($Xh@UzV@N5kr>kNdoDzr8Cgt6@^#_TuUoPn@3s{6U`IF z-NS2%g)3RG-IUUuTUpCW3qzYdoAbBSl(*%gN!H30UP>9Q8bJ$Jq!;EcMVSpr?nLA_ ziKTfbA@C)|W%j}XaIoc2QEBRZQ{Qv5d$1#%kWa+3Ir@6kMQhn>ntjTu-2@k7vwX~{)!sbe zN1h-Toxs`C-|hJ4-0u~$_>x&a?$r($`saCKgEMF)6g!xv2q12go1e2}KDv=e01-;G zOs?Ybf5(wT%68UK(BZJw6#3~651Z$+^)_JZk;gW_*(PO=uVy+&4;3si)>o~issWrn z&w!TPq&M69>A1t1E8UU7qn<{dx{YoPN=ro=mSbqJ%U$QwtUV@*QhnBeh*cTXff9xN zc{}0pqEZc7WaI*WF_j*ZEXUUDwouN4#bx12RYb(oOUU$n4trBbmK$gG+k-1C0p!9p zHB%dlCyb#6r88n771ZY;p+?xm#XJ3!n0PeR*Skj}Lt&;%+^3-Mj_6z99`gqcSSl z097L=f%vC5xOeH!ViH9rC&~$r2-R_#(`@*{?MdlktFZ(QW7hUT$`;KWy>e-z0NF!p zbW6BEpi~)j1}tIbg@pHBt;ZJ$t^Dtl(7z^Xi#PruJ?LZWGl;72~C2;;om? zZ;u5lHZ`H^rayb{Fj&4!KiS@VNS--PH!IAT=O2^VW(Ls)cag-VO?$86y;lL%w4gc- zdx$?6wq4yuTF|^Acbrh9;YwR@x(ngyeUUbuPNok&gO<})J6&E$eA|28W!;f_{m_wz$oVM9A?P{9`yt7r%fiCBv_6l2 zUvG*`jQhH)BFvYoDib>)aTN2GmM9sWt8;co5Njo@N$y4x*Wiw}JKm`8{dbgOsW?ci zXI}Qy)@C?mA6BMv#-@Sz zFnX9?0`kGRf6e9brm2*XzeYIV=)F-&CAxE8Cu5cAdlNIcGhx*rV-Wckl68+;UX+Q; zq~S7l?Pe_Le$>q_O`W*zX}++-J?k}j7nO7WX`j=hi7U3G!`E#=d)&*?_75)OL-8$& zIB0l?{xiEb{?D0zICm)6$}G)w@AV4wzT)Hd?P*H5)k@$FmdrsuPJ3z2k7QXSYI3%Q zxuso#rWUCZ$8+;(fx;MIk=Xe@bq`fuB)WYcU#YhQ4VGA#SJKUEZ3Q)YUuE6w!QTKQ zWd$|h5(_;dN^O3Oz7>$b9pK^fGOm+H4irRaHl0HT{v%bgY@S$q9lJEnZD^7L$lHy# zt0A4L;WnMUEkernV0~<*qlOirYO9NnK4DvVq+ot6U=}(!T)Tmwt$0vlVSc^kSSJ$d z(%WP@Jp4nq&3DWZs#;N z$(5c+JjVW%n%meY1*>>YK}`q|rdZWZInTi-2N4mPRplUu;Bk>Cx3vva%Qlw2_g%wB z)oD7@&+dH!Cdw$)pBxBi?Nb*z_IfqyZ6^arJ5rETlNiqdM^&9yB6t=*)=#3TIQ*~9 zStMM|NQV2L?p&=As^~RXvJ7rSf=aHU(H&~lDlSX;ZlzVgBGFX^2IMyYKWYHZ-UaHj z!e+vcNnswJtAt4D4IY=Lc$|?tv22QS6bD<2QP(@fpu_<&FuTc&F4$14!*zY;9*xz^xwoVy7dDnh`OJ?=jLhBY`8s# zA9y_Sn*T-RHH~+i8lE0QtzQvYx2$Ngz>{x4^^`9Gc80pNt;;6=aAehlxoW+BY@Wdu zQi^Wwm$tf$E)6C<*$hSKDIYXQpwG)_`rf9-xZ8(?Nyo2*N(9?{^M6)B3%xc-MXef= zy{S>TzN^$xQd<s@C*r@*!k^2?7{;B1fNI-HNMtiSrqhSfJQ%a?TaPq;Y-__>1*sUs-4`7MSih! z5?Xw(Z9Z}Cqc+v0&}@uIp^Q!wntyHNISrVxd(EKC7%}A>)S5u=#AN?GL-3iz(8jW2 z-U_0`X3&rzd70r2ghg~IPwWe6RySA`DOBcM#OD0ggTpc|T{m+OHi}$$U_^#0vh$cg z@*jFBVtn?@LLDO9|Ea$DX>tS|LWNXb1#N!iPjUYVM>v*J+laui65q-a|%CI59X9 z{~4mql;qX~huhD4K*#!rpeQ1qFbyI%;yM_oo~1(Tg??q+?KT4#)6c-&CBPO@syZLimBZ)8i$0G@}*@mItK zQJykP#Rpqy`XW@=CzG0ITKbmE=jHWK`<1>9uClpz*+hk*onn%0yIm0yN$Hk5&2l*H{) zM$kWzuw1Q7$PEMk*V6i{$yx6wWLYr|rp$q7dg}-KfK+2n0IgvtZLIJKDM|>GbYnuO zXn$TGvD-4|7R$t{cIJ5~TL)y_K8%uD9WvCjvf*O}0T65_+-6HDwoacV+}+>G#l+?Q zgK&HIAk4EZd4~+d6tKTEM0+$if3=uO9rrzvyc@+?;CQQ-%=h$G1i7!FE3v*+}>M z*n&oOP%_6hAUCyP6v~ozFRLBOKV$E%8 z@X}L{)1YP7t`TiyXiZ`!ew3-QQA`e&B3MEBSA!XBcQe1X3NGrt{uO=wG| zIY*MXC-pgXd<)HhP5lI$F4CAmWrLrG=p?l}6?{jvu^P4e2?Z3P zV>vNkYpqUu%va&<4@{u@+GKWewP* zasHGmd#FD1M?f%vnA=`~I$Eut*>dhPGbPmX9 zcX=>~sP9`IsbX0K!~h~xOf#PpL`11pnL{mv%Z)Hq5(V|ux~*Sv4m`L)m6P;M zb$z&q+03JyV$CoAb{Y6^t0&6M`d-Sob^|gyE zIn+e2OGjxUjW3uKcdO2+g&IDF+K$g0s(6S~H5p}-U(VVuz8>rT0~9}4awKret)nkM zZEG{4_J#6qPi_!Y@TFjlRLOKW>$>VI1i8aYS4)wW7f~;Ps@g9@b;lQ~VAB{`-O@{$5m^?efc4DG*6P)A^z(iA#zzefsk-;#KJ%KEOfbs)SuWZeNEyScR zoXfC5l!_ckQAlx(2YmCc`)ECb)3^6^E|~$~xncCzfOGlGZejknxC1U}j&b zMDM_{w#CzwPMji$M>mS2FoY+tUuh^BPEog!utWaz|9J+2pdX<%bf2J_YoKJT!rzHv zlvsDGr{%f)@&l5sF#eMy;#maJsa$&fkn=ruOwk!M@(i;b0|JGKobhU}QoiDb`%l3s z`gmeV-s19#)=()y4XnRBrypsa|3~_9_l!Mv)%|_GnQPB<|783`9>|7w{wD8rBBf`| zjkzC@l<*C3U>J%N@UE?(JzvOqw(VYNrIR{`0L}vgq+%s4^2KWD1TZ8RpJUhLuUFuj z*d}o(nTa+z=e-$C%lji8o)Zo2s$TlgYltnS8F#qDvfBQ4V zAjQyh1F~}0j7{OoELj;YOolzFwaj$2B^K<(_ z&oMCxtPLi|k2~>wVRXi5!$*TaE*PDEZ$_AKV;Tspjt&}E{V@7VfE#uS8RTG++#SK_ zQ*A!3jk8@=zjyh9a!8Wr3A*aOCmnGS9lc0zoZk9!Pts?5Awm*-UO}t3Ste826r3Yn z$kVH|hA``Mo`-L9we>2DTCu*XeyIJ#ja<2qE3u*uxGMHl$-)M5b9^^+mqA@+Vcdz< z`ORWVEv??sez~q7#zTzYWXcMy)?aapJ`V5Re9r!v=C0xSRdM9ey~p~SdKQdGZoi*! zjlMNq7t=%=%q5$`i`N!z-kaD$Z1prsvk{a6VRs}2d(!gsUC>=bq}Gn6xakNebE~_ zB`4Ys%9|Y6k&a9ruI%};Ua3Ql@ZNp7Zy23;+!2#3%F8C71jLkJTEcBN9M6*Rpq5Dv(&kEq(yL1l?6G_t;w{KsYviG zbNi!*S-VN&{)*#5pf>-mA3{-0VjeG$`04;(qWv*LnU=7gI``MQFM&SCG{?JZW9~>E zaBZ79O<3Hl;SJn`a`$1rrbT9p0^Qgbe87}F^@)UK1avZWb5v2{$@=5vT`HFPtDo2R zH{Z{rd-`W#giY1>gtQB9wtM zasUV3)Ov;xvA|kLFuFkce>dO{_qdvcnX9LISgM@DO&nqdu)^Pma&N`R*~}FQQ?Cj} z3S1%4+u>f7aZO@~mpe%kU;eNK{HrM9pLayM-X^hCdHgWfH-BNY{GElDaZZYyFyzoi zXBA0Zbg{X>Rr}Kr$IWF*z`Q0=9q~&|w>@BGchA%olQOxF_Qqll+j}1 zPrLt-e9?Z6C$kq5TUc#_fq=Dm!~jqDm)_so`)%l!<-x<;JCclT!kInK6aTqx>qu`D z;Ji?+ZrN$YBv->bUzGxTgEO-}mUic1tyg)&<(#R2QJ_Nsjk4#1_J5%dd~Gao;(w|4 zG5oNpH_qQ~q8e+HZtlK=&GaQKTcBir0!Zg?SC!=lCOecavW2MORYQZz+uhirFMBQT zPhLZ^-<0g-`{euqh2&7TQ9=a8t@KD>S+wOSQ;W4GBfAWf@)Dc>6BZ&8RfPNK@jA&_ z%UkVH?@0U0XTZZ>pMNfX_8-@C>k6aNQ&lp41%E2ux?6IF*$#ZmJ3+A+q8yG1*AjRT z4j0FS5w7T*nP8+dw41Hg4?-Tb4)S^1vdN zlPwx1w+)HK;1$_DvS?An%=m8}teKE=D{nv!=r+#QeJI+b)R9 z7&YpiFp;)r5<964M-DhO+$Vk)u?78?BTXWpjNOvsC93GSFD-UWPj3)!f;a=E20o)5 zdaB#qdeh3&lKC(qI_EDWoC_1SzywOJokbL!{Q9s=BX*OcDwqa{E?FsV;Nq~aLJ4S# zGEHV@y0s9k%aCQH-W*_)bT08*DhmQD_m5A=C9Q6j+Ok-;u<5*8`OWVmEFc1rxXUa4YhYM8%9a9}(Q&Rb-zx$t*DB-yb zdLh8m;9&&mKOMinI~9u$PjV;A&h3HCRFNh?m*uF(=M7g0xG1GlF0Qc$^A`gr50=)N zacwdkPHnn)nc{;k56)|?1th(G{*Y6Z&gxZcj2l}cBdF>E&}FcLEk~YbyiV%g;fnny zG~7lJY!QHg-nqAq>J5p4)_RpDla;E1_qbk`6PX!6oDe~6Nizo+j-^+bA#tI|UO{zY;kb``M%Sw6eE6S1_`>^;Vzf{72 z#I}VwmOwV+Z7J4JKqcoVwtTR6^_Y$mp0x|9rSCUKA@s+N1a zS{Drmbvb99>(`4#0+PLazUUz3?3^n&JK^DyphQA#4>I>vk}XtMo+WAtuuG-{6YthW zZrG(X8(;;|DbGaMU`7cPdN2L&`|7)Iz3<7yu@7|mY6de&(cS^Drn9wKh?HVb`|cm- zXhY^~T>u{F(J;F8ki@U`{b1@Z0B4UprdZ(2BRU$XQDnal~e}AX&Q%1TXOy07mqlIO{BM3wTZsm8=a$7O+Q_V|INLAPqO&Iti!sR_6Kn%y$ziq}Of53XV2yc85xIj0l*2LXhenn4h^09I z-a_SEaU22JQ96i;o!n5h+b@$^KTH8d_2Gz7y){utyaL&w0LrzTeej{T36yS=A;eJz zF!r{@l*VgLED8jRd+GMEGQ^h=Ql$iE!4dq`s5AwdA)<Sw*!Lm1neY2W( z`*2C9s0^(f2TL|{A<8+|7T+?V*`_mc;{-^oF9Afz*d6x+zm7cqG5E&-|) zRq9N`%m-Vdt3}-A!4qGNC`Ow;dP|yRItq|+u_UQ0C+&4quv z%+LivX+Y3Xw&=oSLy8+)=0Ii8NAalmVQ?C^c zK3v-*_JBd}st}^qdB#dO;g3qF(IN!KQ7d!|K1?@3qKyeXc;rg%YMII*x?#oy65%zS zV@c^aG5TB~qGtY~kSojI7(+;u>AS%T4kWQi&MbO*-%#7%(DV;gRgLvL5Q@c^^){Ut*Vl03~I@gI+%)Lnmz^yY=KDl1x1kAdUPpQ~ov?d1IAV7rZ-_{mR zJ$^dDR*pt+(vfy6>c;3zHEwH|>YzUXV)P5L0ow&ISAYqYnWHtDoYsIhU43n?qrBuC zjyraT!|({ zr9I&sa>}T_+4=wz{NpmT<+(bC%aZog&|Y;9)da+&q%VLYIfOpcpXU9sZ7tJTaN+g2rKVxLRD_7>Ry(?I43UtdHy`rcP^}Sbj4iR@GtY|13Uwpf38`ZK$*}mY zLAIig=3Q&M&PG49!?m9V(hQ*KG4+qx2$2CJ(s(4wp%$9!-UO$8Pd;_pbtJt`l}rQ> zZ*1G6>6rFs4E2054&|*vK!zu6p+1i*rWIeL!C4xWxyS6Irdbe?Nj~8T_5E0t_v`p} zdfWMOsD{vWZU@L!SS#9?|4yFot_Z$@alVQWHOf_T1Ok{sWNV8u$ENn6?w!P{q>Sd) z-0E$-{9GHiFrmN_4XrDqB@q)UjUrDIx2=wu?p=t1+#zj>C@MrL*;1Y3XH6{!*)G@~ zHOW9@AkcoULvOmIB9+mS8Pw&WQTVc%0!xMVK&^>9n?%`|zqDRP3Z~IK^0wJbutI_O zfV5`Rv4DhoWVoz7_ovgQ-Sov*@zbYkG7Hno)H;-wfep!roWMax=8Z)mmyYT6!Dfgb z?o{^zxe|bSsrY9Rn&SY>3l-KP5JO#>Dl*lsMY@= zH_Swj3y-QJx?Z>u8H=Tm}7Yp1U3yW0nyN17Q= zG$ipOfk8M3hUiz`eO6;jfycCE*!qMsJAV;L!`!{3tgcVD$n)~#DK&2fZkU+pp$U;X8oZ(>FF^$c(L*;i zcpi``L$?e-PRN}})bR%JJbau~6|zwcCMR|4IG0}#LAXU1NFi#y2z9Cb44D^@%&f6C zXjr4RrTAK_VbAF)hxw$-I&X_srjY3+d&?UVL|sYG1cdiy&qn?I|G52rNqIpg*@qb4 zIhad_W7^B9<&LNURH(Lkj_;??M!%Z=G~4F*!xj6xAf-$JmIK)e<2QA~W@GHrZH88w zxwAG6_gHiVlyo0ji3=*kO7RwMjl++!JF#W9rwNU7NPJCl(2#9~Q}HdYg_rt7?AFYc zIJFXDaT==n{n7xM<0;&()brs=HP$Jtk=mjb6K@a_M|g^5HdjlW>LEjL5uLap^*0QS zdgbIT{#un)@b{qm(grWKm2Nw}@;p&X?@_!y_?QN@6f~Uo={M?Dl1Yuy@FXgRA5J(Z zU!*TV65Ae(T?H5z(gR*#AhQ+rB%aMbb%|iUM;vN9&^aJpW4Z}V7NmqRzbe2!Sp;OQ z>5`b(Vk1RP&&8d9!gG|2RAR^VY|af4E}2xK|0%?=A=o*C&E;G5sN8VMpH3$=H~wJu zds9lGm7yI5SUy}5BT6E1rjj16N(%<$D1;zRj`)@B*#xjL=J%%&6mrC0qhvpuyUq^% zp>$#&RC^?DqBN^ba?sSp$1|Wl<2S;gAE-eT=JwB0jQKK3dM;WKVv=mO5BuU_;U1`V zJBXT@?io!loz0q+jc&thW2q~mv!uEl#orr~VO3sQ^j%5olz~GfQ-_g0G zNo+-vB9ByFM*1*LRtgvK#}0riTX=_w;|_7Z++EiXg|De-L?v#vR$&B3NssqH=p8IAP=RgmQ1C@$5W9VgTU)t{yo{beMpi> zac>k?C6yvsDy!4Lw39kyu4J{ZReHL2@epTpBOi?ari&32 z3emr=MMw}op&`0@HW8;!?ceahY`_0$;<;$DBSruRWW^bC!AVaaV(|NMiJ4pYb6$o7f(;;^2ENvjAEi9wsE0h8DxJ<*{-;F6FRSpwx=UnUa9EaoSw=~PU)Ei z5vSOrg-yVlPbe}xcc$g*))LUBl%OmHi#goiKr>^k)u-*Ll z+l&v_a?t@nuyFE58qIX>0N4|Y6X9bSrexY5>E%bz&Vu6tvzWQoPI_Phe7enU5qxK$ zBUeTVvZQX6EDl&4Gzq}2l*WBz9#W~eP4!8_ck!;=((nwjOGudV1|oMYgNA7a;GcNm zjur8p(cSzl&kkqxS)2Jo6JkPwXVofVvP)IrR^Dx>tR{#U+xDbBl*EPAXX}#0f0(qm zpZY8c>4GfWSp#gAvN9OyV2ekm_pg{-Kr zr*g)Ujs#GJ!pxUuFLa%o0Qlwm*W)~edw>4`swqVR5byD)@8GJ5?3HzmRm9RHty<8* z%8RGK2nHJ;dvsK5b-&7WQBaYT6f9&}CuMPWOHy)6p8eXE7Y=aWxyesWWu0QDx<#oL zR~qkx!z<>GWKDK? z)N`sq@&`C5RVp1e`?BKxkTq2$52wA{{-hs2Z}0E#r=e?`N?r9;*f7s;)KfCi4fZ{! zRMto)BRTf1KPd9%B^zBKDEQ`(T2Wi)P=*8bJ(kSy5-YrVl*J)TzsS$tzIi<#p=|-C(SNp}g=lyp1$e;D+d?$`l2*DG*#_o9&V2d5fx`e}E zTOsY41KHun$fc){M>l}!cG;=6WzbBDM=V@UHL*2KViE%Yu)=Ti)_+FB=TWMKy{?cj zP|7vMNRm5MW(_EOA8-54+osIV(qIPrz}VyAwEOYb{*&kUdHQT?HR$2XC%SK9PrL04 zet7HO5AVhO`hyPSzcwS$_@KYyrgQ1)i4bwE*A;ju3qYI8uOtSI3vfxqYAT*OBcjAo zPNQ2+{i*f@&tTAhBf+K%7y@!lHGl_rg~_kQ%VLI;#&Uf|Jqvz_Hq5xwHuM2-cCjd6 z)~^4(exFL6_tbmPt)*%G?$B-m_(NdUuK%T9$3-G`h^86v1PcA+$w69xZ)vrSo=6@a zvcDw&RfQ0(I`QVIF>7t8n&U^l&Lf>AKt->NtK3JrU5B^zpmmP3!;;E95C=5a9)iwd z=H%(TG<2@2ee9;z&0pSLdzhFopV;A30pXbNp3cal5@S;VAlq`+%Xz(-LtkNw3O!qg zHHEJVkXm68o}(|Pit2HN2hGsxyibx`8eYo|bja=0y@L<}KLu|>>zaBeum*5MLli~x zl%7au6hJ|V=Y_*N>7)Y0#nypeguzPsD-6&ijC1cV$u;3fJ$Q@_G{v`S)Wz#nwd=0kD(vKbT4V(y@(lgnwzD_9fuu z8)uI!U9Yh9e^sAV#irgnNfU2*vm)rXuGW7ZvoQA-MtCj}iJmFE?Og^UtsVwH=*;?T zm0zVui^%Y^Zojd*$Bt{t8OtO}++_9qV8%PzJ#ATKiAN-Bu(*{LWP>&GDN}s7{w|dA zAx9caxv$k-S7Rm1JSyoiKjG)6AwQbVBLlhH2IDzfY3r9-m}#XY?O`U5mGGs}y1lqn z%+HpsZwlAp4>)KfQ|dXqQcqY?mUuu^KV5~Q`CO$-Y}zu*2ip4iYkiUb5^@tj45_QZ z<3nMrK{jg|m3x=Y#;q~hK}++#u~wMw9M;M3`k;W?&SOy^D(Su3B-m1Dc38n=l;v7J zrls9Rv!l7$4FR!??oP7KtFW&(o6IYr*Lr(B%?0a^%x5@fI7F+FFc4!wXH@b+xI{~- z*TrKk7~P(6;kf09N~>Ne|C00s;7Vk=7H0fpzAF0H`nqYr3n=7nbj%;P>O4!_ps{!c zo&Ya3k_I?JAtujM$GoxBj4G&~-r)ixK^9Ke=Co_T;A%_11w|F)IW?`{w=x;)%@D6r zv4d)oA1x|VP#$O37jebrYs44C4jck6sgX3zkx`|OU1*`nUS~L8rdYv#gCF^T9RHnP!Ne9i~Q18nrKFNI%3(NBsm$cOy74I=7GqI8XgX zg^u=uZ=4S(C5X~hAJn#h_rnMfiJbeUT+2$zdh7wtJoKh%BgGv4CQpf3ylg>6Vles3G!lpg?%h5gyT0-$s0=miE{<1Jva<;(yUtIr-_vvke^A1zzV zzaKz=T{j5`(zD$H!lK(3l@n33{q=P^T(I*$Ww1s^SZVw-E=q^LASX-EfYRmB#VJ>6VK6gmw#xY-;o*}LG8)bnuWtb>UhZ8 zbF5uU76;~g4LT^S7pOCJEI6BBO)&e?3M1ZElIyfhZVNPu+sCKQ!HvwsIJx^gSR9aqexKUWFH*!p(}-XgH75^TcH8qR$08|5FC)XX!(K4OSZe%%M`2 z@P}npR@PB*drlXSc}aTjK>zu)yoXR~Etm&c1r~>vM@c6cxoM75_vKkg)OyKwXgOD^ z)#BF;x960ip&KXf-CHW^(7$H4pvb0|?fc!WKrN>Jn`frV!;)3x&xlWtcOc7#)xA1{ z%kmA+A&_4JOZF~!B>PYftpH_mBf?P6*_!Hj$fG4*$J(`IiFl6rB8DFDL$eWG$Zj0g z*0JL?ml4q+lNESup6E(8XK_9CoC}%nkWC%rb6r|E2diWYRDxRpOR2;h6H8$PLYV*f zWQ2DuI8pLD7u%mI7QZDzCZ0lX?Hk0I#nBY4b6z^R-9lV|H!E|aXzyfyCspToRT}qw zGpeQpLO+1daO*kL%2)a*IZiD~@nS!M$LAHT(QuyDE1sL>OR%1*v6;_?KL@6g_-U9H zx%gDug+Tl?+p?mbZnvK&_;61K@{zVfxD4{sZ+9~+$A4IF1v-W0Pc+>yE!%ND{}W=L zkK#_Z*B`*Mqw!=qoBvwynbmr;-97%@{lnwa^ULeo`^V=O3N>XlY^ImD-QnZ(^+WzY zr)f_A5v0PGl(d~oo=r`7>>r1>1@7OuGSl}SgzKa?QVZKp3WDN zq8XOs1yPa}RnraAvK`m+gD{GdG|P*!s++d!hwJVBc)s4B@9z(Q5R9N0PLLGMu-F_f zk1r64#1g4Yu28Df8m&%mFq+I3tIh6ky4)VGFFX_-{v>X5El)qxG7U&J7mh2H_UgaO z76T-k3&)j88!v?h000000000$L_|bHL_|a+A|fIpA|fKn+W?SkE*w`X?WIuJ0VzZd zK(VJ3GT$W_AQz4+m99@$E(R!-E_}TdTdpNo0+q`_IIc{gaxY*|*mMeQj4^oxHW!X7 zl{Q|2{GgF+E*w`XZM+mJ{{<|KRw_x-N<4e3whxtTegx%L5|(_zlNaO(isP@tcPZQY z>;%lI2?z(axe5Z9H0>v0`@f^(yCF+wad(@x{4}kvec@2=DVq$3A=80T?(mDjsYyur z=WJCpD0N=heT9iFEAjT*f1X;};`O5P`c@oyJ{|wvk8gI>`)4jx2NG)H$bRoD_bgp>vS8{Cc9^kG?4kGXJGTEw z`^P-@G4?^c-~7}43nz}@@2t3f6}}qwAHI0seP<8Mu+ZmyX#fF zUVi|;Fx<;-!Tqkr&xHq$oIE{sUjX0VU4{+pJbZL%;rEw*^%chMc!Dvh;>g13W72%; z!}$3Fcz?n93rF^TyR{eVf9ND*x*s1qdgA1j2ircx*nezeO#g#p$M+r^_`|{<8GG;s zy#L#vi6xpMy+xD5WTt0@tcs;ZOr=FugH|IkO;wP4>>jP`vCB1?`ZR9gI-j?=owxCD zeX-B0r=P-YTzOIXo_{<#|9yT>^ro-z(AQpVEi>qAYK*eOY~jZGa-GKRaXWRo)Kp1o z%(U7io{?s?%iJDK(WTY?b(i)-%RlO_t*zHrIjrU_a#5+h7o z3ubOK&JU$oQ)Rv0FqLAG42C7K_62F!HS|C=y&vx}7>_6a)h6$c6f19~%ZRrygMKmj z?}#Y4@YGZ!pD}lSUM|+<%E``hf*N*gNBw8c3vzu(@6-Fj;v*ai`|uIciw`}$$UoQA zWg0FUExWyJq%2|@Xu?NeG;n)hB+zAg_w7x$^Z)v8&-?MO=exbP<6rN0aWX3_D|`8h z+`x)iC{mTnWyzhNV%Bik$QhRhK`xm~@)84i`6Nz}P2n3hQsgRf5}i3#NqpxE7yHAR zp_=--+G0PQU^@@#Go5;Hq0W(!$tyorv~MJ1EaOCXbMsRFTw~YA4o^D999#Pu+lN|5 z>-kmnS66HsFueU{(`dN6tJfEH)}I|+G~9BlsjI#z6fUl2S~j-w6X`F~m%vvxme0yq zBYS%!P2yTTACx)k=Um&ToK665;ToAQnYhNxb$X3%$p|X5X#+9I5Yy|m(@d*9s2z4i z{P-PSl$o@&{;!hWITi6$loz<|=~_)~O?hKQV@a{Qte`C0nVxUYPc>_7T3d=aBWUD) zt|dlJlN3&NdegWgBUIBS)z$LNUXZ@G{He<*!bQ%&f+-l_Mi!W*XZchb2#+c@~a?k5s}Ir#L@o}Bus!0n;jt<^2NdnXpI-FcvM*U+9_ zRdtP>k*bc5c9pi&?vx(e+U#qpbZ6c>K9s+2>_F|@+}`2HV%_$hp_%Ub^2U~;wz7gi z)biPq{_=`8Vn=8M_KeU7_J~zwQlSm35|m3!50DO^cL!E3;CtmU=3u&q42(mGI@7pb z2X3v<)Q8)&yt007(UB2sY01kdPqWJgLr&1s>66FGPJZs4w|@S(H{_pb+r77`anDTq zR1jBO`Q6G9UM>%bD}t0&L3=n~qtmBp^?sp>PprODfUfTd%7N8aswzAA`P**&JXYAk z_wz4HKVxaEG-63hO)(nuI;{rkDTRT>p|Bo-4qIfyu7~jT;M7Ao-0Z+E^nSfR><>Gk z6~ay)oE&MH?>Kd9;dQ#%;#<-s%Za*cuBpAyGv0F7ooy4iO9#7||Cgj^X6AwJf$lqj zV}~|{4qSwIENMxbLZ9l)IYCHsOznht<;~`s9orl?nQwAz;};CycH8hfi3%^R>|*a_ zm*IN(5tjj~f)7F~b9P*?5Yy|JnVV%WPMG9C=#1L>MOR_Y&aMte@G_|P%76QCdRsZ2 zQ8Q2HyZJo$HY?)5FF4zdt&$yKe8i?4t4HtY<=N)wFZlc@{SDcjd&K>7B2KagG3Mn= zuU&O-l~ET|3q!Y7tqW&$E4TCKWl|x!hd_)fA=3Q$=$#{cNp}4GDu;XqO0fabBun?g z!sW9OMe8^dq5~b15FJ;<0lMNvMaRTNYARy4SvkvgTJvrBMm@7|OOjLx?a?MdjP#^H zLp63%t-OC`x2yTs(9E2x>DW-mHixmY>MFmnQo8rdg+sU8IH`OdxccoqRb%};vm2j@ zGW6**ES`>4e-dm2?Z^ie!)L~~SS@1<;HC(EV*I%B)6~Nmg3KPD9b6USIWyz;x}V)5 z)$AU;oUTdq{U1=k!NwlVfTtkSCCN5sV()C4GzcyXZkl4kz_}tB^gC#38P+8J>#2x^ zvvezQICF4^Hl|l}`Xaq2Oj;8rMDMTX&TUI?d5Q-zqZgarcSC)sY`DK^w{-99(D(xn zOCv+K-8@rOQ9V?*2tNGd%B%c~SXnVU60sH)N*b+>%Nj6^B+Kd=^Wj*@k_Ic$YT2|- zS*s+)7{(RJrQc~aOuH0+XX0g?9A`dHo+~FSBi)k9ig~d~*JJSAfdl=+l#V{%x z$=EhGG}6$Y*SNRiYE5aChTS%8e{0cjZ~073*Gzwv zzi&r%NqJk-D5#zdy1$IwrIBxC&`X+rrja$rwNT(V6d7uP^96E*GE~tmBEj{9xl}4=Zb_45t)%ix z5r`sdwDK{$Q={dYB`}L_is^KM<)vwy^+9+^@cLr!(_y_juvhH;vK)KYRK#Sn75R$2 zR=wE;PgY+aiWx{jJ34$Kncc&`5nax&3y)0ZH67?W+22yVrL42iwzsObzmo5hwm*@* zdq?Sxv6{(Hdr@;s?%^!Xw?Ibgu#;bbQd!`H3nFPYP$(VT=j2$w$_MVmF{|sEAJTJ; zCcy}K*P3 zkaJFcQFqU-yzpYnXY|gyPYgE(0`>g|90O^AR<~uxu3l{o|J3yM;OzGBi`CU1c%rl= z@6E@zMXw2Vb-4G;2Xp(nNe+W6f8yU1vR(5KI6$!vkYv0jyl#?f*hKue9h{-MZ&MH3 z>|`3rUGaoH{43E%CU|@Fhh~0-v~&5cTqy#bATu{87!@+^VdZSwCj)tAkSQkUPI6rZ zrRImgeh_-x^dQ~O0rv~~j!R3)zn_ZOd|qd!x7=5r>2Z1jg*vQ&9LQw9L9l?%FT6%K z0-4%kSvZxIT+r*(iMJn_JKDQr>(x7lk3>%QL_*=T_VVhhdnX%uGtad0y>?uJLqlEnoh@mWaPPM_+$_RXvWiW93EuTd_MIn~9iGX~ly^ z_&|yt%Ye#eT;jVE`b@^&TtbV1DX=#QdTbJ31QjGc2F2ja2vz5X{68+DqR-N zfU?&%Zm$VLq5HgP60t$`?4qr1>Rksc*S*itI^8#2anw1{sb4H@b*EKJ_a0wrKX`g} zBD=5XiUUJ?wnUDON8hnC;JKo(xy2o#osi}G7Jmhn*U5sB5?UdxomLnRxKdL%v)fXf zsZPZh(!%T{Zz}bZ!>`*^!{|`I@>gOOGJ13DI|Na};yi>~K{{xV$U-s0G0^P- zECozADOLnmlJPOIj`Y`Ahw2=>OTB+q%t=_Ykc7Wb$4>C)BtI;i?jfB_K3yu;7ln)X zbI}jrr|3sh`IY>cx7|2+-`sr^1BTcW{7L>z@VK6NBW{uw5NrX0E=${?#N;X12YH0t z9}!N%*P#EV_(^m02CMkYzd3Sp1b>I9`~-h8c5jL9t=Ia?d6++$8as(_j8$C6tKl?j20=ojMm8#z z)CA5uFl07Jq(ZSPzAyyapr1w{wO2pf+QM0PXUjnAKy6KBd66&A<#bq5O$K;-%@jN- z0fh|LM-3&~BR+c}6dIP~&ULGWhZfD|>tv>9Hr? z9oRWLP}ve#+C5&sZ?-WIeLh$o-npyn@*7HeCigB>UH^!0p!nI3cfIBMLtV>nFDbOY zl2$RgwH$o2@*LPI1u=-8nMekW9H$Cd(11fUFv^lNKSY@dm}Y~)U^2k;k!PJ1Eb{1m zJY@Iz&79vHT^?TGEvGJC@HgCb|NYW~%VU4#2cox=E=Hgu)#3W7@VN3=b)*8kgd~u5 z0nUxACRmt8LkgapxwN!AS5{`4BQ2xYQ>ZsP6-685c2&XZg-ha-#g`!G@45c^yFa_| z*~N=?{yKke=dKGsJ#}RA&ByuS>{EMAOAn3=_3ir2_XZ;4%P)-d>;uoY!vF0OTpW(n z;-HyLh89eR0zl3n!O0{^YQl#zhdnJtry(X*ygXqMh5p0&^2C|)w;ma8tn2AmsLS5k z>u&YsmQEeN;A&^>&~fRpzJ}`VW2f7fW-}c2j-gwwZM^WrR2Y;X>P!jhdLX?KQmxsR^je4FnJsX@`;D@BWzaEPIuee?dPHi_%&CQ^# zabOzKJBlX^2Mzj%oE*gck`zmjaF&&sVNbVNQeidR+^zVzh?Kc%xHGRf^i!SJU)}nq zlT-CEI$k2^NYSW_U&(BdJPdL!#PLxusz#$8k=^r9WY1rWK36`sFc;tj0es+z zKgSD}#}o>(6|I`w*q+CtPh+8}{10?5 zl7X|hS1LvRMr7Kc`XB~aEs+o#&ah<&JL-vD++G{DhornqzQD7~rWVe8(NZ@h?LPJK z=$AmvdrqI=7lMwYW8MsIwJ~^~ky5gXF$)RTBIcso;nTaa(;-PPBsOkK7)UZCWFC=% zlSK*+hLYcM{Ax#N_|(AhYaF#hr+ezR*ZNX#uisJYO_d(I<=UnbCwDg7d`-jgi>4b# ztB3dOu6nF`Wbb_Sr(@?D!7fvno%tdK;3@JL7h*~mM$VK7!_Is6&z&ez}Fg~L=fMB7FsQN zP6^&B^mq`7iVRYQPH%^HBG#%wJVfb?AeUMurmsJ6*%65DgD*vI-8(hhJvb$q2QJEq z{tqvV{*Z)WwyUa?e z?~&%W;0hDi;|W~B%Af@)<44&U@I5L}6k6f4m09uEWWh)q;jAG@!bJ+(r4yZ&8;_kh zV(FagFgNwR!`T7y1rA<%#0_w%okw02;XGq{J2Rw*2GC76%Tv^ zI}dTs-b)sDvXw;$=A)$FINO1JfpZ}TSffc#c`ZJOwMq$jhk{F2Rf-wgC0#=5>RA3ST=ad?9DU$?pT)YuxNa(QM{-R%Sn#!KBpsGWR2}R-T$YE$ zg=Ic|$Nmexeh{Yj#{Em5IPg3_9=(xQN58?3N<0!>=5qAE)m`tz)eS5+lC6{B?NfR( zY1`>GQl=bdBQDD$Mf1fdAbxj0H%4FM2L6%geF&kk&Oc+F8Mu;>)``Q39Wq{19SvK$ zO{~+%DTzf9wq%O#Hgizv1a1{t0U z#q1I?Xh_zO@e`W|JxQVPu~X-tGCg_KlhV)r{>NeY1GvsZ$XyIOz=9+3i?Yr&T+AWIDI1KgF4pDeSTW4WS?L7;Nma0NR}60wHAnLY?9@rOHkyM&wpx;=C_kgpOwz?9@&%FC2Vq-_jtY(l0II&V+57+8pdC9rjOb2JVIgWzNf>blh;80u?l^_HWu~sZ9 zA&Vl4I`v_DF(2AJ+bDT+wi&ypwoKZC?F+5#lfD^$#8>8*T;sx?|I4!b4Cnp5nh z%BfvW%9^>jS1+s4(sJ>@`0zG&`|-i?Lwi3F=?|7wSM~=oq~AnejvQWUK5?+aCw)Eo z%5d~c*1GMpm6wrZ*CIB326W3}s#g!QA)&e_Cwui+OtM#>ZcQ~q&m!xUq-V*iPYTl{ z-agY>UEWmLS7bY{p|faY=iL7Mmcx>(snH+WHd%gUAQHY{U-;MoQcbK8G^qzotcY`_ zBdAQvQZ6Zb%0Xrz!Hh(^s_3y4L_E{Pa&R(`n@N5JzoVC9e!^5FE!~#wwB@De6?@?& z2vHBKZY#x^c3C82V3`n5O7#cEdCSuHq$|7>nW**OS>9b}-C5CF><&mjTh5zYI<^qL z;JmI*?uh<8ymPATiq_U2M6hk;@Tk}zb)7mEU@XX zs&0#1u(#>h{>bQmr!_^gO4@|J`us|ee*yG#A%eFcTdBCdH zQow}BfG<%ZHt$G2OE(#5xkF8XhVlM6yp@G*zl_JGWmcpbwV#!ZFyv1y~ zEaSo!%Z~Y+(z0Sh%dBbEY@8czYx5OJ9~kTHi*7$SALy~Wd+PapeM8;j#jV+(Xx2)J zWB^68k!Kl=z=PH>pHG)kJ-p)GojiKzOU8PETDsJGOd-(Jx*e%^H3$$hN@6Bl)#S>g`JIA@Lc^f&1x_^}m{AZo18 zl&E?1V}Xi0dtNLtz*%aF3CIp|W7R?kdEx@ffv;h?o?qV8Wv-j9HF*6aTZ7XFW-10H z*VIt-E&N#6e@pZU>8GaX=Z=yL;hrWr1yQLbmJ-ecF_aq~B9*tKx~pnkhCEDEz~jFb zbs4HXD%nC>j$L3($m0N{1SwU<|WBisbmV!Wp9TLC_!D&|d8TyYek>10vkS|U_(lRA8C3E9NIOBZw^`xZ) zdSe{cn^@6uG%e0tzgNyg(n2Pj%oiyz8z^B(_A91tDOy9qz+UX|iu9kVWc5y;tO})w zk(SE_&I=E`|J1&-vs>M+vbln?=>t%(UpUZN^VZrIInU_}yYfc{a4tW?J-d;m{WI>F zszim5szHbrYIAXQ;PZ)kwc^f+99P)>=V{4gwb|{(zWN&DPU$zx7iZcGUAE4MbVS*Q zOqMR6%|4n3mlL~Clw_u2JoGvP+==ss2-`wCaz%2GkW=6+Y+7#s8Yb}~su>hZ5%L6D zU17z1o^MoAbIGh2W66-H**NQ^+gc(f;!Afy*Vc0NYjApS)G$6%7SV5!T)PH|N$X2) zjy_Ibh*vFpFK7szhuy0Z;(~;XKcWbTvI)B)BU-Ua^-Nq5C$zfYUN)@-%f!V8{K6Tr zY)ppKP%wGnSnwJd!Wy@(mLbdj6N)C6(m+`ovL&mc&sD~lqR*VHbhq7oj_6YuLrO65 zo`nO}K=VTL!a-Z0Wxk{}2*m94VXOC>)g(>{^F3>lX?Nb;Jg-<9Ra(<*il*QpC$9|ep z-k@qQfbfXel7zUQY^BhjF*O@|L8wx*$!LJ(N#&_YZW3`Oapa!tT$ep-wy6XXqidF2 z`YG*4qAyC8!>1t~D^d6q4`X!&6mQeQGVC()A8;w?PEa3$BV&=Tuhb{Pgmksy7>jsg zhE5=~DB%6b;{)Y&{h_9+rjhceVwOK*p74IdHQBVr~MtK|`;1opA z{3Tr1Op&QEDS}SAY&?Rdu*@FJ<*Acu$##uz~}Ay4~AGM4qrq*nu19?*=8c=Gqo4}Mj$ zEWb2;$lRaW-UZ@C!~83B4@x0Ej8(6Sr^U6`$J2-e!vGt4_Ai4-MZ|c+3(l6 z%{%4pK2Py0p(pkHR-fJmS$pprR^b*!6YQ9Lb5UpcWhIvjE4tP3G zCpAdHy&Yv3HB_Y3C7?c^%&E-DPc8K|HE#o~G%et7YT=jLo%Y(oDYv`Hhb*L04YSH; zMaA34h9doD$s{wl2u5;awM?hi>L@d7oMJ{}6G1)=Q_Ns!HVjk!+2{2X5Y(1%w#hZ| z6r(VEKvFASE`qT5_x9wPO-eSBa~@|7K6_sfpPk}2;Wf1!`D|fMW`1FgGf(-*%#Z#e zQQcX&NV*$&q#V{131>rNafC8bAH`zA4W?jLRC=&}Notmc5pfArFqLCi4$sjm%N2}@ zssv6L^n*!(d;qOi&tF-XP0LWr6!whEX8QtjBHftzS$7|Q;-Y=m@7*iP7S~=ohD_`H zmMuR9hf1s+pGxJMKxLsvaF((}UMl6GB&>z=WrV`k)Bm9~{vSAH)q;gVTQRETVF zBS{wmwzmLQ6?s{)Iblb@w1plQYBM?`;aOv~8M{x9!im2P*$R(R4X3h1>BzA&?#@$N zKDy&S>&ha%k+kBXO8*EyZ^za>Tl;z^_`^%{m0SA)(!w`B`o2! z4Uizz0p#nkt_=9=@Y&!cAzPtm(xMKj3am)4=Tj8UU`amINARz>z-R=*Kd~y3sSp}F zLa_?HG&X+pQg`R+@sCzTU#LR4(9d1Pb33*!O}uRfzi0QZ;Al^P?}+|8QvR=S+wyy+ zBS#@qRFOda9xG{#)Z0m|K*!*BkTxLNG#XK*ZW0LyECxtSo0TFcvr!K!A^}S04_F4_ zan>l8FGIO_<~$jf&GiQ6cHDs~M&{28gj)IK%h!%Ze~{28w1%TXpJcMiNEt8@XfB}O zg)|GY$fO-Kd=cW_BnqU&#`u?`HIgAF1w$PMvDy((jIh9ec-HpxSyxe6@Ys77Z#pFE zzk4sNY?V95s?Yo8fVrskuIRtTO2HrQs>GR4rgf)$4KsmTfV**WsGC8f0lJ6xTcCEK zexwsv35*C^f{%mM$irr{Im?`7%Pq9(j9EbjUq%>Dmr$PX<^MsavvNo}jMFhQ zU!(v(^An`=1shIp(oWrz)!^U+R0kT5D7s31(p>Yfv~vhpINXbP2D537sRWN=BVvue?(BMmyZu3yjL z9S|UX5t*o_Aq|pl!gASi=suYSW3Fh(h)X@{et<;_ASje_Om} ztbDqB^qIqd-C^36D#C} zsy~K8H0om&1lti}B|ACo3EZv=BfjrXoo* zqE-w@DOoVOAskZNDuYyGPO@sman&P6Q}4^al~9eAHA{%=#=rmf+SMrgJc@HkCoKbW zAp->jo3WX-$Q0HBjXZI_Q5Z$qw%$sBGuB%OPTqvHS7YR1fuRSiNN<;-%SF}@^px@a(9kBM zq}R#%JqC^j6Wt`f=#c#8NXU($M>idR5s3eVaI4Ps2ayudLxYRI-doY8o9^{`OTDF; z)L`SZ*&Jqa+`-}GBMTsrOueu9Tnng?Jxx<2w`uBXWk+V+)+@G}X3W>!BEB=unBM&M znZ2Gefq0^Fac=z)0#lzNbjGc<@h?< zTk;XIUdZ@ujG2j>1A&>LQ~f6}Gwb}*t%`q&BWKbsSV9O$LYow!@*Adz1s_u8mV!ZD zv{`jfM}HpoP!%pDoR5WKBe(*T*FyCXj`tq;-6F*xq!@f;VHPiH%;bD?2(nH^JHZ9F zOJRgSJ0G1-Et)GzKf7z70xs|vw>O>G&2`bgUD?J5h$$%&Q#@>BL`4w{9tVsU!-xP? zQ>eNyfFcJFPs)dRIkYgdL%DBps4zi+c53;2XsP*VNQ(r`?un zO|_=u{sx>-LPNsG$7#hue&3G;(+hKwVPS3|%GN~DI5`kGDSDRj#3~#jE`sBMbmt=2 zO}M2oueea)ELUk}Iz1Iw`2E4Med{sqPFgPtecKNmAx4m`Sa8rHhz(mbxN&0=+d94Ub!Evw3+px-PR>DpwN7!0v-?6h9)dMH{kDZYwMKHcIwQAs)BeJ_H z^TyED8V|s=H(k?o^1@vJ*V+oBk3;eQpyj|+?eaAPr!H=PBs98jzVee``juDksYK|8 z9GXV}fQJ^^0f{Qa3zW~5r>Kk>cb6CyU#(CRX;4FYitn&IKRy&hXUM6d)SJ0fvM^VC z%li<3PFAy?A13u3@a$(h)u*w1!1O&ZNjO5h@)WE+2H))w!$cu#kTUN7h9lQ_K-s zha*!=`Tre`jIh#a(r*!ymr`~k3p~sR(`^##CtWSl@Pwa^tuNQb(N*Ls%`L?-Ba^IK zeazM((T_oiF`6EtHs2_n$b4aJ&Q{Vq-7s@LqOhhCPwW1gt|p6bpSPmB&{k1iyU#1N z@>loIlx*AHS$gIazpmYqmD^XEof4QIscDN2Rt%2^IvNJL90gl;LFW)+>Sa_n)4|_` ztUb~~`5|Eu(59(bLPi{*49W_Fz)(K~=>f}T0Dgqv%jL|pXJ=$1{6a-R%~d%v;^CJ9 z=F#aPf_j}^B#QAZ-`cZdDOhvqjy-3*T^F=>@3Q`7cywP=XJZ>xJ}0UzErIR3FFe$E zY_YXxam2Q}{acwjTV$#!)It`;g7w~y_4>%C^P({9u_BFS1M&jlB30mt;8-g(2zA4X z3~@oe=o9vFpEgElOb3AABtgC~d4Pr`C;_5&WO`t!y2YihEZf;vF?q@8c~gf6DocGm zy@BnLYoM`y(v_N%mzkdL4@bI2yILmm?bU8qesyarxHbe{kffJU&%+wlWQHd@ zDhkp~vN8S5`*$48uAOV$S!=DEFZ#EJs`jZgjZ`Xqs85rg@2#yK=%}o3KYPp3#rl2I z4PCust+{`Av9tTg-rVYOlCamu%Yl?2yL#*bFGtS6|0Q1TFId=9IN{gNUbLJud*K)P zI;yh9vln7sOBjTFDbe5nP(0+(}aYTzpH#$zy>3IZrHAT*e*(4P#-H`A(D2z{Q@l$ zI)M6Avofh^*=%G5YE6Z*;(E%FsjxVR%j(nx@89#L3oklx;b?8wa8K8zeb!KS&rIiF zV29-DZ(Yisv@|D)oBgE`XsR?+m|$cP11n)$7Sb zsr7mh8UMredP!M>Ouc!z?5&a1RIW{=HWZVZ8)LH$AZ0WfEJ3T4X4FInLW)v^6b0+v z0~c6e4rj0ngm11$J~k{8CF(`iyaDlpiI4|Ko9KtTbyB|$ksw{ACYF~w zR)Z6;00nVKI(4($NlS93eO2y+xE7!kk!AmJUSUa5FyB=7bXGKwEnFC#T!r=PvG_N-6ZY zoMn7Ff8v&hPGt_ImQEdg8dr5f4kvI`E5(|L4kpC^`OZy22BPefaQ)%YE0=zkP@hHa|YGl;E%J!?tAo~?R$ zW9(U+6w<#6d-evA?N}Qktav6S3E3`|6wk!`lgM^)9&Z4x*`=U0k*QPAny@m$2@+_{ z#EYAuH5KwDgB}6=5V(MU4O;Wun4p-%gWKXspm;I&jbegi)JYrx9plRrxqE)M}2 zs|W!2ZB0cfK?a1H_Zfk1CG0mLhr2MigZx9_lE`3`1q{8-=^ajFjHAOmKz8IblbqH%OWvQagWIK>^;D9;;%?B-yr6gs860QInwtES#moWd7W7COVjS#tow!3j+wrJDbPdKZ(gwX2NJ>&q z;3CjLsYF5QVlQC7&Ei#sO5}({toUU<%lCl_KCjIPE6!zw2BJSG2}h{5<;l)C4ti!I zm^5ix0fpW*2#Dd$z)15p`f>|z5vxBWmt*x_cIVIouJN6ZnzRrCKIo!vjQB=Hq{4sE zvaJRkMlZAsnT&cF!Z0IJvUIlMPsx8tya$d|v-(EG&%qJ9A|4YrQor-8dL{8LlC1c9 zCsQu78N_?i~u#r{9D(7#fwkw z*xq)l={MTJzT>_5C4BGp{%x1%@c-*Y1WKY+=*3CcSROEr8tl#C)et* z7?e3(5%mWeoTQ$Q3oE2t+8%|g6=fAq*0@){iVZZY`b_nIBUYO=GsBu?%d*iX4Dq~| z*hGjt9v<7q7u)vEpFXx_d;c`QaDHq$+R@i@q=UAyqYqn=`10@I{ls=7(Qf$DVmBGo zgJwqzfo-7O3TvXw+aA!AoS}sGlA3~&XGUrU7NS#1(rUuO!mNqql)2IvWyI7k8S&8JV z8?wENlxb7bZdek~JZrLU^d2bA7LjFB(r$PkovC

`0Nl;4D8kv(Q%!we>qDOS`&|Y5P0$?(^7R8YHPJ5~02-2cja31%q*=)FBvoA<;5X=1p&3S%h+xJd!$lrR3m_lzoP!uD zz-6R4kz82<4K>pk?WqAxwOZXYU<94I;p{9zc82Q${z7k7Wp-sUuG37cA^MgS{2B%j z#&Ml`0R&sqeHZKUN#j3DLU(>H>HGQd$#p$>OKLx!bYl$dc|7*b^P>%Gd-S5OBzp8P ziz*2G(Mzm=ofk=SBV)q{bGQar32K=tM(CMGc~8xhQho;mp?OC*J&;WlVMObr25*7D zF06YMZZ`M~a94GxtcAjTHCv{S_fW;WM97RlgRGl+-cJ~h*PoFtg{_I;js*gwidd?&o>@H1@ z`!VDrn{*S-1LY}dh1JMbNC|2KKsEy;rVv|APXbOyJ(QhVlyU7eTUF`#KpI`C4Jg1+ z8qxyKB{uJd&}<#Ek?M-(wn^LfOy9Fz-q=w*G_`P0lYS!_WE%n#qrD%+?7s{4d-BfS z3ZZ@deh{H+V%bO04+4|-f71^FJ&7g7It|eyK-o_msputye<`>VNz+6lp`xYZ;z#9# z*J&h_8Bk`J*sAD;jS#HDk^LtTtc#l%?7 zxIs7(H7{e~NK3o@JAC#o8SJx03V5@o~-9zu|_+x z(3h(IQ7+d@a4ht~KT>``G#vAf^5Q7jJxc1#$X6Lw&)V08JyqTmGpOl~3|DqWo+FQn z(%7Skob&h|mD&{z%(kgTLVYHGwQb+x#YeYn_kE`bc^ubwT+@9$q1Fyp2_Kyp>^+t9 zm*`(4%j1tn%X_NIOP_%E$5{t9NV+;3y4r+UlK^1Zxwc=?(}@&C4RDCyc-14~Rxas1GBU2PoX+n0~F6PBaCtQ_u0{;J8{=r1oz@ zE59BlH=buBn#M7?b`@!roGtt;6mQ!G8AC2 zDL2L&&L}2an6%w=W6DHFqVG(>=v{&ODAnhIp1@rwrdXhuLWDiwImCS`ZWI-A!Uj;H zISE-Vxtr*imN{`<+(S9Mz8=MR49(>Gt^FZ^^$d_wD@m(FWIy6Nw4%@j@s?Z&!P(dF#n;L;*ElWlqzMdy;@A7 zY-_K^KQUcW{LqO*yT{%Ukg}{bTcc+X-S+a)S<=;n&~C=O8#8MkdcXw!M2{{+WgnI% zlHpjSn*4I$1({}FuloJeqc*QCU1Z)udgREd&nX;|0z5m0<}R~OOAl^U0Nt12j^q#h zPb!}ma=}7@%>f@7YX?td=?FW0;VOL(p;AUI0s0}MCmI6ui+qY6!eiO*%I0XQXLisPx|#%K({J4 z2c0(wSUT`r0&u<|=-e(~=~(?=U`MFV{Ki+0q!t0O5b$ld`ppZ@>grDqBLNrOyy#pj z%F;-|ZB%r&ih?xO{ks*5K+M+=V!kX0#C(<$Y>}oz0yPzMrr?OoBFDr!2$krzr309c zMe7~fVV}=aRN^ZYrb&S1*A$)on?UEmK^Z#U(=z(z1Fa)%^`)+Y0#8xn`AzFl^rwKa z=jQ`OKYNKW*w)aKQ)?^rgi9==s}c2p+GA~~rdtH6qmuPSx&uh$mB6bek0dh{!XhEF zz)??My)DFktG3l8w&g4F1;n-}CARUdM7B|x2`@5JLM(Xb!aWO#J%#7H)>hb$^zY%> z_NC4xL$F=lPhG&!kX&s?37(cjxJ|;&XA%}D9SM|7F2hRO;H4t>kLh3uksvpfyoVT) z(hRelGm>p3)Ar3-XDt)p?}5GLQa-q<>nGS^1yNOCe2 zM&|d9fsrec%F@-s?-ZP?l%*}g-y~WPHna<(VgcckT0nRMO6sRpj67yW#DkQ-5GmsTf8bat3InxfZz)8 zo%3L6JNgZDrc8f<=t;Z(eq})EM?Ui5u5zLg)@K2Ya@fg8S|-+q=}cH3a&hpe$YK@J zQg!+R%1RHcS}4&>EYyWgtaI%s{>G_Din=G8l{V$^#kB@)McIx@tw1a9>n&^m*#qevm+2?3N2kK^~$o}xH> zPpl+UU{{knH(;`a&Xul7>fP9JTgvYP)Z@3hdt-i!;5oWGGVD?nC@Joac@(IPptrbx z?cG-eG&VTq=mteqjk2t`u>d~M{`LGa1^5s_F+e~c1ds7_f1;v0m3w177B%1FWBpn|> ze`aY41jT7dMG=5p1JSTe0S~6ULoG`4h|Zbl*6v_%2TF>8jkUu^4)UPD7J8HCJg?P? z3ThrDSR{LIP8$0>l%x+E=g+4J&^tY5Ks;qh{T56MTQgF zyrpjx^X__R2p<22I`OW;5I0K=fwc1{Y5X1L;SnbjKT)5CS@0A6hR-4k9v7du$7g1E z_!|D{Q4ZoX77`Cqqxg>R9vmfRQri8|^YR-2@Da)3O5hX0a@D42uBU zr9bD?->h2P(T;$m=L#f&-Y}N$i>ra7Xx!d z(lIGiRwhBWV62M>KEf7t^5}B@jOW7n(J$_{e9!!IiA8tte@|XX8fihZ&_jA1WCW)u zv&DD@Uy;%@hOvb7kILy>FH8%mKa7o$`Oi&vdFH)irpB9T4(T$l>3!*?UVa%3B8^^w zJ;zq6-U;prMk%pA1s(;4K`^@uZaXzPKp`l%vI}N`I>0W3q7`>KY}%hY<33=TI)8rb z3%g(G@BO;@yS@BN(L?;5(MI@3&w?YVXG0*$Y-uLF2BjD(5E5%DTY{TJUPQVbPpuO@ zfr=9mHuLzTRz3e(2iUThA59w9DnZNXcyQIcRutmJJq0Sl!hmA4q|o5L_&w+7o`hsl z?uo-qzGoaFq31UZg0)KG<87V*8>!=Mr~oD;jrL`yTn_3d3fdgm0C|tPIZ~_OA>}^Q zjFRjjt?Eb#@t+6{zN#x_j&%6Ct`zu1e+Gv+sNRZH2yIIPK)*)XvmSyWlsQlrgn(F! zx=2Dn$o$VFL~D@{q}LN@2%+1_BceS!*}EgA4EVXAB04LF9!P<=;URBG;s2bO>eQeNeajGX+<-WkE;f@I`XG{-i3v*1l23J6)^WKLVU-IJk+0_0TW z%4iY`45W^pYK9SCqV1=p&eEKwn-;x4w&UJrPozd||M92dk)EOh=#1|7FQ=5pyMP47 z#7TJQ3?u*)g45UmWl)4ruCWa&OUa;>D0&s>4$9hLC4$~!CGDKQI5=GpXflUQdIfuu z+M5}6Gzar2clSadeM>)KP-b;^yu;D(l;AbcowT}@^a4f>U={;eP3Q$_2|4+0qO*XkX+BNOrE~5Fc(Z7yzpT3e>>@Zl!^F*m^)b(2_)uDlE*0Ssk#cQ zrcSO;G}F|{)0jG0K3yj2e?Cl|tRLjhV(R1c!N_(B&A1ObQ_mZ z%vHb*%$y11o24&8deRB*f64(yov1Z z6R+D%F309LT>b{S%B7XRfW}XW+;$neFyh=~cS?fWle9S;8I@|#q+>87qJ3Ayjq}71 zku`)!yaUs1U!N9nPd|~}P#s?W^8_tUy*@TQmL31VxiRWV+7)_EAJ?ux7ywfOmB44A zUW9s$*(f`Mnj?cK%%O<1Lg6)Se|=?x1%tV3TmRnq^DnIJ{ezYzWSN6HHPpMqT%Ca9 zEYlLiy&?3ll2ed*#YjTY3O&1e0Wr}RfHMgG&fuVXHgh%TjKuz(&)t!XJbRsqpU9l~ ze3TreiFmP!@VO^`$}7)-vr>fIq+@58qnN>UP-p5S6JiqxIND}(aLaWP!BD928`u+h z*lxEw><$nY=yRfPlDNp27!`X8&7BEe*qi)7nz#roA4_^PjjVJ@30`+2UbrlhlM2I8 z>Hta&qpSfYQI`f>ky_F5fZ8gXQ?*P&dygccXsyof6*zjq@K96O$%gL$romH?V)hpm z1UN9qMg{UZ3pgDMKZbL;wkuR$(yDWKU zG<40L1jwO?AU1&Qbxtt4N$vi;%};ZEN&oqC9xH17-$0R354&xF_X{kD4XFY27Bd_q zUohdbMlxs?s1Pk4geZJP89*H&a#o;4t?AZu{IP|+eEc(0InIe#4IdtHZiv@#a-Ypw zHvKC5C+6sPtHV~{_ou_Z9;U+?j^4)4i{3^E#A0At3lPPXun;m_ zpBZ`}4=!1bA5vfJ!Q&crW!#|6w56gp2^mBy5HPKqylB)?1)l!g2gPWRw1y=!g?<>T zZh{-$1q>VI{3)gof=PLY4c;XR1L93Xn79{z|5U_Xiu6HqV|{HPR2nMsx%0A})N`bj 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 SW|*{lU-ju_xZlKhJO39U6mh%& literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansitalic.woff b/tmpl/assets/fonts/firasansitalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..ff5a05aacaeabe4431a7e8f5d969a7d3bd36309e GIT binary patch literal 28312 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

a+skf|&Pa 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasanslight.ttf b/tmpl/assets/fonts/firasanslight.ttf new file mode 100644 index 0000000000000000000000000000000000000000..c22cfa36469f98548d2ebc83d311cc090ec90eeb GIT binary patch literal 56048 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 z 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 HsW=S)NO?~+ literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansmedium.ttf b/tmpl/assets/fonts/firasansmedium.ttf new file mode 100644 index 0000000000000000000000000000000000000000..81f97072f7965dfde4f59c2d5dc99f82caae98c2 GIT binary patch literal 57332 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 K=RLyr;r|C;C1phb literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansmedium.woff b/tmpl/assets/fonts/firasansmedium.woff new file mode 100644 index 0000000000000000000000000000000000000000..12b998bb7f82b771a96666cbfaa584b9c793dc9e GIT binary patch literal 26212 zcmYhCV{j%veCx2ZQHi}#|wL>$lip?XSHpzTr3P`HqRc zMGD;l!eC+R;_=P)K|nyiYXR3ZilTP5u{Zwq>BfIE`u_y=dq3G0;PE}K{(rfI{|VFp zzRnI{Yx>Q$K|sKQKtP~Kc1}Z(9PFK4KtPPX#|9JqX6r$Y{3Q-frr)`y-_Hlq_N_&! zJHUfS7TIw7FAyYDkX{~f^1icfkz9nd+Err37v$d)qUdiID>IjbSdjW!zrn>kvO2YW zqxHnlzB(^1z1yqTFZ?<-FV`>WH|gn2+gBcyV6BP?SGpD7ps-2B!Pk%uL@Eu1jWRG% z1d$5G@*n>Hdtx2Y%UaH?9$I&> zYur`w)!eZrPkA`0N!oPLQN79zk<(-))H3El5QkAs4S9@ru+8CjFnH|wro1nCp)h_b zqCd!@jS~~kIT`TP(Siz(UOt2?vKGF4I>_XtapmqR#E^PvRoH0NK3+{lx;&j7N-V7h z{hfwXQ38;uvW{%5;Leie0c5$y8~P4c`kl9C+N7y<>0i2JcXdWa9`BAib@5+UpS=XD zq+>LF4J$>ud8Exu1op|otQ4JXPIv<+*OiT2trHau`P)hpI{J52suNYd8?ihN6bO6x8*xxKNcck}9;n0Dq&a=_9+1T^|M1%E6#}zQXyaH_d@{sg zOy{CU(xv!al?4O^7Po|3mWf=`b3&+TCV{Dyk}Q|_)T4+ah#`dAd*m|%z(iuRM#KfF zF@|Ra(mGDG-u{D}(*uGr{k%*Sk65V*cdeLdoy?t-6P&KBuQSuX;bwWi*MQoZWzi zp_xNUK+G`*t6Rh-l3{O%4F_;r;kRwXj3io4RV4lZ7A&)MIOXdn~H$h8% z-cudLl2U-1J1E`WGfKm3pLV#K_LY{i04d7qqi#sa+$+eHnc^tPD~mQPxryWWNE+G2 zc(WbgS`@Ox>SCnHmpW?AE`*T0#Cg3GWPKye{YrO}!O1=8fw|0e*u`y_%Mp43C3owv z-|r=Ws|vrEG%~0^*n#nOX4RbUiD^*62QM>vTQf6LcU$A{8UMt2?#mF)nr;oz;_I~W zOw{DJ;&-w%_&c)Lq=pL~IW&aL+A_9~!UN~c)m~LM%TsLi!KD;6?ZJi%AP`A=7?gkM zDQWIn&0p$9v_Qao1ZB2dsv&5LxR~Vcwd@Y`(Ie=Lmu{68o=T1KUnX2GAzG^+SdV55 zbrL_e_G(w|3|+{k?5hVqx-t=Aew?&`{b(|C^nPud5&^O$1P614r9o{d$Ei#+CDPU% zdN(ev!lOsn0=cNCyk?Xqv}LhH2!0yrhknBz*ACr}_r zxriXTU~V)Jdwt=~)`hOr1TS?toDf^Gvbaj;v-vkMhu)%dm3%lej6LgNR*C(^vVn*9 zr*`F?tt9O>c0Amvzk{7~s=v#U2{Trs^326Hl-)OpEmhm9i@w25%r7-m7?>z?ND8Q~ zB6h1f5?ZdnGjM*ORXYWox5fn;?D{10m6bJp6imkW|Jo^A%m!IX;Zak?OXrWv_9yYl zftkiRQrY?Ch}8cp$;Rfr;DsM-uYDqfP5sLY^OhfdtGnz9#+SHR9)D($!d{`sv9ki+ z*rVJl=U{Aq#>UnR#d_Y%Gm>`CyqQ^tb@4(iUlnI6NC&QjAlS7dM#9UWpZ&n3dgm{| z4=v*=%gVC2TEAIg3K)}Gz+sGO&9wf{V(>M&HN>u+!1K0lZMB(iq0Z@S{8_7xr+qO~ zQsDjtt&NyMOj}ujnp;is+3Df)keU`>XNso#Zfw)0Z|&O7$Hs3U2UpGY0birc=EHrB z9V!GlYV$3vI(7ap|6+|D(eBv%A0=OL>Cvn}jrCoMNS`fs1;FgU+a|htFW;u3QR$_Iq z+;@@q!}MBy8ua1&V7c#sJ;Pq^dHH~B^+?>v4aM#0a7q)rwMXan7<*)Cb`5)gbxl80 zy@Lpl4iNw#bBE$?P&Ptxcg;$087k*9seE@lEHSFo9$a z_Q>G7oVX7;>ZL(EvjjXCBL{oA=`FCFDqRv}KC?@u%NqfWrWNO`XXLFL{Rr^45oROw zrFr5SAMZQE4u04sY#L*dctHw;{^Uf+91Lp&DBk()a=6H0k`))Mh4`ZX&9(<+8Z&vO zPOSIC`;h8naNm;QFTVgwY1&Yg)tq?59rRjfHfO)%3Vbzex$NT}fgge1=jAtlTSNJ$ zD2x0z#y7GrXo|mvZ^H27k`FT^fXvDDP`U*svYyOMlp45 zBv}Tbxz+mEG|@ZfA#0P^)|sVN&$KzgX={XmzGS)%gJ2GCM|mo!a-c=($|7sREyQ>y z$C~x3>3|=vc(Wz)whJ!R`9iNZ12K`q;_BdEQITVmRkCHLUeM>NVx82XMy#*COzYDr zZzBK5#CjzvB;963oBDP^qnwrDzXrdCm(^Tl9_iQ3x?0I{)+oK>4RUYGRRYwvu_##5WAJn3@Km06PHy|^_r zjg8x^20`$oDb>YByu;Vv64UUn4W;#uK^M;qjC^}gKQ{;#Rs zs0Xs#w~nWH5<7~)5xaA!XKENiyTZ?pf4N+{v3!c0@$FQTo<$A#L?ig;r;Jf;_GSw#(MX-J8NRF2QSo)(-}C@_w6g>-EE*mL&e(4@^}g zO@3YD(r1KIL`$}Y=VX@vKRs1MlaSg>7k1=%N@I+Zm|1a@48GG+6DdyuuFlBXTwGld z9}cFbq$C~5K@WGbY7L`S*BQIBJTw96znf!W_v)VyS~BYnVNi6BMR!UQ^Y8GDy(whL z_lU)E_h2QXvksK5H~v}nY7IFvf3&lWjLo&om2*<;8Qy$;d9(kDjn+)fOcoxU!>eOk zr!_zx`0M`VAT&I5!zI3AJ5jiFyv4W!EaR=H%_)eMU2;-i;HXU?Z)i+Kw^KhO-9l@E zHOZ+gQ7G{Z8g-z{F+;dqaOCbNWOT^9Xzv+)D|$eJ-$2hiwQl=<(|^z`GM!C}wRp3| ztg_E{MJcC2C-s_m#H+-WfBk5$CB6gk$l{Bsh3ykW5P_Wb8b|-nwOa>5lgeBziN*IdTI&ftHBW*QWiNHj>V8zI+BNMWbBw$TBuG zV>W;9>ly3mT^K~|?djQu&&S%sjK;JL^nqlD#5A-r2bJ#em?EN=heLqt`1)e``MGSu z*-Je5EEX6D;MXiBoHrvZ?&W44Kg}MEgv3C`8 zMoPBIdFjO|HocJS)-JQ^F^}%=kgj2>nk9S(JnVZCJE2U!A-v-`hP1CD{*Oo~#-goj z=%IUL1w(27U95={h7ORNb?j+aDq1oL2PYdO=*d>|p8rLVj{4~za;>=FV}=|O5v=ArREe<4YNkc% zdLnoX5wiT18SsMmX-yo(!Uu2xKl2{9fGqey!6p&@zjI!xZs|O)j+)#tC^e#7H&Z~b z(7`EpL6M{k4JiwqXo|5hxT*~!O*1Ip#xTR&Z$DGr%6tL$F{E(TnrI6rwT4xa9)0Qg zgxBfrp3X`px&EYU5dO$w>((y!d(#_VkKJMtF;=wUN~r|(Q*R+syO{)!i_9x1$DOj-tGc^Hfy-{WIOr_>58VsT6Q4?k_&&_3OWxWoybzl> z+ZKl77=m{Lc2JUQ-z~z<-M7SsSoh;M zbkpP>u2yB}@mu-f!j6V=Lfhw^Bz(<3D#&gT`dI=s5LY#W;#NNdEQuZ3|IlTwxQLPx z>mpSj$v8Nz|Kt{L+4G*`@D|5o07JI2U|IS`TZ#wGAJ_z%OC?0Y)L8b4GM}-xX6lUkCiUP%Uoxk14=d}i?M}EM z8Jd+!s-MxzLnS zLacM@!32f)Z|&FZ_;QL|#B%70;`R7&GeXoh|R{E4>x6Z2}pT&)N=sTH0QL z6ySB-!P~d6-;K-vlu?*kQR(s!Ktr{{XOSjb@C`OnSZdyGF5pMn!^N2Kk{;&8El{P-|~ILmy;QT8*NU{|;jS zhomX#4Xt9J+x^5QUtrGo`33WvJbMhFnk>9PlI40a*i=?xu83eBL`J!-Roi&MHyK{R zm}911f8?8aWd5sAliX%i^oYB<3DCnr`=M)+l}AB!7Q$y^o;3r4;NjQ#Di58+xM+&P z^`|8trkgNP$KfAL>WGW-AtNr*8!s%i|G8?`2!1j$$@O^=%I%<@ja`5bbBJf-z-^E+eu4B|o}rp<#tXMFd5Cj@Z82_LS2KurKD~off#aMPh0xR`=Q9?yk0&7!-gx->56D@{TiYc&V z91R1GKDyQ>xR*5(9NHEpbB3uFel@;lC{s_En<&06(+0K%#zy$PFEa#O?<2?gvU8pk zi=zGI{nG>9N@dD($~ouLXBw+W7;2C;v2;urcQ*kFjl@`!;5wtx3Qg#5q|x~=UaMXb z2Q>tqs~YPLh?o|bWmSylj*g+D%JQm4_2T+r>%UStEsz4#IlcM*8?93|9LuOCFHTt< zr|cLXDH$?!F* zMjU7vxo&dy!M>_)Y%Ef83i6mM*xf9?VP>SmU&j>?UT__zNblQv-yl8P5!$I{Ymcz% z5<(^q7z}D-4B-%^DjUTM1_m zt<@mKujdsF?`F+QKHx=MgIek|&9p=Hg+8klr!#q_tCF5lU^gd=J-o2hAAt`7-2k5` zsn7ssB?N8USfq+WM~*NhjG*|hKalm032RX?4xSKiHNLRb1G;ORc5>3i zm{ZAmMbMzloVA*Gqmp?I#+d^M5IA>1xB;=)c%tu}9Qi5s6|gmmF&OFhuIFg|bWAzJ z;dO-PzI|R#LSil<(6Wbcds6<0eQWe@B$(vde@n*q9AjJtn$jw_OSVglKHo+)U`$b^ zrEBI$cK*x*o^jQNG>v4FJemiqk~+`T8N4XV(d*}BZ&?K?$FP;qDyI%Ss}cESM?L#~ z$dymPoHW+dN)CN3&SNinUN;2L;bG=+>hO*CG5e+QjUB$C%kiwXDfV!Hd}9;uRX=4(xA&{d~7Ix&d}ZSEhA9a-mbX1sh6gSS8G!VAJh>< zPxvT}ezgx>6b(ko%Y-QO-bgIC>``%NH0NKmOv}MYBij&oT*4JaGtI_K%EDarmXs6EqiS!JlooG{99@3Z*<)$6~N00&=RJM>=wxy3E zs2Mzb&A!qeT?00|qn@{7aSQ2%n`5O*?nhw14volS4d-&aYS(XVT6r8UkD7KQW6V6{m2ii5{(-~)l$m|y)D#zI<|xrqml9-`HaagEW;3y- zf+r}ew?}Q*yq^9$)*DA4$=S*t|LrOm>g$a#$6e0#fo*aBgzJFxBWsG4!T+HPQ@iJ<*?H8;WGSgtj-X4JMLfq1HcwuzwL z9ttt%vTQzij~qCUSFcd#>=FIb_El6c3$3XYgbMaLZRh#k92Fm>I%{Kp`5@$Y4DBB7 zP1&0XT*G*LHDfw7i8LXheX=tf-l^!m7r9a>6GYL|bY`)i=QzOkZc{HU?CoI-D9g-@&y zM`xvLHA{Pizag;pZ%$KBgH2UONmYNVHSsbK>b*397i>)fnSM^O^LXi2bg>w69jajX z$Fv&t;h{viNYglVq5|50im|iP_71L)k*=5K`@wRPfNQSf(cIf*yFJ>cQ-a6EUfevE zO;4&pAH8{j9ss46+GZe&8{VUDG&4I+a8u374&%GTq3ubeIXL2&&Nc=+D{JE{}{f9WqjU4W*1a7;(NY4U8NB`i6_34otMq@pjgyBv7##48lk5L82 zbBhm4h79+xdg^4KU>>y0ZOU_OYU;}s%i%aPYwp)OUY_YS zmO+#n59SVqKi(i<|VMhp+`aj=$n|Y9vN^!f{&J19B4bpA53JlM2#UFF ztJjm4$oOHpQ-N76`xo~d7&s$cyT0^X<;&Q#sivua{9V7+2_3x4lmYt;`2}HXLsMnm zzq3jD$w$aB9@tx07QPp{$;=XcnU(3b6VO;?El6E#_-a=}JPkF=ZPhkVXd2M8<+2_K z;_S$IsV<3WNp=euHWhHEs#)k29Y1K|8+acDF|L8c-dja63w=Nr0|Nz3za3lgiHB6UPMa7P$Vy%#;u7z9R1XkQYZd6K3# z(6UjxQ=MVZ6Ki|GV}!<*AFS7Wi@xh6EZ6sLDOL@L@0XU9dkP`2NXM_>98%2a^)uQI zRBu!yd53wMqiE+;>G~oo5d^3z9bm++5}KZUc<-a|!`=aXPZwb#R{^>$(EJ5q)!zBs zoM|Y|D+o<%*Wd4oc0iF%J_lN-@Kmn#`NvIEGMd`&0>!zO zBrAC)&26I8&P1xPB4%4O9caFfcujEK>4P|PZ}ju5^ZeJhmbC#P zH@M$X-0(J2_t5O#E|qH`Q~hrRPs_mcw_1P4GhW(qKx7}pHOCI)kFYRJ@aZ6kMZ)ue zGHRxjCoT(C#88l|Ps9@cM;6*}lxO+6d!X?aZdh%Rl0SI&Nj$^3JZ5stpg7*aN&tF> zn#>*yYsmA^m+xMTlush<$7R~HGp69bRJ)Z_*@a(r#czGJ9$^mZ739=ppE#yEMM_PQ zqrOZ|D;7)RO;jl6w=7NNLm1GoW9qiiRToxgC+jUPt9`eVB?7iQo=4{Ni83-IcZEr% zRqlG2D7ltzyUualw3YGqOkF~kV91kw+^4|u%oMP8&Td0np~qZA|2xE_B!5mn+~x4C zkcu0=^R!d3IgjJX5MGstg<@7R=qvxbXUDPilkyYzV?K5k6SfXWBP7{P>eE0D%=kdX zdCHMhqnK-bJ74Qo23_#ir{8UAt}lnK-{%`93AB#uE79D4P^NaZWJO%PNQIN=)7Gt$ zC-}2BLw&R8o`?4LH`92pcix)8E~>*RuI)C6RpPdO*Dg@9WKBhbxsm~sp_lstJ3+D!?ZR8T5WNXP#m;E?CK%VLhs}{BKvV&!Ew)-*2G*1<)c6>f1#nr#nC`J^3!LR zLeOF$B<2z{Vvi*BQ?PmwVSDXv|0}IInxmc#Vj%EUd`Fu}kJ(DJB$Y`EJqXp~c3=*n zPo0Y_raBM$ z&_IbqCEeG`J@YAiU2d+`)m2w-3a)PB;T*oyo7>l_U>h=tQI#5GmNCKN9nXbp*P!gs zn4We+Wb{Ca%CS`Yr}~Q#C{ybG#Mha|1DU8>&l~>>%;W0y`qz>$fuBE7#|>?Lc!T-p%I9}BdVBc-&8$?ZZPcqG=*5ly=`g~_~3=AV-H0WXG z-SBWj3e9XCwg@Ud5X?u_^e;U_N?J@P%h9Q&(brS#<2@ONW7F${uMm0vu@pv~AO zQCE9*UJ;j)(yetFzH+_U&e7b~R7$MG-Q*^+Qcw?joS^*5^*2k|`#fW`vE`#hN6@%B zA`D4Rm&3aZD^adjj*ESM;y)Om4)_&EeH$FOnlhJ`6yA0_R(dBp!2_{od;wXFoZEJu zAbK{hhlSJa3_vmK)^<4VqNh5d(fwaU_m7mYA@DnZE_|^J*^!{5ifQsa?n2mKvK)`? zhjo6}WvQ7|nWBhW+$E)cH>|R`yO2Uy=mjzhLQGs>#Xcl0ya?L+OKFqM+xw0&&~2;D zd7lwR_5*XsM_-#^vLWCvVSU)8L#)tGen6<1PNlk5JwOu&!zDBb7bb_x_3otF|7N1= zOyLW~Ey8|JujS$6X;7x8*Yej8Tz{Ij6&4%ru35z*wL`S`_j>SRB_emzby=_3DCXI` zVrY8CP^W6hr{|sUt||m*HzksYG{gL#2MH zVu2T<@5t@bOu`@CU4*=&5AkjV`7r-seRknpJze4g_ya=&WuWN^Pyn{KpY5oQMrKw3 zH8@8&?VRyoyW`#4U5{cis`&?cZ?*@h$Q~bGmE_@YCcW&R!g9cR6TwZi1c{$Rglp!)8WN8Zpg3~ z7lA{}z+m;0g9ng17Z}E+S$w!ijQ~fO%+d%8G%nv06%Fov9>Y$)a5`%1Sk=#+HW*Ry zt53A2O{^Z4c0;b%wHWvj$nzOExucz|(&;*y(eJG@20VLp9uDh%QFr#6BL^WxJGo9{~(*Gq=yf zfxEUQ;**c{2hZs+mmL{Oq3c1jovF6;R<-x7!YC+J6ALh;fArS$8)#6Wt)Wt16~t50b^_;5zzqy`UJO!e0_X&(xvik=**G{Z z#zmiV`31FPqC?U1>os)ToWsw)1(u@qsB})uKSbLPP=jm{LjUMWH|(O1u$3RgkRNHp zTywrX zIv=rN*9oQTzk2el;En0L=%8TI3G4|phv4I#jKG+C3|qHSw{5>%*}>zf?gq?jgSj0a zZR&TG-PzpFh?Fi{+O;NGVbbC8gTFiH$pJdyKbu%+hOyyyaG_}v%%GKbn3kUVgIW3U zQ=LJ^xZvUW*erYw>j~`|1dU}`j*Ah*E2fSX_qPcdJbUt#&-=STr{POBXOn3ppm?wpD#7ot0qt#YMucfAW8sQ#wEV=s-#4{8s; z7xjVNYxZoIbx}+<5f!S0SPwUIW;6Ie&0(PLiCkK$3bqHV|2~2p?kdZndvRDQf=wrt zm(y9!X^t4YDVc9VPRY)h#F@n3ZarNsHDz_7P`smvZm~I{#fO{&lqaXh_C{i zPi*U_;A>O=6jPx_BUUr~1uBLk37|T=U(w>a{cgW*Uw8~&YZsih7&5H_MxrB446!;0Q~wEe zc7fRy1Af8?1j}0ySdAt)C^XPlvyx~Zh1&Bx!1t3}n(g8rmk2i#E0X>r`XUs5yY1~w zYiJi*=y$8%t6X2OqHWHX))@CX278B`NxQ4tGp>nL}Q zC?e*05WI}Umy&oTTS3K*pZ+U%U>C6-rj89bYU#%Oo871o)xU<9e0!T} z7`Z>rf1RtTgSjoro^}%pj(zr6#OLYy!_}WP;VI*7VEfLPrp*r{@!j$V(!QBekKD}& zEJX-t#ok`VFQS?-6!p-sh3(NA(Kcj~zOmz>n&R36QUQ4R9wTul6A0F{cfTBV*N_0D zI8jwgu#xyT_@9GOj4n+U8-6c!Vy$V|q|=~2mPhm>XQ z0-kvrJ<>RVB1>D0Euy|d2-a7YV7^!C>n-2nEFYt#tc{q>MAJ@Td3mkpoq@T(DGmTf zsk1TDSyv8Pd%F{=D*71Sn#>lA$CN{p7AM=OoF=m11Ti+GNpIZ2H*KhW`gonY)t2v7ee?N09w~4~GC$!e!w!V2obDTL*(Lu(yIu>sUGiCnN#V z*uJ#RXWoy3Muoi7IL6BfU4I|5Dg~5LkjV$n_u=~W=4}3_Z9O2Aee2WP*6@^oLCZDN zY5j=Hk5A|!mbq6wY#lN&FgN9t;U(Cum=Q{oGEFFrOC{#W8wrJ0`wiQ3%V|o_^AbKN z!5{uSO?n(z>Ob2kn|2uHyO?C}z$X|bAPnDO(Ll7z3s@g`XgFt`fu|S=S zN4h5AJI)K2sL5ngYrL*UZy&#t85@^@9ead3L`B_)bHcNB^4Y2evX`haJa;je%RSX; zNc-r#lU36i_p~O>Kjl$XNs6x*sY7eJU4qLnHu`^=UCMh*K+!-`(~Ja6K=d=#K+3j% z_K+Z1YQhYcL+t+R^~u#XA-H=3^Z@7nH;Ehj`P%%Q zfj(${lj1-7;q%}}#%>il5&BHzI&SEi<4?+FlGvHvC&k(^G-j1cPlPf3k6vwujXt9LXSr`&kykrjWMZ5ealazGqX$Qk z*5|62^Ofj;B+E)iYSRuJSyNgzKSOS7!X9(Fjy(A=QT=%$1Qh6-&vm|T7BKccN{yEM zLA(Dz(y%IPflwV-d}$OPsusd-mvJ3JYAeQR)VzM^$H+T@NjuTKiEi^G|9Wp9`ovNA z+}j(@SWanTZ*;BL`MOWAvekG?AFNvFWgiK?#tYqp7d7e`0MX1%%9Y?i&& z{kJf*GUuV%CE|m|?$x{|jb3XgyWwdZ1wP4XpFDCv}O}0RVOp7Os)S0nMKrBdZ zIF2Ifa=5*EMgSP~FzuqTDlji^a2VUi={Dj)h{0~W_RnlY9iokN-J^-nY)|O?Jx8|p zszf<389!!QB`b20gfg9v>ayjgsU5-hjHUIF?Cj2}BgM$aT*p~LVp#b7_VL2oJt_Qo z)|taJW=$h|fTv_?(Uo;sCUKe%j#W!YJF5S;l{)h7FRao4{MUZGped1RzuTR%`WunxF=gvM3I`S}*<|1}rW) z6{g(wLV-28r@YG$vGI?I;^pvvjk86m6Yg_^FF*(ksp>k+bdUs|nvNbOG^Y6LY@D11 zKPXz7OzGZAy6FA|iR=Pv*0u~OMBxYm@!1_vNiu}k64axZNI9q-diBs*()hsK-TXoVTFXihV9&gNRZ?&<5=H8}LqVSeGy+meLU~-%Px4 z*46RB7g|culu$9WH7PHB5&xQu71+Qw8s?u{~qs8GVr}a27fX1d3!V z491f`luM#)Zb4c0y{lB{@b@!ll^G=ZAb&RQ$G4@i5YH3z@julsGP2T7{xoEb5qGQU zP@fzH1|<+?Hi*c>v=(LCb;_q|WidR1<|zr+z%YbhaS|Z*9T9zy1aVSDt9tQiX+3Yp zaA4t*p=ma1z25~R8pV9w1FPlq2Ci(pPPzhwKeECT+AxiZ^pgo4bHg$7@i^?j-VX)Q zc9g+}us13Pv5{DyVI*96^F@HrfXw~8v)a1ZhXs#SQnb)3c7z7aIn!H2gZ8t)sbD?C z&CkXod7rjD!?(`i8-B%um)+&nW&RD)Pi*rUhBj&hr>gO7JzrGIa|na|7n34KXE@6Z z;mLF!4w_(YT@nkT$D6j*grRc5y>6S$t$BPcXR|9ju+1Gbxr+$yMZN8%{J>2u*}_p;os{U!3*Wf}T`0tSk=ooY%o@ zlxf{Nm(R@mi%1uVkN*KuvxxwoUp~@wQDEDtJB>wcqD3jGq<}o;1)2Mos59g5 z&FM$Z-jdbC!+!T++qE=i*NH6OcOzJ|xwa+h?A=z|mLAga6pL;Fy!uU>>OC`@ArSvb zuQqY&X6}?TOQus%X@qJ~TBkOOGMAG?foM;2ieOdu;qMlqMVsEw3x{qd(bYm}>#$W$;{hdAS99bHvn=LG`nw_W z*YAh7X@6#PaVZv3+UU#b!9HCwgc`1;-!@XcKTba>ID1-a2po?HZ_MP+!%(vssT8U# zY6@*DDwM+Z(BSo~#DZB#q417Wg5ePklp{YkqkiW0zC2#hISsXsva_sG>Ou z>i6HA^@fTl3xEi)T7=K2?;vZmAn8}MiNmN=UC;H_u(7bPFtALEBTDsrse?5>%@K91 zjJE4mgocPS?)V7xwPNu5PS3s(c*Az_@w<9#KEF14^oBN`U9Z(YmA|D}UA2B(dM`$` zy?9UAY!(b*Jk#+E>if+g$>OVc^bF|ELy*j>H4@)2d5a zp;R>WZ|3Xz66?3K#|ecCKQ+a>bc1TrAoL$43dPXu!&8cnRSFaylQ)lsGg94!4&nQIC7LuD{Hg56^&VOGqz zE)okT5Yyxe9Ldk2`0NVBGaU8*K{RrwcwoWFhZ(Y`!I9HU02fV32bzSi9{{F@97U)O ziTm=AI7x{Dr`}T(X1;Y|4NOtcb{QfS)V+O7ze_){&=X8OZ*`R^`CtGp-Zl|qs7|h* zA~link$rN*_X9D~m0;sQh_Cd3zHAcqI;rxU91Ri*w;^K^F6sgb?}I{sfPmNGrSUR@ zt@er|)Yok8JqH@wb4J)m@z0~&m)qTc+i}DCu4Yf-n)p9np49V3BI{=HM`1k)i^%gd z3geH1vP*pX55p1QVDSqk?DId03s$W6qcypi#yfO7-;E+pduyU{R7b~ZOxNp+Ws`;U zD^~t4lig2&);ZhujR}$T3a=^n9)4yPy5qc(Q>4O}S4GiYUbLp_zTT=RbiBWK4_*c7 zeLUDc$!GJq%#VufO3bV3CZKm&9&}jvwS*39#t`|d&qIPc+i&ENGX*hX_eQSAut&lC z6P628Kl%fPo*Schddgw(69Rn1nLvAmuch@DYz;JPk#aqMIoN(ZQAfZqxQ+!wn6||>#iXF=sdf^x zqKcckc$*v}*91a!?(!&9yPfi^;e(3Ju4_m!+HEa*v2D&+uE# za7VK}6BB3Kn)+51|LiLHzu9@3rysdwpp+nd-qg8YHj2caR-_5qk>0_elgQpTX)mtC z6&R^XFQVJSxYw6j&eNg55k9>7{T!iPO!NT_T5DfV{7#rS0^XjpI~hM_?vL$Yi?v#_ zTd`WiYF$4Q=SPDu533lW9PPwk3T;6^T#ipo6;tf2^v47iv47}KbQfD|YU-5|nF|1Xjr$c105f%M64MBTlw>Oe?azZ0 zk-lOb|C&;n4Y?2kT#Mf3(J~D9BSWr}x*94jikK{CM%^4ZEz8)MeOB^0`to1Jq?NV9 zQ2lLOw@adt*RdY|u+_s!!VWrIt%Q)X=h`l$r&*Y+ZPVDSi-iemI){0_ZtiCxW-a=A zDW}l4ysr3&J07u<>!ME(Z?3Q?%%?SR4#zY-sfrB3Z>|a@VoE}PxqFuUlMX3=x@ld< zUrlPATEh1YdteVZ>}2fEda>%KeX$Z8)0otp(syWWF`pXS= zRq%FpLk|lo8Skvts=l1JAdqy+6ux=A;(wD@6bp*LZ2^fnedz`P&Y%DgX=8^IshE#nR@!1EZv_l26A zK_>D!kRuRAUGkF?Oq8NwS2rZI4>)Hl8UqVfMVl;Lc?6^GxQW06PHhuKGytYEX}S9E zl#N@SO91xm$kE))P<7iK!!y#Uo`n#lv&zy}I>krfSZqnwdXlx~ICTr_X_{$w#9iSN*(F6mdED zv^L+}Fx;uh;m|EcLc{qu)^i;Hwu+x_8<#EyRoT@@m50+l2UWzDRmkpAaCp7G3=|*P5rwcB_#_Dhq)1-^mP?km%XmT#wGN>=Ib_Z7l zg@yeI%O<6ve|l4QIhb41C-t$D z#iTCnw{a8kT2D$Y=!OKZ64!7`K0T_Uc=f}rn|ze2h5TToKGsyk3VFEnU?k$SJ_#Rw zv8Tgtv(mh-+OVmBA^fi%-mhRrgeYC>37G^uXu-)FMmALWsc76kEXG}1psUeaWt`fE z;@qtA^3khV+d0rG-FQQ_5<{hx21_Iyw3}F(l$mK_h%dezwej(2aWca!(-N9l3S$xb z)b(ueI+|?Vbfyj~j<^o73GKw2qEne?<#vE?#s_m(+rmuQ~C=;xo~ZhB>Ppg z2mRF=;~}_vZ4T#IZ4ROHDW<@7BL=!QJ8rBJ%7w-Cg4xUcWt_KyS-<%}*L&I?iOq{X z=vcci1(MGC*LY3#rlY+fECUR5+D8>k;nkWXP);(_UXDU`cJPw==HHR-4RoyG{s8<9 zmx=s9@Q#drV^USc?zhF<@*SJAPY7U zvY`oJi8xui6d=Y@(vvLB#Je?9a0&}SWkIZnN=41^2kDh}9&Hz1ynUYe;3v~lrfp5q zK}1$TLDoipf2uPayz?C#Jhb_Q;^-Jzz_e}S0qyW9$bnQUv5p@4)o2v4YXeI}h0FwN zE0XQHR5t!mr>B?|j!_s`lu;T!r`trfR~Uo=B|CF#1A?o|Ov$IH#CFD`SYSYuVe0x? zf%_J<@CQ&yv4frQSI9b9*_Xi=n6bpy*igfkz=XW@=?S;T+K7ZMtCL!?bg{}Q1hg~I zhiI_g2ZQjX`0L%@MC$xmos;n2i;mM3%@9p(pkLh?#?W;d6F*kO0-LGvTScfXzFHkC zTlgPVxRTnreys@o8ofhGJ9WJI#Mmfn5qPiA=Ul!vZ{y{lGst|iMb4g~XRJq#9Dc6> z^9)SLwe^%7wKL1ya5vj*j46@Xn)V*7HTKue5GU(MpMnBniXX5e)Giv{SzwOyfx2a$aR)8RBFs(UAdPPAk!yTk+bka1ET%k6MVR%TJiaR8h+6$l$?Kh0JAYbv zQvHLbQ=m9Q_-i_dq_9#Yx;exu8xO_065!-&XpKiW80(>F1Wm@`SR&84A0UeGi(V_M z%*bZCC|j0WG0Da>JXZE@sIqWeC(IzRV|w_(RW!B2V_rXSU5*HuE=>P%K-&RvvId* z-R<7q(NiYIjDpF%8FO&HA51dOsPdID|9C$9Fk8Q?*z_T2?J0&tC)Dl!oS3X~1bEh8 zmLA$H@VHr-N-iiX!&*5HKPHJ8I>p7{{*0Ew3vzCJo2F3||kmR`(VM1sT=FvnOw zsPs6I@|P|-ov`tOJ3n4-aHJ@H(^g&m9TG}JGo=eBlsu5>n_gA zd)o>r=v#J;)pPRx>gDzfX43l}cqhAnXE)A-+8;bS$hQIyt{^^N7l;WS`lwwnyC4+? zR$M(QI+rfgw#0zl=RR9=YqP^NJ$y-sQlWff2+S_2K3M%>v`2mm4tpygzD3@@IJ0yU z(WKPKEkhgN{>MEmq#((zH^ESHA8ifP|AP{?xx}!nS=vjTC}1%IY*b`|xwIj;wjPHF zNbcp;+MZeP5Rj$IjDU;iH52})gRRor#}BzUOk2-u!qLk}kVuh<*NwhxXZ_~Tdgn&dmZ?eHmdj!of<-68=RV%Yni)A3 z3eno+S2hV7rim1&5Sh>>7j8N>3XMtA`Vep0!SIb;War$OHbLdJzT;A8o4ML=RYen4 zd(AXT2|jmw==7w5?63EN=yQN6wnN%f&I|@AKysUSK{Sty2lJ}Dh^pUA&F;NrW-ARE zQ}R(*n@kN_lM1Kn{5xaq$CjaQ&g=N0^y|3|81V%);qyK#Q7_X;w!Cd&@*Z)|G09z9 z6eb-oks>{3zhyxUlOUAQOeVSK&CDIm(CeBz0@7y!vuFAb>-hryPd z!oga8Ynoi{tg@Bh^JIYKy4OnW8h7kH^}(%2MuN6+@1;B~#?2AE|BUt&)Z z)0rbD0NVh(Fcz=$fG!Ad=D?O7s%cVS73FB_*h3X%g@o25Jw&PEf{B1EtnmTAP5xPU!5z)B$S^JYAUaQt;3-w* z9+0gW5~JHwUqU+PH6?cs+W7{hb1>_(3H~AtC=r$~C25+IV54csF*i_Qqa#dIGHW93 zNG>4Ls-szLCCekj&XXfLhSPNVQ_TWO4|^2*lw)w^SvT&&^Y=2+nRD=1UgDHP-^R}D zS$R#7>78#T#Dg{x(Dz$C$pjYTR~cG0;`#h#P=<<1@9(59v&JAa6`>XzG5GZH8Eei1 zfaKi7%6Hxx?PE_=zGKQbwHdutB%u{9ENh3`8YiQvwQLrS4q#dJAQhne*U<-Ke~w_& zzpMCOx>dPYB30^E3FlO_xCEOdL=9WBxRqCrbWt$L4S#SxXzHk$Rj)o2znFBIAp&*n z@5HT!PIYf>R_9p(!czML6T|fZ6%Y=7^pX>&VJn$56^0wS51DtYG)qr~wscuBh;fk0 z&1@=&J_E;mDd;DCx7&W~n6+00B_$fLA{)(r>o=vA=P#*R zs^6rQja?I^jckDyP3`L**$BLC^h+rAZB3ndEab30D|U84c_y+!#onsQjbLh-r zuR*m5tJ&Z*60*^-IdUX#j1BA{JfrY=$uKBPm^Cd}oei80o7EuFY$j4w4sOM}i>ZMP z<@%FoiSJMJ3)FX{lBmTrf^jTABVA|Et#vGKRUD_a^hEAHPbfMsVU_ayZ~cA%e?v0We+ z8s&IMPy%C9B_x}fLhsB1MQD|9T0RwVo> z{v{xmFm8fLajb^hE@p-mO}gUTDD1A+qTqH#$IN%vKobTX9Sb7~O4?VzKVrK;26R9d z(#Kt@zu{Q)ZrJpr(fOxWg7g;Y>91D!PEE3nHY?8%7)^<#f=W}6918QX||xIIixs{mLSt|K(#h2TnoCP9_{m$ zR<(YZr`{VAOC1g-{7=lvp^W$k9L>37*xsWV9mT946FlHhlf_XA9sWH#>U2BXnM1j$ zAFtI7653C3aq|O1#;L>Ix5!*1dZK^K98Kd*UzM0Eg#9D4?t|`3+8ZMP7md=ofeHE1 zTjvQSGYLZ3UFl{s5uwW?gY&!%f;v=9vxC~{(K?hwUm-}N;wUL zKf>DsGhi^?H4iBcQ_&iv)#{$i8Rx#i!Mjy+e?C48)THDr<@_A|>T|)ay9DAE2d5>6 zP#_y&Lsa^)XPTCxD}O?QQjq+@q12OI$Fi%`<##M-K78wL=De_{uhpyLGxwRQ84pc} zIFF5wIb6)xX4AltoFcv$byh6vyJ1RWKikd#_T1C7r1gTArLfyriUYU=UujS7lC z8=$T6CqEl4zMG@FMXZrT&?v>#k>=$4v3@XR8J!+6nX!=X#T%@=V8DHa;Cq+EJgt(y zXmstZRnCfI-ApkAGKpl-8u}=E@e{|9NpRepAzz z@5@|Hr|`gEA9wI^yl{HfXEDdJ7cE>;9~Wd= zfn>R)_&PNm0`1m&Fn!?d_?w9N-8Vo*D6R+H>qy5sS5()QC=)u~O@>w@IJG9* zBDaF){nmHPwFSw?T>rvCVdDRuHUaP<)yhNX0<5P{NYm_Fj_J>G`U3{!5j}1@g`^B4 zfcw+VrfcwckP#FcY+zaArZiD> z2$S7|ZJi5rGD*+pw@K_<{O?cX+$D02m*kY@%yW8}`53$Z_^Oun?O2(I?3ASkykPKE zy&lVEg-*nzwE<(}t%(KwLc-nK$B(W1%hcoy(?+rj z2^S7dHKZRHwAL@%+N(AZh^Y+?nPw)OW7v2~saboykt@~kcX}Z+!#5uEOXXHXPUAs! zebCCMA(GOY)f+*@1yscJ5Y5^!R<1l^;24FtiIZm)4XEKZpE-QqqbM1~>5X&=-@+<@ zD><#}HQLRM_|Ed}oO=MYJkKKOwN?CG9-N0z;fU-`AeP5YdK7daGeOhzfv}j?SZ9Gy zH!#~e?6Td8;MXqM%)g|^XP_esmFF@e&`XxeZFx|ACqQTx*^HidS)?|g&>By!-4u+t z?XBXae9#T=d*!6 znH$^5RepYXM3IVcR;RR7KmWq^q3I6{GIpK<)AjPe%c5IdeBL%P+KLgmMON;ZS)gZx z4hgbfLW2Zw5c`i4hB}+Ra~;jL|m6VnwgY{$bS}Jya3$DuyD&hZtMe7X8E`Gy{ zSg4oWEOGY%Phz{VqHBoJZe2w)j(hxeQpKMF?t!Hs8@4&$=XmwJZ=U1Up4Jf1{jyt% z-Ymxr`}oD7CzVa&s<+b7?O?AwI4CkWcrHGVdca7)EOjT*#mJ>^pTnsJbsU+d%If)K zCtW5Q9ITa=hKfYtteQ;{;ioFOAF;Y*Y;vBC0!G6kB?6bbeEIxhK7Obs+J37mN#DQ0 zVyvPZ+*5?VSA+|9fKMZCyz6@38;2Q4I0Z_WfheGwjJI3zHlwu{9)L&RHy4RNKhFvsbEA{(wJILPHaRmhLx(*#MkwZfCz%0R+qsgTRY@m}BlE z-9tEY-tq=g*TBY{Us7BBNyc>b9gjt627ax>B&24>sb|6sa`h*LfLC??WH`Q{JfjiI zKbm5wfjeI?syQpFyuCk&3P@KSNNOw9ociZ(%VN=eEQGFs-&H) zzL@U?h+q%tCZ+EYoG=2u^c5QEBaYUUE&Ny_y2fg308?Y9_KgYxt~2sk+1U_>?C8y< zeY(R<3o?mK+SMZGb+f?1!kpj8zZY(jWihWd=b8}``SGm@WX$$Na)G|zQXS8!gYIUM z+5LUw8YSeX9%pK^sHzri#Od4wAt^GfuOzNbGZ) zP_UutP33+a+weFPU6wmmXE)Oe>*31C{Fjls@<}#C?<)2*dquHMRo$Qq$Nnsj)FfI4 zi~&rywfO?gL#`Ad|0MTzXUX7O1s};yl|wsAbFtL1r&DKH*w)ko?%*`V!(8Unz;K2* za6y^&M;hL__oGw%z%FF2y(BjPwIR1dB=MhzJ=Vv$T zWxfhEIwKTBjQ5d1tx;{I*8#h&PX9|m?c^-YAgVgqDhj(aBwsP!kO-bqbrN}QC8@2! z0DrC7F`Ov#Y1u-1f3`F<<<*aIPhI)ue3qag7N10pSdtYmBpFu*EGnI$?Dsl#Ryj=< zJZ;2xTE$`Y+A@pY+!cZHbc+zM^=gPS9bcjuDKPWQ@P&YnsZCDIo9pA!?JpHLsDqc? zC!F~WpUQ}|u%L#qBlK`T`|ls(L2wX8dbiN!!ut!!dw9uf*Fch0-9({KGqkS~&xqCZ z7)4s?-{YBcJ+3!L4A{7`rmVYFT0KqF^RgIbma#nXH(7{kbskv>!C(<>pFX@=)pGIT zRNCB?U1*U&SVmnVf#nG(=mASVLN$WS?Ml`Is%2kzR9t0&Vj9u+#UlPpxAKW`na}04 zkwD!2f&821wiLsqdX9|FK*;*I>IR(BY0UgDK|$!#FK}eBM(qD+L>U{H7#J9&sArJ2 zJ?rrGOleTq9bpNfgvuyUF6K22`(OL>Re{ne3o$^0f6up%Mv(lUH3@Gc1HHZNhds~N zFiRj%c`z&n=-?pk$PkzRt%GEmC@i@kj6U4ssnSBnFtJupQ(a=)(o#ZSTooRgoN4_! zvJ{lkDVj1fq%uQ%LWZ7wR+maNE;0f~eWIA!>3XIawn9XAqKGY(l=*(`y>Is$cAxVr zos;$Yz3Zu z=mbdnAyhM{=Y6_Y%=R<4f)m2aIly=+{xAK>qN`{Br_>pVYiNe}Z}am*%;6#+<2qdr zGKkY?tt6>4Uu4sf?B>+RURKy7O4Aqv*#R4$${xQt_I!vPYYb0Bf<($WJvIyT7x?u} zn#{C(-@NM>bI!3zk-`%IpD=^aB`oA-O!JyMBtF$ zc&R+NGwPMMR;s7S&lUyr-Gx+qx?J!p6}^1iI;ev0;UcT2!hIFzExMnFgXdw=cI%e0 zwqs$8#@cj<_mY`KQ9kNdt{Cq2)H>ue76`92{_#pgU5yMV=!o^;;d%PVLr?BqJf*DT!gxsz&- zsKB_^obfMTXE$So_sK;qEse$47k%5n?KRGEgPfjby&|hO{Vi?hY7sf>ZcbY3N}pyd zyvix<2`TP`wsY9(2`PwE;NdPGiSqb?9#R%mD6#-QZH3*FbodP`sgA5}N6A9A{ zvkprED-UZ78wOhqI|lm&M+K(~7Xvp54+*ad?*g9(-vfV+fPuh`V1^KZkb%&Nu!ZoB zh=6E>ID>?MWR6sY42E2Qy#52{hry4qAGIhrC^jessK}^3s6aG4G*z?|v}UwjbXasA zbTjl?^brhX3?+;*j0a3yOnuB6%mFNLEJ`d#tQxE?G^~>^B@y97CK!oM`|O zzygo}SO9$CGUJ-##^Da)?&G21DdRce72>1d^WvN1XW{qbKN8Rr*bw9p9Dl3O#t|M8 zaS#O%lM@>dHxjRtFp_AJM38io9FPJ?c}Po1_sPJ?*vJaV#>t+@>ByDIL&)37 zpD4&FY$;|a5h;Bs=O{m^#HkXg`lvyvxvBlB+i4(axM-4SI%pngC1^uvhiNbA(CPT; z+~|tw=IM#)E$J5-1QKHBQj+o(?X_&Q`BbfV`pIF#f zoLNR$5m`l8y;hWys0rNa`w2KKeCg_c|-A+$B4u5 z;Bumi>MX12jtANo5=aSY214l%*5*))$;s%keo2c*gNY$e@%Q9GuE{7qtZgghg%y+* ze3JVfD90SMTQsFD?%zyh?jodyYd(aM(D<3xfk`w)s0GS2{nUr(6h*fD;oupolJETX zU0V1S?uY0Ra`vFn>wc1WBHUZqgy9Rg0q}>vfz|?dJ6wMF;@m*-NBbdpB&rwcgLO+x z%wCt#(9{||>OM&HqSVi6fTmg$KG^oks4{+{|M$Lx(*97LvV@GjXg6@=GTYETVLXS; z0UG7H|M+&;*BHLAZ{F~_Wm-OTdT~{2eK2n*HftyEwhAA|*GbtG)paKb&S7aaHOy;c z0Awj$#?4m0*83{Er+6YvDBrYW#Dkh2$RIUNlOmc%c$~=IdDL|K7+#3&slkcnva&~W zGNOTp1}vy%aU+YAF=odnVgt;0hNVQEe<<9wA@?tW)G8rmn=a2>#*Oq26)I!uv88R_ zeTo>YeR8h_*DLw$nXKQ9j9d$pCkW(>^^R}%abdSKikv9Y*b68}`VrEv7_%zN;Hy&YZ~>bgH> zz1UO%W=fNm6e=#*rLdXnHUI$neVXNf_^4r!-WEGeBR6m{+?sWT-?sUS+t$&8ha@CU zJRw9kv50^`j@+V>_@8Dzf(lp|l*1z3WIrUqzV& zr5mCKS9?Q%Mc$XV@az|o#c&kFh2O7zleXiC(zfjGN@EdwYbm43ahr~CNlYRxrcfp< zM@2XbpO-!?YiKUKi%}QouD;wkjAMlD;M$iNVCieGoM9w5tcUT0ehq~ViI{)NWP7K`T0&~^8L1R+c-j|qht#HkKy#31BX(6Eg!W0NwKMxdq;s^AX zCOq~WFAlC5T&+n=Qw;CA-$GUX{GkysO*$zrDK`{xqS9cCQUGXLmsQWsBVC8ejQt6#6{t8a8yGBl;8n01>2 z%S65e{Qs3`e%;S}0%h=BEPjhyC5cz67%vpp14?f*@**;d#xe@ZGfGY~^6jP;=%$wN zrWX08mci&3Na&YP=@(h(m*J`xXsVY0)r&mU8gU$D`6u@LN{SUF+GlDdF>6IrYX#M7 zC70uBW!1{bR+lsKmveTHmT^y3xliW-NEP~FYZV z8rUUBxOIJhD4@UV8FGw~qv4^q+a2NRt-0hpX#^J;LU?T`Q)qR<-e7?=!;W;IixYFxn`*kLyi^|g zF4k^Df2q7NpOP0I&7w-@St)|Ko@EgXjMj?QOqeu^nqrsXey`4N=exR>QGFz_@JpFN z#dCnpp;~67(@xg}x*jl7l8AN&(eT?Y>ERJ%HfjaklD695pY9l7_>%^&+BJsfUrF23 z<*5AfUU7mAUno52L5D6vRE5gs6qC>uls!~h!;7^oOE zr?Rz+HnusLuDx^nf0gdGi*^_5tKIbubygY^i4C!1OR^F^~P`a?5V?7`UOssDR+ci$x5`34CjQIJTWmNo$}I4|Tp@h}SDKluv)2DaNf z5-(NLG;({QeA)6_E0dGUj%_UA0y>P+d|#U;tzyYv-~)QT5KX0dt4UJ@hz22J<6z^* z9!xk%w>p+O)^)5SZ*U!gfac1{hH-O%^v}i>$mj|y>wA69*Imgf>`L|YgoOLvldSLP z|2Q3GMg?|KU*zPb*W5Ba1_;^!fS?Re!J1BhHb56Hk&Y|q=-1V6j2{STEhkIxP@t6W z3$j9@TcL8W&QvdLz6X?`P~<@|FM)w<2y)v#Xr@!xZ2YyL(;y97vqg=7A9d?rN{X0; z6lha9!89i(=vN>AtkcXe-n@P2pLG8-sSrd zUC`Vu#R33?MQ+>K-cW)mV+07Xt^Z7#8UoxS9e8s-F4+PO?Ovgt^RyUCar!emc%5qPm0^^zHWn1 z2=PT5CP}p6)2UR3km-a_V7i7Jfl@c)C;TM{VfP(P01|@0fI#>O9Hy#T;oy1VWV~(< z2MD{}p9de}EGkZ7tzDKZzyv+8T(K<|U-y|Vf>F`C5z$WlUvTGJS!DRmS`(EB3P_b1gw6f?HFTd3Y(3^Dz=r&O5*>|q1n+$y`4|r&yc0wUzZVd{7g)$BKUMVce+;qj!{!kC8EFc! z-@qlrQUL!80nz$x5=@|dArul&I4FA9d{II4_RL@;t&H$h1xCD@>SC~?j=N4ET9a-a z-z~_S*vH_TG?N1owrIZN6FGq;?<;eHwAxd5xz9wpff^4XzDi0724a+}2e0z_H}U(> zCES@+CsS{Yk(HqZ##y8F3ic4-8nx%wA-CFhi$tEc6LEurS6N5|e@iV{K#{Vn^ZG?` zDWf>%DkWiQ_G)3K5nGkhv`VePqgI+h)W_G~DkV}Y55Yk>LTIjDV~FXql`AzWK+#B*J8`9vf5gk?X=5&2acUQ zbLGZ^$G=KfP`js|L4b4-9eREWUWQ{Z3WL!oV^Jn!G! zq>)=r7B@A;G!wua1R7fI0%LT^lfKsmAbJl51^Ak1)()+x{itQE^GSx4g0vh2lPwhh zN|4(L?&W=B(kBsjTM-g))qtwe_f#(sxWHGf+<@^YR_?@$+zeAwsaZzBkHKuis!KCK zPemyuIl$u;=LJIkyPlf*Sfvi_>*x0BY18yoX95F!px?6y7$f+q)>tlHb`G1aMTpMi z3#U6vmo*7XGTFQPp2CyH5pB^3c#Vqha(!saCkxOgu`gH0AU%gU_V9}Z#`L!h#X=-` zd5?L|tq1l1hC^9xj=jdyvrBsK)iWJ#ff%n6?8}sh6jSky%4?g{L!RJE@JEY5S`}Pb z>Q;kbWCa~y<{BQhgARkM%xkAwg|b~UIVCG}nZU*&_@Fwz$*Ky{Zef|dFK|Z`SW2;i zKe5P%5kce2S>B=;qrPnm*jR=8&~GO48rXeAIga4P5mYj48)_EC6zo0i1`ZC~K&c2J zqh6^Tj3J`KIxt44$%mg3CBu(@zlR|f(6HkFZ`La4U&Q3`ZLKdjfgt@0`ar51+=DOj zHa{Q&oP9-!PWkLV<+h#ae>QHJxl&8v0c=-uM>vPu-=Lmhq3RwM`X%1J4;KCLtG0L~ z0frcnKqz~%{H!>IqY1LIKtpxoKJil!&h|epX9vq2gy4U+1)x1@RK1c@UQ|CjhQ^^j zcux5Yw5$1YuHuL?RIs)vDvI&6@3lr5T64RIJ64K8xEbP@jIUAMzsdXm5!IC+{ zAcwJlHm&vxtUl3BGVU@~r;2*o#%LVWu;$g*JfQT8pkWyU zmb&skqeCjR)$}=8m)9tEsh8rS*|?EV8CheXpxShSJQ0qLBYaL%toaR3`?6xET zAQxKn`L>kmF@YW8u<>OXK-~(yO3VSfF0aLqQ{bFDqI25?rfOjqH^>6!3p}n;Xzp;; z9(w)^0DM6Wok-Vy5Mb^}LjP6enie_fte%N5FeeAtTB*tvY1oQd*j%x(Bh6b;Gbq$b zsVkQRK=-9%61bI?MsPb(pu8%gno}Sbm4?c#>V|k-)B^f&&D3ZTui*q>=p)U!ky62s zm5=fa>Zo2s%ha>hf*o@&k{5*bx2_}2ND28i_nrlDHdPu;hVPYV_1jdVHrZzFjoHe7 zi_1yUGVS|93TcU%<_|ZLL4Ib6DJw=fRV1jUhSX}QC#*62@Qj*jDU)_O%C566a_eT8 zyha!)V$3#kdE-n{!IYV+nr6CcW=A#5|0QZ#Xpvf$Sf-A3)~j!$O&Z!_tH!q5p{d>W zYVM$;S~ouMecW|lKTo_c&?{dI^UY5a{obOf{?0hf|DBrY zanG@A1%2u|%Lz;(Q*+FMOJ*MwiX{eeC6L=;(A3riz52jN@p0gLrVvyby#>#l%2*;c zhdX(X1tO{O5oVxLYk-!Hp1vVDI0ulJ#3V4dNsvO&%UDhmTU(kWCMLzH6Cey|m^lX@ z*wi#`3fOw28oYU?dRm|_v$y~;v&{#V8hFcuwp6g3xQl^|&>~OW6N9EeahX_G3xMu6 zR?|zfEhTSyBz%E7zF^BCyaAb2jT0luWqgeJNk@q(x=i)H9|akSE{e34I0wG4s(`>;hil7Z2~Ns2N1nx0*ca z3z_?xt(G=tFk>#V7^a~cpC4kuc8ueMvWwHv<0;lkGw>R{*d6I|d6 z?TWIsuZE}-)6LlEC{@d-7&E{WmYbl)W`Iw8U+*j;oWy6NeNUFe;fe7(H)Ac&Q7uiO5Kw;^y&lOlF z>G~y(-20Md*d>QvHCpqqwT1U-2IqTtBD*VF*Ow<3V3$URBDe&y_na#tDhPZER!*tG zn8;g|iO?qJpSausR+Bb!kmirr=*Xoqn5;ssSnk9~QC{pM7>R)Sh(A81JkSZ~GPE+^ zw+AJwH8agI1g~z>M_mtg_5;bdnH8vs@IoGj*MN-h?q%^3eAP;tpRLZ%A`TzEa~`^F znB^ztC#`i`HR`}LQKHB_647QKbJwUr8V_54u-n1C0~Sp~FuH?MXK;z-egMrXVfAUA zgdzfT5m&@v*xtHyWMJ&_dz)nN-@z)+Tx=IUcE6()N7O@ z;E^te!{Y5La=}kFvxtN^@+GOLvL(6#qF5P4s>@AMl&T|7BXTq&TPqFYr2$1*Vt8ed z;w=jB83p+nx%lIJh~1UJMic5!h7@ASlaLDoM|F7|;Ig!};^&ay9 z(!EX)VyXvKtHS;k;0O(&mud$o7QDwo6bd{2mbWS&MM|PcQ^qqli?cbqb0}wWKR^2( zU?;RzD~GBWWz=cN=1j|itje|=$myKVqvkjFtt)?8V@4&qUUQFworRf^mIj$f_P}kt z^p5JTb5H{{AO!lQ`2QD_0A&LjLpeZ|2koIMLe&8qq3S`^2YaC!K{W>Zp*lfz1qY!f zKurcmp{7C21t*~vKrIFrp;kd{23MiBLG1?jp$tL6N2-yE282ly7^>vM*Ce6i_t`qIB&K92KvTP9F!psgy=q zReOFT+WakGWx8aGMOgwhK@sbB5b)$3h>@ME4uNS|JpG4DkGl`T!UszO(t0Q{(RlYs zD6K5otH#m(FQGpQQNKFtBPu(Fn`J&=lBNsekA~qSJTW0j`_(nEzL1 z36o2E9ZR`d;}=x2v82$jh&v(OE}FYBSS+LHpMfqHdP#F{${{i=e18YhO3eK6i4boB zlKBQrR^b$m2-#s_lCzJ4Fa2?tXmo^M%-9`B{oR(Vtg|?P5B$E;?xWb49~8TQxsYN& z5u7Fs+P5E{U|VSrXHT6ss)V#j!KgKT{)ISx>gSyi!w{#J%rHsNkyH#xe zbhua+gms=geTSP3N|12!t3O3A9mGdQpTtU{E7{>;!fTGG{$QBS`I0f_N$sfNCf*!g z*Y1bxvwqxxYi_R`KG*JqYxi3GMS127l=sWvEb_oRS#!g&XQD(<1W})d58@~a!=@#K zZij5RC{BIrTbNRpOZy3ZSBgFu9uU1`aS?2!IvY`J+?0*;wvs`h^&toOI~44v4?w`! zEy!Z`0~6vkU_d-I!7}nnaQt(xjN@kL+sFTO4f8dN?a>jG!MooPlF_peb_hbmVG^Pa zEW{k55OrI^+)5QOU=OitD|SPj~3Fv710y znwSxTViulRjsRhK0)!C)gcS%7MhOrm5g@EcfUpt)($1(3Q9+GQ>`nFTBk#E}!V#au z=?{zsHBq}mCynI6h&87S4YTh>A=u_H+&US<=sk-lGzcID+T|@-B|}&HG96d-R;(Di z!SxBw9V!z8EdqfbaQlM;oVQbXIsE$^t5j>G>JJkr(wuTsRGVu@byyhkrJ-}wWC6lE zRcQp0CB*70?f=)CdZVy86d57$-FG2E8}>QsfB=~O#od!q@%=09XPZ>FVsaW?0aYg* z0u#@$RWaIw=pW&`vXh}=%_B|5M(<5nxmv<_3vHNiz6Lv!KuWHdMBr)JF!5%&D=gj= z?{dN}TlVzEB(P*d|1lFD9wPdLXE?*8y=;UTm8It}B5m$%2Owdv7)~WXkIHRyG|dx< zj^^^cN(-VylB_=EXtjm05>NLIfr-FVylpO!Ub1F7s)S0lmBlxDCQA)!ZhxYm@~&iY z;-rkxD|rQ}*W&2RUdP=cr%m2gKkCMgE>mT(oel2>)v?N2`1U(`ZIx~h(Pzxuf9(U* zlVjWvjcg}{KtYOT*lhvKE3|a*=%SW|z>1n`RV#$>x?``&R!n^u{#T454`c^y@z(|) zW?wgyQ9XIx5OnE|jfT=1X$c;E#ZAS(GPMpVc%Q7VSnZB2TKcvO!ndBvdw2)6Ct)`o z0s~W}VXJ_2tnCR!Kfk$*+t&fWi+JD=!r@{B;t{UqNH|^ufaM8B9>{vwr-68pkSU&~T{1q}Xr1K@7}Q{k$7Ew3&??3NMjy(5YL&xB9 z!No7P4=pg1-1#(HQh*vtvoTG4(lW~hC9OfIt9rN7lQonsY?0e_w4oj-@os{c4sodXMu`+m3Y7efM^iPhADr^}u72=JUZ& z(>`g;f(oShv=r`3&lCm$EJRj~4OL);Hy2re*+wH;?hmxAA2ZxHD&HR@%N6wRbBqjv z(aFJJ#6p35dhsRR{o9chd67J=t0Aa07#kRrWFEx?^4b`MOoFfZdp zH_g;K6XI4d%amq$PLMJX5E3%7(Q^9Rh0IsT_Ba5)S+q<|Y%oa=ewGF#(0(tb0KN2J zo}eHnYDNR`v7vx|%{S|YXiryl4S7a$o)VY&gR7h22BRcUhNQWq982T)0b4RznaLw1dr<6w~PCccs zEj?*qY!}stJwCFgsZozFcKfjH-`K%S$&1XDn2wIgckn>S%{2Zzo(9YDVBqGOLi-uZY~0xh2{j4N3XMByM2W-p@adsb)Ta(nM!-ON1ij$h z@6apav7qkq5Lz@leB`t*jU9HmMSL`6(#p#d<=y&lgWl&|h~B17%q9@u<2H3_6INO! zAtfBeO=w&NV-veIy8QDrWw!H0jl*8y{G3ajM8weq6l?1(MyV%;!OD21AQei01(r)h z9rLLqwUl<&;F4D7CNgS~N7(K=!83=;PR`*I&^YcU@+l*)_-w9DNO6ai;V^Z`?P#E7 z6QVzy`WWz;g@MlGG5Oq#5wdsx2>YakV!oor&qSLP^2OIkozjiWAyJNPXbrZ)Y!#$l zPP%cLC=NmbJC`9J>uu#;^I}`SMPmBdH{20xaF>rRmgX1x?ne7P5*(6}6(r;;Zg*9CjS}B~_Yh+C+CBNpiO%g7`rplYa0J1($>Zv1Cqvg1< z;+lLp7x(}|2Yn0~m#=Vq2Rq>_IztSb5{fk|!;+1_55MawkcJT?kbeO4#>;oyy?!Um z-@&J-F-t|RU5Prz)0v#0t?1%%w(OaeMEp9u`@Rjkp89?j+k>0Ar5E}ArVo8ZE;?Vk z!^f|=QJV8q7+$wRlY~R^btfghQz1B=Xrq+hA}{F05`P3$qQXGc**Yd!KF5JchM^`w zM%~9NKH^bW#!9R)anKUdRulE)xTurF7NN;M6v;hkAlh^z>I~db%>Nhlm1Z?}mzt$Q z>%%JkirWOF$>SD#jIO>|5#$`z0ibn*Tx_VH()$i+U&!U{jWI#1LsFIx2k5GNtW>}y zNHHRI<&(0i$AaR?#$mmA@>5um&?a|iMwT-!m!!#`+?to_J)++-r#%u|U_8@hq)i?z zC=(uMvB7vy)oNmOP$PK?qp7NQ@=Cd7*>f82TJRMck9dQ%Bv;+!!syrHp4(8-{Y3{3 z>5s!&Y53$|*qGdStGL}FZz9dZHaxMGpV1IX z2?z;`QWzQ75Yt|%xO4NQ`EtYwD24)5iu1dzhyZ8wDZ+*`gUE6ud@Yz#T_S345JQp) z%5gx-L3gjh^z>flfTC2J<3(wD1{YT^%Mef(NjR1_Gtf~|Sg*I%#23@dGL5g=%4 z7d|P@a(Z@F*!G&K91xZ_Sw#Vo3CLmr7}AE3HK?H%xRaL;c8sW6u=!eP(&&b$w0!#swoopp#a`Cj<>XC*(B~pS{m(Sx$M^dQ*WXw}nc5*G=6-RLsbx|utZN1! zTgW=hK#*oWCdIgz<0)<+F&xCr4Fvzljbv^Z#V?uYb44Ans`CpUG@EC^$Td0VBbph< z2zedv^Y_(h_2h8g>`A+81rT;GMTQ}+t*CLOJkQ!(w$!9AZ6tQN;m0Ucmfz_b5JT^*e_*iyXaBYTX?ApfoRqNz=gO?}1 zeMo}YhUg_cMo0#td?^I)?#2qq#0VOaj4Bl|Zw$Add4vH5P%tOSH>8*$MI!8s-k|Xv zWr@wy+pmdA*;GiUcl@_NCJDk$5^Ve$(Pr$vB^qNW z2pc7PtNI1fBN>1ro6Z``1Bs90S0K7DiuRdsc+!=zb%%AND24}zmTUo(n)@#v_dcwa z25g{z{@D3%;N}DGFojud_%DZ6CBBCYsjGHJi1*jxP*iPWh0+J>^)l$CR}Mprj2w>+ zuTn!of&&kFfbdj5|1@}-zn{;{FM7YlfieW}Ix6xF@Fp?}kv3=Y_boW?Yl5z7!B@_Q z-OMNe1Gnj$W8qYJsRf+>IXP&=${QVA2x zW~zwHR2)hv2(CgD7lT}_O6obT9xwJ{G3eQU$`bqHVyYw|YIvy}e`f2w^OCf?=eNK? zRmq;q0dk*GH;XneZia~*C5LM09A9le`yJmSVd|3HkPoD@^XLgXHb-y*Wi=5owRoYi zQb);?70NoRIxF&M%pw*h1;fR$bn?zTc1sles}vcY8kK$N)D%CJjbji<+zd^-1o|Az zkr23*jH{c58P{H_Z)$S^RS(NsZy9LSUISHM09idAE+!-~l7$&I*zgo8R3Fv3cQGNm zl6ftRc@+YK==2IEr-R+0U}&pH!=fs?GoV|IS66#xbQOwZ*;2M;N6ijLnPcrWvUx1} zRdmD-`nWJ*dOarU^SD%fqAoEcXAJl+D)K#Q53Ds1wl>gr+*%XrdvGJ<=*-J@=j2rT z>6g@+nnX$)QXBdQQX8NC3I+!dnvD@#iio+Nbk`^UFjLl~m&j`O?AspUqdlmcKU+Qk zBr-Aan|~A1a;j6mpV8Kpa%n8_J%($p3@q$wsv8igvH?n#h(M>NQI@E9-=di0!%0Xb zmiq~vU6c!Y?~v@Y?1UFwxnM|`?%U~otaeg@S;+e5Xh>RKRbyF2e@DF~Pss&{bP<`( z%CZ_242*dJpyX!cS1D*CA{IeoSDwf5>9qZO|uRERgKij|fkNy(?PSS&i>KSo@+ zODqzOT|<0=P0Rs8o{Q0iN$*moa~yDeU{3P(yI*QVPQ|rw3^^Yr z)}bTwmyfDSqY!dKLi6(bpC@lX+>UE#p^UfF@T&QN((%2|P<#77nmhP-ZiuxupUWqY zK3MG<^XmliTI7A_JbaeM<-0t+AR)d@N@2uvXs-oaKAKkBCr{2>YRb!I3iq=Fa#MGg z+$_rElW8J}Y~#S;OEZ(lE)m6ZQ|TpsN=zm<-XznKHfgxE28Dk$p4m9p3J=uY0$y+u0rY(Zjj|pU(*?;rWw{nAcItKN8q%Zph=_ z>*gS>Zkza}?se8k__BVTuYSO35B;hG8sWLLI^Xif(*4%e<}u;F!A6*yYX7$J+nEH> z^vgu(?$)qY=h3$~Xni}-3cs@yvj5`r)c(bg1AC8?iA9H8)*d?O(knH^iRW&2k5$(+ zjyISjKiRuvoNSnqZ5rW3e}}Beqe-fEHV}*Y_MV@bJn+HKL!Uf&I_iTJAHpUC<*c(i z?*`mrF$+1c)0piq8>KcQiII}cK?g7ODsmV+AU!8(Dn70~H>?byQ_4#QjqTf2N|u1f z){u-e4R(X)D_6s^=N=e(>?U(pXUzlq%~7*u^k$@f;^Ew; zEwoWuFKl6^B2FK7)I8Uf&#mJQ)o@F=mdMoc{;BUh}hN&6}AwQ70wvQ)}E>9Rdkxd829mj`Hsz z%EPy#`Eldp&WjXdZuOp%tV(4ELrfMLMD!)KrIAJ;YZX1A9VU? z^9LdkS`LjYfRJ0}kGG^2P-Gxg)o35L+PZfUJyxF8yE6z9RcZN_4s+u!4cO;x*hj}O ze||zpqZBF5X#WfHMDo2hHPe}iY1#Q~LtE##&1~LNQ`NnK2{`Y^V-Tw_m%kLZ=2DO#H3(M;=2^>gbu+L8Mk7hZ!vB|nBg|4jdR*t?e$H)qDB*+pxF5yf5o|DGtUtW-TW|q zd_H3KO>e}tpBs>Hzm>4U{YlhJfKiRGAn3e2aEhc{3gT*O-7`00C(v3CAYE3hLKM&o zT6GAHFo&;(QPlHT=(36!L{q1u(`w&tZ0d4!ZS3COsA^m|vvOtut3X^`Z>ia(&hhxY zzt4+02%Rdz+^$_vr{tt&pgFJE11|nAtUhjduG|Z&im42ZWwGhiCxM4IuQN3Tn0l~?J(6o(H_a338TM_J13v(lFbR{Op(7k3=i}VhEJ}a_;ak#S>PPp{#(Q! z{?h@7(hftNySIYp1>oB;NB#R6F0@>TJ9PRzuX}3-6|2NAv=(H*TDAhmkA6sTzI@>% zKa5r+DjEy8vTK;jag}jbFxO-ST+%<~&7;jBQ9n|JSK=$HEo72h>S%m=^;%Gi>+Q5itXl|ulOJL!<|0=Pv*V15m^t7DVmhO1GDYUqli~y zRDnd+*?S1wU)^0<#nJy`2p#}zxf)XThx*U8`eH*iiwIX*$OhLiRn823)wd%Z8%W0U z=LogP?i@B$8%OKRw|Tq5A%U~PUQH-m#f;4N>p@kIih(Q^nLS?u3Oh3uJi)UJRh8F{ zRJT49{3NhD?Jhs5ZV_l}X|S`=hS=B--QO=gfd&f%R-|X?At_glj{O7~anwJz;M`s7 zd*T&;4drr`pf8NY@#6U^dqzKag{*EYsP=}+nVtYvgL(SLz=7$JX(I6dJu3f+OHMoZ z9PEzHwSP)1FGxFv^i>U`HRg|;TYYpcKMJ#0BxdUX54i~kzUR0m94aY?Oyf28&x{I^ z92hYadOh^MiP!P0&r=t43BBW;OKP6o+CJkI<^eQtgr-2hMkmYV$OS^XQsZ8e(qmPcmJIqkezhZc^^);488mfQ4w z$G3yOfOhBKu#CNKb&Y9zJu~TZUf-p-ln$k1X2&)caff7=+tFl~|6R;XQ0YaqoHq#CDo-%4GzURmC-@$zw(Di5Pa=ONdb<*9pu#Ddb=mhv@S|5_S^ zzC0Z8i?b6v2b#h2U?+l1uVD6k?ZU%i7NxdCNq@pSR)G}@vw+07NhXEGLoO%LQl}l> zW1KrgD@VsIF9s*+a%0%VLMj7(^twcUxzsV{be?cr=xP@WX#8*3n;}pCRR7^|y$`v7 zrt^zHHn23X^TN#3uElWak6jz@){!ZA0FG@s^!dC^=oed`YP;I?^`|jz&<8AS}NC26X%fghx zfpt{Adl985eOJvv84gI2pu|imIfr77==C*V2_mg6ub;d>_3MA@}I=Ij@;*&uxXsJS;Kg7d}a?BmVV+ zp~Im))!$QoX#9a(^Sym2)bh@veU!f3xJ)g3WKQ}Pk=wv$6xG65o&c3B?aZq*<+m$uDeB+XHI*eOu%kf2eJ?!+Y3ge|ken2txTy2;gCbK0_MY{hzvu*Vbv(wW?Cr zVi&c~({`-??%Xm(*+hc%Gw0`{^+(P}j|E0n1>a=m6SF66&{?PrRv%EAh0@Y(w%`T+cb-2#um8PRbvLEVO`0aHv*eyt zCFG-1v@UV-O?_65>b=r6F$A@poIYurMSg6U$8mq9h|iPpKeAm#yF`ayk9v-~)($nz z_RlulcbE{#b)`{}qxkxiX0iU2X|LxC+vFuTPLCG{o~4#5asNWy1mtd3R7{)7dTvgVoV# zvhJ?dwAwrk;x9c>#AB&Xd5cMThm=&Ln7==NrtvfNcYmo+_u-)F^E|Xl+LBX8`{xK< zEy-1pCVMtrIehz-KOk~AIco*=K^!Qms#Ohfy}a-|skG)~3Q)B^g+f3IkgeYAQR!%J zrhwaW@9V;7`UA6HV_FjZMKl&AAykm~JZf=s&v=KmXJ@^RLnCDq$V57@mU&BZ8#2zW z_%f8pmln7BTWDFKuMUKE6qsB;cOsuxqF?!E^jY(Y2-luXQTt`qbY$wkQuM1yX?wo% zgFjFG$?to(cxush4zH1++^A@DRV7dD5gzxF^fvo&Mo04xPQ+2-v)1pKQO<{YSpLVv zo**sRt4D(iI8Ukx`AH!Y_Aa0Q0qRjb@w?m4LqD!WzdK!Ik=M`N<4U=Dt4~|Em!z#Z zS+7(WlH?h4**2eLUf;SD2*LA9eo9imk>%d~-+A@lH!ORM{XqWTrH=Khs_ljCc`!G; zg>JkNAPnmcG5LKGuGnbXdcwcIVJ1H#I6n;0MH}#|s#g-w1E>@GM}y$Svq7Ja@;~Ps za^yLL-NO95e7|FURoEvp=2~&>*S4=YV$N3@KMj_s%4>zClq~L}eaJiOM`$h#iL37M z2U~GA>+Sz!^)Z5ytS3AmM2M*5c03t#I<~HPJofUERShk%>J;7=1yQ zSi@RjI#$=4V11sXYHM#K)js>2rj2+L;0tJ=qTyF|{AxH)C>W&F)chD>#2KN=Woz>d&$L^k$P@I%py$v(#IF<1F>4Ob)imckukgZvwP# zI$iQu2Sv6I^x)&z!}kPnh5outHF(~rNBXT~ko%3;97An!wXaVFD(-|(tbzdi2k|RK zJ?x73S!9oo%swmUAp`Z>jN7_`+X-^1@mbF^qqOLX>FbX}N(DTz_NLkAsYVR$zf3g` zmC5pUoUXNQ+#BciY$r;Cb&cn6x)`lm^tH~;BO!x!wRBi!ns<-lvyoHR~AK%@^y`2W`V>%))i!e$@WvrJ59UgXvsZ%&tNWy7IgXy8qqb@K(DncSds%3*OAJvSL;Cz zaX+FUxN2KKyRttec^syxC>;}X$QY_X6`H@DKZWME(tsD!RfREO+B`tsPE}Vp>V}+- zPMfUKXk>`JZ%KQH{O8{KmPVkL{!*`CZ|vWf1vY`4l&{wzVt8Jgnp9_Pe0CvQ-@{O3 zDcZ%wNy=<2YG%Sycw`xDL;n60bxGOj*(!bOu%#HXdO(LuWxDczc$SsSKkDz2PX*y0 zDz+^S`^A!DP>MO0U-l`L{m!%!m-@GzIx)ZVLf6pn!sI&q4CMaqd=V{^r_CEQumxo< zb+|PjG5rv2ZH~^3)*W?v%djODk?%fI11=JHqO8pO6-35b-k0uv8QxtC&v%fKI9PJ5 z4f1s8awLm_qP+#^J)s?*%=J&z1JJ$i`aPNJF`i3di*K99q|Qx~b%7*rk^U3wynb=Y zqveoCepa+EWt-zuHt4|lWQuQK;VXN7I})GF@H$w!%I;U7DJsqIeT4bqw$)7nUb18{ zqPNzm0_e7bC4&(dP?wXdzjLBUN zc2ZUIW2(AvB24n^#h8bmCItiTxEV9`KJ6C;2zs=);s_^Py09A8Fv&v5&m9d-cA4bB z)JQtaMp}w+vS&L2wGuZ7C>moa1U8v%3DGj=E0mF|aUS)nO1M44KWfa9l7zs(+&qi@ zl}5wv`AJ9-q$dLA&m(5udPMO*=Lllsa*CX%NChfnBGn9 zVksyq)l2G8&{Z>>iM&2mJ^2-qYLZl@Oc>^g4+BYW8Uk*Qt+vBjDb zu%H|b_X59Iiy$5^div3@DmjIlIK+D0i2tr032u0L|2*HV-EW{A4w#OB(UMal#g<0z z>hX3KmXxyrNe02zJ?O-}C+y}a!QYAGgdvBfiWVYG)8FVJ5^3oDCTYM=7lHdv<#yi=&rja|MsLz#`FnLfM#9v;-!%o(6VFfD{VY3v<1>j6>fFRu{Yj_b6n~%Ly>H zCCWDu6G1~qJR#&R;Omqvx8qhiN334lOIpn6NZwPf`RC!5!ZB3#iW%pkroo_yMV#CsCD8Z94opO#~@K8gThWD>_T zSqlkg7H{;}r)`~lEq3N3%cS$_!H`kMi#ZD^`Afq|}pu(%;=6p-M3y_tY z9fZ3u33R@nGb|UlL0BSomre2Vv_HCo#PU)ckBA&f1jjNTc?z32Rhl?}hAv>glGv<7 zt{1o@MBJ@V8icg~JmvumFp!wO@f47)hdB_?G@OYX%ESKYLI7SPUSpv>eloO)ZZx*g zV8mU(Y-}@EYN-i{Tm|t4E((x?FSu$U5olcLMW5bGM)kBz$IC}1)g9Q>b>2rijI6QE za&Jhy9ICkHEZM+2;_zbSxP03wug-u{0h}!%*xu2AYEK-l*sQiT#33cjJ`3XkY9{21 z6FJs`k%QiZiyS@j8ek4;Gs&7O(vefaLP4lMzyy=GW^1H1L?f^>c~3nvc=>b@Wzg8* zWJ=^IMJ(zTr^*y^TYJw!$Ti0k2NS%P;QLF2Ektc#-SI`(y zC`58Cum~De9XwN#ew&*7V;g|0Nf7i>0B$t_RoZV8zwFE=$HTcaNpXV?)Q&)xSmbbn zd;4cqI0KBk{c9z-+dJ)kH1p^tw_OE}X;mn)pR%fP9JhheLM z0NjISpm>wFQWcZ!D~QzfarPaCn$eX#EnScMBIm%E<3BjwguzC{A&gb=FO(jvkb@3j z1`-~i>Er+-*lwq6&g;6>p#CfSNii`-F+pu7K-XnbPH4z+#5{i~wk0-xe~YJoX>d>A;E=dzdPyH7BQV`i=;x=hEm6 zs}bpIZ$n-*M17!%2liK@*m{*D_w~@CC}{f1lL-Xd;bGX+--|a#e4$tSH5qVFDy3FG zmL@5glr|&40Sef~h@F}g#W)G+U<>t(NZKbFb|B}&FD^f)hamlOI4{o=B%^x*%EuSop#gcG2kFcw1=v~ zaijz1nKWx_64%;RrL0h+I4Lby0z2@BJrsF%)6kxniDorg1;#~29AzbhI+wr^aR|f? zPjH)g_tD%%6-i+gk%pKCPi@oH#ZWRTpjS_Njd$*8XgEY#ClSTeAkyEXG>l05CfkiU zfE!Jy3PcI704q?^R6u)HkyR5;0$nq1=+*!0pf}+BP!s^cwl~ryKx*rk*x1l4Y2%U$ zS2mo|KB7s4!B9{{jH_(8558)+1$_i+1Mj=4^QTy)%jjm3qk)?Dwd$+xL!{z(7tw^Z zSEb$;V1&{BIznHWw1VpUluCv<)q>zcKO>B8J(PG)HJqIK1Hfy>xaJcNh7M^5L|=WH zl^&FAL1GZmL&&L~nE5@WGt4b5r^c9J*0)&{G39}pT4LeE zHEf;iKFNI8!u$);LaT_&D1pia>|@kvlA+SH0l=pyoIx(kdM(TrPpCqVs7OT6-S9B) z+y=g@ZYeCwUb*nT;H=TQuBuw9+4r+({$0EvLXM%9YT}YJSbWtUUl>npdEqD~3&b^t z&r%Euot`M_B#^opP7i~yNIKbpdsBnyOED-^hWZ2#lQ#3(6DIU(`RieOljq9;n-UZ? zDYY3u4390jhWQr)BEB*tIkD<6W-u@A+=WnSwjm&#U8Fcc0T#eZ(F}bI9jLLb$<4Vr zP}LflUO`kG(MMCHrLOkjJu!7Md6wi8dojpY38LEwT&L<}nQUfHdCdSRsS@K>cG!B0 z36QNsA%k)4npe3H^9I8G&&g&m0$}(Ple%)fB_XAUX#AiD#8Vk#Je$1EEzhUMv}-2r|mKlm6-o=RIivQF^+2?Fztf#MFkcMQl;m_^R-Rxz?>ygoc0S5aoIb~NoqnM1p zzv>o)Fg}T^w*SI{NPa9c? zTo25^h#&=0pG(!$m~wmda=hTQjAc_=CF>+Hfg2PO9^*87-)Z+<@fJJ|!J?w9kPfkI zhAR#b`cBA!V^|T=#U_#O1m>D=Mt2S^`f8 z*AzHhf|@DmK{mr8OiH+JK`u5fb>dE66mtJYinxbU2MdLp0+7PzuV9Y;V%xWpH;d8Y z>QiA*ms|p=YeZZZfIx^QJ4sO6CTo9!YgNS(B4r^NYS@S~Fq;L4<4Pk}SH%jduW2cs zE*Y=GiB#QG;WpNdcE3orFuMX^io`iZ^!~D4LSS?sqXl%a90t&8tZbPhOl^JZH#?3W(71p55RIl^eY^htqF;Gm=edt-C*bpbp=t2 zGqKblSGj`yeLkp?;|P{e<5h*GW~(o0AVUlTBzXaqw(J$yu4xP!ICNj?&9=3Y#2M*Hq)rph}0Ccr1a(*ruPI zH^bWKu2~}q6D$F#K0Kl!cF;9F&F8~|+hlTHT*Re4Cu9`XY}=4}w<-qkSRmFS#2uK85n5d}v@=Unl<7M0Y>Al^oc6=L zuCR)Bl)H&!2xRNzaVqntRWu8Wa1Z(GfXQC^2j&4NDEku;=i}jls(IaP{ri}a9!x;l zGDJ8L`r&xP>NyPM^+PK&DR~g6Hj2>>ym+Q+GEvs3dCJ|sR%N!8?9?Eu8w`K}9<-#C z=F1JFV!=}qNElP&^i|BzhsEbOpP_b8+;fteU}}*u@ZI?{x)C5Ai{f5a zv2Nb32cb(Ag$Eu&ejA@Y#$tx^19uJ%n39lF3%Bqtg}O%@Ijoagzs*^<%Jt9@6ILh+ z#@UW?s4HY3<3aLz&^nFVBV+ZQZH$^WxeDEjLboI#tE+-W!DF@IT#x`~7(e@ajhf|h z14~Dw<#L;ED`Z95oN+WO%4(a_r1Hs5*EvlphwQ@cLUjPAGt34?qt`_3-;$N)yz3cK zOP=h?*VB50$41xsiX^ODujKz95#R%D(dxgp#f%w3)ugd*N}yr~K+LJZ#EA%>F>5{} zLdP#vk0!PQ+jpaYP~y2~?2i>I;5v9C*A`YMz-z}(M5jt&KZrG@goiC(v<4nH*UX%6 zolXTN&P-dQ=IK;8m<8o(36xwRxnU!~vCEaTswSIh^le~K!t5fF4v1h5 zikF%O-cvidlunhZ$)L{o1u>T)(In!6KXMPoVJL0xye`D?(3@w@vze>7dcOr%T()AK zzfppwVqMS5dH%IZ+80`%=XHo!j%d%SL%u6IK_WS8V8SFg9anQ+6mxl*zCTw(@kC93 z0`Hj?^B1PDCkPZDPQ@NvfLkcK;p5Zv051^$t13G z2x}2UPoJ4;Hw^hv@+9iFYLzj~IJ;)!i-AtkmR)~XDN=sN`-#cz=DTeA?c@b!Kw z8{%R%yXC!~>i7a7e}qq8lB)AfA6jwSsf?m3IlXLMT~Ue?jxWQONr3P1H?Lp3fBF9T z^>pxVp59_>9K6e$8B>YWH42!ERfkdOavM3XcJI9)^}vYi3C)s1EcHJZj=fK2FjL^u zITl|agU_N8!y++S{k-~wd@f=$!hE!MSSbBB92Pot}LAq}mt>{V|Fz|NS$6ww#jif%Ot;Niw}bHuy4+d=eq z2-zJV`kpeVN~$_G`)=TVwQ5SKQQ|Vz&x2Oag&&{4s^fLFW*G;y*ZY%We0p3ajfg3r z$1`y}937)AoGjpLwtF4V<4--PGsElXX3@UQ8f0+CeRw?VcOL2Hn5BHn{&d(&a0xe$ zbow5$e@m*)h~;fUehZ(XU4h{6%^c)Za?h<;P5Y0B7vXPSKfg|Kx7^!Beb67EWBMAh z3#a?)lvv&(HItYX%_sT)KQU2J&d`mX-*Mp$Z3 zbL?CAww?FO{^S@`+HiKIG1_zuzL7E^HLA_q)gf=Yx z*$=$4xVKBnuHN3gXiCUpr&2SyDWc7Jf&(j5*kx%SrUs3Fui7=+Km{5U)Rou$tlx@T z#kFp`_-Vmjdo)h5irV<5Rl_RFq$)RyA7_kUH9L3lbDPG2thOr&8pW;P%Vz@p#%?A^ zaMv~?RYT07F`0S2Gkt~E{x;6!+AX}&bIdWUNO^kL2jt9n(~7MtHNR{1Vyl3eBUnG@ zH|ZMMraYR-DQ z%cAl(r}#&gDJ9e$Z)@swxxrJS6pfI~7Q5;HNvnAdUEC9a`A6<@`g@zISdwu2THXNs z`4MFsg}cw6c!Ws(TVJ2Qh)kID=i=%VuE>a|M2()r?KYWBPEew0{e6m6=SqRh-+vnr z6{d{-A{|ZMIPtq(wTr@njgqW6BKbnN`7$vzjQs7*q z*}^UhD}7!wAd=5GMR&R^q-6derT@+^QXJ$7lRI|9RY$VC6BA-wzho1C5uynD zj>8Pa_g<(eXDXAnrGAlY5KZdOoeGdjEDKVATd1aAX#ArI(eTk^fdcHuk1|OmPN*W8 zK_*1keu@i9#5N+V6C8T~?BBVkj#kt#E~<@j_v5O}ZPAJmZ^iWuSO? zLIQT)_N)j?4)FHWN9ii58GfvszFOU>{T@}M#pvVNF-g%x8e63>lI9LTr>7k&R1{LlQ@@Pe$ zZN0lFD}>Z@T^dStMteqz^vXzFY&g1|jxqWPddZ%&*3P}`5WyOiq zhq!S2gq*)aB120GynVpxnpqqU-$!JTIzGF}8}Hb?N_ZRgv~ckWZbL}R9JMm=C@wl^ zrq|Nr-vff6ZD0ppPqG%KiEKd;u)eG^TJ*~9Wls>l1Y>=5e5`f(=k6->*wMoblfnB1 z3CD#*Toj0Op=AT#ha*r?xEU<;s!=_fS7%&&jW3?#&C)LZ{124ec~Rk=6Fc9jhvESA z>7dqfGYc{6@P|t0;ig_Uj72;YnM``9cb*qBA^2K_vOlXpc?1qR%{@MxGq|&l=FuwF z_-sdD%~xvhaWbw;Lum{w#o04bB(FHf_ty<|r`^h1@ziFkPZo9e$pJ|6Ol(k>B`Rl_ zFzn5T0;#MxQ9TJMb8FSz#~GjofKAH_9!BQXEL(aG7x)y>@_w?Y1r;Z=GTg9)(I+wSLN zb3qxMuztA!RNVem8Tu9}QGudK* zWIL|Mg;d%PHvj+t0000003sqHA|fIpA`uZ05fKp)QMUn*Y{&Jukjf8N4-k%CV69R( z>q{{}$Mv|7YV0W%0~AuNu6{ymF2w@bJa9cO!qr+}u-2(?Ypr!#upQUqLMrVC{V+(j z<9b|3rTuVq7Fe_~#u#%M@A&gAtL)9@%+NlJtv@)?giQ3W=EvscT))gP7QQ&oo&Hhp z@K}mmJ+67(Y_Ye>IdG0Nn|3-lWwf5U{V4pHsF=z5A;ELr=s b9A!3fIy7Z;%74&*g8$tpSo_V3u+^$Gt!G4?^c-}Ky$sY7(1TwH%Az8ZGyx$=_FJQWzkdy5!*pmOK-scl)~ ze|R5b@4+=#(@y-t@L_fru3v_qOLy+Q{OIQYa=(h#zlRB|-*ef_)cb#b>_x`jjq6F( zd#8@>mv&@7j-PQ&=G!;5cl+0mgg?XBr(KNc5A46}(B;?d>iiI6pT7-1|7`!k?fZvb zoBAVTkJaM+Ph(9iNwaj5rjW@@&q`S>%Z_JN1al2qjl?vy5$?D9wX)wX*E{qUp2Ky4 zl28}#@Zn)R%4}3WA_&q z=yc|6NovW@wMjhRl53NBUec_yH2igg_Cx3Yqqm_Urmu12n8xMO3ZFll=bEgxpm0^Jv744NZ^isy%&&x4f~`Th{P8|H}DaR(OJq72eWDEGnDeALJhv*Vi*=JWuAF zvk3_Tw3Uxot=3$P$rZun=#qiUu8ggJ8XwZx0#z(UUv2HWA3r_ z@vV2 zii>a~cVU6ciRsxfKJ}leIKuT&eLx?GiH}$`7QjbTFFy42B7Y{d5}ovDh*G&rhzu5C7IbIdMDwO+3l?>>p>Rr98Qfg;_LS>n)aK$(Jp0 z8Pi}~PGI?DF3B?t%f;7WSJ(u;VWUBJ&_(OUF-VJ)!vnEUIOd4fH#Ihd!n7k@JgRp% z^^huEex8H(e$-jJt~Gx;|M0*_=cdjT^&O91I+;I}zkaa4XIW!U9lxXHhCokOmEqoZ znN|+;wlw={94*(5?lzw}V_vqbxw6t%+wXjX`4HDPtc|zuF zkaO(-UgH{>&t!3piR<(l-HZ`Z#3l{2-@{C=*G@96c9(Xfy2|IZ+q9a-XjMyfOIgTU z>8mVs**tbnwn<~vTFs`sh>?f6mc+~=DRSm4u}JxO(fUr_*ua;1L3-i*Gs99va%az~ z{K#m1&-nCucgUu1DT$bQull=HGwI(+_nu$YDE+f{tfypIXL!74^qR54vQk@rb$wx9 z^3~LDM~=_^7IW;HeMNdqItNh+u^QGJkC*wK<}9OLXON{F+CM2_;e0?V=B~lqcMjtm z@k#99E;!*SaxxS1Lv=tG9l}OKyW!wYL&j&cq}`z3bf&@xPGd@IM0wvC z%NfTW$C;eF^7r!N+wZ@B`~9>6znWdm9%W~knR()F1CBaRKudCVPzVjv>zJ9FWr#|Q zBww6)$i{YWd2r2&-oogaa<9Ml%%k~%Aha%LwOq${^F5GNS3DoT;B1Ym*%=?TDjVw8 z`@47~C;2qra|!(oS%Qya1SVD(canxq2`p!NEi-Xb`tGW9Zc}ysnK^yWS?TQE{B^ks zch;T7a@2}r%wJDFxQB0(?QfoR%g3SCYH)%Iq(_;Jm9VOK#oS4OmY6#!d3Mf<3hgC% zC0Pb$RS8lS>f`Q{=BTP z^yrBzTdz2_sr}@YwNpDM2Fj-n-`XGTYd?J3K(x1wR)9X;16!kGb)SX6K$-D`VscFQ z7DHof3UU*tpGXzcPZN*liRJVM?2w-*Z@y;a;mC{oCFkUp8*#bWH}UDeFw=Zi6R*s( zLpksSrpP8qFW{1pmDya9vEx_d9BZQl{d(*D!J5O_W zQF6xopGT`h1HFkE>CvqtO;h*pleTaD`a9!g6+_E*(Y;@seTDxF_YSc{d?3iRtdwiC zIxcIhuqwH@vo-;rMV2)33`CYq>Xac#(%jAm{Kf78t$T+~9Pmv3eryjB( z9Wj5*?v#a1=5MTU9LrDs#{9S4KRXlL>l%CDfd|&}FP0~deDtHVHh;m|{6+W``{Ndg zYv7K_S_{@iR<}IJpfogEc|QiD(Q?fU_FFf>bUGoT(j+!*7r7XL^!s$Ut`0JhdcQ2E z-Zc@=vRVUyP)V-dw{AxyRh4Gf;LpEVcHo; zoEXd2VLjJqQrqh;#ew=bmU-=@Z%cw;K2u)c-(3y zyF^}sKj!B@PJaFXk0yU>;SWdy=RY2jf|xXOK+ia^I(B%E5%RIZ?kp??Pmp&jmSO8K zL<+|dciY8A{J#7=U&J5D^X7ZYN_DtC`B;j+6UJEVTUfYNUQQZE7G75k7YlOd{(FyJ za`^tSn|7={^zF8$@=EK*@*|x?HLdO)jeJM*_KnwUTXAhibluv$s}s8(?Ft9VZMuf# zC86`@2Vy0a4rASPc@6e7Hv1dNj8WT|k2S>Wj5w)0p;bHzhVQq`DG+&tlw_gH?#uI; zvoe)ru9i%vGW1T#UQhZlAUr4sZ`-~n*9YeM=|!Wot20~iX_@;WghxLS;_5aY0!UD>XSj3Z@AA5g7XuCJ_g?Q)pZ%#oCP z1KnpH%_~)`YX#fR{~$HOPUz0+Wb%Eop{8R&{)gm0@kn#>K`TGQzjytOQy)L_D4o%A zc9#E=KM#4-vy!-%1RF~>#h`4YHP9pS1eCBmO74OPhhUlM|7w0)PVx#1ztxhwoIk&P zyRgzlxc4to_m=41dTqFh$M`RDlY4!9Rq~l8e)`DAFS+5yEx2pRb z{cK1+hq1P@ezrBfsel{hPP3#j;%xC+xRx5&O=i@{M#WfVLGpGEn+y`^Gt7!l4MREW zClO_A*N?Qfan{|{*5BSAt*fpK28!J-M@}}}h*sW8!G#h(kQ<@;+MP1goUB81p=daZ zEZhqCx+v~e{NI5`K+vlFj2{x^1XzI~4Z5>{b8*bg$ymlyLY$$0gvfOd=y4%*Z zI6rXbrWwb9eP8_Vl9iV~A$NpI9NutCakg~s>-R@CY#FNQ2v2Ppt5~(VyR0(#i=n19 z>no0)h^;$xS@TUF3v4R;<)`~@y=_nL`3DDIGF6X^R=`V^W}m?)4?J`|%c8Sq|6^45B1$9j5piX3=0UWEo&{$p3Uj$Tae(Jz$df$>-yzdE>(eZ}yen_|QYr+4G|? zeJhfm!qP@?^&VV38@@_0tBccV2XLXCg2y1Mpa9coQjU+sLThTtx8#NVrFxT7(UcKx z7b;R022?>B2g`~t5zaq)%UvISYUp-Z>>Y%w-KpF~IEZ%_aWjQirHy6hqaq*n!(&$)1pU|095#;u2s-V$DZt8{L3sJ3VKWz7?7+E$I9xjAv> zhE-SrT9qAQRSH-zUZNpmL9QRX0E~yA5-hjHVkxk=O3Hm&tOFLn1L3hqSPRUaj!P(T z+lL!gk2jZ;ue*Q87oSBa2nt}fiw z#LD9#{47DsP2sNE2{>xP0ntogFQzn^QAR)@6i^)SBi{U5(a*AfR>ZR{$^BFOHfiP8 zrk|X_1=VX?@U4*r;=YV)iz|w2Ps!r40DB6^SwZvye8$gTd$srn**`2hHN~%!Rz5YI z{H1ceTI|$i*eMU|jJMHF$q*?i;9y`k`u*Q@v6aPbv z`ft0j>)7Fmrqo=o7wbq-nv7q`Y?^F8nSHT!6r`z98qG2)M=8?fPre#CHFc`&wJ<*O z#^jR-dtc=F=SP+GdXK4A>Ve(*PEO zZDj<18ktcdMI^(;CrfST{#7}Lw-@v_8du?5K6crD@797upELkb5c2R2aZe*Fju-05 z)B$yY4>$~WnBou{7L$wz-QUdvGLL=&L*Mr8`@YJZcVP5iPQH^L;63X2zk_ROSwY-^ zEfM4A8x%>#TF8*$7)ep|OFXwYd2H&`o;_kV7&4Ro6W`|2NwDaF^iVLvxjaF~Vs0qb zygVU0h>4nFazNJUX=U9!DxE#yv{=tw(`77azV^O{o1ge3FMVuZ(#ZdK;*sR9F-j-@ zttz3kfY}ra8v!6e&EWuGq_ljPY@RhwOx7Qe9pc*dP|O~c0v~>#^5?!Y(BdW=EBOY85U4A1!*7(N1NYy z<>~y!<;Oa@P_6yH?|%+GTE|y;Nbq|57iCNOjNx; zwWrH5OEYt@K->p;f+xeLQYsePB2icv^jkyFD+Q!i1Q-U3kJS`*D#CC3#*tJ0-Ydse zmYh1HfcFU&v4Wm`B@YO}Njh-#a%uk4!J6Morj(CbguCRZM@5c>AY%p&T zLV<88qEMWFC^EtltGPOPjDiygC%gcQB;A!?xuS8`$fo*T>y;%Kx$<-}q%6TnS`Ge@ z=DnA$cWK&pwl%3saVGg4bs?}OskIovT9{ZKSvF`94J1ngSQmjd94>fqW4J3bjSPq*#_zAjesOGtUMa6Xd}R8$-^&b5TSbu13_} zDe=)8Rwp{f8kf}%uG?7LdBx~G>zDUz?OYY@*}NXUw{&jZU~7G(q`aVL-SV>0!K$f| zWgQLS8mDJsAkg1Q+P@h~M3!04+;NwLF{#UuI+5KQ!Vw30C2pc9Cq=8^xRMs& z-S58a=HBN{<7l3fI`P+VZseW#Ycq{5OAp`$2Ogu$IPp+#HdUvXFj2Y;>62SNR`|I` z+}CQ)-Rl1I)l&HUPjF34nLe<;KgFn^OQA=+@uDmpEcZf1VuKA5NIIM&9UGi5J{%L76>D{xP|61Taf1W+fcgPKDw4qo%*kSl9 z6hKSBo4AyYHfS|Tq40^zcV2FJ@%k5~@11wg$REcX9|D$lRE|J1saT#?FUR=N%XaNs z?UJu`VeBvAP8&1sMA$d(grR4I>SSPPk)24HKtQ8Ee#t_&dgs~l0RgY8z~-cZ7UB*zG(72HjUrBI&1lc%eJ;( zv8Q+Q+WqbOR&$F5;=?L1La+21PO+O118g$xC`-sfV0`572!LbW@T|Fxyj-`{9WJ4q z9+y=}3L#P0%}ew$d}a!TxFyuLa`|d&W%sV0&HJ{0wYei)7B1@wSf$sJzwg>JQ@d%) zKvkLa?c~q;lFwV}#@0smVogJcJAZ{0OMCAY^4{HT953EY}l}@lGX+2m^6TO$wfpn z9k;IBA#Fj1>}cA!%Uee%>)PzNV;oN6$!Y=+?3}uVpaU=`Svketq7( za_jzWEr<5>w({)cccSCtWtYVozgJIlptU@YwR8f*s)&cPko=TQ7$8*K+@Nuc)bvsa zrdz1AJY-Mi1wOFcTC$MH3i9*e&P|gonwe$G>bCCMz2Dn?`N+Dh$;ZB1?C}-ht1S?vI7(K_unHFFIhGNQ+Bqh5NcL~&y z5`EJMM=40sKrhY^R_b7YpBbRZnRzcv#DQTs^WnkfP^N}p2N4gH=@oqKIXzo zT4qa;bs(t>vX$}WKz&&$*J=p)MV?Yd)&+<-0i;U60$G6PLD40)9rK_C-pfY_H7)TK zA_;5DHD>`?N~5MuVL25@!;TZYVr_}Hoqc~!kT zIwRd7+i-hlSe*2l>o1Q@RK!-aCiZTs-Lzp@#pbHSs>(~(ByrX`a>Y#2ORoSOtd2(r z#pj6}PTJDySwD$XOO-1AL9iot)p^+nv>Pyg^@B+%;5jeCM@Q z-i?xP-3YA9j_Q)r$?r?Q%1)lEM`A>x`|?7$7(QB#nn=TbV)KRO+fABpMs-=;BG#c; zixcvk`t?K{wTWxx;+lZ3yr#rg@#gaq zr37Xlf&4kdDDv6Bg=1m3yCdr1SRIj=z_F#UAIG(D))jI>& z2SU_Dl*Dr)!#mnX?%#9U-u1)L(3r34_)cir?{4X9ydm}?=Y`Aa>f`a`myqA&tO1(A zh&yI0F(FPCA^yZ&NhyOsfG~0{>(YtTe8+lubsa&->RRqCkCV$ zRlbnt_pu^&xuPAj+*m;e1Wih~keBweH8{*XS5f_Zkd0stkVr0;#9#xkxsHg zyU)vn&NJ3(OzO3J-!dkZ8k>0EC6`$vUE4a9FR_YFk7Ywehc}x`z9Ty-*Kb@_d3aal z#N@KbRCMKv(B;wb<>5m(;RfhOuNX@)yHQyl8xS`nBsFAlU^0=LA8^O%m(u)SsAs&>+rS4qLIkILD$)GM#OtbZ^^^IzwF5d>SFb5NCh}WNL-tP3dRMM7$t$u-TMlgr|i$WX7;0 z!$Nis7J^@tSJUGT;%I4##w4%dm~Lz|`8UbBqoo}_z#Gsz{|Y(rrQ&8g#mzRD&neKs`wmFH-b8h?tH|yc=~^*0KG<6B_IRDnp{5=n9pDRKYzL)x0mBAv3~easg@1y) z=%7xEh*H6-aJJ`^B)-jO`F5*45YQ9OlGc{hK;__cbP@IIrLZo~?JX_s7+SH+93IbJ z=ihC+vXDQK{GX67Z*7QgSk3b{9yMPNc}M>470Cv3Wo3O&P((y50&+8L!U&P2WE(Lm z#lsZpQ;Y{*1~yhbFcY7(1?(ki$Sa&m5s;G}N38aZz1q>ugWaaau1QRHb12#bM22afv zJ8WiVt5c&GLxH#IDJ+*9FR%NFW@NdyV&nCVXC>?Tm;T+l$=uu~VblZs^SJ&?xXHib z`tzc5MSK=T=TVBzfxz(3CI9n{!sJzEUh;DbKMEoFqd= zNdV5JgF_680h=K*2DI#q2-S)2N5_XtD=>Ty^H}q(MOG3}t}oH$aKOeM;*dI`dSa2n ztBchm&VcRNl~rA#^%&~vD}x4))>m!Zwa(<$yUKGzrMe>XX1RZ(H}Hej`W$n#?FWIv zjVo6Ed!>I@IP&$?0~p`R+532(T#jhi8n@tQeh_!xrC{4mD2RW%{MyTR%6DRAev6s( z%*_O7Fh%Sn?r{2ODnyw8tz;c8phX5i%d`t;qF09;tLEwq9O{h31f3=^ky>RU-kK~- zq)6v1&j|%}Zu6E~mYBz?L5#bQ{eeHv-+`FDOW*+wgn2TX6&irBA&gRFiUHivdZ$(z z#y#6))B@V)cG6P>7uf4P1TBgL5}}|vq&~k`+FWKW@Z0*AZ3woMlCorMF*lN9tYtdAR!4ZRae^6*t;CNsOfZ9? z%`ifl>p+R$M~qaWqh@B)%|_Cn#2{AuW`uR=@9mj6AlX~0)l?LDf*MWaPxO7H$Ww~% zTj%G7Q$G0$yAbPj26mW6wFV4XKYTt1;3t+F35}%fA+Vy0DLb z_v*dZskxAA;+>tzXQkntJ3l8P5(@FF<&R*cg+9Ta$`X0Mgm6h14(Dxrq|TZr8xfj^ zV_xouiF1biywLO0N=x$PmDg>>-#je6+;e2xo991=c|v~EnMW_{kM}Bk8i5#S5ymnk zp~0uYX`OjPzDS zC$Bwx+SxdIWukkcEYZ;0zsLE87E#dN%Qk^J54?`HoXAHpRInczFx;YO2I6x1y8Nw7^~asu&%(1Lb{tdGt}+|g9l z2WQ)&f$5TBc7H0XE_EzBblivh&y(X1R27z0G_+RPgQZoa3I2{%J!|@p_VBOFY^hzB zsFa4!?!JC1T5Q~5F1z}6?mhq5+Dev)c9pyM~#W?bbr;(4~&u-tGU`xnxOs3U|(sZ1nCwT6hw?v!>7e|VQ4~-u_%RFBbjAVF;v%)N=bo<*vTcs z3!b0e>Mgmj9W-3lgVXrS&K?@bw*c&f!IPN z0kB$5auq1UEIc0m!0BNrVeA_yNLY?0&o^JY*RX83sQjJRZ+}wy+h|u-Ylp4tj-++( zMD|8gO{2vBl3dLx7Z5?E!j;$`6AQ$B_?aIf#V>@Gp$Z_q6v(ARYW;%mtVo6A`l@5I z_RCYJR{i&?Q}2DRlA(D!Y?kzHXRui?wYS4&QFbzd@#etx5{E)LZ9;3S)&apOd2otg z`<2r+mt(a@ktIkSvlmw!I_~MYa{TEj&hIQv&h`zD4;~%npWU*tX7xywbaqG5xjMd8 zwfGn3&?qZL3=$~8`5YRuQbdybU*pgS`-n9Fu@mv&BDP ze!(mV*j1Kqj{SleUTtjk2!$jhPT{FgYUiTtm)T$7)Le(0ub(x>>!D|~ zx?C-aSfoTg*A42q7P^jUal&=F)?p3&0p*An(v2JjW05FxNT2WkG#@NwIOgGA5UijC z3CG;#3DuWQ-+9x~?#g3T@o(Mrm!X`BvOxckb7gnIT)1CG)F2c>a2*XEs!YLf8;z(Wfy9!>s}PN- z>eIuuc}}}U6O>7GB&-Kb@OOjH9Xl-u5Y|*2WPV^-dfKIccOTTctHY@5VcN_DkXaMfmUf)R1`Ul;oN^HI;OA55-kHh3C;H3%%ub8JRfTR7G}3Nmlp)b4f^Me|IoBC#GU%YoB?pApds5YatFGcT|47d|n z3#@O9G&|O|Q&!5&P;&t~y>#U8b$QW|qr-=f@i7rZue8(-@3*$BDz_c39*h)cN$2i7 z-EujIws+iEWJx|n;dJ}9wRPw39=hUS>wD@)wrz+!1R3{5218H7*uLP9Bo|cm^xLu@7;GkQB|K? z(Y>#~FHzI$%Z}Af2}L1G$-i;0b1Yig(^u!+T2x!(j#OhPZ=YS(EAm4s(71?Qrr6*A z6LuL@>pG;@5lM##k8nV0c>(|)8zkKxW-%qc8dTU}sXJF_FXxuSm{w4=SLB+#3HZB8+!tk5a}s!GU*!Xz>Vj+i8C z_UlL=i^M*bRONF)M#(Mo0m8Sr>@Jg$sNd;xrcW2IQIc1u$5GSk^rEl?-}3Rq)Xtfk zHtxMHG;p}HWi02J{`mTa=9(tS*V8&t>sh;Q%aP044oZ;K$NM%suFki(PsUSvS0igAA#5Ra)@Zv#+bh(VRM9NA@@niXli-LioisFiJ1SS+f zK+J&%SSi#^J4R7)>;^bf0|i&`f02iuTg>W9wfJ_x6TbTDMFTHVJlrYS)+M$zd6> zQslif^ zRpOr)qXfd>gH`gvD$&+bB{YZza~0xqmIeK z;i7VoYnJag(bjp@mB&_e#|K(kE*Z^hj#O~- z$Z$KIm5b)p+eterd38jmAV84UgST!2yt)Wn|L(jx)#f6%FFSzE7O`96 z+1cO^rlAMLaH1EHB4m^q(r7RQtybEo0uk=v$MV4h@GW`|U?U8BOj=iBC!2rvNR8WI<5X>6lC zg$IypJ`dX<$pxW=ATj>C(qPyhJ9xv!X8-ZT@#4lrs6+B?$_~|zCI9fk3zGFm`(i>K z&(FRpS&(f9Uw1yTp==}@DO!kZAfM>x|9VaPi2|#$q@u0LT370+s z8-}!9kR66Y2(E~#$`-N1QipIcp79T}!<4zXF*i|#0{InL*7j6J2D?8Om-{iJcYdP% zc!GZ{ah!iLxf0BZm+=?>%M3Ft!kqb07-sDm46}JJUzlN*xlsRG470b%eiv$V4oS&i zzl%Yok(7U!{VsOwA7^s*Dojqma0-(XW=gnCg2_4e;!;dbWo0ucoc~))&WkgCQhEaN zsW5&3?|}X~m;ZVz#*fS@XG>)>ShdBh9O%LF_;3*dG=>@nttJ<~nO05|gJhe76s{4J zS0alO$+#DtHDEbKB|6MZq{8c|t*&T{G=@q&<=*m8FjSI7-Ubm_)wm4+Fez#x4rUe$ zfIJwTV>wC%rHzUEEG5z9wWHy{Rl%m=Wuy5uo4SU|f+u`+1*Z1K>Y(RO^|e8FZ6I1` zmVW)WrZ3fRn@QBfXD!^&wtu>1|NcHID)?^G>haLN7Ot<2CI1?2nOGa1A`f6mMpkabp7EX&=_>sE8kU zm_Ybc6Iq<`2AJ+PXdGp!GO$s*R<~l~V2`QkcvP2P+`g>lc>C1sd*_+MRWU;-TjQ}jc-p8qp-j;NCWx}RDdTR*2JDq@$+y}9K0O^n(jVkl6Z$Q> z&p@d-xV!%8tFNA%ZoM;`=NLL$w>A`d`0j^SU+>|MY)ZB!qQmEOh>XiIhJVHwvLV5R z?1&;$Sp{6H0}Q3?j`D+yAJpA(V|)UYQzTqbb7=?&DWl9+;g#T|3QdURSA@@QLk6>?krPI6Axux0{M0arOinPE z#SD~0rOAQ7q=w9DUN(j5A&md+)NYOKwkxIw;&m+zLpfhJ|2yB*+EzO*`L5V$t3LJ4 z_+WT&WTnZvH;iCO@f_d4*z$pZWFmUNj;9I5Qz1PJ2@IbFh#tKMsWn%?Q~H1=Lmoonr7or_p$|up6cgz@^n@Wn2%Jxb+4_WV@uoiU1L5ty`Gf?CoU;# zEzVvOqAn@EqnA*DLgkfLU~`|IIhiU{SP?n|KXUd(D9XQJb~!+JdgE~km0V7!7*uh= zJQFAhVV;_+~K5(&roH@^0@|EgLU>~1NUXsb?q5+Q8@oq1mE1m$lJ*e_TiLId|;~_Yx1QN~?PNkrV z62DbxwhFQ+@B@{`rBAc!nnG%2REmfnpz@k~dU~>Ia(D0Wx3_22=nFmmeqY7$)yvGw z4A*Ae>Acb9LlqlpfgYp!ELXgrFRLyY?nr)Lniy}%?jQdU3fj=yhLAT=_Zy(9-V$JM zek-;Jbqv7XfEUUrrMe&jr`7m8`Sx6kCZG)n1P;tE(bMW;DBMT?$Nh_ImO|pbx1sx* zsg^|Fbf?5sw_-QrBAArXUJZ?%XF%eQBSRl<&6=siCP1K_5 z!=Mz{Dkx0`4|OicplCh5y*FOb8XL`d()_L5%Nsju$2RRasIk3E^2Pf@{k<#CRIKPY zveWB6jyB70vl>L`4~d%Q2?R5v8e}foNfA-WxTV|K63YIMR)fs1SwwvR!PVGSQI!an zQI)}rl0-UW83&6J5pPkF2&y=)c|<++7hBPikDrZdO~1DN$`a9!cSFxknw}+2^G(0 z$C7=VXFUB2Ul%r0c~i=0+MJGJx5Ml75?+SMW>Fen<l4^GCpt-J} z_J1+}TUq!C_i=M;tfH>g<>9MWkNA4pLZ1Kmi)8)smy@lXh&4a1gT_Ela-o&otS8=u zDs3b{^0*cpHzLzwD~L`_c@S#OoHmf~O3?aRvF3tW3(v$Tj;Ls~v$QrAMZ`<#VNp%I zKmpSZV1!nof!~U4o5ts8)zWNRyUL=j*fHM{HrXrrQG7ebDbf+h$&*U2X1HYK-} z;@YCU4T{Zqa5SNisADi93FtPNZx+M`j3h;DurqrgFE2%Gh!Lb2 z%cM5gP@mcow@>IdTGIt(6ydE)D{KM5Ti>}e=~~wzxaw7~ zfiFrAAX8t=_QowmT&IVp4aN=XQPIi4s{-rjm8=K-j|N12soIAPB5SRjKmZ5$C0<1` za0;UrZ_a!JN_-vp?t=VcN3qpzMUY?wasaMDDo9BCA@)?z@~ir%i<)P;C#SmxO@let zT5oV($q|7?3yTneiJ*ahb^KDxmE*~)Q*l_T6IBk_7R8jI#Ll7fffhb19Z53a-5B;< zZqntX^3%csXR)goHPa5OLn%U4&*ogB4fY!~vVQ1DxjyDc29Dox)oGpU^EY30lg{~t zllRr2P0iEqi6ozpq;q$jE{lBRi+9~r7Wwd(w?AEC{_y#~{4%fPV;Bp0vW4(AD1+*~ z@c4S?jjynPKz6>Z@PfP`jj>=z9s=VJ8>D=ClFBS1^u^lD9 z;`i+K|Awb4m5=OHDwS`^&H~(i#*}wC$v>p zc?SMSWqwWk&Eu6NFTVS-TY4WamcHt4UUmLANXmbOe|r?i8d+_Ix@Y&otEEnmb!k7*KxT+VE{qOD#RkOytCIpB2 zVXrj!!L`Xx^W|$fIJ=k9YH7#|hol9m7Mrv$)x70rqeNNCV&ECz?$ks<0Oh@apz$~9 zQmc$!Trg2FDs~WfDz$N+>zFN!D>c;@De`B=hFUjWzvi-;ft;JiYXaVGB*HHppE)p; zbEYd49!Da4W#9U0+hC2W-0g577e3OywK8w8KCi5(zzc8p7hq!%e>}+I@eaRD(i?&n ziF^c~T`~;9)&pu_dU+aa1FF_0l=BIqmT)zT+*Uy(N2(-?U?-xmVIOG4@G+O*CH4!> zaZH#u*|Zhpw)oOy@_s=#Cq|cGl3$Qbo+J3?7}D&kupE?^e*5DG97S|2glmh&Pk8Fm z32J5h((S7Noi!|-q;3^yY{0D-N>b;D1UAO~KeIZ)g^yAlWeotUYIv5gd>Rz-%7s=V zTsbI6u7j|UJ*2jFME8&p5z$U;O@-Or+L1u1zqBk+C9G1439k}7QgKIEeW1o7VmyS2 z|5YW%pSmPIHqaXJd%XTY!`1N%bL3CX?2-x0fOIHujph%G` zJ@272q)WYJb-r~so!(dAY;}4CQO@gZapp~yjf$$1#=EKNdhX0_;-CqxZ*N1c_l8Y}r0cb^x~SW|Zwfeg9Fb9aC2 z&<&eFn&=>0zqoNY)Gh>!=Mry%KfVdXiCPOu7|onc8&%xoP@k{`=Zi4;1qUpHEUZ`{ zh!M!t^Wfe8$|OTHI7YprPW?+<^Y;PPh_@= zzGqdRIj!%aWtKayq8`!duFz96!{%9Ktdqx{Ve~iKK_P_laH9g_5L1j$ti)Y&TU$NVq$dAK|>nzj-fQoQL@UaD)< z0?Gl*n_iY<5V);NG?3bY?owrtzzejH0-F3Qn$=Q$KU1LxlI5bT5?cA9Apcj$JMR*8Tkn1e?mQI}J0^BngdI30WRx~yj`zmoLHop?sx+(;}87$5Qm zU@@nC_31Re12cy1q4+1v>D-fulq+9zo%!9q>wQC}y4yu-(%AT~e?88x7OhE1nw1e+ zNRv`tOR1w#f@%l~Le&j$&`F76D=ZA{5D_wykl>hO^oRq*ZDfAjG*fikJ7Zq6_jL2e zuX}0v*taY{9^?O#yprFP?110%Q%E9pYPHf_aZo&Z|A||z@ z(ermNhalCZ+tPdiVxzXDd6VR%5i_E?lYByGKqyx@=7{oTw1L6vIB5v)1q4U45*&pL zk7q&kNtFM2W$9+^wgnX^C&l#Um!RO<^|*JIKsJ#P1=K-HsR5Z^BW+tunh;8w`X7O_ zFpnlNpSOT^r*v=@au-NnXYd!Gv}x|Jfi!m~+y0q6_)OF5mExTPhW~!vSSspwQVb6lv7Ym7Ao!@uhftMI%?&vP4qzxQ z=E?&RGc^^6@Sg=6G zbf-_+%f5qEB!96>dJJa*rw_eK(GdaoGA*A(wCi+rd`3e$>Q=6RwFL1ISSy-($xZyW zZJTp^r~GOUgsJPwL}Qgy`-8`l&$r=@gfq;F&XSe!^105EG``x#$ z@=o z6$nZezGaM#-yE$8ieO{i=F&Be#RYut<+}IHE8)YcL4OLCS3c>0rN@w=0x$-lKIe~N zo(6>in5x@UI%%EH{-V?WUN(DdJ_qbAI(vdw69@>1Gu^9>rhD+$U0@QB;e$d)SK?o zi;84b>Y=S>mUstvz&@|p6e{(W`^sGolgI3#896d%q_4kdm+p_u&GL&&HtbHz`$Zae zYs8KO)Q(49R>H>Oqke9{6IIbpnaf6rfh{p(hMv=E4BBZE9AKb{m^xZt_KY4%%41eU<>$w9pY z>=RnWVkb#v4UA7^;j>0EXr?G1EFL5%oIe@d7;(aKbMa_vTds{Db>Xm6K!d!Q6Me$) z;TPKlOdaXz7p!k&|CjAKOY*a(mzUp$_Np%zC2w-PUs`!?`dc%!DbvZbd^q_8hQnOQ za@UH8v=-04@(({&0yL*EjG&8!z)jLsa)Z{2CZh(24K;Gwgi5!hcj%XRhxqdgy=c@X zCXgzpI|Kj=7$mJ>#zc`F8mi-o#>g^*pam$O0th;+3bV61{Z=eY`khoEf8oE1H^1c{ zkejC5Wf-0H(l-SC(_2xF>``O1uDrIQHW=_0qX{vXJX)ER@iIlWoM31JFUaVgE?A+U zp|tTPl-diZRI3yLhP2eg6zrL5&Z{mf?>#`Is?C$F@{Znt+AX_JHLf^3wC0+3EYq9i z_R5x(`5XBMy9UkQFHSz$aC2987wEgb(NW@7MZCGX1L(ItIk`N(@=~AA6D-_NGC4D3 zpLY0vysd52)C%iI9-&L;ey*9r?U|N5_n(7Ov)>sP7U4jb1196)xPm<9Lo=ODgDQ(}J(#CkwIvXIv zBn(WChN#@+sgTaT@EfRSx2Zf_ROrk%m6%JY;Aw%np1)m!!k41I@jK^c_0gp%Z)tVC zG|^3|)SVG%b}{RX$Md<&&_Rf}rs|W@1YJx?-jexAWvX0gcCDsvt(I&gZXF!Gghaox zjKnSV<`=SMua9XdHM;ML6Z*oBpEz>N&OaodTC*XxH+n}|@@b89?xySg&5wWn=4)5= z%AUge<6~>ipLtgD`R~R!@g#G6 zYa1h=y!gGY>VoP_OJSiE&R|SNGrkv$NrgX&$I>oZd25DA{IckoDfp9-`Rk;l3c0N&b&PbB=PtCusR+)cotS(krfw?bWi;^Z= z()2401>qpm(+L*r?Kd-Kp2-$Hwe*%>fGv6vA&}K5PU(u;LS8}@&*GH@k}<2SSkfBN zWLz=}FCj~K2}U5-8l!faWo5Mv3ueFC0TRb0T3;6q1xo`Z)G2k*-e(Z`2>MI)OVy^c zCx8tu80PT@m+%z0@hyYC#l0lI^ERSCS&jY_?(pBYD&V(J<;4HXRY?WE7YX==mspiA zzh(4y0Y~a$VW3Q%&k(pPGSbd2iO;lgqo$P`jNs%M!q65WN#k z1%zhl&T6u#+WwBJKU!#Ynz1@DtWGgj2V`?Sp7s4!tAns<;p#Ls)YVj13i5eNLCfE< zIxu1vtM-0;iKV%0$s+Iz$jeey;fhyuy}S?ZkCoNOYjO+%a70y#h%=_|I>i z{jSN$^Ow#mW22aW{75vtMc&5=9thZHfg*`Y^HSj%*rN!asRJS{o~l@arNqpc--=o- z^hm4L%u{2Z-(4@Zgb-9MT;@gHsNX!WV9_xHr3zosmgVf=6KKAL@hc==PnKj9_JgKD z%s${WD7VS&Z(z~=9u}g?TC*s9aicww`D)sw{(LyovG>B4+C3FSSV)LP= z=xa+%+_7l47EAq`FE7|Tjq(gjb??f-#vF?Gr?zc=R1G|E&R>XBsQyxIMRTON#OEq6 zD9@bI#iMHBUaS5>x`u~3dL#ryfn(obKJ(@!V;|2d)m2q#oK?_`7-MHd_5 z>*mE2dc+iZ<5adlo)i}WHPRVDMS0o0u%e=@y1W|Bb+`ac_vRjFpYyf@i$z@Ah79*Q zGq8AI36Aas0*j?cy8uN5Yd3vbYH?n$0`q*NMJv!doVfz^bty&B5Um5BvZ}J8Hd4Fz z0MQD(-2;@#_Fei2U6=&C^a;8ED_HnNpmi&Dt$|I)w?yF=)x$3;g-?Y3xp;*9Jb8E< z9%F5Fq@uhm9K;$l6f|T?!9sL(QFuv=XTdn3Jh+JM>B$k90am62d}OJXZ5I%M3-xf5 zMK$U@VOEDzk?T^tz%2(M7YrmfkL=R&mYtO z=n_iw+9j%6FCYOID0c8b*ILnsYiSJ-j^@s|< zk;9W6Zko?V3>schP5MvRXL_BJ9-dIc$Qy!L-N@rp)d4@czmpbF7 zhmyHe{3>-ME9b3^KQ)eX3zr14iHIYS_FBQ^t>qJ`{Rmv>E!75mpFEwMg2ttzXuVp4#_E{MXtgFq(Toi+q(kHtLd#&x?|heeq-CzDVY<2+o)RKpIjqWKDJuit9{uki zjS^0S5JnBlGHSB6nN?vl8nqL|pl#ER1cNB8td5ii%YtR$5U@vIVd{B5CT=3HAQN;B zrcg(WJfj3|Uc*{`EJHG3v(?8m0dh_bUbvU-oPc(#Pi{(1;yEu1yW47&ejlog29aT} zXCG86UF*0p3oemSRJtlZ=<$PE=^8dmrgRJq#9AzdBE{Jpi-9VB5huIjk)_{>h^!5$ zJ-s~@RR<##6juX-tB=&fuL5{W>z8?`1#G{BXOUV#I93Z9hw#27jzjY4rCN$CJ{HM| z3pN=6DGECv}LdCZ?1 ztBCBJcIE=FDy@o&S#cm>EdU441S-0~rd9n<1ywi$D*qSfLh>b!cRVux;m7+Y*C(nP znyag|2I7?9p>vs!Ku+MXJDy;;QJu>$<`QNnv@i4@LJ$=w}5-Ol(6oo;}bLYQBvBwk8tM8uq)V=TCpn`o5N<>$L0fAlrc+ zDJwS|Uhoj;#AJT<`7>1NCwOlEUq8v1me9c;r0xOuhuk7-U`O!X`%TY@-!L|j{(m$3 zD0lIF{55H_bcOVwbWZxCTrBs=o8^=8-SRIqM$Lfc5zW)u7VQJtZ|DNL1G-0bujx(t zI{l#jy@ndYX2TjPO&nH;7O(}SjG%@Om6`D*jK z&0jbFF&mAkvUg-3&38b2Df()$zPPM-bMgC&|E2hk zp8cNpdcKKnw-w$^-g~`2@n!oq`hMUq^k3@#my&{#?ImAEACC2bPX=Bo-C6oj>34z* zx_Mvlj*uK02z@&ATzDdUUHA`WC1t0|E#+h7pD+JY#j=XWD`q3dBF|J-RbEy3jmp1P z^;Vs%dZxO+`rhiF)HKu_sQF}VUhTHp$7_F9C)GvjX6o**d!>G5{i9J|^mO#w4VH$D z4d)tpV^`y$#*Z|yrgcp>HoX#apk?Ha*n_bjHfx)En@=_WS4*g6OUwN&pKSHCKHU0z zTWQ;hw)@&$?Z?|^JBB)II?1}b#q318Xt9l>rtLyv7GS9Mo z%f8&-)&G@&&VertBnLYOA0Cp2hK6n%dLywhaZBPy!-K;wjf{`{aFm|y19@VyyX4Kn zfMZKe`yZjcUm!X9!G>?*ktxd8*~+9@JEkdwv>E7k^iR4AylwpBD1>ETAc~LQGBbY< zn~?0YNhxpkk8&S*h^&kK2b9w3<@hM#Pq9Av zbyhER&ORe;ViBp1)k!Du)r7x&4qp$mTIoJ~Uy6_V*(d2e{B;(QZOll&m;MRwAHdg- z;_D>7md*YNMWoHrY1S=OvKVS|mrE71Kb4wTt7JhAwr%#$81qB;`Vz+3g>inLx1y<9 z8|Kl6aXrgI(ipB|Wg)(5_Onu)S)>lAE+;;0vyVts`08T~@&F6d@9}zA8UgL46VKW? zh1Y&G`v$*^72%;ZG5!Z!>ls$hUz&ZEzdHLG|NQJryp84Z|EIVs0gme^)7>*qr>(t|x~x z)E0*Fa&IUqP-G7Z%3+ILHb7+wu7#ML{l4!1&83m-gi!mQ-s``+|NgK3`+V<>Ua9tj z|9|S=sygZ!_=)O-Ey96T=m7bRuA*=7O!_zY-(*dJ&p@XE>Zdva_adad5(sGzmKB=? z2hu+eEKdL0*oO9DnKyt&uD#xkG}?@|rma9TxD$HNPP0fqg!mcQ_mkoIsuk&5g9B=7AP(QT0AESt`q%W+!FrTk2OlG^8&nH<>z|3; zSw~ml-*}>)g0<;C2SdQ^h5tYX@-Xsvpubo(8^7rWjm@a1-$92b!2gH9yQCKB$1p6? zj?jg+H2Tnv)a6!$TM&K#G!l^Q6Nn!`9JVyR1A7LC5r@B-`u9WF*625m`h$M7u?bTs zzYTm*-x;2gM?W+5Oy6XEBMf$=zZdLRtBl{!2CqQg61Ch9Gcx0_KV*BM&)RT9 zCPdxRzVroStHRKi3BE>~8=pYE1a_f~oJxP0?SuW1Q}@64?7ZX)>F_fHC4Fkd_B2Wk zjsH-MkKUigY`h%bMGmC@pmsBa?GB-x;Gd)O*B$*M@FuiW_HpKj_a|bARi)FxCFxD- zJ5HT`+Ewa9%*1z|_}4kgHGLd*dAP*D=&DpDuJeeI%6f!0?x+u&xU2BV34Ryv9%r$$ z&$-pP%^7x1JMVNJa6aZd?0n7nrt<^m=guF~X<%0=*U?V3v)?)79CoIhcR2SuA9fyc zzT}*9zVH0dxsXode`Npi(&0;~OGB4#yY$ja`!01{YP%G@)O2anrN&EFU#h>fI;#yR z&VTU3eWm_Q5b*Op;BGJK<>I;r7k9IumqYAfgy_?qeSjws?#Fd2;8}!+aNP#@9}phK z1zh!Ygj2Xq1O5iWci?&_;D1DTKduJ=e;470aeWN%j}ShDi&p*#!Y|?a8sMKJJcsL> zfd3ug_i_CIFvcP0hq#chevR+~u0H~P##3R}Q#TGI2VHmfS5)=>-CpUzTL!%LdT-<4 z&=Gg$#sM$TnEEPyw?GXKhYr^_GhX#o|+6!+Gn6bffl%Pq8+E)Ij2%F%3bAId24rfD zNnBW97-DBXzH8pWhr(#}B6MYt*9GhLtTNQ4eUWu9rHueq7(ve}T*bM5IY&SQAP|Szn z4a{c|GzI1kLX%yPe-~2ot7@JKM7v)Wf{Ejv+IbdBQ{xTG!srhI$^HSaCKPj%-Xb_( zWe5%zbBDnGi?#SMg=!Ux%?!;hEp75nH`T9$nU+JhWlhcAitwyvxDs||cvW~d$Z%D7 z)?v6hJX^xBE<9Vxus%Fn#&At|ww&SB;n@m?o5HYywYyh31Ph1Uh^Jr52GZpkjb2~nQOz!t7>`<`dtJ4)64#04?nhRt3}rfT&{Z_DP{61^fhfR2n67|pfJ-0aq{+hOEw1D;OK?G4b$6cvx@ zYULNut1Fe*8S0#E)hnP;JM@RZMT-ofQKUMXy^e6?svXVV*2|&7fro*<4OOC6Ho6ga z7aKlIdHu}HuFx)YGy@nR(6OR7*sAf*C&0fGJ=97xF8mo3uOi+wIui-G?v5GI>dI!j z5lh2!KoeN5H^jc8d;h@00XOK@KOEQ)tQ(B6|13vW41VAk>P5>%ZRR&a^clLz4i|y= z&`8J&##1Bc!UFMBJ>a21wEMy`DTst#J=B}(tPg=hFZ4oSxPV>}CJ=-jt%J@1wl9H0 zVO%JX1Qb&!+-QWr9b*-H$Sf~-#C5cR3+^Qw#0H@qFwJ(8?3JT)aNXX}E;3_n?Jy>z z0%B3sKM-+uV05L#k_cj1lb1Fkc0IB(1G%lJxz05dlA3{x&E5+{g1BEbLmcS~RrITJ zC;Ed3t=5Z9eaB#AHlmlK0lqMkjM~g5cW06fwqG<4rzh-nHu*VuL}OvEt7!&4L}!^n zvz)^i)e`X{;2$^Uq67NYrE`VQDk5kkR>lN64fOvRPxbY^yesZ1<`~b#`)D`zFFQh= z^$j`o-7qLJCTR@csJ+y`ftII;qDMyMT~K+2ZJd}XpdBuYcNj>BI^Kg z2pl91fqvo;xRE$L0B#}zDTZ)^;BGQZq2!?&MiGx-CcRE>>Q|6 zAY%nGRCnHKGJ+~GyI!B!k6G=Rfmy~jF!o6KtMMBm-Did|wF_cuhoigp)y}jtRKBPD zy0UPI>y$0t{1u&kgXi3fVJGo$$w;Y6B%s!FK3=01TMq=_#Xr=$KKo~fh)K-C-5SCSaX-ai*w*A?7zHS z(yQ^07r!fTt*XFYkCg|%iLamJ?tlZw#Gc?E1=cDOc%Q%l?EigR;GpWpUY*5va&Su2 z$Ac>*y;N-uepTQybu9RVz~!pn!SAUXUKMJO^C5v3sj%~30x!;itJHMKRgzw<+DqOd zaIIQe@^yjni@PO1N{k&Hn;yG+bi^G=O{d)9$&+_YjU7EU?S9H_ZHcxvEX$V+udlS zC9(TP(h$3~Bj zPMt_iOt?L}=3*AZIyOCh^13Zs?zrQQ$gm|H8J;|`XKWbcP#duE=#)DRyYD+WIsv0Y zC&>)Ew~Lvgk*GU4<&LMON2i3|so|-ylhdanr^d!3lT$~x?Caf=(KfF}R6>oRX^p9A zTz9KcY__?$Qi!Jj4Pztdq`C|Lw~tuIkm{;W;cCUkeH8a*f!guom9FXs#wfzQD0MeV zjN>GgUc^tM(OSA=h)p0hWl~sb6nLZRh)Evc+g023OejXDW6_0wVRMW1&+SN zx%B!VA%AYKC6CK7=rC=pHlc1ueiRb4;M#`!c1W92$3c@gN03UH55t0d<&;+^Xtk;? zV7kB{P71nA1OFH>CjjvWqHZ@-+fgEl2lH31jgLv&`j#9s_N2Y1jg?0r9i^OtoG$nt z!F|43jU#^w-oZQl#abx>OSAkG(k=BuJbK73=zRd;23$$le$>?LNt75h7Me0rOd!>T z7wozsnpaATUOWxCuTxua-eJy&@w%+kj88&_J&kZL z`6bypZU;`TH_Z=;ci6^?67kb=Kl!7r@`1~$L}IzE42bU-;40{tqL1FHL4b0%`C-J z=;at|S7IDqh5s;6r|Q)jbv6EF&^1u00dMYvuw&kcYQ7eZy9wX>Hld?vhWK01AlQMl zVRY_51KkGa??RPqS3A@T)J{Az>_)}MQ1J;kNH1LAMQG?ZsNGO@uX-`m?o<2WLI>fV zH>#V|&1wKoy>C%3QMcl)phN05HKbB_UC6=z=q=S{x?ES_W5Gpwv97|)aW%SDFVRc& zGQC`{z|-`r@RWSDuG95;jlNp1)z@fOH|TXbq}S_4y+L2AH|kA#vu@I1-K-;ei*C_T z-HKn>YS$fltKOzNb(g*lzd*J_zd-NA56*Y%9v#zhozO|$t9R)a>Ff0kdbi%A_v#nx zeY#KY*9Y`L-LG%dH|d-8fF9Jh=$GhQ^-J|3eVZQADScQE>k&PwkLaWN7+#rpnLe(^ z^$9%BpVTMy%kjSoPw8oWTHmhk(0A&)^xgUu`jz@s`X2o^`qlb1`nCFX`t|w^`i=Tc z`iy?Fp3!g7Z`Jqex9PX*cj&*>_vv@)cj8tMG3X{;k5lRrt3G|5oAOD*Ri8f2;6s75=Tlzg76R z3jbE&-zNOqgnygxZxjA)!oN-Uw+a6?;om0w+k}6c@NX0TZNk4z__qoFHsRkc{M&_p zyYO!p{_VoQUHG>P|90WuF8tetf4lH+7yj+Szg_sZ3;%ZE-ywWEgl~uN#lKiK{@5XW zJA`kC@a+)39m2Om_;v{24&mD&{5pi+R^hW%_-vCnelyJQ+a`Rs3EwWUPnXEqCHP%} z-z9Q&iCkSGSC`1uC31C%TwNkpm)N66==TWy9--eO^n0XykCg9`@;!ce(XU7JiwV7$ z(2EJZn9z%fyfKkCCi2Ea-k9)<3BS0|iwnKD(2M)|B2QfSCj>ts_zA&J2>*oGHzD>- zh&&0ACn54AM4p7mlMsFh;g=Bo6QX}Y_$P&5Qurl>UsCubg zUsCubgLQfgR6m8iBWl{auU6J`c>WVT~p(# z?&#F$aaD)4#RNuoJ{4D>PF#(p&V+eZZeqy8tOECHl_+q!b+v=ylyf1y;+#go~=L;<5JYDjB%r&srk$y6BUQ9oe{uyG=;JSe4$k-qQw;hcUdpN_AUALiy3OUve`AGa`V9^pn}rzI?X6cxOu1 z3r*}%AIp}57aK3d{h9PLSz3P$D4+AQ=TKPQ#9>2(_||;EV`F}9rsi|4cfJ58;|&Y? z;T3tJP+p!>TPSDb_sjdCFNF1tN|dnBa;#?ZaY}&NYP7G!FS1-j&$Sjy*yC81oxq~( zw0e`8QEyTAs`sh~)F;(L>eK48>S6U&^$6aWIj6pbcVd2^eykqH4&@W-Pr4TUWbHDE#P6rZv3+dm*SprFZ06IU$Sq_OFN8kJloaK=03CQp#oTXSR)gm4L z30+rU#kbxVsu_^NN^cSFjabt)qL=4C3aP}ZP??pTgLPdE)_) zIT*KT9JTN@1x6D5uU{MuSW7CbB^6eXymhZ3vS0WXf$<)Ke|GJPg}KK)qw z5yZ}?AI0?~#`xtXb^&eYJa8^x#6Ay?VNdc@`azr*O#a36gGfPtiSrQ?5^F8nF!6!I zGt*0Ctg-;$V_&YP&FLo=qLvv$7eF#upohK#T0D;PV){|QklXe@yko3jJ~hRx29|&~ z0zMB*JjoJ>*|E6Pj6Ipr+vGe3ThNNYr43oO_yL~ACk-y@22^pGgMGM>$4bK)71FIt zoK@MG)kQN`Af}y-5eJ7UW2jj?Kh@B%k(_&Osww$6OZnWPEv#cWU{)ZwMk8Y#ky5RO zPtjVO@4-Uoc{6huBb%8^_?)06G|4~Gj|j)_f)f1=erae?4@zX}$k3uhraWQ~0`n1I zQZ~FdDg5czk6Yg|R{bDyo;2QRbRlP7mI5ing88Z0Sn*OezcA1GNw%yH72?e&i;w@j zhI8!xY^cwb{7Oq_{JNmPT#EioqyRA!^-D06R*}uKt;EDp-dJ^WERH!T-NySsv8E*0)K+g4q$ zwz&dob5ZhTo}0f=if_+_aGqNpE&5kK3TiQ*A1y3>C%o5RU2v{}BhyAOlLHlb0>EC? z=4b9j+OXiT*S)BEO@C=d5_sTh_JkO@kz+X2pk+KJw0ufdCevap7BDR>U`Rj8)jikn zb~HGTbkM||V`!m-8Bw1nz?T!>9TifXmv^QNOZcn0+|t(G8LQ`J%>(D+!V=u&kUA7v z7=^&gv>;zD8!}%~urfheQ#+Q8p+P%e%*-51CCAP*Se9cdX=f}ADz-i?s_~v|t|S%& z%%8goE*(+a*+*mGbOZa-^=j7*QaGup# z&6KixFFt_=Pt!EZ?{N1b!VX|X5PT=u{^%BOJ#m?k~_K|eP?Bxb%;`T4#rS!+Jt zv$n-TEp?v0)92+&Qy91DekwyBmK==b^c|yLrmn?O>>vI4n$O@$L!(O`FVj<6PKF5P zk7xnJTz-f^v(1bo3kK3P*8XID*?M^$ZIFC$YRp768lmk zRxmdKhS^p3TO0iX6)h{uWL3uk5Ewq#=ZSjgxyFtljyGS;T8+1r`muw3 z6W&m|7H=pW0@g6jEqDexhUcOa>gCueKZWO^U3f+8jd%mRou(>3;PdyzBG*&8IJ@FX9EeFRQO$ zhu~}YX7`Bt2A;K!;c4r)!S8$O`*?lqpVVXE{1ZHXy;J?O`WN*I{7S>m)vMGm@!jpK z@xATS>J93m`Xl&1gY#YL&p6+$(z;6Bk9Vh*s88_SDR9>KS5ehwH=SmA_D79*k1T|J zXwJ!2n?3(E7)M<|A=orz-X7yld-iR#d@jpjeY}y4(P)vG>6Kv*yA}}NO=CZ@3Om;I z2(QL&HQz~FpDB*5YaB}|h6kmh)O@P3Jd?{D9#-lK^SyStp|Dtnsv@;ORYd z${r0y-ZjASFG{i0@WJQwg6n`E)9tYgu%A*3otK$wC1hTKi##X~F=z{x7lcQRA`gS}dP-q=3xHlQ=t%2p&pzJ2R`Ny~Z*gv$RzBYiqi_;#o8lR-t z+VI1m$y_Yy%v*_e)C2jp;$6ZQqBSXubbR_mJM%eEn>ictltQ7EMsVkoswh(JMGwPQ zAMm0o<3G%=GoIZ6Xo-=Y-yd+*%#>}oC>IaT6*@CDS!$lzSb3KKcNY|5Id)X@W-0~wMWXqmmqkdQ5yZ8YnjLGPHJ?r3IT|49 z>OniRMnSq6r;3nAl0OHw`)2t#cE+8bCNaAnu=gxNpHD5DbcIlHyHq}VixuOSGgg~% zIg0}enYoMcnT#*cLy!Uw$zslh=F7FShq?GUDTQ{+$+|q~*LNYNsqYI+rPuqp)DS6b z6(-M5&xZ4*8;k-;t9Y0sFFQE0~ zNg85&I?ShZ)EO<^Z*TNuq?#H=XrvVycFfAIN@XuW+5^@^MeI{x6(dElG%Mca?tV!> zTmT;^c353fRia*P_u%EXYCo@Qv2|=OdIm^GT|KU z#Qy#aCW9z@CZ_%&d4}SAn%jcD|IMu}TZ6b$Gw~{x@k`{xq8;8C$i=lhviD+n#nNc| zEY~bY@xVEroaONBpe*Gqx8e}#TCXsW)L}LSxn^Bw@yy-!DX81@%itMkWx#$AYecj1 z#r;vg#9Z66eDTBBrNFbYnAVoL7WLuzy&&t4SvncW-)kU8w0LO1ankgX94i4^pXb{V zMGqq{dzfMed^_9Y0=B;E`WgO*{|T!+&2I4d!~UxPU%exnq#PJS0ujX8M;JYR@Y zV@BBxdU2e~A<=D^0UpL#C2I!S#Xg_37Fv(EgY|=h^+P>)E&}%e(lk~TRp7-By0Qo7 z{c9v@L$1cSPO#}rYsKng1Eku78E6Q4aFxhoF|JkS^7T@f9lJ>3T)zZ)_Nu@-q6XSr z3%wekxjkACti!cNq_2ZLZ3@>Ol#2)JHf$i?_!X5eFV{pHQ97GTYW_iqR+)MFDsWZc zUju1)SedNk4Zz`dT8&8Me4kQBaoJpARv_K##MBbAF0fLsfu~fr`3!)}oVl*SX z1~iDz+T>yJ8UgX*kxePbx{23PT$F%i8D?oy#u}5(Jewbd6&f;^rE6uSzjC*Qqx>uJ zKI44vtgkii^sQ4RJ+~xXwK;yE-&L)+FErI=QSs~kR$6(--_SABXJ?t2a14gUuZK#<`8 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasansmediumitalic.woff b/tmpl/assets/fonts/firasansmediumitalic.woff new file mode 100644 index 0000000000000000000000000000000000000000..e694422596d0515ce1892a719f0deb261b67d44c GIT binary patch literal 28548 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasanssemibold.ttf b/tmpl/assets/fonts/firasanssemibold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..69a4be5aa0e867841d38011e09d7abbb10848696 GIT binary patch literal 67644 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 z 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 U4C%4b(_Dr3=vq8)Fm%`dKjW69#Q*>R literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasanssemibold.woff b/tmpl/assets/fonts/firasanssemibold.woff new file mode 100644 index 0000000000000000000000000000000000000000..fe733039f04773c8ce535983dd33377ba478998c GIT binary patch literal 28728 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasanssemibold.woff2 b/tmpl/assets/fonts/firasanssemibold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..b828fd27545bc42da1fed742eb5dfbf457672ee8 GIT binary patch literal 22472 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 XI~Q2?-rzU?$MpQt?%=D-=Ist1YGIKq literal 0 HcmV?d00001 diff --git a/tmpl/assets/fonts/firasanssemibolditalic.ttf b/tmpl/assets/fonts/firasanssemibolditalic.ttf new file mode 100644 index 0000000000000000000000000000000000000000..dd5c7eee85eb61bb036697c70d412391fd5c493b GIT binary patch literal 72096 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 literal 0 HcmV?d00001 diff --git a/tmpl/assets/jquery-custom.min.js b/tmpl/assets/jquery-custom.min.js new file mode 100644 index 00000000..ee49d986 --- /dev/null +++ b/tmpl/assets/jquery-custom.min.js @@ -0,0 +1,5 @@ +/*! jQuery v3.0.0 -css,-css/addGetHookIf,-css/adjustCSS,-css/curCSS,-css/hiddenVisibleSelectors,-css/showHide,-effects,-effects/Tween,-effects/animatedSelector,-css/support,-css/var/cssExpand,-css/var/getStyles,-css/var/isHiddenWithinTree,-css/var/rmargin,-css/var/rnumnonpx,-css/var/swap,-dimensions,-offset,-deprecated,-event/alias,-wrap | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.0.0",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null!=a?0>a?this[a+this.length]:this[a]:f.call(this)},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(0>a?b:0);return this.pushStack(c>=0&&b>c?[this[c]]:[])},end:function(){return this.prevObject||this.constructor()},push:h,sort:c.sort,splice:c.splice},r.extend=r.fn.extend=function(){var a,b,c,d,e,f,g=arguments[0]||{},h=1,i=arguments.length,j=!1;for("boolean"==typeof g&&(j=g,g=arguments[h]||{},h++),"object"==typeof g||r.isFunction(g)||(g={}),h===i&&(g=this,h--);i>h;h++)if(null!=(a=arguments[h]))for(b in a)c=g[b],d=a[b],g!==d&&(j&&d&&(r.isPlainObject(d)||(e=r.isArray(d)))?(e?(e=!1,f=c&&r.isArray(c)?c:[]):f=c&&r.isPlainObject(c)?c:{},g[b]=r.extend(j,f,d)):void 0!==d&&(g[b]=d));return g},r.extend({expando:"jQuery"+(q+Math.random()).replace(/\D/g,""),isReady:!0,error:function(a){throw new Error(a)},noop:function(){},isFunction:function(a){return"function"===r.type(a)},isArray:Array.isArray,isWindow:function(a){return null!=a&&a===a.window},isNumeric:function(a){var b=r.type(a);return("number"===b||"string"===b)&&!isNaN(a-parseFloat(a))},isPlainObject:function(a){var b,c;return a&&"[object Object]"===k.call(a)?(b=e(a))?(c=l.call(b,"constructor")&&b.constructor,"function"==typeof c&&m.call(c)===n):!0:!1},isEmptyObject:function(a){var b;for(b in a)return!1;return!0},type:function(a){return null==a?a+"":"object"==typeof a||"function"==typeof a?j[k.call(a)]||"object":typeof a},globalEval:function(a){p(a)},camelCase:function(a){return a.replace(t,"ms-").replace(u,v)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toLowerCase()===b.toLowerCase()},each:function(a,b){var c,d=0;if(w(a)){for(c=a.length;c>d;d++)if(b.call(a[d],d,a[d])===!1)break}else for(d in a)if(b.call(a[d],d,a[d])===!1)break;return a},trim:function(a){return null==a?"":(a+"").replace(s,"")},makeArray:function(a,b){var c=b||[];return null!=a&&(w(Object(a))?r.merge(c,"string"==typeof a?[a]:a):h.call(c,a)),c},inArray:function(a,b,c){return null==b?-1:i.call(b,a,c)},merge:function(a,b){for(var c=+b.length,d=0,e=a.length;c>d;d++)a[e++]=b[d];return a.length=e,a},grep:function(a,b,c){for(var d,e=[],f=0,g=a.length,h=!c;g>f;f++)d=!b(a[f],f),d!==h&&e.push(a[f]);return e},map:function(a,b,c){var d,e,f=0,h=[];if(w(a))for(d=a.length;d>f;f++)e=b(a[f],f,c),null!=e&&h.push(e);else for(f in a)e=b(a[f],f,c),null!=e&&h.push(e);return g.apply([],h)},guid:1,proxy:function(a,b){var c,d,e;return"string"==typeof b&&(c=a[b],b=a,a=c),r.isFunction(a)?(d=f.call(arguments,2),e=function(){return a.apply(b||this,d.concat(f.call(arguments)))},e.guid=a.guid=a.guid||r.guid++,e):void 0},now:Date.now,support:o}),"function"==typeof Symbol&&(r.fn[Symbol.iterator]=c[Symbol.iterator]),r.each("Boolean Number String Function Array Date RegExp Object Error Symbol".split(" "),function(a,b){j["[object "+b+"]"]=b.toLowerCase()});function w(a){var b=!!a&&"length"in a&&a.length,c=r.type(a);return"function"===c||r.isWindow(a)?!1:"array"===c||0===b||"number"==typeof b&&b>0&&b-1 in a}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;d>c;c++)if(a[c]===b)return c;return-1},J="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",K="[\\x20\\t\\r\\n\\f]",L="(?:\\\\.|[\\w-]|[^\x00-\\xa0])+",M="\\["+K+"*("+L+")(?:"+K+"*([*^$|!~]?=)"+K+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+L+"))|)"+K+"*\\]",N=":("+L+")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|"+M+")*)|.*)\\)|)",O=new RegExp(K+"+","g"),P=new RegExp("^"+K+"+|((?:^|[^\\\\])(?:\\\\.)*)"+K+"+$","g"),Q=new RegExp("^"+K+"*,"+K+"*"),R=new RegExp("^"+K+"*([>+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:0>d?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\x80-\uFFFF\w-]/g,ca=function(a,b){return b?"\x00"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"label"in b&&b.disabled===a||"form"in b&&b.disabled===a||"form"in b&&b.disabled===!1&&(b.isDisabled===a||b.isDisabled!==!a&&("label"in b||!ea(b))!==a)}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return b?"HTML"!==b.nodeName:!1},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}},d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}}):(delete d.find.ID,d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){return"undefined"!=typeof b.getElementsByClassName&&p?b.getElementsByClassName(a):void 0},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:b?(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b?e===c||e.slice(0,c.length+1)===c+"-":!1):!0}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[0>c?c+b:c]}),even:pa(function(a,b){for(var c=0;b>c;c+=2)a.push(c);return a}),odd:pa(function(a,b){for(var c=1;b>c;c+=2)a.push(c);return a}),lt:pa(function(a,b,c){for(var d=0>c?c+b:c;--d>=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=0>c?c+b:c;++db;b++)d+=a[b].value;return d}function ta(a,b,c){var d=b.dir,e=b.next,f=e||d,g=c&&"parentNode"===f,h=x++;return b.first?function(b,c,e){while(b=b[d])if(1===b.nodeType||g)return a(b,c,e)}:function(b,c,i){var j,k,l,m=[w,h];if(i){while(b=b[d])if((1===b.nodeType||g)&&a(b,c,i))return!0}else while(b=b[d])if(1===b.nodeType||g)if(l=b[u]||(b[u]={}),k=l[b.uniqueID]||(l[b.uniqueID]={}),e&&e===b.nodeName.toLowerCase())b=b[d]||b;else{if((j=k[f])&&j[0]===w&&j[1]===h)return m[2]=j[2];if(k[f]=m,m[2]=a(b,c,i))return!0}}}function ua(a){return a.length>1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;e>d;d++)ga(a,b[d],c);return c}function wa(a,b,c,d,e){for(var f,g=[],h=0,i=a.length,j=null!=b;i>h;h++)(f=a[h])&&(c&&!c(f,d,e)||(g.push(f),j&&b.push(h)));return g}function xa(a,b,c,d,e,f){return d&&!d[u]&&(d=xa(d)),e&&!e[u]&&(e=xa(e,f)),ia(function(f,g,h,i){var j,k,l,m=[],n=[],o=g.length,p=f||va(b||"*",h.nodeType?[h]:h,[]),q=!a||!f&&b?p:wa(p,m,a,h,i),r=c?e||(f?a:o||d)?[]:g:q;if(c&&c(q,r,h,i),d){j=wa(r,n),d(j,[],h,i),k=j.length;while(k--)(l=j[k])&&(r[n[k]]=!(q[n[k]]=l))}if(f){if(e||a){if(e){j=[],k=r.length;while(k--)(l=r[k])&&j.push(q[k]=l);e(null,r=[],j,i)}k=r.length;while(k--)(l=r[k])&&(j=e?I(f,l):m[k])>-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];f>i;i++)if(c=d.relative[a[i].type])m=[ta(ua(m),c)];else{if(c=d.filter[a[i].type].apply(null,a[i].matches),c[u]){for(e=++i;f>e;e++)if(d.relative[a[e].type])break;return xa(i>1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,e>i&&ya(a.slice(i,e)),f>e&&ya(a=a.slice(e)),f>e&&sa(a))}m.push(c)}return ua(m)}function za(a,b){var c=b.length>0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,e,f){var i,j,k,l,m,n="function"==typeof a&&a,o=!f&&g(a=n.selector||a);if(e=e||[],1===o.length){if(j=o[0]=o[0].slice(0),j.length>2&&"ID"===(k=j[0]).type&&c.getById&&9===b.nodeType&&p&&d.relative[j[1].type]){if(b=(d.find.ID(k.matches[0].replace(_,aa),b)||[])[0],!b)return e;n&&(b=b.parentNode),a=a.slice(j.shift().value.length)}i=V.needsContext.test(a)?0:j.length;while(i--){if(k=j[i],d.relative[l=k.type])break;if((m=d.find[l])&&(f=m(k.matches[0].replace(_,aa),$.test(j[0].type)&&qa(b.parentNode)||b))){if(j.splice(i,1),a=f.length&&sa(j),!a)return G.apply(e,f),e;break}}}return(n||h(a,o))(f,b,!p,e,!b||$.test(a)&&qa(b.parentNode)||b),e},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){return c?void 0:a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){return c||"input"!==a.nodeName.toLowerCase()?void 0:a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;return c?void 0:a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){if(r.isFunction(b))return r.grep(a,function(a,d){return!!b.call(a,d,a)!==c});if(b.nodeType)return r.grep(a,function(a){return a===b!==c});if("string"==typeof b){if(C.test(b))return r.filter(b,a,c);b=r.filter(b,a)}return r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType})}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;d>b;b++)if(r.contains(e[b],this))return!0}));for(c=this.pushStack([]),b=0;d>b;b++)r.find(a,e[b],c);return d>1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;c>a;a++)if(r.contains(this,b[a]))return!0})},closest:function(a,b){var c,d=0,e=this.length,f=[],g="string"!=typeof a&&r(a);if(!A.test(a))for(;e>d;d++)for(c=this[d];c&&c!==b;c=c.parentNode)if(c.nodeType<11&&(g?g.index(c)>-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/\S+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),h>=c&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(f>b)){if(a=d.apply(h,i),a===c.promise())throw new TypeError("Thenable self-resolution");j=a&&("object"==typeof a||"function"==typeof a)&&a.then,r.isFunction(j)?e?j.call(a,g(f,c,M,e),g(f,c,N,e)):(f++,j.call(a,g(f,c,M,e),g(f,c,N,e),g(f,c,M,c.notifyWith))):(d!==M&&(h=void 0,i=[a]),(e||c.resolveWith)(h,i))}},k=e?j:function(){try{j()}catch(a){r.Deferred.exceptionHook&&r.Deferred.exceptionHook(a,k.stackTrace),b+1>=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(1>=b&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R),a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){ +return j.call(r(a),c)})),b))for(;i>h;h++)b(a[h],c,g?d:d.call(a[h],h,b(a[h],c)));return e?a:j?b.call(a):i?b(a[0],c):f},T=function(a){return 1===a.nodeType||9===a.nodeType||!+a.nodeType};function U(){this.expando=r.expando+U.uid++}U.uid=1,U.prototype={cache:function(a){var b=a[this.expando];return b||(b={},T(a)&&(a.nodeType?a[this.expando]=b:Object.defineProperty(a,this.expando,{value:b,configurable:!0}))),b},set:function(a,b,c){var d,e=this.cache(a);if("string"==typeof b)e[r.camelCase(b)]=c;else for(d in b)e[r.camelCase(d)]=b[d];return e},get:function(a,b){return void 0===b?this.cache(a):a[this.expando]&&a[this.expando][r.camelCase(b)]},access:function(a,b,c){return void 0===b||b&&"string"==typeof b&&void 0===c?this.get(a,b):(this.set(a,b,c),void 0!==c?c:b)},remove:function(a,b){var c,d=a[this.expando];if(void 0!==d){if(void 0!==b){r.isArray(b)?b=b.map(r.camelCase):(b=r.camelCase(b),b=b in d?[b]:b.match(K)||[]),c=b.length;while(c--)delete d[b[c]]}(void 0===b||r.isEmptyObject(d))&&(a.nodeType?a[this.expando]=void 0:delete a[this.expando])}},hasData:function(a){var b=a[this.expando];return void 0!==b&&!r.isEmptyObject(b)}};var V=new U,W=new U,X=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,Y=/[A-Z]/g;function Z(a,b,c){var d;if(void 0===c&&1===a.nodeType)if(d="data-"+b.replace(Y,"-$&").toLowerCase(),c=a.getAttribute(d),"string"==typeof c){try{c="true"===c?!0:"false"===c?!1:"null"===c?null:+c+""===c?+c:X.test(c)?JSON.parse(c):c}catch(e){}W.set(a,b,c)}else c=void 0;return c}r.extend({hasData:function(a){return W.hasData(a)||V.hasData(a)},data:function(a,b,c){return W.access(a,b,c)},removeData:function(a,b){W.remove(a,b)},_data:function(a,b,c){return V.access(a,b,c)},_removeData:function(a,b){V.remove(a,b)}}),r.fn.extend({data:function(a,b){var c,d,e,f=this[0],g=f&&f.attributes;if(void 0===a){if(this.length&&(e=W.get(f),1===f.nodeType&&!V.get(f,"hasDataAttrs"))){c=g.length;while(c--)g[c]&&(d=g[c].name,0===d.indexOf("data-")&&(d=r.camelCase(d.slice(5)),Z(f,d,e[d])));V.set(f,"hasDataAttrs",!0)}return e}return"object"==typeof a?this.each(function(){W.set(this,a)}):S(this,function(b){var c;if(f&&void 0===b){if(c=W.get(f,a),void 0!==c)return c;if(c=Z(f,a),void 0!==c)return c}else this.each(function(){W.set(this,a,b)})},null,b,arguments.length>1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;return a?(b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]):void 0},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ca=/^$|\/(?:java|ecma)script/i,da={option:[1,""],thead:[1,"","
"],col:[2,"","
"],tr:[2,"","
"],td:[3,"","
"],_default:[0,"",""]};da.optgroup=da.option,da.tbody=da.tfoot=da.colgroup=da.caption=da.thead,da.th=da.td;function ea(a,b){var c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[];return void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function fa(a,b){for(var c=0,d=a.length;d>c;c++)V.set(a[c],"globalEval",!b||V.get(b[c],"globalEval"))}var ga=/<|&#?\w+;/;function ha(a,b,c,d,e){for(var f,g,h,i,j,k,l=b.createDocumentFragment(),m=[],n=0,o=a.length;o>n;n++)if(f=a[n],f||0===f)if("object"===r.type(f))r.merge(m,f.nodeType?[f]:f);else if(ga.test(f)){g=g||l.appendChild(b.createElement("div")),h=(ba.exec(f)||["",""])[1].toLowerCase(),i=da[h]||da._default,g.innerHTML=i[1]+r.htmlPrefilter(f)+i[2],k=i[0];while(k--)g=g.lastChild;r.merge(m,g.childNodes),g=l.firstChild,g.textContent=""}else m.push(b.createTextNode(f));l.textContent="",n=0;while(f=m[n++])if(d&&r.inArray(f,d)>-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ea(l.appendChild(f),"script"),j&&fa(g),c){k=0;while(f=g[k++])ca.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var ia=d.documentElement,ja=/^key/,ka=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,la=/^([^.]*)(?:\.(.+)|)/;function ma(){return!0}function na(){return!1}function oa(){try{return d.activeElement}catch(a){}}function pa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)pa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=na;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(ia,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=la.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=la.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;cc;c++)f=b[c],e=f.selector+" ",void 0===d[e]&&(d[e]=f.needsContext?r(e,this).index(i)>-1:r.find(e,this,null,[i]).length),d[e]&&d.push(f);d.length&&g.push({elem:i,handlers:d})}return h\x20\t\r\n\f]*)[^>]*)\/>/gi,ra=/\s*$/g;function va(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function wa(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function xa(a){var b=ta.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function ya(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;d>c;c++)r.event.add(b,e,j[e][c])}W.hasData(a)&&(h=W.access(a),i=r.extend({},h),W.set(b,i))}}function za(a,b){var c=b.nodeName.toLowerCase();"input"===c&&aa.test(a.type)?b.checked=a.checked:"input"!==c&&"textarea"!==c||(b.defaultValue=a.defaultValue)}function Aa(a,b,c,d){b=g.apply([],b);var e,f,h,i,j,k,l=0,m=a.length,n=m-1,q=b[0],s=r.isFunction(q);if(s||m>1&&"string"==typeof q&&!o.checkClone&&sa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Aa(f,b,c,d)});if(m&&(e=ha(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ea(e,"script"),wa),i=h.length;m>l;l++)j=e,l!==n&&(j=r.clone(j,!0,!0),i&&r.merge(h,ea(j,"script"))),c.call(a[l],j,l);if(i)for(k=h[h.length-1].ownerDocument,r.map(h,xa),l=0;i>l;l++)j=h[l],ca.test(j.type||"")&&!V.access(j,"globalEval")&&r.contains(k,j)&&(j.src?r._evalUrl&&r._evalUrl(j.src):p(j.textContent.replace(ua,""),k))}return a}function Ba(a,b,c){for(var d,e=b?r.filter(b,a):a,f=0;null!=(d=e[f]);f++)c||1!==d.nodeType||r.cleanData(ea(d)),d.parentNode&&(c&&r.contains(d.ownerDocument,d)&&fa(ea(d,"script")),d.parentNode.removeChild(d));return a}r.extend({htmlPrefilter:function(a){return a.replace(qa,"<$1>")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ea(h),f=ea(a),d=0,e=f.length;e>d;d++)za(f[d],g[d]);if(b)if(c)for(f=f||ea(a),g=g||ea(h),d=0,e=f.length;e>d;d++)ya(f[d],g[d]);else ya(a,h);return g=ea(h,"script"),g.length>0&&fa(g,!i&&ea(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ba(this,a,!0)},remove:function(a){return Ba(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Aa(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=va(this,a);b.appendChild(a)}})},prepend:function(){return Aa(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=va(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Aa(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Aa(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ea(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null==a?!1:a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!ra.test(a)&&!da[(ba.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;d>c;c++)b=this[c]||{},1===b.nodeType&&(r.cleanData(ea(b,!1)),b.innerHTML=a);b=0}catch(e){}}b&&this.empty().append(a)},null,a,arguments.length)},replaceWith:function(){var a=[];return Aa(this,arguments,function(b){var c=this.parentNode;r.inArray(this,a)<0&&(r.cleanData(ea(this)),c&&c.replaceChild(b,this))},a)}}),r.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){r.fn[a]=function(a){for(var c,d=[],e=r(a),f=e.length-1,g=0;f>=g;g++)c=g===f?this:this.clone(!0),r(e[g])[b](c),h.apply(d,c.get());return this.pushStack(d)}}),r.fn.delay=function(b,c){return b=r.fx?r.fx.speeds[b]||b:b,c=c||"fx",this.queue(c,function(c,d){var e=a.setTimeout(c,b);d.stop=function(){a.clearTimeout(e)}})},function(){var a=d.createElement("input"),b=d.createElement("select"),c=b.appendChild(d.createElement("option"));a.type="checkbox",o.checkOn=""!==a.value,o.optSelected=c.selected,a=d.createElement("input"),a.value="t",a.type="radio",o.radioValue="t"===a.value}();var Ca,Da=r.expr.attrHandle;r.fn.extend({attr:function(a,b){return S(this,r.attr,a,b,arguments.length>1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?Ca:void 0)),void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),Ca={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=Da[b]||r.find.attr;Da[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=Da[g],Da[g]=e,e=null!=c(a,b,d)?g:null,Da[g]=f),e}});var Ea=/^(?:input|select|textarea|button)$/i,Fa=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):Ea.test(a.nodeName)||Fa.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});var Ga=/[\t\r\n\f]/g;function Ha(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,Ha(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=Ha(c),d=1===c.nodeType&&(" "+e+" ").replace(Ga," ")){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,Ha(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=Ha(c),d=1===c.nodeType&&(" "+e+" ").replace(Ga," ")){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=r.trim(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,Ha(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=Ha(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+Ha(c)+" ").replace(Ga," ").indexOf(b)>-1)return!0;return!1}});var Ia=/\r/g,Ja=/[\x20\t\r\n\f]+/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(Ia,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:r.trim(r.text(a)).replace(Ja," ")}},select:{get:function(a){for(var b,c,d=a.options,e=a.selectedIndex,f="select-one"===a.type,g=f?null:[],h=f?e+1:d.length,i=0>e?h:f?e:0;h>i;i++)if(c=d[i],(c.selected||i===e)&&!c.disabled&&(!c.parentNode.disabled||!r.nodeName(c.parentNode,"optgroup"))){if(b=r(c).val(),f)return b;g.push(b)}return g},set:function(a,b){var c,d,e=a.options,f=r.makeArray(b),g=e.length;while(g--)d=e[g],(d.selected=r.inArray(r.valHooks.option.get(d),f)>-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){return r.isArray(b)?a.checked=r.inArray(r(a).val(),b)>-1:void 0}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var Ka=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!Ka.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,Ka.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];return c?r.event.trigger(a,b,c,!0):void 0}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var La=a.location,Ma=r.now(),Na=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var Oa=/\[\]$/,Pa=/\r?\n/g,Qa=/^(?:submit|button|image|reset|file)$/i,Ra=/^(?:input|select|textarea|keygen)/i;function Sa(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||Oa.test(a)?d(a,e):Sa(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)Sa(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)Sa(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&Ra.test(this.nodeName)&&!Qa.test(a)&&(this.checked||!aa.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(Pa,"\r\n")}}):{name:b.name,value:c.replace(Pa,"\r\n")}}).get()}});var Ta=/%20/g,Ua=/#.*$/,Va=/([?&])_=[^&]*/,Wa=/^(.*?):[ \t]*([^\r\n]*)$/gm,Xa=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Ya=/^(?:GET|HEAD)$/,Za=/^\/\//,$a={},_a={},ab="*/".concat("*"),bb=d.createElement("a");bb.href=La.href;function cb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function db(a,b,c,d){var e={},f=a===_a;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function eb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function fb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}return f?(f!==i[0]&&i.unshift(f),c[f]):void 0}function gb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:La.href,type:"GET",isLocal:Xa.test(La.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":ab,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?eb(eb(a,r.ajaxSettings),b):eb(r.ajaxSettings,a)},ajaxPrefilter:cb($a),ajaxTransport:cb(_a),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Wa.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||La.href)+"").replace(Za,La.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=bb.protocol+"//"+bb.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),db($a,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Ya.test(o.type),f=o.url.replace(Ua,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(Ta,"+")):(n=o.url.slice(f.length),o.data&&(f+=(Na.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Va,""),n=(Na.test(f)?"&":"?")+"_="+Ma++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+ab+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=db(_a,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&300>b||304===b,d&&(v=fb(o,y,d)),v=gb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",0>b&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d, +d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var hb={0:200,1223:204},ib=r.ajaxSettings.xhr();o.cors=!!ib&&"withCredentials"in ib,o.ajax=ib=!!ib,r.ajaxTransport(function(b){var c,d;return o.cors||ib&&!b.crossDomain?{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(hb[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}:void 0}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" + + + + From 16e952a3b44299dcfaaf25d20da98881ed1f2949 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Tue, 11 Oct 2016 03:34:21 +0300 Subject: [PATCH 099/403] fix linguist data --- .gitattributes | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 00000000..b9b66bb9 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,4 @@ +tmpl/assets/* linguist-vendored +*.js linguist-vendored +*.css linguist-vendored +*.html linguist-vendored From 5fa7909eb12ead33b154251f6aa990a64686433e Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Tue, 11 Oct 2016 04:30:20 +0300 Subject: [PATCH 100/403] fix links --- repo.go | 61 ++++++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 54 insertions(+), 7 deletions(-) diff --git a/repo.go b/repo.go index 194d4022..9c53515c 100644 --- a/repo.go +++ b/repo.go @@ -11,27 +11,74 @@ import ( "github.com/russross/blackfriday" ) +// memory usage optimizations +const ( + emtyStr = "" + git = "git" + checkout = "checkout" + force = "-f" + pull = "pull" + + // options + readmePath = "./README.md" + tplPath = "tmpl/tmpl.html" + idxPath = "tmpl/index.html" + + bfHTMLRendererOpts = 0 | + blackfriday.HTML_USE_XHTML | + blackfriday.HTML_USE_SMARTYPANTS | + blackfriday.HTML_SMARTYPANTS_FRACTIONS | + blackfriday.HTML_SMARTYPANTS_DASHES | + blackfriday.HTML_SMARTYPANTS_LATEX_DASHES + + bfMDOpts = 0 | + blackfriday.EXTENSION_NO_INTRA_EMPHASIS | + blackfriday.EXTENSION_TABLES | + blackfriday.EXTENSION_FENCED_CODE | + blackfriday.EXTENSION_AUTOLINK | + blackfriday.EXTENSION_STRIKETHROUGH | + blackfriday.EXTENSION_SPACE_HEADERS | + blackfriday.EXTENSION_HEADER_IDS | + blackfriday.EXTENSION_BACKSLASH_LINE_BREAK | + blackfriday.EXTENSION_DEFINITION_LISTS | + blackfriday.EXTENSION_AUTO_HEADER_IDS +) + +var ( + doneResp = []byte("Done!\n") +) + type content struct { Body string } func generateHTML() { // Update repo - exec.Command("git", "checkout", "-f").Output() - exec.Command("git", "pull").Output() + exec.Command(git, checkout, force).Output() + exec.Command(git, pull).Output() - input, _ := ioutil.ReadFile("./README.md") - body := string(blackfriday.MarkdownCommon(input)) + input, _ := ioutil.ReadFile(readmePath) + body := string( + blackfriday.Markdown( + input, + blackfriday.HtmlRenderer( + bfHTMLRendererOpts, + emtyStr, + emtyStr, + ), + bfMDOpts, + ), + ) c := &content{Body: body} - t := template.Must(template.ParseFiles("tmpl/tmpl.html")) - f, _ := os.Create("tmpl/index.html") + t := template.Must(template.ParseFiles(tplPath)) + f, _ := os.Create(idxPath) t.Execute(f, c) } func hookHandler(w http.ResponseWriter, r *http.Request) { go generateHTML() - w.Write([]byte("Done!\n")) + w.Write(doneResp) } func main() { From 67da9fec302aead8e2c6aa61b6d9539177b56387 Mon Sep 17 00:00:00 2001 From: Mateusz Gajewski Date: Wed, 12 Oct 2016 16:54:11 +0200 Subject: [PATCH 101/403] Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index c896b41b..9527d098 100644 --- a/README.md +++ b/README.md @@ -232,6 +232,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Databases implemented in Go.* + +* [BigCache](https://github.com/allegro/bigcache) - Efficient key/value cache for gigabytes of data. * [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go. * [buntdb](https://github.com/tidwall/buntdb) - A fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. * [cache2go](https://github.com/muesli/cache2go) - An in-memory key:value cache which supports automatic invalidation based on timeouts. From 66d39b01fa18fc780b545677434f311998b386e7 Mon Sep 17 00:00:00 2001 From: steven Date: Thu, 13 Oct 2016 10:26:20 +0800 Subject: [PATCH 102/403] Add lhttp lhttp is a http like protocol using websocket to provide long live --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c896b41b..c82c61fb 100644 --- a/README.md +++ b/README.md @@ -682,6 +682,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [graval](https://github.com/koofr/graval) - An experimental FTP server framework. * [kcp-go](https://github.com/xtaci/kcp-go) - KCP - A Fast and Reliable ARQ Protocol. * [kcptun](https://github.com/xtaci/kcptun) - An extremely simple & fast udp tunnel based on KCP protocol +* [lhttp](https://github.com/fanux/lhttp) - A powerful websocker framework, build your IM server more easily. * [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces * [llb](https://github.com/kirillDanshin/llb) - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response. * [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang From ff3390e825a4c73e026741e262c204ec10db5796 Mon Sep 17 00:00:00 2001 From: steven Date: Thu, 13 Oct 2016 15:51:36 +0800 Subject: [PATCH 103/403] Fix websocker -> websocket typo in lhttp description. (#1132) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ae824cc1..cccf1f56 100644 --- a/README.md +++ b/README.md @@ -684,7 +684,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [graval](https://github.com/koofr/graval) - An experimental FTP server framework. * [kcp-go](https://github.com/xtaci/kcp-go) - KCP - A Fast and Reliable ARQ Protocol. * [kcptun](https://github.com/xtaci/kcptun) - An extremely simple & fast udp tunnel based on KCP protocol -* [lhttp](https://github.com/fanux/lhttp) - A powerful websocker framework, build your IM server more easily. +* [lhttp](https://github.com/fanux/lhttp) - A powerful websocket framework, build your IM server more easily. * [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces * [llb](https://github.com/kirillDanshin/llb) - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response. * [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang From 6f6f67c315cdd06f47585808c85e383e9974e92c Mon Sep 17 00:00:00 2001 From: Osamu TONOMORI Date: Fri, 14 Oct 2016 11:12:08 +0900 Subject: [PATCH 104/403] Add indigo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cccf1f56..c49b7e61 100644 --- a/README.md +++ b/README.md @@ -622,6 +622,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS * [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. * [health](https://github.com/dimiro1/health) - A Easy to use, extensible health check library. +* [indigo](https://github.com/osamingo/indigo) - A distributed unique ID generator of using Sonyflake and encoded by Base58. * [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. * [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. * [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. From ba62939e1628235d9b8211fe08519bdfc655f364 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Fri, 14 Oct 2016 18:44:31 +0300 Subject: [PATCH 105/403] Add link to PR template in CONTRIBUTING.md --- CONTRIBUTING.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 110e8efe..c92420e9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -18,6 +18,8 @@ To set this list apart from and compliment the excellent [Go wiki Projects page] Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries. +If you removed our PR template you can find it [here](https://github.com/avelino/awesome-go/blob/master/.github/PULL_REQUEST_TEMPLATE.md). + ## Quality standard From 6f10b332441a45d255c7f34989015ee04124e6e1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Florin=20P=C4=83=C8=9Ban?= Date: Sun, 16 Oct 2016 12:19:31 +0100 Subject: [PATCH 106/403] Remove iris from listing (#1135) Based on previous issues such as [1] and [2] as well as still not accepting open-source contributions, flattening contributions, closing PRs from users, editing issues, breaking changes very often and overall poor leadership of the project this PR removes the iris as a project from this listing. [1] https://github.com/julienschmidt/httprouter/issues/148 [2] https://github.com/julienschmidt/httprouter/issues/160 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index c49b7e61..4ea3c662 100644 --- a/README.md +++ b/README.md @@ -1127,7 +1127,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. * [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. -* [Iris](https://github.com/kataras/iris) - A very minimal but flexible and high-performance golang web application framework, providing a robust set of features for building web applications. * [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. * [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. From 9bf340e48aaa246e349f5370673b210778257453 Mon Sep 17 00:00:00 2001 From: Pavlo Lysov Date: Sun, 16 Oct 2016 19:06:02 +0300 Subject: [PATCH 107/403] adds the "gosuite" library (#1136) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4ea3c662..5c00ba54 100644 --- a/README.md +++ b/README.md @@ -876,6 +876,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gomega](http://onsi.github.io/gomega/) - Rspec like matcher/assertion library. * [GoSpec](https://github.com/orfjackal/gospec) - BDD-style testing framework for the Go programming language. * [gospecify](https://github.com/stesla/gospecify) - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. + * [gosuite](https://github.com/pavlo/gosuite) - Brings lightweight test suites with setup/teardown facilities to `testing` by leveraging Go1.7's Subtests * [Hamcrest](https://github.com/rdrdr/hamcrest) - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. * [httpexpect](https://github.com/gavv/httpexpect) - Concise, declarative, and easy to use end-to-end HTTP and REST API testing * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. From 3712b1f5a5cd4bf761bf91e997ce867602142b98 Mon Sep 17 00:00:00 2001 From: sbstjn Date: Mon, 17 Oct 2016 19:44:21 +0200 Subject: [PATCH 108/403] Add github.com/sbstjn/allot --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5c00ba54..f119a06e 100644 --- a/README.md +++ b/README.md @@ -903,6 +903,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for parsing and manipulating texts.* * Specific Formats + * [allot](https://github.com/sbstjn/allot) - Placeholder and wildcard text parsing for CLI tools and bots * [bbConvert](https://github.com/CalebQ42/bbConvert) - Converts bbCode to HTML that allows you to add support for custom bbCode tags * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. From cc58adefec5b14edbad398c4c21b2c89c74ce1e6 Mon Sep 17 00:00:00 2001 From: Michel Aquino Date: Wed, 19 Oct 2016 14:08:07 -0200 Subject: [PATCH 109/403] Add go-torch - Stochastic flame graph profiler for Go programs (#1140) * Update README Add govendor (https://github.com/kardianos/govendor), a go Package Manager * Update README.md Adding in alphabetical order * Update README Add go-swagger * Update README.md * Update README.md * Update README.md * Remove go-swagger * alphabetic order * alphabetic order --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5c00ba54..e8534407 100644 --- a/README.md +++ b/README.md @@ -1014,6 +1014,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. * [go-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go. * [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. +* [go-torch](https://github.com/uber/go-torch) - Stochastic flame graph profiler for Go programs. * [go-trigger](https://github.com/sadlil/go-trigger) - Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project. * [go-underscore](https://github.com/tobyhede/go-underscore) - A useful collection of helpfully functional Go collection utilities. * [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package. From 628bd6611f2fceb14da724949a045ea45fa0452b Mon Sep 17 00:00:00 2001 From: Harvey Kandola Date: Wed, 19 Oct 2016 10:43:34 -0700 Subject: [PATCH 110/403] Add Documize (#1142) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8534407..04e1ad9f 100644 --- a/README.md +++ b/README.md @@ -1271,6 +1271,7 @@ Software written in Go. * [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections. * [confd](https://github.com/kelseyhightower/confd) - Manage local application configuration files using templates and data from etcd or consul. * [Docker](http://www.docker.com/) - An open platform for distributed applications for developers and sysadmins. +* [Documize](https://github.com/documize/community) - Modern wiki software that integrates data from SaaS tools. * [fleet](https://github.com/coreos/fleet) - A Distributed init System. * [Go Package Store](https://github.com/shurcooL/Go-Package-Store#go-package-store-) - An app that displays updates for the Go packages in your GOPATH. * [gocc](https://github.com/goccmack/gocc) - Gocc is a compiler kit for Go written in Go. From 14b148425dfa1b7d91b57b498678fc7f48e0e269 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20M=C3=BCller?= Date: Thu, 20 Oct 2016 10:12:30 +0200 Subject: [PATCH 111/403] Add github.com/sbstjn/hanu (#1139) * Add github.com/sbstjn/hanu * Add link to tutorial for github.com/sbstjn/hanu * Update README.md Remove additional link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 04e1ad9f..c7639585 100644 --- a/README.md +++ b/README.md @@ -621,6 +621,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS * [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. +* [hanu](https://github.com/sbstjn/hanu) - Framework for writing Slack bots. * [health](https://github.com/dimiro1/health) - A Easy to use, extensible health check library. * [indigo](https://github.com/osamingo/indigo) - A distributed unique ID generator of using Sonyflake and encoded by Base58. * [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. From a19de29ee5bf9b9e34098684c35f4e0e2b3986d3 Mon Sep 17 00:00:00 2001 From: Michel Aquino Date: Thu, 20 Oct 2016 15:11:10 -0200 Subject: [PATCH 112/403] Add Go swagger (#1141) * Update README Add govendor (https://github.com/kardianos/govendor), a go Package Manager * Update README.md Adding in alphabetical order * Update README Add go-swagger * Update README.md * Update README.md * Update README.md * Remove go-swagger * alphabetic order * alphabetic order * Add go-swagger * Remove link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c7639585..b4ae425c 100644 --- a/README.md +++ b/README.md @@ -1223,6 +1223,7 @@ Go software and plugins. * [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output. * [gb](https://getgb.io/) - An easy to use project based build tool for the Go programming language. * [go-pkg-complete](https://github.com/skelterjohn/go-pkg-complete) - Bash completion for go and wgo. +* [go-swagger](https://github.com/go-swagger/go-swagger) - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API. * [rts](https://github.com/galeone/rts) - RTS: response to struct. Generates Go structs from server responses. ## Software Packages From 8bd9ec0658b4cc00984c2159a39bc95998799a6d Mon Sep 17 00:00:00 2001 From: Erik Davidson Date: Sun, 23 Oct 2016 01:16:08 -0500 Subject: [PATCH 113/403] Add gomol to logging section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e123084f..4753529a 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-log](https://github.com/ian-kent/go-log) - A log4j implementation in Go. * [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. * [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. +* [gomol](https://github.com/aphistic/gomol) - Multiple-output, structured logging for Go with extensible logging outputs. * [gone/log](https://github.com/One-com/gone/tree/master/log#readme) - Fast, extendable, full-featured, std-lib source compatible log library. * [log](https://github.com/apex/log) - Structured logging package for Go. * [log](https://github.com/go-playground/log) - Simple, configurable and scalable Structured Logging for Go. From da06cf5140f7c0264c0f6f6743093ffd8aac01a5 Mon Sep 17 00:00:00 2001 From: jorin Date: Mon, 24 Oct 2016 20:43:20 +0200 Subject: [PATCH 114/403] Replace Boom with Hey (#1148) [Boom](https://github.com/rakyll/boom) has been renamed to [Hey](https://github.com/rakyll/hey) because of a name conflict with another binary. The old URL is still working but users are encouraged to change to the new one. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e123084f..505c5c0b 100644 --- a/README.md +++ b/README.md @@ -1237,7 +1237,6 @@ Software written in Go. * [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool. * [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile. * [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. -* [Boom](https://github.com/rakyll/boom) - Boom is a tiny program that sends some load to a web application. * [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. @@ -1253,6 +1252,7 @@ Software written in Go. * [goxc](https://github.com/laher/goxc) - build tool for Go, with a focus on cross-compiling and packaging. * [grapes](https://github.com/yaronsumel/grapes) - lightweight tool designed to distribute commands over ssh with ease. * [GVM](https://github.com/moovweb/gvm) - GVM provides an interface to manage Go versions. +* [Hey](https://github.com/rakyll/hey) - Hey is a tiny program that sends some load to a web application. * [kala](https://github.com/ajvb/kala) - Simplistic, modern, and performant job scheduler. * [kubernetes](https://github.com/kubernetes/kubernetes) - Container Cluster Manager from Google. * [Mora](https://github.com/emicklei/mora) - REST server for accessing MongoDB documents and meta data. From 0c21c91ebb8d5eadc7d48308254d353f3f63d7ea Mon Sep 17 00:00:00 2001 From: Atsushi NAGASE Date: Thu, 27 Oct 2016 02:59:44 +0900 Subject: [PATCH 115/403] Add ngs/go-google-email-audit-api. (#1149) Go client library for Google G Suite Email Audit API. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 505c5c0b..086bf8d0 100644 --- a/README.md +++ b/README.md @@ -968,6 +968,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go. * [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting. * [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go Client Library. +* [google-email-audit-api](https://github.com/ngs/go-google-email-audit-api) - Go client library for [Google G Suite Email Audit API](https://developers.google.com/admin-sdk/email-audit/). * [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. * [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. From aa0d55f335922d507ffdb6b9a066ec1ab9de07a8 Mon Sep 17 00:00:00 2001 From: Wesley Hill Date: Wed, 26 Oct 2016 20:35:01 +0100 Subject: [PATCH 116/403] add therecipe/qt - Qt binding for Go. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 086bf8d0..a06d4d84 100644 --- a/README.md +++ b/README.md @@ -478,6 +478,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goqt](https://github.com/visualfc/goqt) - Golang bindings to the Qt cross-platform application framework. * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. +* [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi) * [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. * [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area * [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system's taskbar. From 0c7983449013ac9c2cd7922087717341c1e71677 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=8B=9B=E7=89=8C=E7=96=AF=E5=AD=90?= Date: Thu, 27 Oct 2016 14:18:18 +0800 Subject: [PATCH 117/403] Add buaazp/fasthttprouter (#1151) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a06d4d84..1bed79aa 100644 --- a/README.md +++ b/README.md @@ -1111,6 +1111,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. * [CleverGo](https://github.com/headwindfly/clevergo) - CleverGo is a simple, easy to use and high performance web framework for Go. * [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for Go. +* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework. * [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework * [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. From 9d386935ccaf5195bbf636974eb296b23c3f5d9e Mon Sep 17 00:00:00 2001 From: emersion Date: Thu, 27 Oct 2016 16:41:35 +0200 Subject: [PATCH 118/403] Adds go-imap --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1bed79aa..a92528dd 100644 --- a/README.md +++ b/README.md @@ -375,6 +375,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [douceur](https://github.com/aymerick/douceur) - CSS inliner for your HTML emails. * [email](https://github.com/jordan-wright/email) - A robust and flexible email library for Go. * [go-dkim](https://github.com/toorop/go-dkim) - A DKIM library, to sign & verify email. +* [go-imap](https://github.com/emersion/go-imap) - An IMAP library for clients and servers * [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails. * [Hectane](https://github.com/hectane/hectane) - Lightweight SMTP client providing an HTTP API * [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface From 822e46e9b1327fcd2dca987bd1715f8e397afe84 Mon Sep 17 00:00:00 2001 From: Richard Knop Date: Fri, 28 Oct 2016 15:26:55 +0800 Subject: [PATCH 119/403] Adding RichardKnop/go-oauth2-server. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a92528dd..1d20846a 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [authboss](https://github.com/go-authboss/authboss) - A modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time. * [Go-AWS-Auth](https://github.com/smartystreets/go-aws-auth) - AWS (Amazon Web Services) request signing library. * [go-jose](https://github.com/square/go-jose) - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. +* [go-oauth2-server](https://github.com/RichardKnop/go-oauth2-server) - A standalone, specification-compliant, OAuth2 server written in Golang. * [go.auth](https://github.com/bradrydzewski/go.auth) - Authentication API for Go web applications. * [gologin](https://github.com/dghubble/gologin) - chainable handlers for login with OAuth1 and OAuth2 authentication providers. * [gorbac](https://github.com/mikespook/gorbac) - provides a lightweight role-based access control (RBAC) implementation in Golang. From feddb608238297e77fb16b8fa1c2630da93bf487 Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 28 Oct 2016 16:42:50 -0600 Subject: [PATCH 120/403] Add sg ([HTTP server] stress gauge) Note that Travis-ci image says "build failing" but the actual page says it doesn't fail: https://travis-ci.org/ChristopherRabotin/sg . --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1d20846a..9d32fc5a 100644 --- a/README.md +++ b/README.md @@ -1266,6 +1266,7 @@ Software written in Go. * [Rodent](https://github.com/alouche/rodent) - Rodent helps you manage Go versions, projects and track dependencies. * [s3gof3r](https://github.com/rlmcpherson/s3gof3r) - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. * [Scaleway-cli](https://github.com/scaleway/scaleway-cli) - Manage BareMetal Servers from Command Line (as easily as with Docker). +* [sg](https://github.com/ChristopherRabotin/sg) - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the reponse code and data between each call for specific server stress based on its previous response. * [Vegeta] (https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000! * [webhook](https://github.com/adnanh/webhook) - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. * [Wide](https://wide.b3log.org/login) - A Web-based IDE for Teams using Golang. From 5283df17b9e0e5c7cbdcfe6b5e362b87a700a605 Mon Sep 17 00:00:00 2001 From: Osamu TONOMORI Date: Mon, 31 Oct 2016 18:01:02 +0900 Subject: [PATCH 121/403] Add jsonrpc --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9d32fc5a..6136ce9d 100644 --- a/README.md +++ b/README.md @@ -358,6 +358,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function. * [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load. * [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. +* [jsonrpc](https://github.com/osamingo/jsonrpc) - The jsonrpc package helps implement of JSON-RPC 2.0. * [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. From fef72675607a5b5bc154eb34356ce19e81814dc5 Mon Sep 17 00:00:00 2001 From: Geofrey Ernest Date: Mon, 31 Oct 2016 18:06:15 +0300 Subject: [PATCH 122/403] Add utron framework (#1158) This adds utron MVC framework on the web frameworks section --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6136ce9d..9d46b97a 100644 --- a/README.md +++ b/README.md @@ -1155,6 +1155,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [tango](https://github.com/lunny/tango) - Micro & pluggable web framework for Go. * [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard * [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for Go. +* [utron](https://github.com/gernest/utron) - A lightweight MVC framework for Go(Golang). * [VarHandler](https://github.com/azr/generators/tree/master/varhandler) - Generate boilerplate http input and ouput handling. * [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. * [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. From 7ab60a893b9fb10ab560f3a5bb31d597029eeddf Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Mon, 31 Oct 2016 18:31:27 +0300 Subject: [PATCH 123/403] Revert "Add go-options" (#1161) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 9d46b97a..3724f12e 100644 --- a/README.md +++ b/README.md @@ -178,7 +178,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [envconf](https://github.com/ian-kent/envconf) - Configuration from environment * [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. * [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections -* [go-options](https://github.com/kataras/go-options) - Clean APIs for your Go Applications * [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file From 52cf0e53545ba6166292d315a16fe0dd54b217bf Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Mon, 31 Oct 2016 18:33:15 +0300 Subject: [PATCH 124/403] Revert "Add simple go-serializer" (#1162) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 3724f12e..b0dc14c2 100644 --- a/README.md +++ b/README.md @@ -818,7 +818,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-capnproto](https://github.com/glycerine/go-capnproto) - Cap'n Proto library and parser for go * [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go. * [go-codec](https://github.com/ugorji/go) - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support -* [go-serializer](https://github.com/kataras/go-serializer) Serialize custom types or content to []byte or string * [gogoprotobuf](https://github.com/gogo/protobuf) - Protocol Buffers for Go with Gadgets * [goprotobuf](https://github.com/golang/protobuf) - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. * [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures. From de392148819f735d013fc0e8394f73a9c40b666e Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Mon, 31 Oct 2016 18:34:34 +0300 Subject: [PATCH 125/403] Revert "Add go-events" (#1163) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index b0dc14c2..6d40de9b 100644 --- a/README.md +++ b/README.md @@ -586,7 +586,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. -* [go-events](https://github.com/kataras/go-events) - Simple Nodejs-style EventEmmiter for Go. * [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. * [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ From 34cf5adefc9abd87a5ad8f55958c6a21c1ee6465 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=B0=8F=E9=A9=AC=E5=93=A5?= Date: Tue, 1 Nov 2016 00:57:04 +0800 Subject: [PATCH 126/403] Added hprose --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6d40de9b..5a4fa205 100644 --- a/README.md +++ b/README.md @@ -357,6 +357,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function. * [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load. * [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. +* [hprose](https://github.com/hprose/hprose-golang) - A very newbility RPC Library, support 25+ languages now. * [jsonrpc](https://github.com/osamingo/jsonrpc) - The jsonrpc package helps implement of JSON-RPC 2.0. * [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. From bb2c35c10a69c3e6a8f733ca335ba2f54d02ed54 Mon Sep 17 00:00:00 2001 From: Milica Date: Mon, 31 Oct 2016 21:40:25 +0100 Subject: [PATCH 127/403] Adding 2 TDD/BDD tutorials (#1164) * adding 2 TDD/BDD tutorials * placing links in alphabetical order --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 5a4fa205..53966133 100644 --- a/README.md +++ b/README.md @@ -1396,11 +1396,14 @@ Where to discover new Go libraries. ### Tutorials * [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go. +* [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline. * [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs. * [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. +* [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. * [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. + ## Windows * [d3d9](https://github.com/gonutz/d3d9) - Go bindings for Direct3D9 From 4bf4bed842a72e9aa99f5df22d25d68bdf586801 Mon Sep 17 00:00:00 2001 From: Geofrey Ernest Date: Tue, 1 Nov 2016 15:07:34 +0300 Subject: [PATCH 128/403] Add alien --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 53966133..07ec5548 100644 --- a/README.md +++ b/README.md @@ -1106,6 +1106,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Full stack web frameworks.* +* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space * [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language. * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. * [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. From 3268c806a3c6fdedb8c1c5f2e5082717d0a7d7fb Mon Sep 17 00:00:00 2001 From: Cosmin Rentea Date: Wed, 2 Nov 2016 16:34:36 +0200 Subject: [PATCH 129/403] add guble --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 07ec5548..018ce2e4 100644 --- a/README.md +++ b/README.md @@ -592,6 +592,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ * [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - gopush-cluster is a go push server cluster. * [gorush](https://github.com/appleboy/gorush) - A push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm). +* [guble](https://github.com/smancke/guble) - A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. * [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing. * [mangos](https://github.com/go-mangos/mangos) - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. * [NATS Go Client](https://github.com/nats-io/nats) - A lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. From 7e8806309346d0ac762aeee9fe391a76e654d545 Mon Sep 17 00:00:00 2001 From: Alexander Zhuravlev Date: Wed, 2 Nov 2016 23:02:24 +0400 Subject: [PATCH 130/403] Add ringpop-go from Uber "Scalable, fault-tolerant application-layer sharding for Go applications" --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 018ce2e4..60fbae7b 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. * [raft](https://github.com/coreos/etcd/tree/master/raft#readme) - Go implementation of the Raft consensus protocol, by CoreOS. +* [ringpop-go](https://github.com/uber/ringpop-go) - Scalable, fault-tolerant application-layer sharding for Go applications * [rpcx](https://github.com/smallnest/rpcx) - A distributed pluggable RPC service framework like alibaba Dubbo. * [sleuth](https://github.com/ursiform/sleuth) - A library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)). * [tendermint](https://github.com/tendermint/tendermint) - High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols. From 6fea7ec605d88c61250b60f82c655ebca6258dd6 Mon Sep 17 00:00:00 2001 From: Gustav Westling Date: Sun, 6 Nov 2016 18:07:05 +0100 Subject: [PATCH 131/403] Add goriak --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 018ce2e4..ed18cf24 100644 --- a/README.md +++ b/README.md @@ -318,6 +318,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gocql](http://gocql.github.io) - A Go language driver for Apache Cassandra. * [gomemcache](https://github.com/bradfitz/gomemcache/) - memcache client library for the Go programming language. * [gorethink](https://github.com/dancannon/gorethink) - Go language driver for RethinkDB + * [goriak](https://github.com/zegl/goriak) - Go language driver for Riak KV * [mgo](https://godoc.org/labix.org/v2/mgo) - MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms. * [neo4j](https://github.com/cihangir/neo4j) - Neo4j Rest API Bindings for Golang * [Neo4j-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in golang. From 41e4e8ed4a1bfa2ed159a218105dcc2f360ba746 Mon Sep 17 00:00:00 2001 From: Konstantin Ivanov Date: Mon, 7 Nov 2016 13:44:19 +0300 Subject: [PATCH 132/403] Advanced Console UIs -> add logrusorgru/aurora package --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ed18cf24..0d35c893 100644 --- a/README.md +++ b/README.md @@ -153,6 +153,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for building Console Applications and Console User Interfaces* +* [aurora](https://github.com/logrusorgru/aurora) - ANSI terminal colors that supports fmt.Printf/Sprintf * [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. * [color](https://github.com/fatih/color) - Versatile package for colored terminal output. * [colourize](https://github.com/TreyBastian/colourize) - Go library for ANSI colour text in terminals. From deaf35eff5bca7ac6a4897bf32366990505d8bcc Mon Sep 17 00:00:00 2001 From: Chewxy Date: Tue, 8 Nov 2016 08:05:51 +1100 Subject: [PATCH 133/403] Added Gorgonia --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d35c893..ae3c87a5 100644 --- a/README.md +++ b/README.md @@ -573,6 +573,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [golinear](https://github.com/danieldk/golinear) - liblinear bindings for Go * [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go * [goRecommend](https://github.com/timkaye11/goRecommend) - Recommendation Algorithms library written in Go. +* [gorgonia](https://github.com/chewxy/gorgonia) - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms * [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. * [mlgo](https://github.com/NullHypothesis/mlgo) - This project aims to provide minimalistic machine learning algorithms in Go. * [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. From e471baaa5a247e714691a4f33573e25f431274d1 Mon Sep 17 00:00:00 2001 From: Chewxy Date: Tue, 8 Nov 2016 08:19:30 +1100 Subject: [PATCH 134/403] Added fullstop to make sentence complete --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ae3c87a5..343cd0ba 100644 --- a/README.md +++ b/README.md @@ -573,7 +573,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [golinear](https://github.com/danieldk/golinear) - liblinear bindings for Go * [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go * [goRecommend](https://github.com/timkaye11/goRecommend) - Recommendation Algorithms library written in Go. -* [gorgonia](https://github.com/chewxy/gorgonia) - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms +* [gorgonia](https://github.com/chewxy/gorgonia) - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms. * [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. * [mlgo](https://github.com/NullHypothesis/mlgo) - This project aims to provide minimalistic machine learning algorithms in Go. * [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. From 48d78da61fa8a4e61c3b79bea00fa122afbe8c9f Mon Sep 17 00:00:00 2001 From: Mateusz Gajewski Date: Wed, 9 Nov 2016 14:44:05 +0100 Subject: [PATCH 135/403] Update README.md Add https://github.com/wendigo/go-bind-plugin https://goreportcard.com/report/github.com/wendigo/go-bind-plugin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 343cd0ba..8b98eda0 100644 --- a/README.md +++ b/README.md @@ -1018,6 +1018,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. +* [go-bind-plugin](https://github.com/wendigo/go-bind-plugins) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. * [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. From 79bf706df4f78165c662a20064eb7e3cf250e95f Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Fri, 11 Nov 2016 01:40:12 -0800 Subject: [PATCH 136/403] Fix go-bind-plugin URL. Fixup for #1178. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8b98eda0..5f97896a 100644 --- a/README.md +++ b/README.md @@ -1018,7 +1018,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. -* [go-bind-plugin](https://github.com/wendigo/go-bind-plugins) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) +* [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. * [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. From bc4a769aa2ba383acae0f3b21058ffec095006ed Mon Sep 17 00:00:00 2001 From: Chris Date: Fri, 11 Nov 2016 16:53:32 -0700 Subject: [PATCH 137/403] Add ODE solver --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 974a15af..e2b90ccf 100644 --- a/README.md +++ b/README.md @@ -796,6 +796,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) * [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language * [mudlark-go](https://github.com/pwil3058/mudlark-go-pkgs) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. +* [ode](https://github.com/ChristopherRabotin/ode) - An ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions. * [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go * [PiHex](https://github.com/claygod/PiHex) - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi * [stats](https://github.com/montanaflynn/stats) - A statistics package with common functions missing from the Golang standard library. From 79e3baad3cd5a1cf4ddc0c5916565afed977953e Mon Sep 17 00:00:00 2001 From: Michael Schenk Date: Sat, 12 Nov 2016 15:46:10 -0600 Subject: [PATCH 138/403] Add Git Time Metric utility --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2b90ccf..9b4dd121 100644 --- a/README.md +++ b/README.md @@ -1020,6 +1020,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. +* [git-time-metric](https://github.com/git-time-metric/gtm) - Simple, seamless, lightweight time tracking for Git * [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. From e4c7200e7be789dbdf75d997105d7a6e8ba0aad7 Mon Sep 17 00:00:00 2001 From: Avelino Date: Wed, 16 Nov 2016 23:36:48 -0200 Subject: [PATCH 139/403] remove arschles/gogenerate, ref #1181 Comment of maintainer: https://github.com/avelino/awesome-go/issues/1181#issuecomment-261002875 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index e2b90ccf..1a31b3aa 100644 --- a/README.md +++ b/README.md @@ -904,7 +904,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * Fuzzing and delta-debugging/reducing/shrinking * [go-fuzz](https://github.com/dvyukov/go-fuzz) - A randomized testing system * [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values - * [gogenerate](https://github.com/arschles/gogenerate) - A Scalacheck-like library for Go * [Tavor](https://github.com/zimmski/tavor) - A generic fuzzing and delta-debugging framework ## Text Processing From 336459745273ce4b30821e32cc5de778b46f73aa Mon Sep 17 00:00:00 2001 From: Avelino Date: Wed, 16 Nov 2016 23:45:16 -0200 Subject: [PATCH 140/403] added package `go.uuid`, ref #1125 Suggest by @nntaoli --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1a31b3aa..737d4000 100644 --- a/README.md +++ b/README.md @@ -626,6 +626,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. * [go-openapi](https://github.com/go-openapi) - A collection of packages to parse and utilize open-api schemas * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. +* [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS * [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. From 3b8ab21bcc1512b107a97e13a09482a57dcd0060 Mon Sep 17 00:00:00 2001 From: Avelino Date: Wed, 16 Nov 2016 23:48:27 -0200 Subject: [PATCH 141/403] fixed typo Google is the company that created (and keep) the language Go, do not use the Google name as the language --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 737d4000..3693330c 100644 --- a/README.md +++ b/README.md @@ -331,7 +331,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * Search and Analytic Databases * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go. - * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Google Go. + * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Go. * [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library. * [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch. * [skizze](https://github.com/seiflotfy/skizze) - A probabilistic data-structures service and storage. From 79ff0fddd8cfdd7786d4eadad72410c0918331c4 Mon Sep 17 00:00:00 2001 From: Avelino Date: Wed, 16 Nov 2016 23:52:10 -0200 Subject: [PATCH 142/403] added Google Drive client for command line, ref #1108 suggestion by @ManuCart --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3693330c..d2344232 100644 --- a/README.md +++ b/README.md @@ -136,6 +136,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [climax](http://github.com/tucnak/climax) - An alternative CLI with "human face", in spirit of Go command * [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions * [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. +* [drive](https://github.com/odeke-em/drive) - Google Drive client for the commandline * [go-arg](https://github.com/alexflint/go-arg) - Struct-based argument parsing in Go * [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser * [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. From c2b9ddf0755baf31e6d598a9623a0cf9484b2b12 Mon Sep 17 00:00:00 2001 From: Avelino Date: Wed, 16 Nov 2016 23:55:38 -0200 Subject: [PATCH 143/403] added jet template engine, ref #1095 suggestion by @andradei --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2344232..c3c84353 100644 --- a/README.md +++ b/README.md @@ -855,6 +855,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [ego](https://github.com/benbjohnson/ego) - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. * [fasttemplate](https://github.com/valyala/fasttemplate) - Simple and fast template engine. Substitutes template placeholders up to 10x faster than [text/template](http://golang.org/pkg/text/template/). * [gofpdf](https://github.com/jung-kurt/gofpdf) - A PDF document generator with high level support for text, drawing and images. +* [jet](https://github.com/CloudyKit/jet) - Jet template engine * [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. * [mustache](https://github.com/hoisie/mustache) - A Go implementation of the Mustache template language. * [pongo2](https://github.com/flosch/pongo2) - A Django-like template-engine for Go. From 294f48f8352674ac60f1ba86c68311ff4c9281e5 Mon Sep 17 00:00:00 2001 From: Avelino Date: Thu, 17 Nov 2016 00:06:45 -0200 Subject: [PATCH 144/403] added Dependency Injection, ref #902 I don't know if it's the best category, I need someone to review pls @arvenil --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c3c84353..6f27ff22 100644 --- a/README.md +++ b/README.md @@ -936,6 +936,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. * [gotext](https://github.com/leonelquinteros/gotext) - GNU gettext utilities for Go. * [guesslanguage](https://github.com/endeveit/guesslanguage) - Functions to determine the natural language of a unicode text. + * [inject](https://github.com/facebookgo/inject) - Package inject provides a reflect based injector. * [mxj](https://github.com/clbanning/mxj) - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. * [sh](https://github.com/mvdan/sh) - A shell parser and formatter * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. From 148e03199268ab6e11b9edb7067ae7572bc21def Mon Sep 17 00:00:00 2001 From: Satish Talim Date: Thu, 17 Nov 2016 08:24:16 +0530 Subject: [PATCH 145/403] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f27ff22..0794f233 100644 --- a/README.md +++ b/README.md @@ -1361,7 +1361,7 @@ Where to discover new Go libraries. * [GopherCon](http://www.gophercon.com/) - Denver, USA * [GopherCon Brazil](https://gopherconbr.org) - Florianópolis, BR * [GopherCon Dubai](http://www.gophercon.ae/) - Dubai, UAE -* [GopherCon India](http://www.gophercon.in/) - Bengaluru, India +* [GopherCon India](http://www.gophercon.in/) - Pune, India * [GothamGo](http://gothamgo.com/) - New York City, USA ## E-Books From fc989f23101d7114972a48c8f2e006437749c6b8 Mon Sep 17 00:00:00 2001 From: Danniel Magno Date: Thu, 17 Nov 2016 14:12:25 -0200 Subject: [PATCH 146/403] Add jsonapi-errors to the list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e461dcbb..cba0f441 100644 --- a/README.md +++ b/README.md @@ -1052,6 +1052,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. * [hystrix-go](https://github.com/afex/hystrix-go) - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. * [JobRunner](https://github.com/bamzi/jobrunner) - Smart and featureful cron job scheduler with job queuing and live monitoring built in. +* [jsonapi-errors](https://github.com/AmuzaTkts/jsonapi-errors) - Go bindings based on the JSON API errors reference. * [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON. * [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects. * [kazaam](https://github.com/Qntfy/kazaam) - API for arbitrary transformation of JSON documents. From 7f1e23651d775ff02068a925930c2f2e84bf3fde Mon Sep 17 00:00:00 2001 From: Nick Stogner Date: Sat, 19 Nov 2016 14:50:06 -0500 Subject: [PATCH 147/403] Remove httpware (no longer relevant after go 1.7) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index cba0f441..cc0ac3ad 100644 --- a/README.md +++ b/README.md @@ -1193,7 +1193,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [chain](https://github.com/codemodus/chain) - Handler wrapper chaining with scoped data (net/context-based "middleware"). * [go-wrap](https://github.com/go-on/wrap) - Small middlewares package for net/http. * [gores](https://github.com/alioygur/gores) - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs. -* [httpware](https://github.com/nstogner/httpware) - Stackable middleware (using net/context) with easy chaining. * [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang. * [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. * [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang. From e80b0fe7b2b16f2e1731cbabb89e2889e0ee1771 Mon Sep 17 00:00:00 2001 From: sridharv Date: Sun, 20 Nov 2016 08:29:58 +0100 Subject: [PATCH 148/403] Add github.com/surullabs/lint --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc0ac3ad..2fd67f0c 100644 --- a/README.md +++ b/README.md @@ -1221,6 +1221,7 @@ Go software and plugins. * [goreturns](https://sourcegraph.com/github.com/sqs/goreturns) - Adds zero-value return statements to match the func return types. * [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages. * [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. +* [lint](https://github.com/surullabs/lint) - Run linters as part of go test * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. From 2c004a15f3c22d2fe05736a5bf20329f33c6c01c Mon Sep 17 00:00:00 2001 From: Ruisheng Yang Date: Tue, 22 Nov 2016 12:20:04 +0800 Subject: [PATCH 149/403] Removed clevergo (#1187) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 2fd67f0c..48e083dd 100644 --- a/README.md +++ b/README.md @@ -1123,7 +1123,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. * [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. * [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. -* [CleverGo](https://github.com/headwindfly/clevergo) - CleverGo is a simple, easy to use and high performance web framework for Go. * [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for Go. * [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework. From 13729196b26e63a62ba9ae13e7b8f3b71afe1ac1 Mon Sep 17 00:00:00 2001 From: Ivan Date: Tue, 22 Nov 2016 10:10:26 +0300 Subject: [PATCH 150/403] Update README.md (#1188) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 48e083dd..4fe3422f 100644 --- a/README.md +++ b/README.md @@ -452,6 +452,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Tools to enhance the language with features like generics via code generation* +* [efaceconv](https://github.com/t0pep0/efaceconv) - Code generation tool for high performance conversion from interface{} to immutable type without allocations * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. * [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. From 0b55232de2e0504abe5272f818dc9bb4c9bef7d5 Mon Sep 17 00:00:00 2001 From: Atsushi NAGASE Date: Tue, 22 Nov 2016 20:09:36 +0900 Subject: [PATCH 151/403] Add amazon-product-advertising-api (#1189) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 4fe3422f..a7f2f9a9 100644 --- a/README.md +++ b/README.md @@ -955,6 +955,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for accessing third party APIs.* +* [amazon-product-advertising-api](https://github.com/ngs/go-amazon-product-advertising-api) - Go Client Library for [Amazon Product Advertising API](https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html) * [anaconda](https://github.com/ChimeraCoder/anaconda) - A Go client library for the Twitter 1.1 API * [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. * [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB API. From 604a13b215c891a69b553455a1d66328d972e97d Mon Sep 17 00:00:00 2001 From: Kamil Drazkiewicz Date: Tue, 22 Nov 2016 14:00:35 +0100 Subject: [PATCH 152/403] Go-flow added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a7f2f9a9..f2a48e62 100644 --- a/README.md +++ b/README.md @@ -471,6 +471,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Goroutines *Tools for managing and working with Goroutines* +* [go-flow](https://github.com/kamildrazkiewicz/go-flow) - Control goroutines execution order. * [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker * [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool. * [pool](https://github.com/go-playground/pool) - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation. From 10cebc5c5d82c093d1052666996dbd35f2860131 Mon Sep 17 00:00:00 2001 From: Alexander Gehres Date: Wed, 23 Nov 2016 22:50:51 +0100 Subject: [PATCH 153/403] add jsonrpc 2.0 client library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f2a48e62..269d66bd 100644 --- a/README.md +++ b/README.md @@ -362,6 +362,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. * [hprose](https://github.com/hprose/hprose-golang) - A very newbility RPC Library, support 25+ languages now. * [jsonrpc](https://github.com/osamingo/jsonrpc) - The jsonrpc package helps implement of JSON-RPC 2.0. +* [jsonrpc](https://github.com/ybbus/jsonrpc) - A JSON-RPC 2.0 HTTP client implementation * [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. From 30fdd7acf28870061affe8485eefb936aa433ffb Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Thu, 24 Nov 2016 17:04:46 -0200 Subject: [PATCH 154/403] fixed typo --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index c92420e9..d41c60a3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -14,7 +14,7 @@ To set this list apart from and compliment the excellent [Go wiki Projects page] - The link should be the name of the package or project - Descriptions should be clear, concise, and non-promotional - Descriptions should follow the link, on the same line -- Needs bibliotica 3 (minimum) to create a new category. +- Needs library 3 (minimum) to create a new category. Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries. From 7d271ee3f9bf1f75bc15c1862d0d8c9389b3875d Mon Sep 17 00:00:00 2001 From: Chris Stockton Date: Thu, 24 Nov 2016 13:02:56 -0700 Subject: [PATCH 155/403] Add package conv to Miscellaneous category. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f2a48e62..89c764d8 100644 --- a/README.md +++ b/README.md @@ -622,6 +622,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [battery](https://github.com/distatus/battery) - A cross-platform, normalized battery information library. * [bitio](https://github.com/icza/bitio) - Highly optimized bit-level Reader and Writer for Go. * [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). +* [conv](https://github.com/cstockton/go-conv) - Package conv provides fast and intuitive conversions across Go types. * [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. * [errors](https://github.com/pkg/errors) - A package that provides simple error handling primitives. * [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. From e30df1bdbe0ce47c310b5ff791c97e2a59e92ab3 Mon Sep 17 00:00:00 2001 From: Adam Hanna Date: Thu, 24 Nov 2016 12:54:40 -0800 Subject: [PATCH 156/403] added new jwt library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da7cd24b..8bc500c2 100644 --- a/README.md +++ b/README.md @@ -117,6 +117,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goth](https://github.com/markbates/goth) - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box. * [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. * [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implmentatino of JSON Web Tokens (JWT). +* [jwt-auth](https://github.com/adam-hanna/jwt-auth) - JWT middleware for goLang http servers with many configuration options. * [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). * [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. * [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. From e5e1f1b047e907d7929c414c3a307e671b2d7192 Mon Sep 17 00:00:00 2001 From: Mohamad Jahani Date: Fri, 25 Nov 2016 04:38:13 +0330 Subject: [PATCH 157/403] Add Golyrics --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da7cd24b..2597711e 100644 --- a/README.md +++ b/README.md @@ -980,6 +980,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. * [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. +* [golyrics](https://github.com/mamal72/golyrics) - Golyrics is a Go library to fetch music lyrics data from the Wikia website. * [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library. * [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go. * [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting. From 39f96f3bc4f05a27442b531a01a8fcd84f83182c Mon Sep 17 00:00:00 2001 From: Taco de Wolff Date: Fri, 25 Nov 2016 16:05:21 +0100 Subject: [PATCH 158/403] Added github.com/tdewolff/minify --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index da7cd24b..cccbd906 100644 --- a/README.md +++ b/README.md @@ -1064,6 +1064,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go * [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. * [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. +* [minify](https://github.com/tdewolff/minify) - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats. * [moldova](https://github.com/StabbyCutyou/moldova) - A utility for generating random data based on an input template. * [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. * [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers. From 85cda8cd91abe53d7eef714e4cf51ac8a8308ed2 Mon Sep 17 00:00:00 2001 From: Andrey Date: Sat, 26 Nov 2016 23:40:24 +0300 Subject: [PATCH 159/403] Add micha --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 600fa1a8..7d1f2d14 100644 --- a/README.md +++ b/README.md @@ -992,6 +992,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API. * [megos](https://github.com/andygrunwald/megos) - A client library for accessing an [Apache Mesos](http://mesos.apache.org/) cluster * [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage. +* [micha](https://github.com/onrik/micha) - Go Library fir Telegram bot api. * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. * [paypal](https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API * [playlyfe](https://github.com/playlyfe/playlyfe-go-sdk) - The Playlyfe Rest API Go SDK From 7d65e35673c604a820af436fcf55bb8830fcb9e8 Mon Sep 17 00:00:00 2001 From: Andrey Date: Sat, 26 Nov 2016 23:45:51 +0300 Subject: [PATCH 160/403] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7d1f2d14..7cde9070 100644 --- a/README.md +++ b/README.md @@ -992,7 +992,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API. * [megos](https://github.com/andygrunwald/megos) - A client library for accessing an [Apache Mesos](http://mesos.apache.org/) cluster * [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage. -* [micha](https://github.com/onrik/micha) - Go Library fir Telegram bot api. +* [micha](https://github.com/onrik/micha) - Go Library for Telegram bot api. * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. * [paypal](https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API * [playlyfe](https://github.com/playlyfe/playlyfe-go-sdk) - The Playlyfe Rest API Go SDK From 75cae0ca38a23998c940b52d0edba4ae3dfcd9fa Mon Sep 17 00:00:00 2001 From: Andrey Date: Sun, 27 Nov 2016 10:13:58 +0300 Subject: [PATCH 161/403] Fix alphabetical order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7cde9070..3b343ee3 100644 --- a/README.md +++ b/README.md @@ -991,8 +991,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. * [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API. * [megos](https://github.com/andygrunwald/megos) - A client library for accessing an [Apache Mesos](http://mesos.apache.org/) cluster -* [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage. * [micha](https://github.com/onrik/micha) - Go Library for Telegram bot api. +* [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage. * [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. * [paypal](https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API * [playlyfe](https://github.com/playlyfe/playlyfe-go-sdk) - The Playlyfe Rest API Go SDK From 369221496db8a60870d8142b0c41b05b9a558a49 Mon Sep 17 00:00:00 2001 From: Suraj Patil Date: Tue, 29 Nov 2016 01:45:48 +0530 Subject: [PATCH 162/403] Added a new Book (#953) * added a new book https://github.com/thewhitetulip/web-dev-golang-anti-textbook/ * updated title * modified title to fit to requirements * Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3b343ee3..cc0787b2 100644 --- a/README.md +++ b/README.md @@ -1384,6 +1384,7 @@ Where to discover new Go libraries. * [Learning Go](https://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) * [Network Programming With Go](https://jan.newmarch.name/go/) * [The Go Programming Language](http://www.gopl.io/) +* [Web Application with Go the Anti-Textbook](https://github.com/thewhitetulip/web-dev-golang-anti-textbook/) ## Twitter From edf871205d4057ff416e95084f777332fa4b0c22 Mon Sep 17 00:00:00 2001 From: RuiSheng Yang Date: Fri, 2 Dec 2016 19:33:17 +0800 Subject: [PATCH 163/403] Update README.md (#1203) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cc0787b2..df81cf5d 100644 --- a/README.md +++ b/README.md @@ -1135,6 +1135,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework. * [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework +* [Gem](https://github.com/go-gem/gem) - A simple and fast web framework, friendly to REST API. * [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. * [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io). From cae10d7a586c5af65f9247fb7d54c4304088f7fb Mon Sep 17 00:00:00 2001 From: Lunny Xiao Date: Fri, 2 Dec 2016 20:33:11 +0800 Subject: [PATCH 164/403] Added Gitea (#1202) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index df81cf5d..b6151243 100644 --- a/README.md +++ b/README.md @@ -1267,6 +1267,7 @@ Software written in Go. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. +* [Gitea](https://github.com/go-gitea/gitea) - A fork of Gogs, entirely community driven. * [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. * [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update. * [gobrew](https://github.com/cryptojuice/gobrew) - gobrew lets you easily switch between multiple versions of go. From 6594da042128d51b78e95df892cbc27a97ccb3f6 Mon Sep 17 00:00:00 2001 From: Avelino Date: Tue, 6 Dec 2016 14:58:47 -0200 Subject: [PATCH 165/403] update negroni path maintained by @urfave --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f27ff22..18237a75 100644 --- a/README.md +++ b/README.md @@ -1194,7 +1194,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [httpware](https://github.com/nstogner/httpware) - Stackable middleware (using net/context) with easy chaining. * [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang. * [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. -* [negroni](https://github.com/codegangsta/negroni) - Idiomatic HTTP middleware for Golang. +* [negroni](https://github.com/urfave/negroni) - Idiomatic HTTP middleware for Golang. * [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses. * [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. From e95eafb577d4b4b53041d3b6451962598c359c74 Mon Sep 17 00:00:00 2001 From: KZ Date: Thu, 8 Dec 2016 00:59:18 +0100 Subject: [PATCH 166/403] Add v4l to Video section (#1207) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 02b95833..d732be9b 100644 --- a/README.md +++ b/README.md @@ -1120,6 +1120,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gmf](https://github.com/3d0c/gmf) - Go bindings for FFmpeg av\* libraries. * [goav](https://github.com/giorgisio/goav) - Comphrensive Go bindings for FFmpeg. * [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer. +* [v4l](https://github.com/korandiz/v4l) - A video capture library for Linux, written in Go. ## Web Frameworks From abcbdf540a7b2a8d6a81b4055e3ae20680972dec Mon Sep 17 00:00:00 2001 From: Cesar Gimenes Date: Thu, 8 Dec 2016 10:09:01 -0200 Subject: [PATCH 167/403] Add pREST Add pREST a RESTful API for any PostgreSQL database. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d732be9b..eef8556b 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics * [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. * [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. +* [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database. * [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. * [rqlite](https://github.com/rqlite/rqlite) - Replicated SQLite, using Raft consensus. * [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. From 797bca09e66e69f38ed7d1bb9e81e219b427a215 Mon Sep 17 00:00:00 2001 From: Cale Hoopes Date: Thu, 8 Dec 2016 10:26:34 -0800 Subject: [PATCH 168/403] Add Rye middleware library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eef8556b..6f14918a 100644 --- a/README.md +++ b/README.md @@ -1207,6 +1207,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. * [negroni](https://github.com/urfave/negroni) - Idiomatic HTTP middleware for Golang. * [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses. +* [rye](https://github.com/InVisionApp/rye) - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context * [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. # Tools From 90d019c64830fabf262cc611f31ef29b95b3b57f Mon Sep 17 00:00:00 2001 From: vCaesar Date: Fri, 9 Dec 2016 02:31:18 +0800 Subject: [PATCH 169/403] Add Robotgo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eef8556b..4b9ec0e2 100644 --- a/README.md +++ b/README.md @@ -490,6 +490,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi) +* [robotgo](https://github.com/go-vgo/robotgo) - Go Native cross-platform system automation,Control the mouse, keyboard and other. * [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. * [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area * [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system's taskbar. From fe2e82a070baa4be19536e20a4c1d3380da08e9d Mon Sep 17 00:00:00 2001 From: vCaesar Date: Fri, 9 Dec 2016 02:44:14 +0800 Subject: [PATCH 170/403] Update explain --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b9ec0e2..26e9c6a6 100644 --- a/README.md +++ b/README.md @@ -490,7 +490,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi) -* [robotgo](https://github.com/go-vgo/robotgo) - Go Native cross-platform system automation,Control the mouse, keyboard and other. +* [robotgo](https://github.com/go-vgo/robotgo) - Go Native cross-platform GUI system automation,Control the mouse, keyboard and other. * [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. * [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area * [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system's taskbar. From 95e9b5f8a99ac3c0e5e25ade1b17cf4f53f44549 Mon Sep 17 00:00:00 2001 From: vCaesar Date: Fri, 9 Dec 2016 02:47:43 +0800 Subject: [PATCH 171/403] Update explain --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 26e9c6a6..a0069377 100644 --- a/README.md +++ b/README.md @@ -490,7 +490,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi) -* [robotgo](https://github.com/go-vgo/robotgo) - Go Native cross-platform GUI system automation,Control the mouse, keyboard and other. +* [robotgo](https://github.com/go-vgo/robotgo) - Go Native cross-platform GUI system automation;Control the mouse, keyboard and other. * [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. * [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area * [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system's taskbar. From dc872fce15a085165b1b93f2a693af41f8ab09b3 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Sat, 10 Dec 2016 13:44:48 +0200 Subject: [PATCH 172/403] Update Quality standard (#1214) Make clear that we have min coverage percent if package is testable. --- CONTRIBUTING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index d41c60a3..0fc90bf3 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -32,7 +32,7 @@ To be on the list, project repositories should adhere to these quality standards - Or, for finished projects, issues and pull requests are responded to - Stable or progressing toward stable - Thoroughly documented (README, godoc comments, etc.) -- Tests, where practical +- Tests, where practical. If library/program testable, than coverage should be >= 80% for non-data-related packages and >=90% for data related packages. **Notice**: the tests will be reviewed too. We will check your coverage manually if your package's coverage is just a benchmark results. ## Reporting issues From eb09395f469219be68756b453b5648c452b590bf Mon Sep 17 00:00:00 2001 From: lucapette Date: Sun, 11 Dec 2016 18:49:09 +0100 Subject: [PATCH 173/403] Fix tiny typo I found a small typo while reading this awesome readme. Thank you for your work! --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6f14918a..ea136717 100644 --- a/README.md +++ b/README.md @@ -116,7 +116,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gorbac](https://github.com/mikespook/gorbac) - provides a lightweight role-based access control (RBAC) implementation in Golang. * [goth](https://github.com/markbates/goth) - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box. * [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. -* [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implmentatino of JSON Web Tokens (JWT). +* [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implementation of JSON Web Tokens (JWT). * [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). * [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. * [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. From ddbade8cea7451a5e3434798cce7ae3c167e5012 Mon Sep 17 00:00:00 2001 From: Vishal Rana Date: Mon, 12 Dec 2016 12:40:15 -0800 Subject: [PATCH 174/403] Update description for Echo. (#1216) Signed-off-by: Vishal Rana --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ea136717..28fcb7b5 100644 --- a/README.md +++ b/README.md @@ -1133,7 +1133,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. * [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. * [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. -* [Echo](https://github.com/labstack/echo) - A fast and unfancy micro web framework for Go. +* [Echo](https://github.com/labstack/echo) - High performance, minimalist Go web framework. * [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework. * [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework From 9b9606baba69c6e4e3a8dba29e9e671a4960d0b2 Mon Sep 17 00:00:00 2001 From: Aleksandr Tihomirov Date: Wed, 14 Dec 2016 04:53:38 +0200 Subject: [PATCH 175/403] Update test to 1.7 and display correct sorting order (#1219) * Update test to 1.7 and display correct sorting order * Fix potential issue with goroutine exiting prematurely * Better naming for category * Remove unnecesarry format --- .travis.yml | 2 +- repo_test.go | 35 ++++++++++++++++++++--------------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/.travis.yml b/.travis.yml index 684c823c..45a7b25c 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,7 @@ language: go go: - - 1.4 + - 1.7 sudo: false diff --git a/repo_test.go b/repo_test.go index 5aeaa44e..33eeecab 100644 --- a/repo_test.go +++ b/repo_test.go @@ -3,7 +3,6 @@ package main import ( "bytes" "io/ioutil" - "log" "sort" "strings" "testing" @@ -25,19 +24,18 @@ func TestDuplicatedLinks(t *testing.T) { links := make(map[string]bool, 0) query.Find("body a").Each(func(_ int, s *goquery.Selection) { - href, ok := s.Attr("href") - if !ok { - log.Printf("expected '%s' href", s) - t.Fail() - } + t.Run(s.Text(), func(t *testing.T) { + href, ok := s.Attr("href") + if !ok { + t.Error("expected to have href") + } - if links[href] { - log.Printf("duplicated link '%s'", href) - t.Fail() - return - } + if links[href] { + t.Fatalf("duplicated link '%s'", href) + } - links[href] = true + links[href] = true + }) }) } @@ -46,7 +44,12 @@ func testList(t *testing.T, list *goquery.Selection) { testList(t, items) items.RemoveFiltered("ul") }) - checkAlphabeticOrder(t, list) + + category := list.Prev().Text() + + t.Run(category, func(t *testing.T) { + checkAlphabeticOrder(t, list) + }) } func readme() []byte { @@ -80,8 +83,10 @@ func checkAlphabeticOrder(t *testing.T, s *goquery.Selection) { for k, item := range items { if item != sorted[k] { - log.Printf("expected '%s' but actual is '%s'", sorted[k], item) - t.Fail() + t.Errorf("expected '%s' but actual is '%s'", sorted[k], item) } } + if t.Failed() { + t.Logf("expected order is:\n%s", strings.Join(sorted, "\n")) + } } From ada9c9aeb8b1bf3f72b8a932f6230b5def6cfebe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=94=D0=B5=D0=BD=D0=B8=D1=81=20=D0=A2=D0=B5=D0=BB=D1=8E?= =?UTF-8?q?=D1=85?= Date: Thu, 15 Dec 2016 00:02:19 +0700 Subject: [PATCH 176/403] Add Azul3D game engine. (#1220) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 28fcb7b5..b50fc3a1 100644 --- a/README.md +++ b/README.md @@ -437,6 +437,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Awesome game development libraries.* +* [Azul3D](https://github.com/azul3d/engine) - A 3D game engine written in Go * [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-like 2D game library in Go * [engo](https://github.com/EngoEngine/engo) - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. * [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. From 97c128b96ee7d38f24b22321fa0e34ad8b9f28ab Mon Sep 17 00:00:00 2001 From: Arthur Silva Date: Wed, 14 Dec 2016 18:52:30 -0200 Subject: [PATCH 177/403] add xml-comp --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b50fc3a1..8372b17a 100644 --- a/README.md +++ b/README.md @@ -1338,6 +1338,7 @@ Software written in Go. * [tsuru](https://tsuru.io/) - An extensible and open source Platform as a Service software. * [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart). * [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass). +* [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags. From b9ad39eb9ebe1916b2d9e74bdd038aa00611e74c Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Wed, 14 Dec 2016 20:14:08 -0500 Subject: [PATCH 178/403] Improve Markdown formatting. Helps #1224. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8372b17a..1f831983 100644 --- a/README.md +++ b/README.md @@ -474,6 +474,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Goroutines *Tools for managing and working with Goroutines* + * [go-flow](https://github.com/kamildrazkiewicz/go-flow) - Control goroutines execution order. * [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker * [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool. From 67d0f3a3d3a0f48ed101998eb117c8696b7117be Mon Sep 17 00:00:00 2001 From: Everton Marques Date: Thu, 15 Dec 2016 10:38:44 -0200 Subject: [PATCH 179/403] Added github.com/udhos/jazigo --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1f831983..d83249de 100644 --- a/README.md +++ b/README.md @@ -701,6 +701,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gotcp](https://github.com/gansidui/gotcp) - A Go package for quickly writing tcp applications * [grab](https://github.com/cavaliercoder/grab) - Go package for managing file downloads * [graval](https://github.com/koofr/graval) - An experimental FTP server framework. +* [jazigo](https://github.com/udhos/jazigo) - Jazigo is a tool written in Go for retrieving configuration for multiple network devices. * [kcp-go](https://github.com/xtaci/kcp-go) - KCP - A Fast and Reliable ARQ Protocol. * [kcptun](https://github.com/xtaci/kcptun) - An extremely simple & fast udp tunnel based on KCP protocol * [lhttp](https://github.com/fanux/lhttp) - A powerful websocket framework, build your IM server more easily. From 77ef4f032231b7186be01acee5c466b19bafab55 Mon Sep 17 00:00:00 2001 From: Claudemiro Date: Fri, 16 Dec 2016 00:18:49 -0200 Subject: [PATCH 180/403] Adding Darwin --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d83249de..4e9cc56f 100644 --- a/README.md +++ b/README.md @@ -262,6 +262,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Database schema migration.* +* [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go * [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. * [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. From bd09c40dd659517a83fc7b1aa9ca25239f4fb5b5 Mon Sep 17 00:00:00 2001 From: Philip O'Toole Date: Sat, 17 Dec 2016 15:08:05 -0800 Subject: [PATCH 181/403] Updated the description for rqlite rqlite has broadened its goals, and this description is a better fit. I am the creator of rqlite. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4e9cc56f..27434fc0 100644 --- a/README.md +++ b/README.md @@ -255,7 +255,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. * [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database. * [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. -* [rqlite](https://github.com/rqlite/rqlite) - Replicated SQLite, using Raft consensus. +* [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite. * [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. * [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. * [Tile38](https://github.com/tidwall/tile38) - A geolocation DB with spatial index and realtime geofencing. From 95c9bebb303bf7dd47ea3f9131d4a35fe214edee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hauke=20L=C3=B6ffler?= Date: Tue, 20 Dec 2016 01:38:08 +0100 Subject: [PATCH 182/403] Add github.com/gliderlabs/ssh. (#1231) Go package that wraps the crypto/ssh package with a higher-level API for building SSH servers. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 27434fc0..a3a67292 100644 --- a/README.md +++ b/README.md @@ -713,6 +713,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. * [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. * [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. +* [ssh](https://github.com/gliderlabs/ssh) - Higher-level API for building SSH servers (wraps crypto/ssh). * [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. From 0b8cbeb35ded8566db497491b7722a98668e60c3 Mon Sep 17 00:00:00 2001 From: Abdullah Obaied Date: Tue, 20 Dec 2016 11:45:35 +0100 Subject: [PATCH 183/403] Add RAKE.go to NLP section (#1229) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a3a67292..c07b9f8f 100644 --- a/README.md +++ b/README.md @@ -672,6 +672,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [paicehusk](https://github.com/rookii/paicehusk) - Golang implementation of the Paice/Husk Stemming Algorithm * [porter](https://github.com/a2800276/porter) - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm. * [porter2](https://github.com/zhenjl/porter2) - Really fast Porter 2 stemmer. +* [RAKE.go](https://github.com/Obaied/RAKE.go) - A Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE) * [segment](https://github.com/blevesearch/segment) - A Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/) * [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences. * [snowball](https://github.com/goodsign/snowball) - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/). From 3eae75a23076eb2c72e99d6ce989ac453c15f447 Mon Sep 17 00:00:00 2001 From: Fernando Alvarez Date: Wed, 21 Dec 2016 04:14:03 +0100 Subject: [PATCH 184/403] Add piladb database --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c07b9f8f..568b6e01 100644 --- a/README.md +++ b/README.md @@ -253,6 +253,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics * [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. * [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. +* [piladb](https://github.com/fern4lvarez/piladb) - Lightweight RESTful database engine based on stack data structures. * [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database. * [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. * [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite. From 5767867036b0b21949dfb4556ffa4eb95573fceb Mon Sep 17 00:00:00 2001 From: Alexey Grachov Date: Wed, 21 Dec 2016 13:14:32 +0200 Subject: [PATCH 185/403] Add tbot. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c07b9f8f..d6aa47ee 100644 --- a/README.md +++ b/README.md @@ -1011,6 +1011,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [spotify](https://github.com/rapito/go-spotify) - Go Library to access Spotify WEB API. * [steam](https://github.com/sostronk/go-steam) - Go Library to interact with Steam game servers. * [stripe](https://github.com/stripe/stripe-go) - Go client for the Stripe API +* [tbot](https://github.com/yanzay/tbot) - Telegram bot server with API similar to net/http. * [telebot](https://github.com/tucnak/telebot) - Telegram bot framework written in Go. * [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client. * [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API. From 550ab2d6951b34b7e7b9bebf96fd1ddcf6d66ad0 Mon Sep 17 00:00:00 2001 From: Ri Xu Date: Fri, 23 Dec 2016 10:20:33 +0800 Subject: [PATCH 186/403] Add excelize. (#1235) Library for reading and writing Microsoft Excel (XLSX) files. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 568b6e01..c643f935 100644 --- a/README.md +++ b/README.md @@ -1033,6 +1033,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go. * [delve](https://github.com/derekparker/delve) - Go debugger. * [dlog](https://github.com/kirillDanshin/dlog) - Compile-time controlled logger to make your release smaller without removing debug calls. +* [excelize](https://github.com/Luxurioust/excelize) - Golang library for reading and writing Microsoft Excel (XLSX) files. * [fastlz](https://github.com/digitalcrab/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go From 3b1cb4484d8a2f25a58575f62d23f5f901faed24 Mon Sep 17 00:00:00 2001 From: Chris Lu Date: Sat, 24 Dec 2016 02:54:43 -0800 Subject: [PATCH 187/403] add Gleam (#1156) * add Gleam * Update README.md * Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index dabbf178..18ae215b 100644 --- a/README.md +++ b/README.md @@ -359,6 +359,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [celeriac](https://github.com/svcavallar/celeriac.v1) - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go * [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer. +* [gleam](https://github.com/chrislusf/gleam) - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed. * [glow](https://github.com/chrislusf/glow) - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go. * [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function. * [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load. From b5132db1f8113560591b8af4d3288be2aef42149 Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Sun, 25 Dec 2016 02:03:48 +0500 Subject: [PATCH 188/403] Added telegraph library (#1236) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 18ae215b..6992a237 100644 --- a/README.md +++ b/README.md @@ -1016,6 +1016,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [tbot](https://github.com/yanzay/tbot) - Telegram bot server with API similar to net/http. * [telebot](https://github.com/tucnak/telebot) - Telegram bot framework written in Go. * [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client. +* [telegraph](https://github.com/toby3d/telegraph) - Telegraph publishing platform API client. * [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API. * [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org) * [translate](https://github.com/poorny/translate) - Go online translation package. From 24f1aa3231b3927f04d2b185b7503e43e71e5cd5 Mon Sep 17 00:00:00 2001 From: Slava Date: Sun, 25 Dec 2016 15:47:12 +0000 Subject: [PATCH 189/403] Add sflags library (#1237) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6992a237..036faecb 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [mitchellh/cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces. * [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. * [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license. +* [sflags](https://github.com/octago/sflags) - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries. * [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. * [urfave/cli](https://github.com/urfave/cli) - A simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli). * [wlog](https://github.com/dixonwille/wlog) - A simple logging interface that supports cross-platform color and concurrency. From aecbd4e7e78c4b8a1d132231a01a7d191334aafa Mon Sep 17 00:00:00 2001 From: Tobias Wellnitz Date: Mon, 26 Dec 2016 19:03:24 +0100 Subject: [PATCH 190/403] added gosamplerate (#1238) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 036faecb..77a3a18e 100644 --- a/README.md +++ b/README.md @@ -92,6 +92,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gaad](https://github.com/Comcast/gaad) - A native Go AAC bitstream parser * [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. * [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. +* [gosamplerate](https://github.com/dh1tw/gosamplerate) - libsamplerate bindings for go. * [id3v2](https://github.com/bogem/id3v2) - Fast and stable ID3 parsing and writing library for Go * [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps. * [mp3](https://github.com/tcolgate/mp3) - A native Go MP3 decoder. From 698e994214e66f9e02ced7cad16964a87fc1ab5f Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Wed, 28 Dec 2016 00:41:30 +0900 Subject: [PATCH 191/403] Fix a word in Ebiten explanation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 77a3a18e..0cbb9628 100644 --- a/README.md +++ b/README.md @@ -443,7 +443,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Awesome game development libraries.* * [Azul3D](https://github.com/azul3d/engine) - A 3D game engine written in Go -* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-like 2D game library in Go +* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-style 2D game library in Go * [engo](https://github.com/EngoEngine/engo) - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. * [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. * [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. From 43230b0421bdef869da9525276ae1d76faef4c6a Mon Sep 17 00:00:00 2001 From: Kristian Spriggs Date: Tue, 27 Dec 2016 15:58:16 -0500 Subject: [PATCH 192/403] Add go-twitch library. (#1239) Go client for interacting with the Twitch v3 API. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0cbb9628..b8c7f017 100644 --- a/README.md +++ b/README.md @@ -988,6 +988,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-jira](https://github.com/andygrunwald/go-jira) - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. +* [go-twitch](https://github.com/knspriggs/go-twitch) - A Go client for interacting with the Twitch v3 API. * [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. * [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. From 97d2dab23af09d7268228d0dae2de03d60ad3447 Mon Sep 17 00:00:00 2001 From: James Polera Date: Wed, 28 Dec 2016 15:08:52 -0500 Subject: [PATCH 193/403] Add polera/publicip --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b8c7f017..e735926b 100644 --- a/README.md +++ b/README.md @@ -716,6 +716,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang * [mqttPaho](https://eclipse.org/paho/clients/golang/) - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets. * [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. +* [publicip](https://github.com/polera/publicip) - Package publicip returns your public facing IPv4 address (internet egress). * [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. * [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. * [ssh](https://github.com/gliderlabs/ssh) - Higher-level API for building SSH servers (wraps crypto/ssh). From 6f9d7cd0776672bf37c0c2807b755c3b87ab8b80 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Thu, 29 Dec 2016 13:32:24 +0800 Subject: [PATCH 194/403] Add application of Line notification --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e735926b..d063d5f1 100644 --- a/README.md +++ b/README.md @@ -601,6 +601,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Centrifugo](https://github.com/centrifugal/centrifugo) - Real-time messaging (Websockets or SockJS) server in Go. * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. +* [drone-line](https://github.com/appleboy/drone-line) - Sending [Line](https://business.line.me/en/services/bot) notifications using a binary, docker or Drone CI. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. * [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. From fb5a92486bd08cee69dc9b7f5206545662a250e4 Mon Sep 17 00:00:00 2001 From: Eduard Date: Thu, 29 Dec 2016 12:50:56 +0300 Subject: [PATCH 195/403] Added framework `Microservice` Adding a framework for the creation of microservices --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e735926b..61cce548 100644 --- a/README.md +++ b/README.md @@ -1177,6 +1177,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. * [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. +* [Microservice](https://github.com/claygod/microservice) - The framework for the creation of microservices, written in Golang. * [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. * [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. * [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - A high-performance HTTP router and Web framework supporting routes with regular expressions. Comes with full support for quickly building a RESTful API application. From 9bec8019fe7e8474ad5a19d4afd16602a68a3995 Mon Sep 17 00:00:00 2001 From: Ri Xu Date: Sun, 1 Jan 2017 17:46:57 +0800 Subject: [PATCH 196/403] Add new: aurora --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 990f0f1c..785b940f 100644 --- a/README.md +++ b/README.md @@ -1281,6 +1281,7 @@ Software written in Go. ### DevOps Tools * [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool. +* [aurora](https://github.com/Luxurioust/aurora) - Cross-platform web-based Beanstalkd queue server console. * [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile. * [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. * [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework. From fed98fbaf9241fad8f17236aa33d7895369d730c Mon Sep 17 00:00:00 2001 From: emersion Date: Tue, 3 Jan 2017 16:37:22 +0100 Subject: [PATCH 197/403] Adds go-message --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 785b940f..65278d28 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [email](https://github.com/jordan-wright/email) - A robust and flexible email library for Go. * [go-dkim](https://github.com/toorop/go-dkim) - A DKIM library, to sign & verify email. * [go-imap](https://github.com/emersion/go-imap) - An IMAP library for clients and servers +* [go-message](https://github.com/emersion/go-message) - A streaming library for the Internet Message Format and mail messages * [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails. * [Hectane](https://github.com/hectane/hectane) - Lightweight SMTP client providing an HTTP API * [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface From 4759d565507e104c1c74197a780da69f8f1bc70d Mon Sep 17 00:00:00 2001 From: Adam Hanna Date: Thu, 5 Jan 2017 10:52:45 -0700 Subject: [PATCH 198/403] fixed a typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5d281314..2384c8f7 100644 --- a/README.md +++ b/README.md @@ -117,7 +117,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gorbac](https://github.com/mikespook/gorbac) - provides a lightweight role-based access control (RBAC) implementation in Golang. * [goth](https://github.com/markbates/goth) - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box. * [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. -* [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implmentatino of JSON Web Tokens (JWT). +* [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implementation of JSON Web Tokens (JWT). * [jwt-auth](https://github.com/adam-hanna/jwt-auth) - JWT middleware for goLang http servers with many configuration options. * [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). * [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. From b7368e224d8ab0aa0ff5054ac2d11cf8076ae7e8 Mon Sep 17 00:00:00 2001 From: Adam Hanna Date: Thu, 5 Jan 2017 10:53:53 -0700 Subject: [PATCH 199/403] removed readme.md.orig --- README.md.orig | 1461 ------------------------------------------------ 1 file changed, 1461 deletions(-) delete mode 100644 README.md.orig diff --git a/README.md.orig b/README.md.orig deleted file mode 100644 index 8636886b..00000000 --- a/README.md.orig +++ /dev/null @@ -1,1461 +0,0 @@ -# Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Join the chat at https://gitter.im/avelino/awesome-go](https://badges.gitter.im/avelino/awesome-go.svg)](https://gitter.im/avelino/awesome-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - - -A curated list of awesome Go frameworks, libraries and software. Inspired by [awesome-python](https://github.com/vinta/awesome-python). - - -### Contributing - -Please take a quick gander at the [contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md) first. Thanks to all [contributors](https://github.com/avelino/awesome-go/graphs/contributors); you rock! - -#### *If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!* - - -### Contents - -- [Awesome Go](#awesome-go) - - [Audio & Music](#audiomusic) - - [Authentication & OAuth](#authentication--oauth) - - [Command Line](#command-line) - - [Configuration](#configuration) - - [Continuous Integration](#continuous-integration) - - [CSS Preprocessors](#css-preprocessors) - - [Data Structures](#data-structures) - - [Database](#database) - - [Database Drivers](#database-drivers) - - [Date & Time](#date--time) - - [Distributed Systems](#distributed-systems) - - [Email](#email) - - [Embeddable Scripting Languages](#embeddable-scripting-languages) - - [Financial](#financial) - - [Forms](#forms) - - [Game Development](#game-development) - - [Generation & Generics](#generation--generics) - - [Go Compilers](#go-compilers) - - [Goroutines](#goroutines) - - [GUI](#gui) - - [Hardware](#hardware) - - [Images](#images) - - [Logging](#logging) - - [Machine Learning](#machine-learning) - - [Messaging](#messaging) - - [Miscellaneous](#miscellaneous) - - [Natural Language Processing](#natural-language-processing) - - [Networking](#networking) - - [OpenGL](#opengl) - - [ORM](#orm) - - [Package Management](#package-management) - - [Query Language](#query-language) - - [Resource Embedding](#resource-embedding) - - [Science and Data Analysis](#science-and-data-analysis) - - [Security](#security) - - [Serialization](#serialization) - - [Template Engines](#template-engines) - - [Testing](#testing) - - [Text Processing](#text-processing) - - [Third-party APIs](#third-party-apis) - - [Utilities](#utilities) - - [Validation](#validation) - - [Version Control](#version-control) - - [Video](#video) - - [Web Frameworks](#web-frameworks) - - [Middlewares](#middlewares) - - [Actual middlewares](#actual-middlewares) - - [Libraries for creating HTTP middlewares](#libraries-for-creating-http-middlewares) - - [Windows](#windows) - -- [Tools](#tools) - - [Code Analysis](#code-analysis) - - [Editor Plugins](#editor-plugins) - - [Go Tools](#go-tools) - - [Software Packages](#software-packages) - - [DevOps Tools](#devops-tools) - - [Other Software](#other-software) - -- [Server Applications](#server-applications) - -- [Resources](#resources) - - [Benchmarks](#benchmarks) - - [Conferences](#conferences) - - [E-Books](#e-books) - - [Twitter](#twitter) - - [Websites](#websites) - - [Tutorials](#tutorials) - - -## Audio/Music - -*Libraries for manipulating audio.* - -* [flac](https://github.com/eaburns/flac) - A native Go FLAC decoder. -* [flac](https://github.com/mewkiz/flac) - A native Go FLAC decoder. -* [gaad](https://github.com/Comcast/gaad) - A native Go AAC bitstream parser -* [go-sox](https://github.com/krig/go-sox) - libsox bindings for go. -* [go_mediainfo](https://github.com/zhulik/go_mediainfo) - libmediainfo bindings for go. -* [gosamplerate](https://github.com/dh1tw/gosamplerate) - libsamplerate bindings for go. -* [id3v2](https://github.com/bogem/id3v2) - Fast and stable ID3 parsing and writing library for Go -* [mix](https://github.com/go-mix/mix) - Sequence-based Go-native audio mixer for music apps. -* [mp3](https://github.com/tcolgate/mp3) - A native Go MP3 decoder. -* [music-theory](https://github.com/go-music-theory/music-theory) - Music theory models in Go. -* [PortAudio](https://github.com/gordonklaus/portaudio) - Go bindings for the PortAudio audio I/O library. -* [portmidi](https://github.com/rakyll/portmidi) - Go bindings for PortMidi. -* [taglib](https://github.com/wtolson/go-taglib) - Go bindings for taglib. -* [vorbis](https://github.com/mccoyst/vorbis) - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). -* [waveform](https://github.com/mdlayher/waveform) - Go package capable of generating waveform images from audio streams. - - -## Authentication & OAuth - -*Libraries for implementing authentications schemes.* - -* [authboss](https://github.com/go-authboss/authboss) - A modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time. -* [Go-AWS-Auth](https://github.com/smartystreets/go-aws-auth) - AWS (Amazon Web Services) request signing library. -* [go-jose](https://github.com/square/go-jose) - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. -* [go-oauth2-server](https://github.com/RichardKnop/go-oauth2-server) - A standalone, specification-compliant, OAuth2 server written in Golang. -* [go.auth](https://github.com/bradrydzewski/go.auth) - Authentication API for Go web applications. -* [gologin](https://github.com/dghubble/gologin) - chainable handlers for login with OAuth1 and OAuth2 authentication providers. -* [gorbac](https://github.com/mikespook/gorbac) - provides a lightweight role-based access control (RBAC) implementation in Golang. -* [goth](https://github.com/markbates/goth) - provides a simple, clean, and idiomatic way to use OAuth and OAuth2. Handles multiple provides out of the box. -* [httpauth](https://github.com/goji/httpauth) - HTTP Authentication middleware. -<<<<<<< HEAD -* [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implmentatino of JSON Web Tokens (JWT). -* [jwt-auth](https://github.com/adam-hanna/jwt-auth) - JWT middleware for goLang http servers with many configuration options. -======= -* [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implementation of JSON Web Tokens (JWT). ->>>>>>> e60fe8d234e648eb381bfc915665bcb2a20a08a0 -* [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). -* [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. -* [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. -* [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. -* [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. - - -## Command Line - - -### Standard CLI - -*Libraries for building standard or basic Command Line applications* - -* [cli](https://github.com/mkideal/cli) - A feature-rich and easy to use command-line package based on golang tag -* [cli-init](https://github.com/tcnksm/gcli) - The easy way to start building Golang command line application. -* [climax](http://github.com/tucnak/climax) - An alternative CLI with "human face", in spirit of Go command -* [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions -* [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. -* [drive](https://github.com/odeke-em/drive) - Google Drive client for the commandline -* [go-arg](https://github.com/alexflint/go-arg) - Struct-based argument parsing in Go -* [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser -* [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. -* [liner](https://github.com/peterh/liner) - A Go readline-like library for command-line interfaces. -* [mitchellh/cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces. -* [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. -* [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license. -* [sflags](https://github.com/octago/sflags) - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries. -* [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. -* [urfave/cli](https://github.com/urfave/cli) - A simple, fast, and fun package for building command line apps in Go (formerly codegangsta/cli). -* [wlog](https://github.com/dixonwille/wlog) - A simple logging interface that supports cross-platform color and concurrency. -* [wmenu](https://github.com/dixonwille/wmenu) - An easy to use menu structure for cli applications that prompts users to make choices. - - -### Advanced Console UIs - -*Libraries for building Console Applications and Console User Interfaces* - -* [aurora](https://github.com/logrusorgru/aurora) - ANSI terminal colors that supports fmt.Printf/Sprintf -* [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. -* [color](https://github.com/fatih/color) - Versatile package for colored terminal output. -* [colourize](https://github.com/TreyBastian/colourize) - Go library for ANSI colour text in terminals. -* [go-colortext](https://github.com/daviddengcn/go-colortext) - Go library for color output in terminals. -* [gocui](https://github.com/jroimartin/gocui) - Minimalist Go library aimed at creating Console User Interfaces. -* [gommon/color](https://github.com/labstack/gommon/tree/master/color) - Style terminal text. -* [termbox-go](https://github.com/nsf/termbox-go) - Termbox is a library for creating cross-platform text-based interfaces. -* [termtables](https://github.com/apcera/termtables) - A Go port of the Ruby library [terminal-tables](https://github.com/tj/terminal-table) for simple ASCII table generation as well as providing markdown and HTML output -* [termui](https://github.com/gizak/termui) - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). -* [uilive](https://github.com/gosuri/uilive) - A library for updating terminal output in realtime. -* [uiprogress](https://github.com/gosuri/uiprogress) - A flexible library to render progress bars in terminal applications. -* [uitable](https://github.com/gosuri/uitable) - A library to improve readability in terminal apps using tabular data. - - -## Configuration - -*Libraries for configuration parsing* - -* [config](https://github.com/olebedev/config) - JSON or YAML configuration wrapper with environment variables and flags parsing. -* [configure](https://github.com/paked/configure) - Provides configuration through multiple sources, including JSON, flags and environment variables. -* [env](https://github.com/caarlos0/env) - Parse environment variables to Go structs (with defaults). -* [envcfg](https://github.com/tomazk/envcfg) - Un-marshaling environment variables to Go structs. -* [envconf](https://github.com/ian-kent/envconf) - Configuration from environment -* [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. -* [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections -* [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy -* [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. -* [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file -* [ini](https://github.com/go-ini/ini) - Go package for read and write INI files -* [mini](https://github.com/FogCreek/mini) - A golang package for parsing ini-style configuration files -* [store](https://github.com/tucnak/store) - A lightweight configuration manager for Go -* [viper](https://github.com/spf13/viper) - Go configuration with fangs - -## Continuous Integration - -*Tools for help with continuous integration* - -* [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go -* [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. -* [overalls](https://github.com/go-playground/overalls) - Multi-Package go project coverprofile for tools like goveralls - -## CSS Preprocessors - -*Libraries for preprocessing CSS files* - -* [c6](https://github.com/c9s/c6) - High performance SASS compatible-implementation compiler written in Go -* [gcss](https://github.com/yosssi/gcss) - Pure Go CSS Preprocessor. -* [go-libsass](https://github.com/wellington/go-libsass) - Go wrapper to the 100% Sass compatible libsass project. - -## Data Structures - -*Generic datastructures and algorithms in Go.* - -* [binpacker](https://github.com/zhuangsirui/binpacker) - Binary packer and unpacker helps user build custom binary stream. -* [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. -* [bloom](https://github.com/zhenjl/bloom) - Bloom filters implemented in Go. -* [boomfilters](https://github.com/tylertreat/BoomFilters) - Probabilistic data structures for processing continuous, unbounded streams -* [count-min-log](https://github.com/seiflotfy/count-min-log) - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). -* [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. -* [encoding](https://github.com/zhenjl/encoding) - Integer Compression Libraries for Go. -* [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - A Go implementation of Adaptive Radix Tree. -* [go-datastructures](https://github.com/Workiva/go-datastructures) - A collection of useful, performant, and thread-safe data structures -* [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. -* [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. -* [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. -* [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. -* [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. -* [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. -* [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing -* [roaring](https://github.com/RoaringBitmap/roaring) - Go package implementing compressed bitsets. -* [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go -* [trie](https://github.com/derekparker/trie) - Trie implementation in Go -* [ttlcache](https://github.com/diegobernardes/ttlcache) - An in-memory LRU string-interface{} map with expiration for golang -* [willf/bloom](https://github.com/willf/bloom) - Go package implementing Bloom filters. - -## Database - -*Databases implemented in Go.* - - -* [BigCache](https://github.com/allegro/bigcache) - Efficient key/value cache for gigabytes of data. -* [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go. -* [buntdb](https://github.com/tidwall/buntdb) - A fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. -* [cache2go](https://github.com/muesli/cache2go) - An in-memory key:value cache which supports automatic invalidation based on timeouts. -* [cockroach](https://github.com/cockroachdb/cockroach) - A Scalable, Geo-Replicated, Transactional Datastore -* [couchcache](https://github.com/codingsince1985/couchcache) - A RESTful caching micro-service backed by Couchbase server. -* [dgraph](https://github.com/dgraph-io/dgraph) - Scalable, Distributed, Low Latency, High Throughput Graph Database. -* [diskv](https://github.com/peterbourgon/diskv) - A home-grown disk-backed key-value store. -* [eliasdb](https://github.com/krotik/eliasdb) - Dependency-free, transactional graph database with REST API, phrase search and SQL-like query language. -* [forestdb](https://github.com/couchbase/goforestdb) - Go bindings for ForestDB. -* [GCache](https://github.com/bluele/gcache) - Cache library with support for expirable Cache, LFU, LRU and ARC. -* [geocache](https://github.com/melihmucuk/geocache) - An in-memory cache that is suitable for geolocation based applications. -* [go-cache](https://github.com/pmylund/go-cache) - An in-memory key:value store/cache (similar to Memcached) library for Go, suitable for single-machine applications. -* [goleveldb](https://github.com/syndtr/goleveldb) - An implementation of the [LevelDB](https://github.com/google/leveldb) key/value database in the Go. -* [groupcache](https://github.com/golang/groupcache) - Groupcache is a caching and cache-filling library, intended as a replacement for memcached in many cases. -* [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics -* [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. -* [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. -* [piladb](https://github.com/fern4lvarez/piladb) - Lightweight RESTful database engine based on stack data structures. -* [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database. -* [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. -* [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite. -* [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. -* [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. -* [Tile38](https://github.com/tidwall/tile38) - A geolocation DB with spatial index and realtime geofencing. - -*Database schema migration.* - -* [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go -* [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. -* [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. -* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. -* [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., -* [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. - -*Database tools.* - -* [go-mysql](https://github.com/siddontang/go-mysql) - A go toolset to handle MySQL protocol and replication. -* [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. -* [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. -* [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication. -* [orchestrator](https://github.com/outbrain/orchestrator) - MySQL replication topology manager & visualizer -* [pgweb](https://github.com/sosedoff/pgweb) - A web-based PostgreSQL database browser -* [vitess](https://github.com/youtube/vitess) - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. - -*SQL query builder, libraries for building and using SQL.* - -* [dat](https://github.com/mgutz/dat) - Go Postgres Data Access Toolkit -* [Dotsql](https://github.com/gchaincl/dotsql) - Go library that helps you keep sql files in one place and use it with ease. -* [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library. -* [igor](https://github.com/galeone/igor) - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax. -* [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities. -* [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. -* [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. -* [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. -* [xo](https://github.com/knq/xo) - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. - - -## Database Drivers - -*Libraries for connecting and operating databases.* - -* Relational Databases - * [bgc](https://github.com/viant/bgc) - Datastore Connectivity for BigQuery for go. - * [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS SQL driver for Go - * [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using database/sql. - * [go-bqstreamer](https://github.com/rounds/go-bqstreamer) - BigQuery fast and concurrent stream insert. - * [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - Microsoft MSSQL driver prototype in go language. - * [go-oci8](https://github.com/mattn/go-oci8) - Oracle driver for go that using database/sql. - * [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) - MySQL driver for Go. - * [go-sqlite3](https://github.com/mattn/go-sqlite3) - SQLite3 driver for go that using database/sql. - * [gofreetds](https://github.com/minus5/gofreetds) Microsoft MSSQL driver. Go wrapper over [FreeTDS](http://www.freetds.org). - * [pgx](https://github.com/jackc/pgx) - PostgreSQL driver supporting features beyond those exposed by database/sql. - * [pq](https://github.com/lib/pq) - Pure Go Postgres driver for database/sql. - -* NoSQL Databases - * [aerospike-client-go](https://github.com/aerospike/aerospike-client-go) - Aerospike client in Go language. - * [arangolite](https://github.com/solher/arangolite) - Lightweight golang driver for ArangoDB. - * [asc](https://github.com/viant/asc) - Datastore Connectivity for Aerospike for go. - * [cayley](https://github.com/google/cayley) - A graph database with support for multiple backends. - * [dsc](https://github.com/viant/dsc) - Datastore connectivity for SQL, NoSQL, structured files. - * [dynago](https://github.com/underarmour/dynago) - Dynago is a principle of least surprise client for DynamoDB - * [go-couchbase](https://github.com/couchbase/go-couchbase) - Couchbase client in Go - * [go-couchdb](https://github.com/fjl/go-couchdb) - Yet another CouchDB HTTP API wrapper for Go - * [gocb](https://github.com/couchbase/gocb) - Official Couchbase Go SDK - * [gocql](http://gocql.github.io) - A Go language driver for Apache Cassandra. - * [gomemcache](https://github.com/bradfitz/gomemcache/) - memcache client library for the Go programming language. - * [gorethink](https://github.com/dancannon/gorethink) - Go language driver for RethinkDB - * [goriak](https://github.com/zegl/goriak) - Go language driver for Riak KV - * [mgo](https://godoc.org/labix.org/v2/mgo) - MongoDB driver for the Go language that implements a rich and well tested selection of features under a very simple API following standard Go idioms. - * [neo4j](https://github.com/cihangir/neo4j) - Neo4j Rest API Bindings for Golang - * [Neo4j-GO](https://github.com/davemeehan/Neo4j-GO) - Neo4j REST Client in golang. - * [neoism](https://github.com/jmcvetta/neoism) - Neo4j client for Golang - * [redigo](https://github.com/garyburd/redigo) - Redigo is a Go client for the Redis database. - * [redis](https://github.com/go-redis/redis) - Redis client for Golang - * [redis](https://github.com/hoisie/redis) - A simple, powerful Redis client for Go. - * [redis](https://github.com/bsm/redeo) - Redis-protocol compatible TCP servers/services. - -* Search and Analytic Databases - * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go. - * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Go. - * [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library. - * [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch. - * [skizze](https://github.com/seiflotfy/skizze) - A probabilistic data-structures service and storage. - -## Date & Time - -*Libraries for working with dates and times.* - -* [carbon](https://github.com/uniplaces/carbon) - A simple Time extension with a lot of util methods, ported from PHP Carbon library. -* [durafmt](https://github.com/hako/durafmt) - A time duration formatting library for Go. -* [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). -* [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. -* [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. -* [NullTime](https://github.com/kirillDanshin/nulltime) - Nullable time.Time -* [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. - - -## Distributed Systems - -*Packages that help with building Distributed Systems.* - -* [celeriac](https://github.com/svcavallar/celeriac.v1) - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go -* [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer. -* [gleam](https://github.com/chrislusf/gleam) - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed. -* [glow](https://github.com/chrislusf/glow) - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go. -* [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function. -* [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load. -* [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. -* [hprose](https://github.com/hprose/hprose-golang) - A very newbility RPC Library, support 25+ languages now. -* [jsonrpc](https://github.com/osamingo/jsonrpc) - The jsonrpc package helps implement of JSON-RPC 2.0. -* [jsonrpc](https://github.com/ybbus/jsonrpc) - A JSON-RPC 2.0 HTTP client implementation -* [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. -* [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. -* [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. -* [raft](https://github.com/coreos/etcd/tree/master/raft#readme) - Go implementation of the Raft consensus protocol, by CoreOS. -* [ringpop-go](https://github.com/uber/ringpop-go) - Scalable, fault-tolerant application-layer sharding for Go applications -* [rpcx](https://github.com/smallnest/rpcx) - A distributed pluggable RPC service framework like alibaba Dubbo. -* [sleuth](https://github.com/ursiform/sleuth) - A library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)). -* [tendermint](https://github.com/tendermint/tendermint) - High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols. -* [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. - * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. - * [go-peerflix](https://github.com/Sioro-Neoku/go-peerflix) - Video streaming torrent client. - -## Email - -*Libraries that implement email creation and sending* - -* [douceur](https://github.com/aymerick/douceur) - CSS inliner for your HTML emails. -* [email](https://github.com/jordan-wright/email) - A robust and flexible email library for Go. -* [go-dkim](https://github.com/toorop/go-dkim) - A DKIM library, to sign & verify email. -* [go-imap](https://github.com/emersion/go-imap) - An IMAP library for clients and servers -* [go-message](https://github.com/emersion/go-message) - A streaming library for the Internet Message Format and mail messages -* [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails. -* [Hectane](https://github.com/hectane/hectane) - Lightweight SMTP client providing an HTTP API -* [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface -* [SendGrid](https://github.com/sendgrid/sendgrid-go) - SendGrid's Go library for sending email -* [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine - - - -## Embeddable Scripting Languages - -*Embedding other languages inside your go code* - -* [agora](https://github.com/PuerkitoBio/agora) - Dynamically typed, embeddable programming language in Go -* [anko](https://github.com/mattn/anko) - Scriptable interpreter written in Go -* [gisp](https://github.com/jcla1/gisp) - Simple LISP in Go -* [go-duktape](https://github.com/olebedev/go-duktape) - Duktape JavaScript engine bindings for Go -* [go-lua](https://github.com/Shopify/go-lua) - A port of the Lua 5.2 VM to pure Go -* [go-php](https://github.com/deuill/go-php) - PHP bindings for Go -* [go-python](https://github.com/sbinet/go-python) - naive go bindings to the CPython C-API -* [golua](https://github.com/aarzilli/golua) - Go bindings for Lua C API -* [gopher-lua](https://github.com/yuin/gopher-lua) - a Lua 5.1 VM and compiler written in Go -* [ngaro](https://github.com/db47h/ngaro) - Embeddable Ngaro VM implementation enabling scripting in Retro -* [otto](https://github.com/robertkrimen/otto) - A JavaScript interpreter written in Go -* [purl](https://github.com/ian-kent/purl) - Perl 5.18.2 embedded in Go - - -## Financial - -*Packages for accounting and finance* - -* [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang -* [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers -* [vat](https://github.com/dannyvankooten/vat) - VAT number validation & EU VAT rates - - -## Forms - -*Libraries for working with forms.* - -* [bind](https://github.com/robfig/bind) - Bind form data to any Go values -* [binding](https://github.com/mholt/binding) - Binds form and JSON data from net/http Request to struct. -* [conform](https://github.com/leebenson/conform) - Keeps user input in check. Trims, sanitizes & scrubs data based on struct tags. -* [form](https://github.com/go-playground/form) - Decodes url.Values into Go value(s) and Encodes Go value(s) into url.Values. Dual Array and Full map support. -* [formam](https://github.com/monoculum/formam) - decode form's values into a struct. -* [forms](https://github.com/albrow/forms) - A framework-agnostic library for parsing and validating form/JSON data which supports multipart forms and files. -* [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. -* [nosurf](https://github.com/justinas/nosurf) - A CSRF protection middleware for Go. - - -## Game Development - -*Awesome game development libraries.* - -* [Azul3D](https://github.com/azul3d/engine) - A 3D game engine written in Go -* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-style 2D game library in Go -* [engo](https://github.com/EngoEngine/engo) - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. -* [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. -* [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. -* [go-astar](https://github.com/beefsack/go-astar) - Go implementation of the A\* path finding algorithm -* [go-collada](https://github.com/GlenKelley/go-collada) - Go package for working with the Collada file format. -* [go-sdl2](https://github.com/veandco/go-sdl2) - Go bindings for the [Simple DirectMedia Layer](https://www.libsdl.org/). -* [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go -* [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang -* [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework -* [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox - - -## Generation & Generics - -*Tools to enhance the language with features like generics via code generation* - -* [efaceconv](https://github.com/t0pep0/efaceconv) - Code generation tool for high performance conversion from interface{} to immutable type without allocations -* [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. -* [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. -* [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. -* [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. - - -## Go Compilers - -*Tools for compiling Go to other languages* - -* [gopherjs](https://github.com/gopherjs/gopherjs) - A compiler from Go to JavaScript. -* [llgo](https://github.com/go-llvm/llgo) - LLVM-based compiler for Go. -* [tardisgo](https://github.com/tardisgo/tardisgo) - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler. - - -## Goroutines - -*Tools for managing and working with Goroutines* - -* [go-flow](https://github.com/kamildrazkiewicz/go-flow) - Control goroutines execution order. -* [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker -* [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool. -* [pool](https://github.com/go-playground/pool) - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation. -* [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for golang. - - -## GUI - -*Libraries for building GUI Applications* - -* [go-gtk](http://mattn.github.io/go-gtk/) - Go bindings for GTK -* [go-qml](https://github.com/go-qml/qml) - QML support for the Go language -* [goqt](https://github.com/visualfc/goqt) - Golang bindings to the Qt cross-platform application framework. -* [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. -* [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. -* [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi) -* [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. -* [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area -* [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system's taskbar. -* [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. -* [walk](https://github.com/lxn/walk) - Windows application library kit for Go. - - -## Hardware - -*Libraries, tools, and tutorials for interacting with hardware.* - -See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive list. - -## Images - -*Libraries for manipulating images.* - -* [bild](https://github.com/anthonynsimon/bild) - A collection of image processing algorithms in pure Go. -* [bimg](https://github.com/h2non/bimg) - Small package for fast and efficient image processing using libvips. -* [geopattern](https://github.com/pravj/geopattern) - Create beautiful generative image patterns from a string. -* [gg](https://github.com/fogleman/gg) - 2D rendering in pure Go. -* [gift](https://github.com/disintegration/gift) - Package of image processing filters. -* [go-cairo](https://github.com/ungerik/go-cairo) - Go binding for the cairo graphics library. -* [go-gd](https://github.com/bolknote/go-gd) - Go binding for GD library. -* [go-nude](https://github.com/koyachi/go-nude) - Nudity detection with Go. -* [go-opencv](https://github.com/lazywei/go-opencv) - Go bindings for OpenCV. -* [go-webcolors](https://github.com/jyotiska/go-webcolors) - Port of webcolors library from Python to Go. -* [imagick](https://github.com/gographics/imagick) - Go binding to ImageMagick's MagickWand C API. -* [imaginary](https://github.com/h2non/imaginary) - Fast and simple HTTP microservice for image resizing. -* [imaging](https://github.com/disintegration/imaging) - Simple Go image processing package. -* [img](https://github.com/hawx/img) - A selection of image manipulation tools. -* [ln](https://github.com/fogleman/ln) - 3D line art rendering in Go. -* [mpo](https://github.com/donatj/mpo) - A decoder and conversion tool for MPO 3D Photos. -* [picfit](https://github.com/thoas/picfit) - An image resizing server written in Go. -* [pt](https://github.com/fogleman/pt) - A path tracing engine written in Go. -* [resize](https://github.com/nfnt/resize) - Image resizing for the Go with common interpolation methods. -* [rez](https://github.com/bamiaux/rez) - Image resizing in pure Go and SIMD. -* [smartcrop](https://github.com/muesli/smartcrop) - Finds good crops for arbitrary images and crop sizes. -* [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation. -* [tga](https://github.com/ftrvxmtrx/tga) - Package tga is a TARGA image format decoder/encoder. - -## Logging - -*Libraries for generating and working with log files.* - -* [glog](https://github.com/golang/glog) - Leveled execution logs for Go. -* [go-log](https://github.com/siddontang/go-log) - Log lib supports level and multi handlers. -* [go-log](https://github.com/ian-kent/go-log) - A log4j implementation in Go. -* [go-logger](https://github.com/apsdehal/go-logger) - Simple logger of Go Programs, with level handlers. -* [gologger](https://github.com/sadlil/gologger) - Simple easy to use log lib for go, logs in Colored Cosole, Simple Console, File or Elasticsearch. -* [gone/log](https://github.com/One-com/gone/tree/master/log#readme) - Fast, extendable, full-featured, std-lib source compatible log library. -* [log](https://github.com/apex/log) - Structured logging package for Go. -* [log](https://github.com/go-playground/log) - Simple, configurable and scalable Structured Logging for Go. -* [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. -* [log15](https://github.com/inconshreveable/log15) - Simple, powerful logging for Go -* [logex](https://github.com/chzyer/logex) - An golang log lib, supports tracking and level, wrap by standard log lib -* [logger](https://github.com/azer/logger) - Minimalistic logging library for Go. -* [logrus](https://github.com/Sirupsen/logrus) - a structured logger for Go. -* [logrusly](https://github.com/sebest/logrusly) - [logrus](https://github.com/sirupsen/logrus) plug-in to send errors to a [Loggly](https://www.loggly.com/). -* [logutils](https://github.com/hashicorp/logutils) - Utilities for slightly better logging in Go (Golang) extending the standard logger. -* [logxi](https://github.com/mgutz/logxi) - A 12-factor app logger that is fast and makes you happy. -* [lumberjack](https://github.com/natefinch/lumberjack) - Simple rolling logger, implements io.WriteCloser. -* [mlog](https://github.com/jbrodriguez/mlog) - A simple logging module for go, with 5 levels, an optional rotating logfile feature and stdout/stderr output. -* [ozzo-log](https://github.com/go-ozzo/ozzo-log) - High performance logging supporting log severity, categorization, and filtering. Can send filtered log messages to various targets (e.g. console, network, mail). -* [seelog](https://github.com/cihub/seelog) - logging functionality with flexible dispatching, filtering, and formatting. -* [slf](https://github.com/ventu-io/slf) - The Structured Logging Facade (SLF) for Go (like SLF4J but structured and for Go) -* [slog](https://github.com/ventu-io/slog) - The reference implementation of the Structured Logging Facade (SLF) for Go -* [stdlog](https://github.com/alexcesaro/log) - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs. -* [tail](https://github.com/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program. -* [xlog](https://github.com/rs/xlog) - A structured logger for `net/context` aware HTTP handlers with flexible dispatching. -* [zap](https://github.com/uber-go/zap) - Fast, structured, leveled logging in Go. - -## Machine Learning - -*Libraries for Machine Learning.* - -* [bayesian](https://github.com/jbrukh/bayesian) - Naive Bayesian Classification for Golang. -* [CloudForest](https://github.com/ryanbressler/CloudForest) - Fast, flexible, multi-threaded ensembles of decision trees for machine learning in pure Go. -* [gago](https://github.com/MaxHalford/gago) - Multi-population, flexible, parallel genetic algorithm. -* [go-fann](https://github.com/white-pony/go-fann) - Go bindings for Fast Artificial Neural Networks(FANN) library. -* [go-galib](https://github.com/thoj/go-galib) - Genetic Algorithms library written in Go / golang -* [go-pr](https://github.com/daviddengcn/go-pr) - Pattern recognition package in Go lang. -* [gobrain](https://github.com/goml/gobrain) - Neural Networks written in go -* [godist](https://github.com/e-dard/godist) - Various probability distributions, and associated methods. -* [goga](https://github.com/tomcraven/goga) - Genetic algorithm library for Go. -* [GoLearn](https://github.com/sjwhitworth/golearn) - General Machine Learning library for Go. -* [golinear](https://github.com/danieldk/golinear) - liblinear bindings for Go -* [goml](https://github.com/cdipaolo/goml) - On-line Machine Learning in Go -* [goRecommend](https://github.com/timkaye11/goRecommend) - Recommendation Algorithms library written in Go. -* [gorgonia](https://github.com/chewxy/gorgonia) - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms. -* [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. -* [mlgo](https://github.com/NullHypothesis/mlgo) - This project aims to provide minimalistic machine learning algorithms in Go. -* [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. -* [probab](https://github.com/ThePaw/probab) - Probability distribution functions. Bayesian inference. Written in pure Go. -* [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine -* [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go - - -## Messaging - -*Libraries that implement messaging systems* - -* [Centrifugo](https://github.com/centrifugal/centrifugo) - Real-time messaging (Websockets or SockJS) server in Go. -* [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. -* [drone-line](https://github.com/appleboy/drone-line) - Sending [Line](https://business.line.me/en/services/bot) notifications using a binary, docker or Drone CI. -* [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. -* [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. -* [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. -* [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. -* [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ -* [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - gopush-cluster is a go push server cluster. -* [gorush](https://github.com/appleboy/gorush) - A push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm). -* [guble](https://github.com/smancke/guble) - A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. -* [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing. -* [mangos](https://github.com/go-mangos/mangos) - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. -* [NATS Go Client](https://github.com/nats-io/nats) - A lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. -* [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for REST APIs -* [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. -* [RapidMQ](https://github.com/sybrexsys/RapidMQ) - RapidMQ is a lightweight and reliable library for managing of the local messages queue -* [sarama](https://github.com/Shopify/sarama) - A Go library for Apache Kafka. -* [Uniqush-Push](https://github.com/uniqush/uniqush-push) - A redis backed unified push service for server-side notifications to mobile devices. -* [zmq4](https://github.com/pebbe/zmq4) - A Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2). - - -## Miscellaneous - -*These libraries were placed here because none of the other categories seemed to fit* - -* [afero](https://github.com/spf13/afero) - A FileSystem Abstraction System for Go. -* [archiver](https://github.com/mholt/archiver) - Library and command for making and extracting .zip and .tar.gz archives -* [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. -* [banner](https://github.com/dimiro1/banner) - Add beautiful banners into your Go applications. -* [battery](https://github.com/distatus/battery) - A cross-platform, normalized battery information library. -* [bitio](https://github.com/icza/bitio) - Highly optimized bit-level Reader and Writer for Go. -* [browscap_go](https://github.com/digitalcrab/browscap_go) - GoLang Library for [Browser Capabilities Project](http://browscap.org/). -* [conv](https://github.com/cstockton/go-conv) - Package conv provides fast and intuitive conversions across Go types. -* [datacounter](https://github.com/miolini/datacounter) - Go counters for readers/writer/http.ResponseWriter. -* [errors](https://github.com/pkg/errors) - A package that provides simple error handling primitives. -* [go-chat-bot](https://github.com/go-chat-bot/bot) - IRC, Slack & Telegram bot written in Go. -* [go-commons-pool](https://github.com/jolestar/go-commons-pool) - A generic object pool for Golang. -* [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. -* [go-openapi](https://github.com/go-openapi) - A collection of packages to parse and utilize open-api schemas -* [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. -* [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. -* [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). -* [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS -* [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. -* [hanu](https://github.com/sbstjn/hanu) - Framework for writing Slack bots. -* [health](https://github.com/dimiro1/health) - A Easy to use, extensible health check library. -* [indigo](https://github.com/osamingo/indigo) - A distributed unique ID generator of using Sonyflake and encoded by Base58. -* [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. -* [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. -* [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. -* [secdl](https://github.com/xor-gate/secdl) - Lighttpd ModSecDownload algorithm ported to go to secure download urls. -* [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... -* [werr](https://github.com/txgruppi/werr) - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. -* [xkg](https://github.com/go-xkg/xkg) - X Keyboard Grabber -* [xstrings](https://github.com/huandu/xstrings) - A collection of useful string functions ported from other languages. - -## Natural Language Processing - -*Libraries for working with human languages.* - -* [dpar](https://github.com/danieldk/dpar/) - Transition-based statistical dependency parser. -* [go-eco](https://github.com/ThePaw/go-eco) - Similarity, dissimilarity and distance matrices; diversity, equitability and inequality measures; species richness estimators; coenocline models. -* [go-i18n](https://github.com/nicksnyder/go-i18n/) - A package and an accompanying tool to work with localized text. -* [go-mystem](https://github.com/dveselov/mystem) - CGo bindings to Yandex.Mystem - russian morphology analyzer. -* [go-nlp](https://github.com/nuance/go-nlp) - Utilities for working with discrete probability distributions and other tools useful for doing NLP work. -* [go-stem](https://github.com/agonopol/go-stem) - Implementation of the porter stemming algorithm. -* [go-unidecode](https://github.com/mozillazg/go-unidecode) - ASCII transliterations of Unicode text. -* [go2vec](https://github.com/danieldk/go2vec) - Reader and utility functions for word2vec embeddings. -* [gojieba](https://github.com/yanyiwu/gojieba) - This is a Go implementation of [jieba](https://github.com/fxsjy/jieba) which a Chinese word splitting algorithm. -* [golibstemmer](https://github.com/rjohnsondev/golibstemmer) - Go bindings for the snowball libstemmer library including porter 2 -* [gounidecode](https://github.com/fiam/gounidecode) - Unicode transliterator (also known as unidecode) for Go -* [icu](https://github.com/goodsign/icu) - Cgo binding for icu4c C library detection and conversion functions. Guaranteed compatibility with version 50.1. -* [libtextcat](https://github.com/goodsign/libtextcat) - Cgo binding for libtextcat C library. Guaranteed compatibility with version 2.2. -* [MMSEGO](https://github.com/awsong/MMSEGO) - This is a GO implementation of [MMSEG](http://technology.chtsai.org/mmseg/) which a Chinese word splitting algorithm. -* [paicehusk](https://github.com/rookii/paicehusk) - Golang implementation of the Paice/Husk Stemming Algorithm -* [porter](https://github.com/a2800276/porter) - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm. -* [porter2](https://github.com/zhenjl/porter2) - Really fast Porter 2 stemmer. -* [RAKE.go](https://github.com/Obaied/RAKE.go) - A Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE) -* [segment](https://github.com/blevesearch/segment) - A Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/) -* [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences. -* [snowball](https://github.com/goodsign/snowball) - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/). -* [stemmer](https://github.com/dchest/stemmer) - Stemmer packages for Go programming language. Includes English and German stemmers. -* [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text - -## Networking - -*Libraries for working with various layers of the network* - -* [arp](https://github.com/mdlayher/arp) - Package arp implements the ARP protocol, as described in RFC 826. -* [buffstreams](https://github.com/stabbycutyou/buffstreams) - Streaming protocolbuffer data over TCP made easy -* [canopus](https://github.com/zubairhamed/canopus) - CoAP Client/Server implementation (RFC 7252) -* [dhcp6](https://github.com/mdlayher/dhcp6) - Package dhcp6 implements a DHCPv6 server, as described in RFC 3315. -* [dns](https://github.com/miekg/dns) - Go library for working with DNS -* [ether](https://github.com/songgao/ether) - A cross-platform Go package for sending and receiving ethernet frames. -* [ethernet](https://github.com/mdlayher/ethernet) - Package ethernet implements marshaling and unmarshaling of IEEE 802.3 Ethernet II frames and IEEE 802.1Q VLAN tags. -* [fasthttp](https://github.com/valyala/fasthttp) - Package fasthttp is a fast HTTP implementation for Go, up to 10 times faster than net/http -* [ftp](https://github.com/jlaffaye/ftp) - Package ftp implements a FTP client as described in [RFC 959](http://tools.ietf.org/html/rfc959). -* [go-getter](https://github.com/hashicorp/go-getter) - A Go library for downloading files or directories from various sources using a URL. -* [go-stun](https://github.com/ccding/go-stun) - A go implementation of the STUN client (RFC 3489 and RFC 5389). -* [gobgp](https://github.com/osrg/gobgp) - BGP implemented in the Go Programming Language. -* [golibwireshark](https://github.com/sunwxg/golibwireshark) - Package golibwireshark use libwireshark library to decode pcap file and analyse dissection data. -* [gopacket](https://github.com/google/gopacket) - A Go library for packet processing with libpcap bindings -* [gopcap](https://github.com/akrennmair/gopcap) - A Go wrapper for libpcap -* [goshark](https://github.com/sunwxg/goshark) - Package goshark use tshark to decode IP packet and create data struct to analyse packet. -* [gosnmp](https://github.com/soniah/gosnmp) - Native Go library for performing SNMP actions -* [gotcp](https://github.com/gansidui/gotcp) - A Go package for quickly writing tcp applications -* [grab](https://github.com/cavaliercoder/grab) - Go package for managing file downloads -* [graval](https://github.com/koofr/graval) - An experimental FTP server framework. -* [jazigo](https://github.com/udhos/jazigo) - Jazigo is a tool written in Go for retrieving configuration for multiple network devices. -* [kcp-go](https://github.com/xtaci/kcp-go) - KCP - A Fast and Reliable ARQ Protocol. -* [kcptun](https://github.com/xtaci/kcptun) - An extremely simple & fast udp tunnel based on KCP protocol -* [lhttp](https://github.com/fanux/lhttp) - A powerful websocket framework, build your IM server more easily. -* [linkio](https://github.com/ian-kent/linkio) - Network link speed simulation for Reader/Writer interfaces -* [llb](https://github.com/kirillDanshin/llb) - It's a very simple but quick backend for proxy servers. Can be useful for fast redirection to predefined domain with zero memory allocation and fast response. -* [mdns](https://github.com/hashicorp/mdns) - Simple mDNS (Multicast DNS) client/server library in Golang -* [mqttPaho](https://eclipse.org/paho/clients/golang/) - The Paho Go Client provides an MQTT client library for connection to MQTT brokers via TCP, TLS or WebSockets. -* [portproxy](https://github.com/aybabtme/portproxy) - Simple TCP proxy which adds CORS support to API's which don't support it. -* [publicip](https://github.com/polera/publicip) - Package publicip returns your public facing IPv4 address (internet egress). -* [raw](https://github.com/mdlayher/raw) - Package raw enables reading and writing data at the device driver level for a network interface. -* [sftp](https://github.com/pkg/sftp) - Package sftp implements the SSH File Transfer Protocol as described in https://filezilla-project.org/specs/draft-ietf-secsh-filexfer-02.txt. -* [ssh](https://github.com/gliderlabs/ssh) - Higher-level API for building SSH servers (wraps crypto/ssh). -* [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. -* [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. -* [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. -* [winrm](https://github.com/masterzen/winrm) - A Go WinRM client to remotely execute commands on Windows machines - -## OpenGL - -*Libraries for using OpenGL in Go.* - -* [gl](https://github.com/go-gl/gl) - Go bindings for OpenGL (generated via glow). -* [glfw](https://github.com/go-gl/glfw) - Go bindings for GLFW 3. -* [goxjs/gl](https://github.com/goxjs/gl) - Go cross-platform OpenGL bindings (OS X, Linux, Windows, browsers, iOS, Android). -* [goxjs/glfw](https://github.com/goxjs/glfw) - Go cross-platform glfw library for creating an OpenGL context and receiving events. -* [mathgl](https://github.com/go-gl/mathgl) - Pure Go math package specialized for 3D math, with inspiration from GLM. - - -## ORM - -*Libraries that implement Object-Relational Mapping or datamapping techniques.* - -* [beego orm](https://github.com/astaxie/beego/tree/master/orm) - A powerful orm framework for go. Support: pq/mysql/sqlite3. -* [go-store](https://github.com/gosuri/go-store) - A simple and fast Redis backed key-value store library for Go. -* [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database. -* [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. -* [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. -* [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. -* [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation. -* [SQLBoiler](https://github.com/vattle/sqlboiler) - An ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. -* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. -* [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. -* [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. -* [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. - -## Package Management - -*Libraries for package and dependency management.* - -* [gigo](https://github.com/LyricalSecurity/gigo) - PIP-like dependency tool for golang, with support for private repositories and hashes. -* [glide](https://github.com/Masterminds/glide) - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip. -* [godep](https://github.com/tools/godep) - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. -* [gom](https://github.com/mattn/gom) - Go Manager - bundle for go. -* [goop](https://github.com/nitrous-io/goop) - A simple dependency manager for Go (golang), inspired by Bundler. -* [gopm](https://github.com/gpmgo/gopm) - Go Package Manager -* [govendor](https://github.com/kardianos/govendor) - Go Package Manager. Go vendor tool that works with the standard vendor file. -* [gpm](https://github.com/pote/gpm) - Barebones dependency manager for Go. -* [gvt](https://github.com/FiloSottile/gvt) - `gvt` is a simple vendoring tool made for Go native vendoring (aka GO15VENDOREXPERIMENT), based on gb-vendor. -* [johnny-deps](https://github.com/VividCortex/johnny-deps) - Minimal dependency version using Git -* [nut](https://github.com/jingweno/nut) - Vendor Go dependencies -* [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments - - - - -## Query Language - -* [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. -* [graphql](https://github.com/sevki/graphql) - GraphQL implementation in go. -* [graphql-go](https://github.com/graphql-go/graphql) - An implementation of GraphQL for Go. -* [jsonql](https://github.com/elgs/jsonql) - JSON query expression library in Golang. - - -## Resource Embedding - -* [esc](https://github.com/mjibson/esc) - Embeds files into Go programs and provides http.FileSystem interfaces to them. -* [fileb0x](https://github.com/UnnoTed/fileb0x) - Simple tool to embed files in go with focus on "customization" and ease to use. -* [go-bindata](https://github.com/jteeuwen/go-bindata) - Package that converts any file into managable Go source code. -* [go-embed](https://github.com/pyros2097/go-embed) - Generates go code to embed resource files into your library or executable -* [go-resources](https://github.com/omeid/go-resources) - Unfancy resources embedding with Go. -* [go.rice](https://github.com/GeertJohan/go.rice) - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy. -* [statics](https://github.com/go-playground/statics) - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks. -* [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem. - - -## Science and Data Analysis - -*Libraries for scientific computing and data analyzing.* - -* [blas](https://github.com/ziutek/blas) - Implementation of BLAS (Basic Linear Algebra Subprograms) -* [chart](https://github.com/vdobler/chart) - Simple Chart Plotting library for Go. Supports many graphs types. -* [evaler](https://github.com/soniah/evaler) - A simple floating point arithmetic expression evaluator -* [ewma](https://github.com/VividCortex/ewma) - Exponentially-weighted moving averages -* [geom](https://github.com/skelterjohn/geom) - 2D geometry for golang -* [go-dsp](https://github.com/mjibson/go-dsp) - Digital Signal Processing for Go -* [go-fn](https://github.com/ematvey/go-fn) - Mathematical functions written in Go language, that are not covered by math pkg -* [go-gt](https://github.com/ThePaw/go-gt) - Graph theory algorithms written in "Go" language -* [go.matrix](https://github.com/skelterjohn/go.matrix) - linear algebra for go (has been stalled) -* [gocomplex](https://github.com/varver/gocomplex) - A complex number library for the Go programming language. -* [gofrac](https://github.com/anschelsc/gofrac) - A (goinstallable) fractions library for go with support for basic arithmetic. -* [gohistogram](https://github.com/VividCortex/gohistogram) - Approximate histograms for data streams -* [gonum/mat64](https://github.com/gonum/matrix) - The general purpose package for matrix computation. Package mat64 provides basic linear algebra operations for float64 matrices. -* [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. -* [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) -* [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language -* [mudlark-go](https://github.com/pwil3058/mudlark-go-pkgs) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. -* [ode](https://github.com/ChristopherRabotin/ode) - An ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions. -* [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go -* [PiHex](https://github.com/claygod/PiHex) - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi -* [stats](https://github.com/montanaflynn/stats) - A statistics package with common functions missing from the Golang standard library. -* [streamtools](https://github.com/nytlabs/streamtools) - general purpose, graphical tool for dealing with streams of data. -* [vectormath](https://github.com/spate/vectormath) - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive) - - -## Security - -*Libraries that are used to help make your application more secure.* - -* [acmetool](https://github.com/hlandau/acme) — ACME (Let's Encrypt) client tool with automatic renewal. -* [BadActor](https://github.com/jaredfolkins/badactor) - An in-memory, application-driven jailer built in the spirit of fail2ban -* [go-yara](https://github.com/hillu/go-yara) - Go Bindings for [YARA](https://github.com/plusvic/yara), the "pattern matching swiss knife for malware researchers (and everyone else)" -* [lego](https://github.com/xenolf/lego) - Pure Go ACME client library and CLI tool (for use with Let's Encrypt) -* [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library. -* [simple-scrypt](https://github.com/elithrar/simple-scrypt) - an scrypt package with a simple, obvious API and automatic cost calibration built-in. - -## Serialization - -*Libraries and tools for binary serialization* - -* [asn1](https://github.com/PromonLogicalis/asn1) - Asn.1 BER and DER encoding library for golang -* [colfer](https://github.com/pascaldekloe/colfer) - Code generation for the Colfer binary format -* [go-capnproto](https://github.com/glycerine/go-capnproto) - Cap'n Proto library and parser for go - * [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go. -* [go-codec](https://github.com/ugorji/go) - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support -* [gogoprotobuf](https://github.com/gogo/protobuf) - Protocol Buffers for Go with Gadgets -* [goprotobuf](https://github.com/golang/protobuf) - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. -* [mapstructure](https://github.com/mitchellh/mapstructure) - Go library for decoding generic map values into native Go structures. -* [php_session_decoder](https://github.com/yvasiyarov/php_session_decoder) - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions -* [structomap](https://github.com/tuvistavie/structomap) - Library to easily and dynamically generate maps from static structures. - - -## Server Applications - -* [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. -* [Caddy](https://github.com/mholt/caddy) - Caddy is an alternative, HTTP/2 web server that's easy to configure and use. -* [consul](https://www.consul.io/) - Consul is a tool for service discovery, monitoring and configuration. -* [devd](https://github.com/cortesi/devd) - A local webserver for developers -* [etcd](https://github.com/coreos/etcd) - A highly-available key value store for shared configuration and service discovery. -* [minio](https://github.com/minio/minio) - Minio is a distributed object storage server. -* [nsq](http://nsq.io/) - A realtime distributed messaging platform -* [yakvs](https://github.com/sci4me/yakvs) - A small, networked, in-memory key-value store. - - -## Template Engines - -*Libraries and tools for templating and lexing.* - -* [ace](https://github.com/yosssi/ace) - Ace is an HTML template engine for Go, inspired by Slim and Jade. Ace is a refinement of Gold. -* [amber](https://github.com/eknkc/amber) - Amber is an elegant templating engine for Go Programming Language It is inspired from HAML and Jade. -* [damsel](https://github.com/dskinner/damsel) - Markup language featuring html outlining via css-selectors, extensible via pkg html/template and others. -* [ego](https://github.com/benbjohnson/ego) - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. -* [fasttemplate](https://github.com/valyala/fasttemplate) - Simple and fast template engine. Substitutes template placeholders up to 10x faster than [text/template](http://golang.org/pkg/text/template/). -* [gofpdf](https://github.com/jung-kurt/gofpdf) - A PDF document generator with high level support for text, drawing and images. -* [jet](https://github.com/CloudyKit/jet) - Jet template engine -* [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. -* [mustache](https://github.com/hoisie/mustache) - A Go implementation of the Mustache template language. -* [pongo2](https://github.com/flosch/pongo2) - A Django-like template-engine for Go. -* [quicktemplate](https://github.com/valyala/quicktemplate) - Fast, powerful, yet easy to use template engine. Converts templates into Go code and then compiles it. -* [raymond](https://github.com/aymerick/raymond) - A complete handlebars implementation in Go. -* [Razor](https://github.com/sipin/gorazor) - Razor view engine for Golang. -* [Soy](https://github.com/robfig/soy) - Closure templates (aka Soy templates) for Go, following the [official spec](https://developers.google.com/closure/templates/) - - -## Testing - -*Libraries for testing codebases and generating test data.* - -* Testing Frameworks - * [assert](https://github.com/go-playground/assert) - Basic Assertion Library used along side native go testing, with building blocks for custom assertions - * [badio](https://github.com/cavaliercoder/badio) - Extensions to Go's `testing/iotest` package - * [baloo](https://github.com/h2non/baloo) - Expressive and versatile end-to-end HTTP API testing made easy. - * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them - * [dsunit](https://github.com/viant/dsunit) - Datastore testing for SQL, NoSQL, structured files. - * [frisby](https://github.com/verdverm/frisby) - a REST API testing framework - * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go - * [go-carpet](https://github.com/msoap/go-carpet) - Tool for viewing test coverage in terminal - * [go-mutesting](https://github.com/zimmski/go-mutesting) - Mutation testing for Go source code - * [go-vcr](https://github.com/dnaeon/go-vcr) - Record and replay your HTTP interactions for fast, deterministic and accurate tests - * [goblin](https://github.com/franela/goblin) - Mocha like testing framework fo Go - * [gocheck](http://labix.org/gocheck) - A more advanced testing framework alternative to gotest. - * [GoConvey](https://github.com/smartystreets/goconvey/) - BDD-style framework with web UI and live reload - * [godog](https://github.com/DATA-DOG/godog) - Cucumber or Behat like BDD framework for Go. - * [gofight](https://github.com/appleboy/gofight) - API Handler Testing for Golang Router framework. - * [gomega](http://onsi.github.io/gomega/) - Rspec like matcher/assertion library. - * [GoSpec](https://github.com/orfjackal/gospec) - BDD-style testing framework for the Go programming language. - * [gospecify](https://github.com/stesla/gospecify) - This provides a BDD syntax for testing your Go code. It should be familiar to anybody who has used libraries such as rspec. - * [gosuite](https://github.com/pavlo/gosuite) - Brings lightweight test suites with setup/teardown facilities to `testing` by leveraging Go1.7's Subtests - * [Hamcrest](https://github.com/rdrdr/hamcrest) - fluent framework for declarative Matcher objects that, when applied to input values, produce self-describing results. - * [httpexpect](https://github.com/gavv/httpexpect) - Concise, declarative, and easy to use end-to-end HTTP and REST API testing - * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. - * [testfixtures](https://github.com/go-testfixtures/testfixtures) - A helper for Rails' like test fixtures to test database applications. - * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. - -* Mock - * [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained mock objects - * [go-sqlmock](https://github.com/DATA-DOG/go-sqlmock) - Mock SQL driver for testing database interactions - * [go-txdb](https://github.com/DATA-DOG/go-txdb) - Single transaction based database driver mainly for testing purposes. - * [gock](https://github.com/h2non/gock) - Versatile HTTP mocking made easy. - * [gomock](https://github.com/golang/mock) - Mocking framework for the Go programming language. - * [govcr](https://github.com/seborama/govcr) - HTTP mock for Golang: record and replay HTTP interactions for offline testing - * [mockhttp](https://github.com/tv42/mockhttp) - Mock object for Go http.ResponseWriter - -* Fuzzing and delta-debugging/reducing/shrinking - * [go-fuzz](https://github.com/dvyukov/go-fuzz) - A randomized testing system - * [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values - * [Tavor](https://github.com/zimmski/tavor) - A generic fuzzing and delta-debugging framework - -## Text Processing - -*Libraries for parsing and manipulating texts.* - -* Specific Formats - * [allot](https://github.com/sbstjn/allot) - Placeholder and wildcard text parsing for CLI tools and bots - * [bbConvert](https://github.com/CalebQ42/bbConvert) - Converts bbCode to HTML that allows you to add support for custom bbCode tags - * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go - * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. - * [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer - * [editorconfig-core-go](https://github.com/editorconfig/editorconfig-core-go) - Editorconfig file parser and manipulator for Go - * [enca](https://github.com/endeveit/enca) - Minimal cgo bindings for [libenca](http://cihar.com/software/enca/). - * [genex](https://github.com/alixaxel/genex) - Count and expand Regular Expressions into all matching Strings - * [go-humanize](https://github.com/dustin/go-humanize) - Formatters for time, numbers, and memory size to human readable format. - * [go-nmea](https://github.com/adrianmo/go-nmea) - NMEA parser library for the Go language. - * [go-pkg-rss](https://github.com/jteeuwen/go-pkg-rss) - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. - * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. - * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. - * [go-slugify](https://github.com/mozillazg/go-slugify) - Make pretty slug with multiple languages support. - * [gofeed](https://github.com/mmcdole/gofeed) - Parse RSS and Atom feeds in Go - * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. - * [gommon/bytes](https://github.com/labstack/gommon/tree/master/bytes) - Format bytes to string. - * [gonameparts](https://github.com/polera/gonameparts) - Parses human names into individual name parts - * [GoQuery](https://github.com/PuerkitoBio/goquery) - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. - * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. - * [gotext](https://github.com/leonelquinteros/gotext) - GNU gettext utilities for Go. - * [guesslanguage](https://github.com/endeveit/guesslanguage) - Functions to determine the natural language of a unicode text. - * [inject](https://github.com/facebookgo/inject) - Package inject provides a reflect based injector. - * [mxj](https://github.com/clbanning/mxj) - Encode / decode XML as JSON or map[string]interface{}; extract values with dot-notation paths and wildcards. Replaces x2j and j2x packages. - * [sh](https://github.com/mvdan/sh) - A shell parser and formatter - * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. - * [Slugify](https://github.com/avelino/slugify) - A Go slugify application that handles string. - * [toml](https://github.com/BurntSushi/toml) - TOML configuration format (encoder/decoder with reflection). -* Utility - * [gotabulate](https://github.com/bndr/gotabulate) - Easily pretty-print your tabular data with Go. - * [kace](https://github.com/codemodus/kace) - Common case conversions covering common initialisms. - * [parseargs-go](https://github.com/nproc/parseargs-go) - A string argument parser that understands quotes and backslashes - * [parth](https://github.com/codemodus/parth) - URL path segmentation parsing. - * [xurls](https://github.com/mvdan/xurls) - Extract urls from text - - -## Third-party APIs - -*Libraries for accessing third party APIs.* - -* [amazon-product-advertising-api](https://github.com/ngs/go-amazon-product-advertising-api) - Go Client Library for [Amazon Product Advertising API](https://affiliate-program.amazon.com/gp/advertising/api/detail/main.html) -* [anaconda](https://github.com/ChimeraCoder/anaconda) - A Go client library for the Twitter 1.1 API -* [aws-sdk-go](https://github.com/aws/aws-sdk-go) - The official AWS SDK for the Go programming language. -* [brewerydb](https://github.com/naegelejd/brewerydb) - Go library for accessing the BreweryDB API. -* [cachet](https://github.com/andygrunwald/cachet) - Go client library for [Cachet (open source status page system)](https://cachethq.io/) -* [circleci](https://github.com/jszwedko/go-circleci) - A Go client library for interacting with CircleCI's API -* [clarifai](https://github.com/samuelcouch/clarifai) - A Go client library for interfacing with the Clarifai API. -* [discordgo](https://github.com/bwmarrin/discordgo) - Go bindings for the Discord Chat API -* [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API -* [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API -* [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. -* [gcm](https://github.com/Aorioli/gcm) - Go library for Google Cloud Messaging -* [geo-golang](https://github.com/codingsince1985/geo-golang) - Go Library to access [Google Maps](https://developers.google.com/maps/documentation/geocoding/intro), [MapQuest](http://open.mapquestapi.com/geocoding/), [Nominatim](http://open.mapquestapi.com/nominatim/), [OpenCage](http://geocoder.opencagedata.com/api.html), [HERE](https://developer.here.com/rest-apis/documentation/geocoder), [Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx), [Mapbox](https://www.mapbox.com/developers/api/geocoding/), and [OpenStreetMap](https://wiki.openstreetmap.org/wiki/Nominatim) geocoding / reverse geocoding APIs. -* [ghost](https://github.com/neuegram/ghost) - Go Library for accessing the Snapchat API. -* [github](https://github.com/google/go-github) - Go library for accessing the GitHub API. -* [go-imgur](https://github.com/koffeinsource/go-imgur) - Go client library for [imgur](https://imgur.com) -* [go-jira](https://github.com/andygrunwald/go-jira) - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) -* [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. -* [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. -* [go-twitch](https://github.com/knspriggs/go-twitch) - A Go client for interacting with the Twitch v3 API. -* [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. -* [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. -* [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. -* [golyrics](https://github.com/mamal72/golyrics) - Golyrics is a Go library to fetch music lyrics data from the Wikia website. -* [GoMusicBrainz](https://github.com/michiwend/gomusicbrainz) - a Go MusicBrainz WS2 client library. -* [google](https://github.com/google/google-api-go-client) - Auto-generated Google APIs for Go. -* [google-analytics](https://github.com/chonthu/go-google-analytics) - A simple wrapper for easy google analytics reporting. -* [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go Client Library. -* [google-email-audit-api](https://github.com/ngs/go-google-email-audit-api) - Go client library for [Google G Suite Email Audit API](https://developers.google.com/admin-sdk/email-audit/). -* [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. -* [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. -* [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. -* [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API. -* [megos](https://github.com/andygrunwald/megos) - A client library for accessing an [Apache Mesos](http://mesos.apache.org/) cluster -* [micha](https://github.com/onrik/micha) - Go Library for Telegram bot api. -* [minio-go](https://github.com/minio/minio-go) - Minio Go Library for Amazon S3 compatible cloud storage. -* [mixpanel](https://github.com/dukex/mixpanel) - Mixpanel is a library for tracking events and sending Mixpanel profile updates to Mixpanel from your go applications. -* [paypal](https://github.com/logpacker/paypalsdk) - Wrapper for PayPal payment API -* [playlyfe](https://github.com/playlyfe/playlyfe-go-sdk) - The Playlyfe Rest API Go SDK -* [pushover](https://github.com/gregdel/pushover) - Go wrapper for the Pushover API. -* [rrdaclient](https://github.com/Omie/rrdaclient) - Go Library to access statdns.com API, which is in turn RRDA API. DNS Queries over HTTP. -* [shopify](https://github.com/rapito/go-shopify) - Go Library to make CRUD request to the Shopify API. -* [slack](https://github.com/nlopes/slack) - Slack API in Go. -* [smite](https://github.com/sergiotapia/smitego) - Go package to wraps access to the Smite game API. -* [spotify](https://github.com/rapito/go-spotify) - Go Library to access Spotify WEB API. -* [steam](https://github.com/sostronk/go-steam) - Go Library to interact with Steam game servers. -* [stripe](https://github.com/stripe/stripe-go) - Go client for the Stripe API -* [tbot](https://github.com/yanzay/tbot) - Telegram bot server with API similar to net/http. -* [telebot](https://github.com/tucnak/telebot) - Telegram bot framework written in Go. -* [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client. -* [telegraph](https://github.com/toby3d/telegraph) - Telegraph publishing platform API client. -* [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API. -* [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org) -* [translate](https://github.com/poorny/translate) - Go online translation package. -* [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. -* [webhooks](https://github.com/go-playground/webhooks) - Webhook receiver for GitHub and Bitbucket. - -## Utilities - -*General utilities and tools to make your life easier.* - -* [abutil](https://github.com/bahlo/abutil) - A collection of often-used Golang helpers. -* [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API. -* [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. -* [command](https://github.com/txgruppi/command) - Command pattern for Go with thread safe serial and parallel dispatcher -* [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. -* [Death](https://github.com/vrecan/death) - Managing go application shutdown with signals. -* [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go. -* [delve](https://github.com/derekparker/delve) - Go debugger. -* [dlog](https://github.com/kirillDanshin/dlog) - Compile-time controlled logger to make your release smaller without removing debug calls. -* [excelize](https://github.com/Luxurioust/excelize) - Golang library for reading and writing Microsoft Excel (XLSX) files. -* [fastlz](https://github.com/digitalcrab/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. -* [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. -* [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go -* [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. -* [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. -* [git-time-metric](https://github.com/git-time-metric/gtm) - Simple, seamless, lightweight time tracking for Git -* [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) -* [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. -* [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. -* [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. -* [go-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go. -* [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. -* [go-torch](https://github.com/uber/go-torch) - Stochastic flame graph profiler for Go programs. -* [go-trigger](https://github.com/sadlil/go-trigger) - Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project. -* [go-underscore](https://github.com/tobyhede/go-underscore) - A useful collection of helpfully functional Go collection utilities. -* [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package. -* [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons. -* [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.) -* [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. -* [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. -* [gojq](https://github.com/elgs/gojq) - JSON query in Golang. -* [golarm](https://github.com/msempere/golarm) - Fire alarms with system events. -* [golog](https://github.com/mlimaloureiro/golog) - Easy and lightweight CLI tool to time track your tasks. -* [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. -* [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images. -* [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. -* [goreq](https://github.com/smallnest/goreq) - An enhanced simplified HTTP client based on gorequest. -* [gorequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features for Go. -* [gotenv](https://github.com/subosito/gotenv) - Load environment variables from `.env` or any `io.Reader` in Go -* [grequests](https://github.com/levigross/grequests) - An elegant and simple `net/http` wrapper that follows Python's requests library -* [htcat](https://github.com/htcat/htcat) - Parallel and Pipelined HTTP GET Utility -* [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. -* [hystrix-go](https://github.com/afex/hystrix-go) - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. -* [JobRunner](https://github.com/bamzi/jobrunner) - Smart and featureful cron job scheduler with job queuing and live monitoring built in. -* [jsonapi-errors](https://github.com/AmuzaTkts/jsonapi-errors) - Go bindings based on the JSON API errors reference. -* [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON. -* [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects. -* [kazaam](https://github.com/Qntfy/kazaam) - API for arbitrary transformation of JSON documents. -* [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go -* [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. -* [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. -* [minify](https://github.com/tdewolff/minify) - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats. -* [moldova](https://github.com/StabbyCutyou/moldova) - A utility for generating random data based on an input template. -* [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. -* [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers. -* [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. -* [ngrok](https://github.com/inconshreveable/ngrok) - Introspected tunnels to localhost. -* [okrun](https://github.com/xta/okrun) - go run error steamroller. -* [panicparse](https://github.com/maruel/panicparse) - Groups similar goroutines and colorizes stack dump. -* [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool. -* [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. -* [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. -* [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go. -* [realize](https://github.com/tockins/realize) - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths. -* [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. -* [rerate](https://github.com/abo/rerate) - Redis-based rate counter and rate limiter for Go. -* [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes. -* [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client. -* [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics. -* [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. -* [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. -* [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. -* [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package. -* [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. -* [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. -* [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang -* [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. - - -## Validation - -*Libraries for validation.* - -* [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs. -* [ozzo-validation](https://github.com/go-ozzo/ozzo-validation) - Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags. -* [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. - - -## Version Control - -*Libraries for version control.* - -* [gh](https://github.com/rjeczalik/gh) - Scriptable server and net/http middleware for GitHub Webhooks. -* [git2go](https://github.com/libgit2/git2go) - Go bindings for libgit2. -* [go-vcs](https://github.com/sourcegraph/go-vcs) - manipulate and inspect VCS repositories in Go. -* [hgo](https://github.com/beyang/hgo) - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. - - -## Video - -*Libraries for manipulating video.* - -* [gmf](https://github.com/3d0c/gmf) - Go bindings for FFmpeg av\* libraries. -* [goav](https://github.com/giorgisio/goav) - Comphrensive Go bindings for FFmpeg. -* [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer. -* [v4l](https://github.com/korandiz/v4l) - A video capture library for Linux, written in Go. - - -## Web Frameworks - -*Full stack web frameworks.* - -* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space -* [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language. -* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. -* [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. -* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. -* [Echo](https://github.com/labstack/echo) - High performance, minimalist Go web framework. -* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. -* [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework. -* [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework -* [Gem](https://github.com/go-gem/gem) - A simple and fast web framework, friendly to REST API. -* [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. -* [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. -* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io). -* [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API. -* [go-kit](https://github.com/go-kit/kit) - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. -* [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's. -* [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go. -* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. -* [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis. -* [Goat](https://github.com/bahlo/goat) - A minimalistic REST API server in Go. -* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. -* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. -* [Golf](https://github.com/dinever/golf) - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library. -* [golongpoll](https://github.com/jcuga/golongpoll) - HTTP longpoll server library that makes web pub-sub simple. -* [Gondola](https://github.com/rainycape/gondola) - The web framework for writing faster sites, faster -* [gongular](https://github.com/mustafaakin/gongular) - A fast Go web framework with input mapping/validation and (DI) Dependency Injection -* [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go -* [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. -* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. -* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. -* [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. -* [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go. -* [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. -* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. -* [Microservice](https://github.com/claygod/microservice) - The framework for the creation of microservices, written in Golang. -* [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. -* [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. -* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - A high-performance HTTP router and Web framework supporting routes with regular expressions. Comes with full support for quickly building a RESTful API application. -* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. -* [Resoursea](https://github.com/resoursea/api) - A REST framework for quickly writing resource based services. -* [REST Layer](http://rest-layer.io) - A framework to build REST/GraphQL API on top of databases with mostly configuration over code. -* [Revel](https://github.com/revel/revel) - A high-productivity web framework for the Go language. -* [rex](https://github.com/goanywhere/rex) - Rex is a library for modular development built upon gorilla/mux, fully compatible with `net/http`. -* [sawsij](http://sawsij.com/) - lightweight, open-source web framework for building high-performance, data-driven web applications. -* [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE). -* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers -* [tango](https://github.com/lunny/tango) - Micro & pluggable web framework for Go. -* [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard -* [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for Go. -* [utron](https://github.com/gernest/utron) - A lightweight MVC framework for Go(Golang). -* [VarHandler](https://github.com/azr/generators/tree/master/varhandler) - Generate boilerplate http input and ouput handling. -* [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. -* [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. -* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. -* [YARF](https://github.com/yarf-framework/yarf) - Fast micro-framework designed to build REST APIs and web services in a fast and simple way. -* [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. -* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. - - -### Middlewares - -#### Actual middlewares - -* [CORS](https://github.com/rs/cors) - Easily add CORS capabilities to your API. -* [formjson](https://github.com/rs/formjson) - Transparently handle JSON input as a standard form POST. -* [Limiter](https://github.com/ulule/limiter) - Dead simple rate limit middleware for Go. -* [Tollbooth](https://github.com/didip/tollbooth) - Rate limit HTTP request handler. -* [XFF](https://github.com/sebest/xff) - Handle `X-Forwarded-For` header and friends. - -#### Libraries for creating HTTP middlewares - -* [alice](https://github.com/justinas/alice) - Painless middleware chaining for Go. -* [catena](https://github.com/codemodus/catena) - http.Handler wrapper catenation (same API as "chain"). -* [chain](https://github.com/codemodus/chain) - Handler wrapper chaining with scoped data (net/context-based "middleware"). -* [go-wrap](https://github.com/go-on/wrap) - Small middlewares package for net/http. -* [gores](https://github.com/alioygur/gores) - Go package that handles HTML, JSON, XML and etc. responses. Useful for RESTful APIs. -* [interpose](https://github.com/carbocation/interpose) - Minimalist net/http middleware for golang. -* [muxchain](https://github.com/stephens2424/muxchain) - Lightweight middleware for net/http. -* [negroni](https://github.com/urfave/negroni) - Idiomatic HTTP middleware for Golang. -* [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses. -* [rye](https://github.com/InVisionApp/rye) - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context -* [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. - -# Tools - -Go software and plugins. - - -## Code Analysis - -* [apicompat](https://github.com/bradleyfalzon/apicompat) - Checks recent changes to a Go project for backwards incompatible changes. -* [dupl](https://github.com/mibk/dupl) - A tool for code clone detection. -* [errcheck](https://github.com/kisielk/errcheck) - Errcheck is a program for checking for unchecked errors in Go programs. -* [gcvis](https://github.com/davecheney/gcvis) - Visualise Go program GC trace data in real time. -* [Go Metalinter](https://github.com/alecthomas/gometalinter) - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. -* [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments. -* [go-outdated](https://github.com/firstrow/go-outdated) - Console application that displays outdated packages. -* [goast-viewer](https://github.com/yuroyoro/goast-viewer) - Web based Golang AST visualizer. -* [GoCover.io](http://gocover.io/) - GoCover.io offers the code coverage of any golang package as a service. -* [goimports](https://godoc.org/golang.org/x/tools/cmd/goimports) - Tool to fix (add, remove) your Go imports automatically. -* [GoLint](https://github.com/golang/lint) - Golint is a linter for Go source code. -* [Golint online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. -* [goreturns](https://sourcegraph.com/github.com/sqs/goreturns) - Adds zero-value return statements to match the func return types. -* [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages. -* [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. -* [lint](https://github.com/surullabs/lint) - Run linters as part of go test -* [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. - - -## Editor Plugins - -* [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. -* [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting -* [Goclipse](https://github.com/GoClipse/goclipse) - An Eclipse plugin for Go. -* [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language. -* [GoSublime](https://github.com/DisposaBoy/GoSublime) - A Golang plugin collection for the text editor SublimeText 2 providing code completion and other IDE-like features. -* [velour](https://github.com/velour/velour) - An IRC client for the acme editor. -* [vim-compiler-go](https://github.com/rjohnsondev/vim-compiler-go) - A Vim plugin to highlight syntax errors on save. -* [vim-go](https://github.com/fatih/vim-go) - Go development plugin for Vim. -* [Watch](https://github.com/eaburns/Watch) - Runs a command in an acme win on file changes. - -## Go Tools - -* [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output. -* [gb](https://getgb.io/) - An easy to use project based build tool for the Go programming language. -* [go-pkg-complete](https://github.com/skelterjohn/go-pkg-complete) - Bash completion for go and wgo. -* [go-swagger](https://github.com/go-swagger/go-swagger) - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API. -* [rts](https://github.com/galeone/rts) - RTS: response to struct. Generates Go structs from server responses. - -## Software Packages - -Software written in Go. - - -### DevOps Tools - -* [aptly](https://github.com/smira/aptly) - aptly is a Debian repository management tool. -* [aurora](https://github.com/Luxurioust/aurora) - Cross-platform web-based Beanstalkd queue server console. -* [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile. -* [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. -* [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework. -* [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). -* [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. -* [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. -* [Gitea](https://github.com/go-gitea/gitea) - A fork of Gogs, entirely community driven. -* [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. -* [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update. -* [gobrew](https://github.com/cryptojuice/gobrew) - gobrew lets you easily switch between multiple versions of go. -* [godbg](https://github.com/sirnewton01/godbg) - Web-based gdb front-end application. -* [Gogs](https://gogs.io/) - A Self Hosted Git Service in the Go Programming Language. -* [gonative](https://github.com/inconshreveable/gonative) - Tool which creates a build of Go that can cross compile to all platforms while still using the Cgo-enabled versions of the stdlib packages. -* [govvv](https://github.com/ahmetalpbalkan/govvv) - A “go build” wrapper to easily add version information into Go binaries -* [gox](https://github.com/mitchellh/gox) - A dead simple, no frills Go cross compile tool. -* [goxc](https://github.com/laher/goxc) - build tool for Go, with a focus on cross-compiling and packaging. -* [grapes](https://github.com/yaronsumel/grapes) - lightweight tool designed to distribute commands over ssh with ease. -* [GVM](https://github.com/moovweb/gvm) - GVM provides an interface to manage Go versions. -* [Hey](https://github.com/rakyll/hey) - Hey is a tiny program that sends some load to a web application. -* [kala](https://github.com/ajvb/kala) - Simplistic, modern, and performant job scheduler. -* [kubernetes](https://github.com/kubernetes/kubernetes) - Container Cluster Manager from Google. -* [Mora](https://github.com/emicklei/mora) - REST server for accessing MongoDB documents and meta data. -* [ostent](https://github.com/ostrost/ostent) - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB. -* [Packer](https://github.com/mitchellh/packer) - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. -* [Rodent](https://github.com/alouche/rodent) - Rodent helps you manage Go versions, projects and track dependencies. -* [s3gof3r](https://github.com/rlmcpherson/s3gof3r) - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. -* [Scaleway-cli](https://github.com/scaleway/scaleway-cli) - Manage BareMetal Servers from Command Line (as easily as with Docker). -* [sg](https://github.com/ChristopherRabotin/sg) - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the reponse code and data between each call for specific server stress based on its previous response. -* [Vegeta] (https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000! -* [webhook](https://github.com/adnanh/webhook) - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. -* [Wide](https://wide.b3log.org/login) - A Web-based IDE for Teams using Golang. -* [winrm-cli](https://github.com/masterzen/winrm-cli) - A cli tool to remotely execute commands on Windows machines - -### Other Software -* [borg](https://github.com/crufter/borg) - A terminal based search engine for bash snippets -* [boxed](https://github.com/tejo/boxed) - Dropbox based blog engine -* [Cherry](https://github.com/rafael-santiago/cherry) - A tiny webchat server in Go. -* [Circuit](https://github.com/gocircuit/circuit) - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. -* [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections. -* [confd](https://github.com/kelseyhightower/confd) - Manage local application configuration files using templates and data from etcd or consul. -* [Docker](http://www.docker.com/) - An open platform for distributed applications for developers and sysadmins. -* [Documize](https://github.com/documize/community) - Modern wiki software that integrates data from SaaS tools. -* [fleet](https://github.com/coreos/fleet) - A Distributed init System. -* [Go Package Store](https://github.com/shurcooL/Go-Package-Store#go-package-store-) - An app that displays updates for the Go packages in your GOPATH. -* [gocc](https://github.com/goccmack/gocc) - Gocc is a compiler kit for Go written in Go. -* [GoDocTooltip](https://github.com/diankong/GoDocTooltip) - A chrome extension for Go Doc sites, which shows function description as tooltip at funciton list. -* [Gor](https://github.com/buger/gor) - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. -* [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer. -* [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine. -* [ipe](https://github.com/dimiro1/ipe) - An open source Pusher server implementation compatible with Pusher client libraries written in GO. -* [Juju](https://jujucharms.com/) - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more. -* [limetext](http://limetext.org/) Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text. -* [LiteIDE](https://github.com/visualfc/liteide) LiteIDE is a simple, open source, cross-platform Go IDE. -* [mockingjay](https://github.com/quii/mockingjay-server) Fake HTTP servers and consumer driven contracts from one configuration file. You can also make the server randomly misbehave to help do more realistic performance tests. -* [myLG](https://github.com/mehrdadrad/mylg) - Command Line Network Diagnostic tool written in Go. -* [naclpipe](https://github.com/unix4fun/naclpipe) - A simple NaCL EC25519 based crypto pipe tool written in Go. -* [nes](https://github.com/fogleman/nes) - A Nintendo Entertainment System (NES) emulator written in Go. -* [orange-cat](https://github.com/noraesae/orange-cat) - A Markdown previewer written in Go. -* [peg](https://github.com/pointlander/peg) - Peg, Parsing Expression Grammar, is an implementation of a Packrat parser generator. -* [Postman](https://github.com/zachlatta/postman) - Command-line utility for batch-sending email. -* [restic](https://github.com/restic/restic) - De-duplicating backup program. -* [rkt](https://github.com/coreos/rkt) - An App Container runtime that integrates with init systems, is compatible with other container formats like Docker, and supports alternative execution engines like KVM. -* [Seaweed File System](https://github.com/chrislusf/seaweedfs) - Fast, Simple and Scalable Distributed File System with O(1) disk seek. -* [shell2http](https://github.com/msoap/shell2http) - Executing shell commands via http server (for prototyping or remote control). -* [snap](https://github.com/intelsdi-x/snap) - A powerful telemetry framework. -* [Stack Up](https://github.com/pressly/sup) - Stack Up, a super simple deployment tool - just Unix - think of it like 'make' for a network of servers. -* [syncthing](https://syncthing.net/) - An open, decentralized file synchronization tool and protocol. -* [Tenyks](https://github.com/kyleterry/tenyks) - Service oriented IRC bot using Redis and JSON for messaging. -* [toto](https://github.com/blogcin/ToTo) - A simple proxy server written in Go language, can be used together with browser. -* [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests. -* [tsuru](https://tsuru.io/) - An extensible and open source Platform as a Service software. -* [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart). -* [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass). -* [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags. - - - - - - - -# Resources - -Where to discover new Go libraries. - - -## Benchmarks - -* [autobench](https://github.com/davecheney/autobench) - Framework to compare the performance between different Go versions. -* [go-benchmarks](https://github.com/tylertreat/go-benchmarks) - A few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches. -* [go-http-routing-benchmark](https://github.com/julienschmidt/go-http-routing-benchmark) - Go HTTP request router benchmark and comparison. -* [go-type-assertion-benchmark](https://github.com/hgfischer/go-type-assertion-benchmark) - Naive performance test of two ways to do type assertion in Go. -* [go-web-framework-benchmark](https://github.com/smallnest/go-web-framework-benchmark) - Go web framework benchmark. -* [go_serialization_benchmarks](https://github.com/alecthomas/go_serialization_benchmarks) - Benchmarks of Go serialization methods. -* [gocostmodel](https://github.com/PuerkitoBio/gocostmodel) - Benchmarks of common basic operations for the Go language. -* [golang-micro-benchmarks](https://github.com/amscanne/golang-micro-benchmarks) - Tiny collection of Go micro benchmarks. The intent is to compare some language features to others. -* [golang-sql-benchmark](https://github.com/tyler-smith/golang-sql-benchmark) - A collection of benchmarks for popular Go database/SQL utilities. -* [gospeed](https://github.com/feyeleanor/GoSpeed) - Go micro-benchmarks for calculating the speed of language constructs. -* [kvbench](https://github.com/jimrobinson/kvbench) - Key/Value database benchmark. -* [skynet](https://github.com/atemerev/skynet) - Skynet 1M threads microbenchmark. -* [speedtest-resize](https://github.com/fawick/speedtest-resize) - Compare various Image resize algorithms for the Go language. - - -## Conferences - -* [dotGo](http://www.dotgo.eu) - Paris, France -* [GoCon](http://gocon.connpass.com/) - Tokyo, Japan -* [GolangUK](http://golanguk.com/) - London, UK -* [GopherChina](http://gopherchina.org) - Shanghai, China -* [GopherCon](http://www.gophercon.com/) - Denver, USA -* [GopherCon Brazil](https://gopherconbr.org) - Florianópolis, BR -* [GopherCon Dubai](http://www.gophercon.ae/) - Dubai, UAE -* [GopherCon India](http://www.gophercon.in/) - Pune, India -* [GothamGo](http://gothamgo.com/) - New York City, USA - -## E-Books - -* [A Go Developer's Notebook](https://leanpub.com/GoNotebook/read) -* [An Introduction to Programming in Go](http://www.golang-book.com/) -* [Build Web Application with Golang](https://www.gitbook.com/book/astaxie/build-web-application-with-golang/details) -* [Building Web Apps With Go](https://www.gitbook.com/book/codegangsta/building-web-apps-with-go/details) -* [Go Bootcamp](http://golangbootcamp.com) -* [GoBooks](https://github.com/dariubs/GoBooks) - A curated list of Go books -* [Learning Go](https://www.miek.nl/downloads/Go/Learning-Go-latest.pdf) -* [Network Programming With Go](https://jan.newmarch.name/go/) -* [The Go Programming Language](http://www.gopl.io/) -* [Web Application with Go the Anti-Textbook](https://github.com/thewhitetulip/web-dev-golang-anti-textbook/) - -## Twitter - -* [@golang](https://twitter.com/golang) -* [@golang_news](https://twitter.com/golang_news) -* [@golangweekly](https://twitter.com/golangweekly) - - -## Websites - -* [Awesome Go @LibHunt](https://go.libhunt.com) - Your go-to Go Toolbox. -* [Awesome Remote Job](https://github.com/lukasz-madon/awesome-remote-job) - A curated list of awesome remote jobs. A lot of them is looking for Go hackers. -* [awesome-awesomeness](https://github.com/bayandin/awesome-awesomeness) - List of other amazingly awesome lists. -* [Flipboard - Go Magazine](https://flipboard.com/section/the-golang-magazine-bVP7nS) - A collection of Go articles and tutorials. -* [Go Blog](http://blog.golang.org) - The official Go blog. -* [Go Challenge](http://golang-challenge.org/) - Learn Go by solving problems and getting feedback from Go experts. -* [Go Forum](https://forum.golangbridge.org) - Forum to discuss Go. -* [Go In 5 Minutes](https://www.goin5minutes.com/) - 5 minute screencasts focused on getting one thing done. -* [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki. -* [gocryforhelp](https://github.com/ninedraft/gocryforhelp) - A collection of Go projects that needs help. Good place to start your open-source way in Go. -* [godoc.org](https://godoc.org/) - Documentation for open source Go packages. -* [golang-graphics](https://github.com/mholt/golang-graphics) - A collection of Go images, graphics, and art. -* [golang-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list. -* [Google Plus Community](https://plus.google.com/communities/114112804251407510571) - The Google+ community for #golang enthusiasts. -* [gowalker.org](https://gowalker.org) - Go Project API documentation. -* [r/Golang](https://www.reddit.com/r/golang) - News about Go. -* [Trending Go repositories on GitHub today](https://github.com/trending?l=go) - Good place to find new Go libraries. - - -### Tutorials - -* [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go. -* [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline. -* [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs. -* [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. -* [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. -* [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. - - - -## Windows - -* [d3d9](https://github.com/gonutz/d3d9) - Go bindings for Direct3D9 -* [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang. From f75e32c56bca69b391e2885e8115a335e58a99b1 Mon Sep 17 00:00:00 2001 From: Andrew Minkin Date: Fri, 6 Jan 2017 19:02:39 +0600 Subject: [PATCH 200/403] Added fcm library (#1247) * Added fcm library * Fixed Alphabetical order --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 65278d28..9afd22fe 100644 --- a/README.md +++ b/README.md @@ -981,6 +981,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [clarifai](https://github.com/samuelcouch/clarifai) - A Go client library for interfacing with the Clarifai API. * [discordgo](https://github.com/bwmarrin/discordgo) - Go bindings for the Discord Chat API * [facebook](https://github.com/huandu/facebook) - Go Library that supports the Facebook Graph API +* [fcm](https://github.com/maddevsio/fcm) - Go library for Firebase Cloud Messaging * [gads](https://github.com/emiddleton/gads) - Google Adwords Unofficial API * [gami](https://github.com/bit4bit/gami) - Go library for Asterisk Manager Interface. * [gcm](https://github.com/Aorioli/gcm) - Go library for Google Cloud Messaging From b189446b2c06f03ba9c0f118f16dde9c939c7a13 Mon Sep 17 00:00:00 2001 From: Ahmet Alp Balkan Date: Fri, 6 Jan 2017 14:01:45 -0800 Subject: [PATCH 201/403] Add rakyll/statik --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9afd22fe..910a5fe2 100644 --- a/README.md +++ b/README.md @@ -792,6 +792,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-resources](https://github.com/omeid/go-resources) - Unfancy resources embedding with Go. * [go.rice](https://github.com/GeertJohan/go.rice) - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy. * [statics](https://github.com/go-playground/statics) - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks. +* [statik](https://github.com/rakyll/statik) - Embeds static files into a Go executable * [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem. From c96dc58cd626bc2e008fac3afaf0de703a2c5066 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Sat, 7 Jan 2017 18:52:52 +0800 Subject: [PATCH 202/403] Add drone-scp tool (#1249) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 910a5fe2..534e1cf0 100644 --- a/README.md +++ b/README.md @@ -1289,6 +1289,7 @@ Software written in Go. * [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. * [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). +* [drone-scp](https://github.com/appleboy/drone-scp) - Copy files and artifacts via SSH using a binary, docker or Drone CI. * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. * [Gitea](https://github.com/go-gitea/gitea) - A fork of Gogs, entirely community driven. From 1fe58347ce35f3151aeb3d5eb15b18b5140192cd Mon Sep 17 00:00:00 2001 From: Ondrej Fabry Date: Sat, 7 Jan 2017 19:15:09 +0100 Subject: [PATCH 203/403] Add "go-callvis" program to Go Tools section. (#1251) go-callvis is a development tool to help visualize call graph of your Go program using Graphviz's dot format. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 534e1cf0..37c4085c 100644 --- a/README.md +++ b/README.md @@ -1272,6 +1272,7 @@ Go software and plugins. * [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output. * [gb](https://getgb.io/) - An easy to use project based build tool for the Go programming language. +* [go-callvis](https://github.com/TrueFurby/go-callvis) - Visualize call graph of your Go program using dot format. * [go-pkg-complete](https://github.com/skelterjohn/go-pkg-complete) - Bash completion for go and wgo. * [go-swagger](https://github.com/go-swagger/go-swagger) - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API. * [rts](https://github.com/galeone/rts) - RTS: response to struct. Generates Go structs from server responses. From 7ca60a8d645e59934dbd9bf2a0d2be230c3a7cd0 Mon Sep 17 00:00:00 2001 From: "xfx.dev" Date: Mon, 9 Jan 2017 13:55:08 +0800 Subject: [PATCH 204/403] add xlog library. (#1250) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37c4085c..d06a2679 100644 --- a/README.md +++ b/README.md @@ -567,6 +567,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [slog](https://github.com/ventu-io/slog) - The reference implementation of the Structured Logging Facade (SLF) for Go * [stdlog](https://github.com/alexcesaro/log) - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs. * [tail](https://github.com/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program. +* [xlog](https://github.com/xfxdev/xlog) - Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format. * [xlog](https://github.com/rs/xlog) - A structured logger for `net/context` aware HTTP handlers with flexible dispatching. * [zap](https://github.com/uber-go/zap) - Fast, structured, leveled logging in Go. From 4e47e038ee56d74f965251b23c9acd646347f6d7 Mon Sep 17 00:00:00 2001 From: "xfx.dev" Date: Thu, 12 Jan 2017 11:47:38 +0800 Subject: [PATCH 205/403] Add xtcp library. (#1253) A TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d06a2679..0bb4ab77 100644 --- a/README.md +++ b/README.md @@ -727,6 +727,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. * [winrm](https://github.com/masterzen/winrm) - A Go WinRM client to remotely execute commands on Windows machines +* [xtcp](https://github.com/xfxdev/xtcp) - A TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol. ## OpenGL From 0257b043d92dad724a9892cb7e6763326fc66fe3 Mon Sep 17 00:00:00 2001 From: olebedev Date: Thu, 12 Jan 2017 15:59:10 +0500 Subject: [PATCH 206/403] Add when NLP library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0bb4ab77..99fe91e1 100644 --- a/README.md +++ b/README.md @@ -685,6 +685,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [snowball](https://github.com/goodsign/snowball) - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/). * [stemmer](https://github.com/dchest/stemmer) - Stemmer packages for Go programming language. Includes English and German stemmers. * [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text +* [when](https://github.com/olebedev/when) - A natural EN and RU language date/time parser with pluggable rules ## Networking From 207dc45a5103832e6711229457bb942205292dc5 Mon Sep 17 00:00:00 2001 From: olebedev Date: Thu, 12 Jan 2017 16:09:08 +0500 Subject: [PATCH 207/403] Add go-tgbot api/router library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0bb4ab77..8b4fe13b 100644 --- a/README.md +++ b/README.md @@ -994,6 +994,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-imgur](https://github.com/koffeinsource/go-imgur) - Go client library for [imgur](https://imgur.com) * [go-jira](https://github.com/andygrunwald/go-jira) - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. +* [go-tgbot](https://github.com/olebedev/go-tgbot) - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware. * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [go-twitch](https://github.com/knspriggs/go-twitch) - A Go client for interacting with the Twitch v3 API. * [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. From 98747ad53d797a1c3bcb74b94efb1072100aebfd Mon Sep 17 00:00:00 2001 From: Vladimir Mihailenco Date: Fri, 13 Jan 2017 14:54:24 +0200 Subject: [PATCH 208/403] Add go-pg (#1204) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0bb4ab77..9dc52ed9 100644 --- a/README.md +++ b/README.md @@ -745,6 +745,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries that implement Object-Relational Mapping or datamapping techniques.* * [beego orm](https://github.com/astaxie/beego/tree/master/orm) - A powerful orm framework for go. Support: pq/mysql/sqlite3. +* [go-pg](https://github.com/go-pg/pg) - PostgreSQL ORM with focus on PostgreSQL specific features and performance. * [go-store](https://github.com/gosuri/go-store) - A simple and fast Redis backed key-value store library for Go. * [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database. * [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. From 73b7062ce93e0170b8ea633ba033658bf2a214c0 Mon Sep 17 00:00:00 2001 From: Mark Bates Date: Fri, 13 Jan 2017 09:07:13 -0500 Subject: [PATCH 209/403] Added buffalo, pop, soda, and velvet to the list --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9dc52ed9..699c4eeb 100644 --- a/README.md +++ b/README.md @@ -268,7 +268,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go * [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. -* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL,PostgreSQL,Cassandra and SQLite. +* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL, PostgreSQL, Cassandra, and SQLite. +* [pop/soda](https://github.com/markbates/pop) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., * [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. @@ -289,6 +290,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library. * [igor](https://github.com/galeone/igor) - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax. * [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities. +* [pop/soda](https://github.com/markbates/pop) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. * [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. * [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. @@ -750,6 +752,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gomodel](https://github.com/cosiner/gomodel) - A lightweight, fast, orm-like library helps interactive with database. * [GORM](https://github.com/jinzhu/gorm) - The fantastic ORM library for Golang, aims to be developer friendly. * [gorp](https://github.com/go-gorp/gorp) - Go Relational Persistence, ORM-ish library for Go. +* [pop/soda](https://github.com/markbates/pop) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. * [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation. * [SQLBoiler](https://github.com/vattle/sqlboiler) - An ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. @@ -885,7 +888,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [raymond](https://github.com/aymerick/raymond) - A complete handlebars implementation in Go. * [Razor](https://github.com/sipin/gorazor) - Razor view engine for Golang. * [Soy](https://github.com/robfig/soy) - Closure templates (aka Soy templates) for Go, following the [official spec](https://developers.google.com/closure/templates/) - +* [velvet](https://github.com/gobuffalo/velvet) - A complete handlebars implementation in Go. ## Testing @@ -1123,6 +1126,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [govalidator](https://github.com/asaskevich/govalidator) - Validators and sanitizers for strings, numerics, slices and structs. * [ozzo-validation](https://github.com/go-ozzo/ozzo-validation) - Supports validation of various data types (structs, strings, maps, slices, etc.) with configurable and extensible validation rules specified in usual code constructs instead of struct tags. +* [validate](https://github.com/markbates/validate) - This package provides a framework for writing validations for Go applications. * [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. @@ -1153,6 +1157,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space * [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language. * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. +* [Buffalo](http://gobuffalo.io) - Bringing the productivity of Rails to Go! * [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. * [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. * [Echo](https://github.com/labstack/echo) - High performance, minimalist Go web framework. From 0128d8192a059ddd077f7c32d2d63fcd7ad39b0f Mon Sep 17 00:00:00 2001 From: Mark Bates Date: Fri, 13 Jan 2017 09:38:28 -0500 Subject: [PATCH 210/403] only add pop once --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 699c4eeb..04b2e374 100644 --- a/README.md +++ b/README.md @@ -269,7 +269,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. * [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL, PostgreSQL, Cassandra, and SQLite. -* [pop/soda](https://github.com/markbates/pop) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. +* [soda](https://github.com/markbates/pop/tree/master/soda) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., * [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. @@ -290,7 +290,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goqu](https://github.com/doug-martin/goqu) - An idiomatic SQL builder and query library. * [igor](https://github.com/galeone/igor) - Abstraction layer for PostgreSQL that supports advanced functionality and uses gorm-like syntax. * [ozzo-dbx](https://github.com/go-ozzo/ozzo-dbx) - Powerful data retrieval methods as well as DB-agnostic query building capabilities. -* [pop/soda](https://github.com/markbates/pop) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [scaneo](https://github.com/variadico/scaneo) - Generate Go code to convert database rows into arbitrary structs. * [sqrl](https://github.com/elgris/sqrl) - SQL query builder, fork of Squirrel with improved performance. * [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. From c353d1b9d2a834d31c18d04a09f5a886855f2433 Mon Sep 17 00:00:00 2001 From: Mark Bates Date: Fri, 13 Jan 2017 10:18:38 -0500 Subject: [PATCH 211/403] fixed alphabetical order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 04b2e374..bd74df19 100644 --- a/README.md +++ b/README.md @@ -269,8 +269,8 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. * [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL, PostgreSQL, Cassandra, and SQLite. -* [soda](https://github.com/markbates/pop/tree/master/soda) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., +* [soda](https://github.com/markbates/pop/tree/master/soda) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. *Database tools.* From 19a998f2fe0338d1dc6c56c092c65002ffc84090 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Sat, 14 Jan 2017 22:31:41 -0500 Subject: [PATCH 212/403] Update mini URL to actively maintained fork. According to the project's README: fogcreek/mini is no longer actively maintained. The new official fork can be found at https://github.com/sasbury/mini. Fixes #1259. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bd74df19..9c37cfd3 100644 --- a/README.md +++ b/README.md @@ -186,7 +186,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file * [ini](https://github.com/go-ini/ini) - Go package for read and write INI files -* [mini](https://github.com/FogCreek/mini) - A golang package for parsing ini-style configuration files +* [mini](https://github.com/sasbury/mini) - A golang package for parsing ini-style configuration files * [store](https://github.com/tucnak/store) - A lightweight configuration manager for Go * [viper](https://github.com/spf13/viper) - Go configuration with fangs From 5cbae489c1d6b079101d1dddf8e2120b61909879 Mon Sep 17 00:00:00 2001 From: Kamil Samigullin Date: Mon, 16 Jan 2017 05:22:47 +0300 Subject: [PATCH 213/403] Add semaphore pattern implementation. (#1257) Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9c37cfd3..0694026e 100644 --- a/README.md +++ b/README.md @@ -486,6 +486,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker * [grpool](https://github.com/ivpusic/grpool) - Lightweight Goroutine pool. * [pool](https://github.com/go-playground/pool) - a limited consumer goroutine or unlimited goroutine pool for easier goroutine handling and cancellation. +* [semaphore](https://github.com/kamilsk/semaphore) - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context. * [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for golang. From 2a64f1735ca202a09d5db41f7c2dff396ea77bba Mon Sep 17 00:00:00 2001 From: Hardik Bagdi Date: Mon, 16 Jan 2017 10:00:41 -0500 Subject: [PATCH 214/403] Add spf13's pflag library --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0694026e..50b114f7 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [liner](https://github.com/peterh/liner) - A Go readline-like library for command-line interfaces. * [mitchellh/cli](https://github.com/mitchellh/cli) - A Go library for implementing command-line interfaces. * [mow.cli](https://github.com/jawher/mow.cli) - A Go library for building CLI applications with sophisticated flag and argument parsing and validation. +* [pflag](https://github.com/spf13/pflag) - Drop-in replacement for Go's flag package, implementing POSIX/GNU-style --flags. * [readline](https://github.com/chzyer/readline) - A pure golang implementation that provide most of features in GNU-Readline under MIT license. * [sflags](https://github.com/octago/sflags) - Struct based flags generator for flag, urfave/cli, pflag, cobra, kingpin and other libraries. * [ukautz/clif](https://github.com/ukautz/clif) - A small command line interface framework. From bc3434bb6afba1a54a9f5770b40d11367aec416f Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Wed, 18 Jan 2017 21:58:35 +0800 Subject: [PATCH 215/403] Add trigger Jenkins job tool. (#1264) * Add trigger Jenkins job tool. You can trigger downstream Jenkins jobs from Drone CI server or command line. * Fix alphabetical --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a878d0bf..5af47f5a 100644 --- a/README.md +++ b/README.md @@ -1301,6 +1301,7 @@ Software written in Go. * [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. * [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). +* [drone-jenkins](https://github.com/appleboy/drone-jenkins) - Trigger downstream Jenkins jobs using a binary, docker or Drone CI. * [drone-scp](https://github.com/appleboy/drone-scp) - Copy files and artifacts via SSH using a binary, docker or Drone CI. * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. From 7cee227b4a92e309127e315afa0b153934f6b6a4 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Thu, 19 Jan 2017 18:31:17 +0300 Subject: [PATCH 216/403] sanitize markdown --- repo.go | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/repo.go b/repo.go index 9c53515c..40d9bec0 100644 --- a/repo.go +++ b/repo.go @@ -8,6 +8,7 @@ import ( "text/template" "github.com/gorilla/mux" + "github.com/microcosm-cc/bluemonday" "github.com/russross/blackfriday" ) @@ -59,14 +60,16 @@ func generateHTML() { input, _ := ioutil.ReadFile(readmePath) body := string( - blackfriday.Markdown( - input, - blackfriday.HtmlRenderer( - bfHTMLRendererOpts, - emtyStr, - emtyStr, + bluemonday.UGCPolicy().SanitizeBytes( + blackfriday.Markdown( + input, + blackfriday.HtmlRenderer( + bfHTMLRendererOpts, + emtyStr, + emtyStr, + ), + bfMDOpts, ), - bfMDOpts, ), ) c := &content{Body: body} From 99b3906ac645c391df6cf2262c891eabce5ded8b Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Thu, 19 Jan 2017 18:45:36 +0300 Subject: [PATCH 217/403] fix travis config --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index 45a7b25c..3595f1cb 100644 --- a/.travis.yml +++ b/.travis.yml @@ -9,3 +9,4 @@ install: - go get github.com/russross/blackfriday - go get github.com/PuerkitoBio/goquery - go get github.com/gorilla/mux + - go get github.com/microcosm-cc/bluemonday From aba1a6d769f76f0c873c93d8286eaa2f50ec4920 Mon Sep 17 00:00:00 2001 From: Alessandro Leite Date: Thu, 19 Jan 2017 21:18:01 +0100 Subject: [PATCH 218/403] Include gota and Go Cheat Sheet * gota is an implementation of dataframes in Go * Go Cheat Sheet is a reference card of Go --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 5af47f5a..a84ea44e 100644 --- a/README.md +++ b/README.md @@ -217,6 +217,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [boomfilters](https://github.com/tylertreat/BoomFilters) - Probabilistic data structures for processing continuous, unbounded streams * [count-min-log](https://github.com/seiflotfy/count-min-log) - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). * [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. +* [gota](https://github.com/kniren/gota/) - An implementation of dataframes, series, and data wrangling methods for Go. * [encoding](https://github.com/zhenjl/encoding) - Integer Compression Libraries for Go. * [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - A Go implementation of Adaptive Radix Tree. * [go-datastructures](https://github.com/Workiva/go-datastructures) - A collection of useful, performant, and thread-safe data structures @@ -1461,6 +1462,7 @@ Where to discover new Go libraries. * [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline. * [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs. * [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. +* [Go Cheat Sheet](https://github.com/a8m/go-lang-cheat-sheet) - A Go's reference card. * [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. * [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. From 6e49a9f6ab81f1b135b9895a88b7b7bf718ba704 Mon Sep 17 00:00:00 2001 From: Lars-Magnus Skog Date: Mon, 23 Jan 2017 15:33:20 +0100 Subject: [PATCH 219/403] Add traefik, reverse-proxy and load balancer --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5af47f5a..cf9c28aa 100644 --- a/README.md +++ b/README.md @@ -122,6 +122,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. * [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. * [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. +* [traefik](https://github.com/containous/traefik) - A reverse proxy and load balancer with support for multiple backends. * [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. From 2e85e2e929172fd94501390f003702d0fc0f3995 Mon Sep 17 00:00:00 2001 From: Alessandro Leite Date: Mon, 23 Jan 2017 20:02:23 +0100 Subject: [PATCH 220/403] Fix the problem with the alphabetical order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a84ea44e..8c2a57f1 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [boomfilters](https://github.com/tylertreat/BoomFilters) - Probabilistic data structures for processing continuous, unbounded streams * [count-min-log](https://github.com/seiflotfy/count-min-log) - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). * [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. -* [gota](https://github.com/kniren/gota/) - An implementation of dataframes, series, and data wrangling methods for Go. * [encoding](https://github.com/zhenjl/encoding) - Integer Compression Libraries for Go. * [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - A Go implementation of Adaptive Radix Tree. * [go-datastructures](https://github.com/Workiva/go-datastructures) - A collection of useful, performant, and thread-safe data structures @@ -225,6 +224,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. +e* [gota](https://github.com/kniren/gota) - An implementation of dataframes, series, and data wrangling methods for Go. * [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. * [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing From 2abf3731c1734b55ee66ec479048b4a649a16898 Mon Sep 17 00:00:00 2001 From: Alessandro Leite Date: Mon, 23 Jan 2017 20:02:23 +0100 Subject: [PATCH 221/403] Fix the problem with the alphabetical order --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a84ea44e..4be4cd57 100644 --- a/README.md +++ b/README.md @@ -217,7 +217,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [boomfilters](https://github.com/tylertreat/BoomFilters) - Probabilistic data structures for processing continuous, unbounded streams * [count-min-log](https://github.com/seiflotfy/count-min-log) - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). * [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. -* [gota](https://github.com/kniren/gota/) - An implementation of dataframes, series, and data wrangling methods for Go. * [encoding](https://github.com/zhenjl/encoding) - Integer Compression Libraries for Go. * [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - A Go implementation of Adaptive Radix Tree. * [go-datastructures](https://github.com/Workiva/go-datastructures) - A collection of useful, performant, and thread-safe data structures @@ -225,6 +224,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. +e* [gota](https://github.com/kniren/gota) - An implementation of dataframes, series, and data wrangling methods for Go. * [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. * [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing @@ -1461,8 +1461,8 @@ Where to discover new Go libraries. * [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go. * [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline. * [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs. -* [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. * [Go Cheat Sheet](https://github.com/a8m/go-lang-cheat-sheet) - A Go's reference card. +* [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. * [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. * [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. From 8bf9b9b08d486b38633655e14f49dd1bb5220de9 Mon Sep 17 00:00:00 2001 From: Maksym Date: Mon, 23 Jan 2017 21:10:44 +0200 Subject: [PATCH 222/403] Add logdump package (#1261) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5af47f5a..21659a5b 100644 --- a/README.md +++ b/README.md @@ -556,6 +556,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [log](https://github.com/go-playground/log) - Simple, configurable and scalable Structured Logging for Go. * [log-voyage](https://github.com/firstrow/logvoyage) - Full-featured logging saas written in golang. * [log15](https://github.com/inconshreveable/log15) - Simple, powerful logging for Go +* [logdump](https://github.com/ewwwwwqm/logdump) - Package for multi-level logging * [logex](https://github.com/chzyer/logex) - An golang log lib, supports tracking and level, wrap by standard log lib * [logger](https://github.com/azer/logger) - Minimalistic logging library for Go. * [logrus](https://github.com/Sirupsen/logrus) - a structured logger for Go. From 94773fee2fe13b619b24ed4ae0a6e402604d0b52 Mon Sep 17 00:00:00 2001 From: Nikolay Pavlovich Date: Wed, 25 Jan 2017 01:36:56 +0300 Subject: [PATCH 223/403] add govkbot (#1270) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e18fb52f..157ba837 100644 --- a/README.md +++ b/README.md @@ -1015,6 +1015,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [google-cloud](https://github.com/GoogleCloudPlatform/gcloud-golang) - Google Cloud APIs Go Client Library. * [google-email-audit-api](https://github.com/ngs/go-google-email-audit-api) - Go client library for [Google G Suite Email Audit API](https://developers.google.com/admin-sdk/email-audit/). * [gostorm](https://github.com/jsgilmore/gostorm) - GoStorm is a Go library that implements the communications protocol required to write Storm spouts and Bolts in Go that communicate with the Storm shells. +* [govkbot](https://github.com/nikepan/govkbot) - Simple Go [VK](https://vk.com) bot library. * [hipchat](https://github.com/andybons/hipchat) - This project implements a golang client library for the Hipchat API. * [hipchat (xmpp)](https://github.com/daneharrigan/hipchat) - A golang package to communicate with HipChat over XMPP. * [Medium](https://github.com/Medium/medium-sdk-go) - A Golang SDK for Medium's OAuth2 API. From 4edb1d4dfac59e9ddb4edd295e6ffb0411403345 Mon Sep 17 00:00:00 2001 From: Florent Messa Date: Thu, 26 Jan 2017 03:09:09 +0100 Subject: [PATCH 224/403] Add go-funk utility library (#1256) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 157ba837..e57189ae 100644 --- a/README.md +++ b/README.md @@ -1067,6 +1067,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. * [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. +* [go-funk](https://github.com/thoas/go-funk) - A modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...) * [go-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go. * [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. * [go-torch](https://github.com/uber/go-torch) - Stochastic flame graph profiler for Go programs. From 0142da3af031038071f952e815266205009a0ebe Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Wed, 25 Jan 2017 21:10:40 -0500 Subject: [PATCH 225/403] Add staticcheck, gosimple, unused code analysis tools. (#1271) staticcheck is go vet on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#. gosimple is a linter for Go source code that specialises on simplifying code. unused checks Go code for unused constants, variables, functions and types. --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index e57189ae..a752b5bf 100644 --- a/README.md +++ b/README.md @@ -1265,9 +1265,12 @@ Go software and plugins. * [GoLint](https://github.com/golang/lint) - Golint is a linter for Go source code. * [Golint online](http://go-lint.appspot.com/) - Lints online Go source files on GitHub, Bitbucket and Google Project Hosting using the golint package. * [goreturns](https://sourcegraph.com/github.com/sqs/goreturns) - Adds zero-value return statements to match the func return types. +* [gosimple](https://github.com/dominikh/go-tools/tree/master/cmd/gosimple) - gosimple is a linter for Go source code that specialises on simplifying code. * [gostatus](https://github.com/shurcooL/gostatus) - A command line tool, shows the status of repositories that contain Go packages. * [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. * [lint](https://github.com/surullabs/lint) - Run linters as part of go test +* [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) - staticcheck is `go vet` on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#. +* [unused](https://github.com/dominikh/go-tools/tree/master/cmd/unused) - unused checks Go code for unused constants, variables, functions and types. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. From 1503c5d434ad4bcf78e9bbb453eceed0b5fa5312 Mon Sep 17 00:00:00 2001 From: Steve Yen Date: Thu, 26 Jan 2017 09:36:21 -0800 Subject: [PATCH 226/403] added https://github.com/couchbase/moss --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a752b5bf..0379a684 100644 --- a/README.md +++ b/README.md @@ -238,7 +238,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Databases implemented in Go.* - * [BigCache](https://github.com/allegro/bigcache) - Efficient key/value cache for gigabytes of data. * [bolt](https://github.com/boltdb/bolt) - A low-level key/value database for Go. * [buntdb](https://github.com/tidwall/buntdb) - A fast, embeddable, in-memory key/value database for Go with custom indexing and spatial support. @@ -257,6 +256,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [influxdb](https://github.com/influxdb/influxdb) - Scalable datastore for metrics, events, and real-time analytics * [ledisdb](https://github.com/siddontang/ledisdb) - Ledisdb is a high performance NoSQL like Redis based on LevelDB. * [levigo](https://github.com/jmhodges/levigo) - Levigo is a Go wrapper for LevelDB. +* [moss](https://github.com/couchbase/moss) - Moss is a simple LSM key-value storage engine written in 100% Go. * [piladb](https://github.com/fern4lvarez/piladb) - Lightweight RESTful database engine based on stack data structures. * [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database. * [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. From cf9a2bcf1a84a8e6ca2fb130bf012af3b81b978e Mon Sep 17 00:00:00 2001 From: Alessandro Leite Date: Thu, 26 Jan 2017 20:49:53 +0100 Subject: [PATCH 227/403] Remove an 'e' before the description of the gota's entry --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ac5091a4..7fc45fe5 100644 --- a/README.md +++ b/README.md @@ -225,7 +225,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. -e* [gota](https://github.com/kniren/gota) - An implementation of dataframes, series, and data wrangling methods for Go. +* [gota](https://github.com/kniren/gota) - An implementation of dataframes, series, and data wrangling methods for Go. * [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. * [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing From e81861743526f5c18a5f8b4110fae7dccb24af97 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Thu, 26 Jan 2017 14:50:31 -0500 Subject: [PATCH 228/403] Add unconvert tool. The unconvert program analyzes Go packages to identify unnecessary type conversions; i.e., expressions T(x) where x already has type T. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0379a684..c0926715 100644 --- a/README.md +++ b/README.md @@ -1270,6 +1270,7 @@ Go software and plugins. * [interfacer](https://github.com/mvdan/interfacer) - A linter that suggests interface types. * [lint](https://github.com/surullabs/lint) - Run linters as part of go test * [staticcheck](https://github.com/dominikh/go-tools/tree/master/cmd/staticcheck) - staticcheck is `go vet` on steroids, applying a ton of static analysis checks you might be used to from tools like ReSharper for C#. +* [unconvert](https://github.com/mdempsky/unconvert) - Remove unnecessary type conversions from Go source. * [unused](https://github.com/dominikh/go-tools/tree/master/cmd/unused) - unused checks Go code for unused constants, variables, functions and types. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. From a880a66ebedafd5d01fea3462513e12f7487a94e Mon Sep 17 00:00:00 2001 From: Devinsuit Date: Fri, 27 Jan 2017 12:11:58 +0300 Subject: [PATCH 229/403] Update broken links --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0379a684..bd50491d 100644 --- a/README.md +++ b/README.md @@ -381,7 +381,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [sleuth](https://github.com/ursiform/sleuth) - A library for master-less p2p auto-discovery and RPC between HTTP services (using [ZeroMQ](https://github.com/zeromq/libzmq)). * [tendermint](https://github.com/tendermint/tendermint) - High-performance middleware for transforming a state machine written in any programming language into a Byzantine Fault Tolerant replicated state machine using the Tendermint consensus and blockchain protocols. * [torrent](https://github.com/anacrolix/torrent) - BitTorrent client package. - * [dht](https://godoc.org/github.com/anacrolix/torrent/dht) - BitTorrent Kademlia DHT implementation. + * [dht](https://godoc.org/github.com/anacrolix/dht) - BitTorrent Kademlia DHT implementation. * [go-peerflix](https://github.com/Sioro-Neoku/go-peerflix) - Video streaming torrent client. ## Email From f5b46cb4c831a37fc5290f50469f47ba64524bfe Mon Sep 17 00:00:00 2001 From: Ivan Krutov Date: Sun, 22 Jan 2017 12:34:19 +0300 Subject: [PATCH 230/403] Added link to ggr server --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index c7cd1cb3..3288fe30 100644 --- a/README.md +++ b/README.md @@ -940,6 +940,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values * [Tavor](https://github.com/zimmski/tavor) - A generic fuzzing and delta-debugging framework +* Selenium tools + * [ggr](https://github.com/aandryashin/ggr) - a lightweight server that routes and proxies Selenium Wedriver requests to multiple Selenium hubs. + ## Text Processing *Libraries for parsing and manipulating texts.* From a46dcf1052dbb2b142696483f598384ee732ad5b Mon Sep 17 00:00:00 2001 From: Stefan Buck Date: Sun, 29 Jan 2017 22:53:39 +0100 Subject: [PATCH 231/403] Add OctoLinker browser extension [github.com/OctoLinker/browser-extension](https://github.com/OctoLinker/browser-extension) Navigate through projects on GitHub.com efficiently with the OctoLinker browser extension. Most projects consist of many files and third party dependencies. Files are referencing other files and / or dependencies by language specific statements like `import` or `require`. OctoLinker makes these references clickable. No more copy and search. ## Demo ![go](https://cloud.githubusercontent.com/assets/1393946/22407848/b89859ae-e66e-11e6-8ade-bb0e79def3ed.gif) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3288fe30..3746827c 100644 --- a/README.md +++ b/README.md @@ -1299,6 +1299,7 @@ Go software and plugins. * [go-callvis](https://github.com/TrueFurby/go-callvis) - Visualize call graph of your Go program using dot format. * [go-pkg-complete](https://github.com/skelterjohn/go-pkg-complete) - Bash completion for go and wgo. * [go-swagger](https://github.com/go-swagger/go-swagger) - Swagger 2.0 implementation for go. Swagger is a simple yet powerful representation of your RESTful API. +* [OctoLinker](https://github.com/OctoLinker/browser-extension) - Navigate through go files efficiently with the OctoLinker browser extension for GitHub. * [rts](https://github.com/galeone/rts) - RTS: response to struct. Generates Go structs from server responses. ## Software Packages From a60023c5a12ad682846c4b26a586eb457b6d0b3d Mon Sep 17 00:00:00 2001 From: Nick Klauer Date: Tue, 31 Jan 2017 09:19:25 -0600 Subject: [PATCH 232/403] Remove indentation for github_flavored_markdown. (#1277) Mention that github_flavored_markdown uses blackfriday, since it's no longer indented under it. Also make indentation consistent (4 spaces) for another indented line. --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 3288fe30..fb70f8ce 100644 --- a/README.md +++ b/README.md @@ -855,7 +855,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [asn1](https://github.com/PromonLogicalis/asn1) - Asn.1 BER and DER encoding library for golang * [colfer](https://github.com/pascaldekloe/colfer) - Code generation for the Colfer binary format * [go-capnproto](https://github.com/glycerine/go-capnproto) - Cap'n Proto library and parser for go - * [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go. + * [bambam](https://github.com/glycerine/bambam) - generator for Cap'n Proto schemas from go. * [go-codec](https://github.com/ugorji/go) - High Performance, feature-Rich, idiomatic encode, decode and rpc library for msgpack, cbor and json, with runtime-based OR code-generation support * [gogoprotobuf](https://github.com/gogo/protobuf) - Protocol Buffers for Go with Gadgets * [goprotobuf](https://github.com/golang/protobuf) - Go support, in the form of a library and protocol compiler plugin, for Google's protocol buffers. @@ -951,11 +951,11 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [allot](https://github.com/sbstjn/allot) - Placeholder and wildcard text parsing for CLI tools and bots * [bbConvert](https://github.com/CalebQ42/bbConvert) - Converts bbCode to HTML that allows you to add support for custom bbCode tags * [blackfriday](https://github.com/russross/blackfriday) - Markdown processor in Go - * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer with fenced code block highlighting, clickable header anchor links. * [bluemonday](https://github.com/microcosm-cc/bluemonday) - HTML Sanitizer * [editorconfig-core-go](https://github.com/editorconfig/editorconfig-core-go) - Editorconfig file parser and manipulator for Go * [enca](https://github.com/endeveit/enca) - Minimal cgo bindings for [libenca](http://cihar.com/software/enca/). * [genex](https://github.com/alixaxel/genex) - Count and expand Regular Expressions into all matching Strings + * [github_flavored_markdown](https://godoc.org/github.com/shurcooL/github_flavored_markdown) - GitHub Flavored Markdown renderer (using blackfriday) with fenced code block highlighting, clickable header anchor links. * [go-humanize](https://github.com/dustin/go-humanize) - Formatters for time, numbers, and memory size to human readable format. * [go-nmea](https://github.com/adrianmo/go-nmea) - NMEA parser library for the Go language. * [go-pkg-rss](https://github.com/jteeuwen/go-pkg-rss) - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. From 9bfa3fb2dc35c543a5ef02cb12ab3089f6a470f7 Mon Sep 17 00:00:00 2001 From: Dave Brophy Date: Sat, 4 Feb 2017 11:40:29 +0100 Subject: [PATCH 233/403] Add Jennifer to code generation category --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 5f00b1e4..c1886505 100644 --- a/README.md +++ b/README.md @@ -470,6 +470,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. * [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. +* [jennifer](https://github.com/davelondon/jennifer/) - A code generator for Go. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. From 6361b59f58c4ae769dc65a600502ce47437b9e56 Mon Sep 17 00:00:00 2001 From: Dave Brophy Date: Sat, 4 Feb 2017 21:07:10 +0100 Subject: [PATCH 234/403] Update description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c1886505..f440d666 100644 --- a/README.md +++ b/README.md @@ -470,7 +470,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. * [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. -* [jennifer](https://github.com/davelondon/jennifer/) - A code generator for Go. +* [jennifer](https://github.com/davelondon/jennifer/) - generate Go code without templates. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. From 1f893183b2e8793b1783aee62fbdc618ae1c1f95 Mon Sep 17 00:00:00 2001 From: Dave Brophy Date: Sat, 4 Feb 2017 21:08:00 +0100 Subject: [PATCH 235/403] Description caps --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f440d666..e95d7e3c 100644 --- a/README.md +++ b/README.md @@ -470,7 +470,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. * [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. -* [jennifer](https://github.com/davelondon/jennifer/) - generate Go code without templates. +* [jennifer](https://github.com/davelondon/jennifer/) - Generate Go code without templates. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. From 60b465767cb4ed872e3e2aa5587be7cd581a988f Mon Sep 17 00:00:00 2001 From: Dave Brophy Date: Sat, 4 Feb 2017 21:09:34 +0100 Subject: [PATCH 236/403] Add arbitrary to description --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e95d7e3c..bacfa8c7 100644 --- a/README.md +++ b/README.md @@ -470,7 +470,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. * [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. -* [jennifer](https://github.com/davelondon/jennifer/) - Generate Go code without templates. +* [jennifer](https://github.com/davelondon/jennifer/) - Generate arbitrary Go code without templates. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. From f98936746f9d4f9b55efc58edce5340a44b1c9f9 Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Sat, 4 Feb 2017 22:25:57 -0500 Subject: [PATCH 237/403] Remove unneeded trailing slash. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index bacfa8c7..533a6393 100644 --- a/README.md +++ b/README.md @@ -470,7 +470,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. * [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. -* [jennifer](https://github.com/davelondon/jennifer/) - Generate arbitrary Go code without templates. +* [jennifer](https://github.com/davelondon/jennifer) - Generate arbitrary Go code without templates. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. From 39c5bcd0df91973c3b7f43197709cfed84cbd41a Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Tue, 7 Feb 2017 16:39:41 -0200 Subject: [PATCH 238/403] added goreleaser --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 533a6393..6fc9adf1 100644 --- a/README.md +++ b/README.md @@ -1069,6 +1069,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. * [git-time-metric](https://github.com/git-time-metric/gtm) - Simple, seamless, lightweight time tracking for Git +* [goreleaser](https://github.com/goreleaser) - Deliver Go binaries as fast and easily as possible * [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. From e99eaa9da419f9e11e2971ac48ad3a480c6e9f3d Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Tue, 7 Feb 2017 17:34:14 -0200 Subject: [PATCH 239/403] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6fc9adf1..e742acce 100644 --- a/README.md +++ b/README.md @@ -1069,7 +1069,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. * [git-time-metric](https://github.com/git-time-metric/gtm) - Simple, seamless, lightweight time tracking for Git -* [goreleaser](https://github.com/goreleaser) - Deliver Go binaries as fast and easily as possible +* [goreleaser](https://github.com/goreleaser/goreleaser) - Deliver Go binaries as fast and easily as possible * [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. From 5ad2d7cf315ed3a38cb551665ee2a53e5874ab6e Mon Sep 17 00:00:00 2001 From: Carlos Alexandro Becker Date: Tue, 7 Feb 2017 17:38:06 -0200 Subject: [PATCH 240/403] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e742acce..817ce217 100644 --- a/README.md +++ b/README.md @@ -1069,7 +1069,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. * [git-time-metric](https://github.com/git-time-metric/gtm) - Simple, seamless, lightweight time tracking for Git -* [goreleaser](https://github.com/goreleaser/goreleaser) - Deliver Go binaries as fast and easily as possible * [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. @@ -1090,6 +1089,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [golog](https://github.com/mlimaloureiro/golog) - Easy and lightweight CLI tool to time track your tasks. * [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. * [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images. +* [goreleaser](https://github.com/goreleaser/goreleaser) - Deliver Go binaries as fast and easily as possible * [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. * [goreq](https://github.com/smallnest/goreq) - An enhanced simplified HTTP client based on gorequest. * [gorequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features for Go. From f59c76d8515e2ce307911be5ef1d0834f69b9ae1 Mon Sep 17 00:00:00 2001 From: Ivan Krutov Date: Wed, 8 Feb 2017 21:39:04 +0300 Subject: [PATCH 241/403] Added selenoid entry --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 817ce217..b9591049 100644 --- a/README.md +++ b/README.md @@ -943,6 +943,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * Selenium tools * [ggr](https://github.com/aandryashin/ggr) - a lightweight server that routes and proxies Selenium Wedriver requests to multiple Selenium hubs. + * [selenoid](https://github.com/aandryashin/selenoid) - alternative Selenium hub server that launches browsers within containers. ## Text Processing From 9708f874083876d46f6e5bdfaedadc4c0c265cb2 Mon Sep 17 00:00:00 2001 From: Alexander Grafov Date: Sat, 11 Feb 2017 22:43:21 +0300 Subject: [PATCH 242/403] Add go-mode into Editor Plugins --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b9591049..e61bd468 100644 --- a/README.md +++ b/README.md @@ -1286,6 +1286,7 @@ Go software and plugins. ## Editor Plugins * [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. +* [go-mode](https://github.com/dominikh/go-mode.el) - Go mode for GNU/Emacs. * [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting * [Goclipse](https://github.com/GoClipse/goclipse) - An Eclipse plugin for Go. * [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language. From a06746a18fa7d1211e9faaa5d7966e79f7527d96 Mon Sep 17 00:00:00 2001 From: Alex Date: Fri, 17 Feb 2017 02:16:17 -0500 Subject: [PATCH 243/403] Add agext/levenshtein to 'Data Structures' --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index e61bd468..db6e75bc 100644 --- a/README.md +++ b/README.md @@ -228,6 +228,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. * [gota](https://github.com/kniren/gota) - An implementation of dataframes, series, and data wrangling methods for Go. * [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. +* [levenshtein](https://github.com/agext/levenshtein) - Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. * [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing * [roaring](https://github.com/RoaringBitmap/roaring) - Go package implementing compressed bitsets. @@ -1286,7 +1287,7 @@ Go software and plugins. ## Editor Plugins * [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. -* [go-mode](https://github.com/dominikh/go-mode.el) - Go mode for GNU/Emacs. +* [go-mode](https://github.com/dominikh/go-mode.el) - Go mode for GNU/Emacs. * [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting * [Goclipse](https://github.com/GoClipse/goclipse) - An Eclipse plugin for Go. * [gocode](https://github.com/nsf/gocode) - An autocompletion daemon for the Go programming language. From 2122acecd6446794c50e750816116487b83ab3cc Mon Sep 17 00:00:00 2001 From: hamper Date: Fri, 17 Feb 2017 15:46:05 +0300 Subject: [PATCH 244/403] Add spew --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index db6e75bc..aa0e6b1c 100644 --- a/README.md +++ b/README.md @@ -574,6 +574,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [seelog](https://github.com/cihub/seelog) - logging functionality with flexible dispatching, filtering, and formatting. * [slf](https://github.com/ventu-io/slf) - The Structured Logging Facade (SLF) for Go (like SLF4J but structured and for Go) * [slog](https://github.com/ventu-io/slog) - The reference implementation of the Structured Logging Facade (SLF) for Go +* [spew](https://github.com/davecgh/go-spew) - Implements a deep pretty printer for Go data structures to aid in debugging * [stdlog](https://github.com/alexcesaro/log) - Stdlog is an object-oriented library providing leveled logging. It is very useful for cron jobs. * [tail](https://github.com/hpcloud/tail) - A Go package striving to emulate the features of the BSD tail program. * [xlog](https://github.com/xfxdev/xlog) - Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format. From 1fbc0d6ffe393713075eadf958a3e97980b6afd3 Mon Sep 17 00:00:00 2001 From: Cesar Gimenes Date: Sat, 18 Feb 2017 13:17:28 -0200 Subject: [PATCH 245/403] Add goConfig in the Configuration category (#1294) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa0e6b1c..8c462436 100644 --- a/README.md +++ b/README.md @@ -185,6 +185,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [envconf](https://github.com/ian-kent/envconf) - Configuration from environment * [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. * [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections +* [goConfig](https://github.com/crgimenes/goConfig) - Parse a struct as input and populates the fields of this struct with parameters fom command line, environment variables and configuration file. * [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file From 8413562c667d5f2bc31ef06925e20b404c83c977 Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 18 Feb 2017 14:11:57 -0500 Subject: [PATCH 246/403] minor fixes to CONTRIBUTING.md --- CONTRIBUTING.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 0fc90bf3..90c0127b 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -7,21 +7,21 @@ Join us on IRC at **#awesome-go** on freenode [web access](http://webchat.freeno - **To add, remove, or change things on the list:** Submit a pull request -To set this list apart from and compliment the excellent [Go wiki Projects page](https://golang.org/wiki/Projects), awesome-go is a specially curated list for high-quality, actively maintained Go packages and resources. +To set this list apart from and complement the excellent [Go wiki Projects page](https://golang.org/wiki/Projects), awesome-go is a specially curated list for high-quality, actively maintained Go packages and resources. - List items should be sorted *alphabetically*. -- Each item should be limited to one link -- The link should be the name of the package or project -- Descriptions should be clear, concise, and non-promotional -- Descriptions should follow the link, on the same line -- Needs library 3 (minimum) to create a new category. +- Each item should be limited to one link. +- The link should be the name of the package or project. +- Descriptions should be clear, concise, and non-promotional. +- Descriptions should follow the link, on the same line. +- At least 3 items are needed to create a new category. Please contribute links to packages/projects you have used or are familiar with. This will help ensure high-quality entries. If you removed our PR template you can find it [here](https://github.com/avelino/awesome-go/blob/master/.github/PULL_REQUEST_TEMPLATE.md). -## Quality standard +## Quality standards To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report/**github_user**/**github_repo**): @@ -32,7 +32,7 @@ To be on the list, project repositories should adhere to these quality standards - Or, for finished projects, issues and pull requests are responded to - Stable or progressing toward stable - Thoroughly documented (README, godoc comments, etc.) -- Tests, where practical. If library/program testable, than coverage should be >= 80% for non-data-related packages and >=90% for data related packages. **Notice**: the tests will be reviewed too. We will check your coverage manually if your package's coverage is just a benchmark results. +- Tests, where practical. If the library/program is testable, then coverage should be >= 80% for non-data-related packages and >=90% for data related packages. **Notice**: the tests will be reviewed too. We will check your coverage manually if your package's coverage is just a benchmark results. ## Reporting issues From 7cb593d8c93d901ac35869a579e88b67558251ef Mon Sep 17 00:00:00 2001 From: Ivan Kurnosov Date: Wed, 22 Feb 2017 20:59:51 +1300 Subject: [PATCH 247/403] Added github.com/unrolled/secure (#1297) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e79b226b..2c729650 100644 --- a/README.md +++ b/README.md @@ -851,6 +851,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-yara](https://github.com/hillu/go-yara) - Go Bindings for [YARA](https://github.com/plusvic/yara), the "pattern matching swiss knife for malware researchers (and everyone else)" * [lego](https://github.com/xenolf/lego) - Pure Go ACME client library and CLI tool (for use with Let's Encrypt) * [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library. +* [secure](https://github.com/unrolled/secure) - HTTP middleware for Go that facilitates some quick security wins. * [simple-scrypt](https://github.com/elithrar/simple-scrypt) - an scrypt package with a simple, obvious API and automatic cost calibration built-in. ## Serialization From 4a099c3b068d76c5b74e0bda2279ccb4d35bcfea Mon Sep 17 00:00:00 2001 From: Alec Thomas Date: Thu, 23 Feb 2017 00:33:49 +1100 Subject: [PATCH 248/403] Add https://github.com/neelance/graphql-go (#1285) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2c729650..a3f4ae24 100644 --- a/README.md +++ b/README.md @@ -796,6 +796,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. * [graphql](https://github.com/sevki/graphql) - GraphQL implementation in go. +* [graphql](https://github.com/neelance/graphql-go) - GraphQL server with a focus on ease of use. * [graphql-go](https://github.com/graphql-go/graphql) - An implementation of GraphQL for Go. * [jsonql](https://github.com/elgs/jsonql) - JSON query expression library in Golang. From 387a944d3f561f4e7b6d81f1733d40341bf6f722 Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Thu, 23 Feb 2017 11:07:54 -0300 Subject: [PATCH 249/403] Create MAINTAINERS --- MAINTAINERS | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 MAINTAINERS diff --git a/MAINTAINERS b/MAINTAINERS new file mode 100644 index 00000000..316defda --- /dev/null +++ b/MAINTAINERS @@ -0,0 +1,8 @@ +Avelino (@avelino) +Duke (@dukex) +Dmitri Shuralyov (@shurcooL) +Dobrosław Żybort (@matrixik) +Dean Karn (@joeybloggs) +Kirill Danshin (@kirillDanshin) +Felipe Oliveira (@felipeweb) +Bo-Yi Wu (@appleboy) From 9adcaf086619bb3ab506e42a29b8c6a8e2643fe2 Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Thu, 23 Feb 2017 11:10:20 -0300 Subject: [PATCH 250/403] added maintainer source --- CONTRIBUTING.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 90c0127b..332f25ef 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -35,6 +35,11 @@ To be on the list, project repositories should adhere to these quality standards - Tests, where practical. If the library/program is testable, then coverage should be >= 80% for non-data-related packages and >=90% for data related packages. **Notice**: the tests will be reviewed too. We will check your coverage manually if your package's coverage is just a benchmark results. +## Maintainers + +To make sure every PR is checked, we have [team maintainers](MAINTAINERS). Every PR MUST be reviewed by at least two maintainers before it can get merged. + + ## Reporting issues Please open an issue if you would like to discuss anything that could be improved or have suggestions for making the list a more valuable resource. We realize sometimes packages fall into abandonment or have breaking builds for extended periods of time, so if you see that, feel free to change its listing or let us know. We also realize that sometimes projects are just going through transitions or are more experimental in nature. These can still be cool, but we can indicate them as transitory or experimental. From 72e6409979b5d07bc6cf634ea25b68d7ea677b35 Mon Sep 17 00:00:00 2001 From: Aofei Sheng Date: Thu, 23 Feb 2017 22:11:16 +0800 Subject: [PATCH 251/403] Add Air (#1298) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a3f4ae24..6a3377b4 100644 --- a/README.md +++ b/README.md @@ -1175,6 +1175,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Full stack web frameworks.* +* [Air](https://github.com/sheng/air) - An ideal RESTful web framework for Go. * [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space * [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language. * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. From 50611bde41b7d91fe3fffd5494f78063c2dd9c7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9C=D0=B0=D0=BA=D1=81=D0=B8=D0=BC=20=D0=A4=D0=B5=D0=B4?= =?UTF-8?q?=D0=BE=D1=81=D0=B5=D0=B5=D0=B2?= Date: Thu, 23 Feb 2017 19:12:25 +0500 Subject: [PATCH 252/403] Add https://github.com/codesenberg/bombardier (#1300) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6a3377b4..c37a27bb 100644 --- a/README.md +++ b/README.md @@ -1324,6 +1324,7 @@ Software written in Go. * [aurora](https://github.com/Luxurioust/aurora) - Cross-platform web-based Beanstalkd queue server console. * [awsenv](https://github.com/soniah/awsenv) - a small binary that loads Amazon (AWS) environment variables for a profile. * [Banshee](https://github.com/eleme/banshee) - Anomalies detection system for periodic metrics. +* [bombardier](https://github.com/codesenberg/bombardier) - Fast cross-platform HTTP benchmarking tool. * [bosun](https://github.com/bosun-monitor/bosun) - Time Series Alerting Framework. * [dogo](https://github.com/liudng/dogo) - Monitoring changes in the source file and automatically compile and run (restart). * [drone-jenkins](https://github.com/appleboy/drone-jenkins) - Trigger downstream Jenkins jobs using a binary, docker or Drone CI. From 49f5c033c1134d99e110625d8e3e1e1fbb8f6643 Mon Sep 17 00:00:00 2001 From: Lime Date: Thu, 23 Feb 2017 22:14:34 +0800 Subject: [PATCH 253/403] add hero template engine (#1299) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c37a27bb..f138e421 100644 --- a/README.md +++ b/README.md @@ -893,6 +893,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [ego](https://github.com/benbjohnson/ego) - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. * [fasttemplate](https://github.com/valyala/fasttemplate) - Simple and fast template engine. Substitutes template placeholders up to 10x faster than [text/template](http://golang.org/pkg/text/template/). * [gofpdf](https://github.com/jung-kurt/gofpdf) - A PDF document generator with high level support for text, drawing and images. +* [hero](https://github.com/shiyanhui/hero) Hero is a handy, fast and powerful go template engine. * [jet](https://github.com/CloudyKit/jet) - Jet template engine * [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. * [mustache](https://github.com/hoisie/mustache) - A Go implementation of the Mustache template language. From d18baf9aee2abe58f1275286fa76a5a6d0fef6d3 Mon Sep 17 00:00:00 2001 From: Alex Bucataru Date: Fri, 24 Feb 2017 23:06:59 -0500 Subject: [PATCH 254/403] Add agext/uuid to Miscellaneous (#1301) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f138e421..39fce500 100644 --- a/README.md +++ b/README.md @@ -666,6 +666,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. * [secdl](https://github.com/xor-gate/secdl) - Lighttpd ModSecDownload algorithm ported to go to secure download urls. * [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... +* [uuid](https://github.com/agext/uuid) - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. * [werr](https://github.com/txgruppi/werr) - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. * [xkg](https://github.com/go-xkg/xkg) - X Keyboard Grabber * [xstrings](https://github.com/huandu/xstrings) - A collection of useful string functions ported from other languages. From 75dbc52b6e50295ca68a03550526598cc89a041f Mon Sep 17 00:00:00 2001 From: Milan Nikolic Date: Sat, 25 Feb 2017 15:34:14 +0100 Subject: [PATCH 255/403] Add raylib-go (#1302) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 39fce500..c636b79f 100644 --- a/README.md +++ b/README.md @@ -461,6 +461,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go * [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang * [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework +* [raylib-go](https://github.com/gen2brain/raylib-go) - Go bindings for [raylib](http://www.raylib.com/), a simple and easy-to-use library to learn videogames programming. * [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox From 4a8672ff0b2ea2041a5bf8abcb1a11bc195e0192 Mon Sep 17 00:00:00 2001 From: aihui zhu Date: Sat, 25 Feb 2017 23:11:33 +0800 Subject: [PATCH 256/403] add argv library. (#1303) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c636b79f..3ef65a56 100644 --- a/README.md +++ b/README.md @@ -134,6 +134,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for building standard or basic Command Line applications* +* [argv](https://github.com/cosiner/argv) - A Go library to split command line string as arguments array using the bash syntax. * [cli](https://github.com/mkideal/cli) - A feature-rich and easy to use command-line package based on golang tag * [cli-init](https://github.com/tcnksm/gcli) - The easy way to start building Golang command line application. * [climax](http://github.com/tucnak/climax) - An alternative CLI with "human face", in spirit of Go command From 4f964541c3ea3544f7648027f858ade4cbe96483 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Maxime=20Soul=C3=A9?= Date: Sun, 26 Feb 2017 16:22:32 +0100 Subject: [PATCH 257/403] Add go-vitotrol, Viessmann Vitotrol ws client (#1252) * Add go-vitotrol, Viessmann Vitotrol ws client Please check if what you want to add to `awesome-go` list meets [quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) before sending pull request. Thanks! **Please provide package links to:** - github.com repo: https://github.com/maxatome/go-vitotrol - godoc.org: https://godoc.org/github.com/maxatome/go-vitotrol - goreportcard.com: https://goreportcard.com/report/github.com/maxatome/go-vitotrol - coverage service link (gocover, coveralls etc.): https://gocover.io/github.com/maxatome/go-vitotrol **Note**: that new categories can be added only when there are 3 packages or more. **Make sure that you've checked the boxes below before you submit PR:** - [x] I have added my package in alphabetical order - [x] I know that this package was not listed before - [x] I have added godoc link to the repo and to my pull request - [x] I have added coverage service link to the repo and to my pull request - [x] I have added goreportcard link to the repo and to my pull request - [x] I have read [Contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#contribution-guidelines) and [Quality standard](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard). Thanks for your PR, you're awesome! :+1: * Reorder go-vitotrol The hyphen counts ! --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3ef65a56..0202a9c1 100644 --- a/README.md +++ b/README.md @@ -623,6 +623,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. * [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ +* [go-vitotrol](https://github.com/maxatome/go-vitotrol) - A client library to Viessmann Vitotrol web service. * [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - gopush-cluster is a go push server cluster. * [gorush](https://github.com/appleboy/gorush) - A push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm). * [guble](https://github.com/smancke/guble) - A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. From bc5fdbc751dd645ddaa9e2715798293b08df925a Mon Sep 17 00:00:00 2001 From: Arvind Chembarpu Date: Wed, 1 Mar 2017 11:39:17 +0530 Subject: [PATCH 258/403] Update go-sciter project link (#1306) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0202a9c1..db878f98 100644 --- a/README.md +++ b/README.md @@ -505,12 +505,12 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-gtk](http://mattn.github.io/go-gtk/) - Go bindings for GTK * [go-qml](https://github.com/go-qml/qml) - QML support for the Go language +* [go-sciter](https://github.com/sciter-sdk/go-sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. * [goqt](https://github.com/visualfc/goqt) - Golang bindings to the Qt cross-platform application framework. * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. * [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi) * [robotgo](https://github.com/go-vgo/robotgo) - Go Native cross-platform GUI system automation;Control the mouse, keyboard and other. -* [sciter](https://github.com/oskca/sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. * [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area * [trayhost](https://github.com/shurcooL/trayhost) - Cross-platform Go library to place an icon in the host operating system's taskbar. * [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. From 332e998feaedf463d35462048dbc6da4f30404c0 Mon Sep 17 00:00:00 2001 From: Kenneth Shaw Date: Thu, 2 Mar 2017 10:56:41 +0700 Subject: [PATCH 259/403] Updating README.md with link to chromedp (#1307) --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index db878f98..250b4181 100644 --- a/README.md +++ b/README.md @@ -952,7 +952,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gofuzz](https://github.com/google/gofuzz) - A library for populating go objects with random values * [Tavor](https://github.com/zimmski/tavor) - A generic fuzzing and delta-debugging framework -* Selenium tools +* Selenium and browser control tools + * [chromedp](https://github.com/knq/chromedp) - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol. * [ggr](https://github.com/aandryashin/ggr) - a lightweight server that routes and proxies Selenium Wedriver requests to multiple Selenium hubs. * [selenoid](https://github.com/aandryashin/selenoid) - alternative Selenium hub server that launches browsers within containers. From a333fcd827e6dd69449f55a35e41c942e6eafd94 Mon Sep 17 00:00:00 2001 From: Andrey Nering Date: Thu, 2 Mar 2017 11:15:48 -0300 Subject: [PATCH 260/403] Add Task (#1305) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 250b4181..e0df9db7 100644 --- a/README.md +++ b/README.md @@ -1141,6 +1141,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. * [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package. +* [Task](https://github.com/go-task/task) - simple "Make" alternative * [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. * [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. * [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang From a5d2ebb1d9a258342b18fa992eb5bbb81ee26bb5 Mon Sep 17 00:00:00 2001 From: Yasuhiro Matsumoto Date: Sat, 4 Mar 2017 23:05:28 +0900 Subject: [PATCH 261/403] add go-colorable and go-isatty --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index e0df9db7..44b595f3 100644 --- a/README.md +++ b/README.md @@ -164,7 +164,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. * [color](https://github.com/fatih/color) - Versatile package for colored terminal output. * [colourize](https://github.com/TreyBastian/colourize) - Go library for ANSI colour text in terminals. +* [go-colorable](https://github.com/mattn/go-colorable) - Colorable writer for windows. * [go-colortext](https://github.com/daviddengcn/go-colortext) - Go library for color output in terminals. +* [go-isatty](https://github.com/mattn/go-isatty) - isatty for golang. * [gocui](https://github.com/jroimartin/gocui) - Minimalist Go library aimed at creating Console User Interfaces. * [gommon/color](https://github.com/labstack/gommon/tree/master/color) - Style terminal text. * [termbox-go](https://github.com/nsf/termbox-go) - Termbox is a library for creating cross-platform text-based interfaces. From 78b6365ff5fa6d5753efea49344aa19072412574 Mon Sep 17 00:00:00 2001 From: Zhou Yu Date: Mon, 6 Mar 2017 01:18:20 +0000 Subject: [PATCH 262/403] Add copy-pasta (#1304) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 44b595f3..36528671 100644 --- a/README.md +++ b/README.md @@ -1073,6 +1073,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. * [command](https://github.com/txgruppi/command) - Command pattern for Go with thread safe serial and parallel dispatcher * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. +* [copy-pasta](https://github.com/jutkko/copy-pasta) - Universal multi-workstation clipboard that uses S3 like backend for the storage. * [Death](https://github.com/vrecan/death) - Managing go application shutdown with signals. * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go. * [delve](https://github.com/derekparker/delve) - Go debugger. From ef91385c0191190be9215b802873f061aa444f6f Mon Sep 17 00:00:00 2001 From: Michael Ackley Date: Mon, 6 Mar 2017 22:57:28 -0500 Subject: [PATCH 263/403] Add go-finance package. (#936) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index f6762ce4..a8e1194c 100644 --- a/README.md +++ b/README.md @@ -432,6 +432,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang * [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers +* [go-finance](https://github.com/FlashBoys/go-finance) - Comprehensive financial markets data in Go * [vat](https://github.com/dannyvankooten/vat) - VAT number validation & EU VAT rates From 75a5b8da26dedd5340929179d63fd5fc4424ebfa Mon Sep 17 00:00:00 2001 From: Zack Patrick Date: Tue, 7 Mar 2017 12:23:33 -0800 Subject: [PATCH 264/403] add rclient --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a8e1194c..ebd82920 100644 --- a/README.md +++ b/README.md @@ -1136,6 +1136,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. * [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go. +* [rclient](https://github.com/zpatrick/rclient) - Readable, flexible, simple-to-use client for REST APIs. * [realize](https://github.com/tockins/realize) - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths. * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. * [rerate](https://github.com/abo/rerate) - Redis-based rate counter and rate limiter for Go. From ff31aa16d1b00c5cf3024df46bd6ac02956d28aa Mon Sep 17 00:00:00 2001 From: aihui zhu Date: Wed, 8 Mar 2017 23:48:43 +0800 Subject: [PATCH 265/403] add flag library. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ebd82920..72ce3bd6 100644 --- a/README.md +++ b/README.md @@ -141,6 +141,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions * [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. * [drive](https://github.com/odeke-em/drive) - Google Drive client for the commandline +* [flag](https://github.com/cosiner/flag) - A simple but powerful command line option parsing library for Go support subcommand * [go-arg](https://github.com/alexflint/go-arg) - Struct-based argument parsing in Go * [go-flags](https://github.com/jessevdk/go-flags) - go command line option parser * [kingpin](https://github.com/alecthomas/kingpin) - A command line and flag parser supporting sub commands. From 9535836056a575587bde1090b135224ea4c33bc1 Mon Sep 17 00:00:00 2001 From: Stratos Neiros Date: Sat, 11 Mar 2017 13:50:06 +0200 Subject: [PATCH 266/403] Add go-myanimelist to third-party APIs --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72ce3bd6..29663621 100644 --- a/README.md +++ b/README.md @@ -1026,6 +1026,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-imgur](https://github.com/koffeinsource/go-imgur) - Go client library for [imgur](https://imgur.com) * [go-jira](https://github.com/andygrunwald/go-jira) - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. +* [go-myanimelist](https://github.com/nstratos/go-myanimelist) - A Go client library for accessing the [MyAnimeList API](http://myanimelist.net/modules.php?go=api). * [go-tgbot](https://github.com/olebedev/go-tgbot) - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware. * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [go-twitch](https://github.com/knspriggs/go-twitch) - A Go client for interacting with the Twitch v3 API. From fa0c97bf4b1fc06c3a4f2d844d76b5df35276fb6 Mon Sep 17 00:00:00 2001 From: Milan Nikolic Date: Sun, 12 Mar 2017 21:12:47 +0100 Subject: [PATCH 267/403] Add go-unarr --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72ce3bd6..2a0e9cab 100644 --- a/README.md +++ b/README.md @@ -662,6 +662,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. * [go-openapi](https://github.com/go-openapi) - A collection of packages to parse and utilize open-api schemas * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. +* [go-unarr](https://github.com/gen2brain/go-unarr) - Decompression library for RAR, TAR, ZIP and 7z archives. * [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS From bf9981cc6ee8b7d469cf289748c31d57e46d3905 Mon Sep 17 00:00:00 2001 From: Dave Brophy Date: Tue, 14 Mar 2017 14:47:56 +0100 Subject: [PATCH 268/403] Updated username davelondon to dave (#1317) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index a20c2546..ef26b5a8 100644 --- a/README.md +++ b/README.md @@ -478,7 +478,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. * [go-linq](https://github.com/ahmetalpbalkan/go-linq) - .NET LINQ-like query methods for Go. * [interfaces](https://github.com/rjeczalik/interfaces) - Command line tool for generating interface definitions. -* [jennifer](https://github.com/davelondon/jennifer) - Generate arbitrary Go code without templates. +* [jennifer](https://github.com/dave/jennifer) - Generate arbitrary Go code without templates. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. From 5e95d598c06711664ce149c9b72343ce0c7ea775 Mon Sep 17 00:00:00 2001 From: Kyle Banks Date: Tue, 14 Mar 2017 14:28:13 -0400 Subject: [PATCH 269/403] Add 'depth' package (#1318) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ef26b5a8..5f2fff4a 100644 --- a/README.md +++ b/README.md @@ -1322,6 +1322,7 @@ Go software and plugins. ## Go Tools * [colorgo](https://github.com/songgao/colorgo) - A wrapper around `go` command for colorized `go build` output. +* [depth](https://github.com/KyleBanks/depth) - Visualize dependency trees of any package by analyzing imports. * [gb](https://getgb.io/) - An easy to use project based build tool for the Go programming language. * [go-callvis](https://github.com/TrueFurby/go-callvis) - Visualize call graph of your Go program using dot format. * [go-pkg-complete](https://github.com/skelterjohn/go-pkg-complete) - Bash completion for go and wgo. From 9ac7124eecde7606cd2c19719aeb1d4beec7a560 Mon Sep 17 00:00:00 2001 From: Ben Gadbois Date: Wed, 15 Mar 2017 11:33:01 -0700 Subject: [PATCH 270/403] Update orchestrator repo location. (#1320) orchestrator upstream has moved from https://github.com/outbrain/orchestrator to https://github.com/github/orchestrator. Source: https://github.com/outbrain/orchestrator#orchestrator-upstream-has-moved. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5f2fff4a..e581e54a 100644 --- a/README.md +++ b/README.md @@ -289,7 +289,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-mysql-elasticsearch](https://github.com/siddontang/go-mysql-elasticsearch) - Sync your MySQL data into Elasticsearch automatically. * [kingshard](https://github.com/flike/kingshard) - kingshard is a high performance proxy for MySQL powered by Golang. * [myreplication](https://github.com/2tvenom/myreplication) - MySql binary log replication listener. Support statement and row based replication. -* [orchestrator](https://github.com/outbrain/orchestrator) - MySQL replication topology manager & visualizer +* [orchestrator](https://github.com/github/orchestrator) - MySQL replication topology manager & visualizer * [pgweb](https://github.com/sosedoff/pgweb) - A web-based PostgreSQL database browser * [vitess](https://github.com/youtube/vitess) - vitess provides servers and tools which facilitate scaling of MySQL databases for large scale web services. From 352722ea9982bb542258972b31bc161c65fee558 Mon Sep 17 00:00:00 2001 From: Sergey Kibish Date: Wed, 15 Mar 2017 22:52:21 +0200 Subject: [PATCH 271/403] Add DDNS Added DDNS --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e581e54a..2e757b61 100644 --- a/README.md +++ b/README.md @@ -1382,6 +1382,7 @@ Software written in Go. * [Circuit](https://github.com/gocircuit/circuit) - Circuit is a programmable platform-as-a-service (PaaS) and/or Infrastructure-as-a-Service (IaaS), for management, discovery, synchronization and orchestration of services and hosts comprising cloud applications. * [Comcast](https://github.com/tylertreat/Comcast) - Simulate bad network connections. * [confd](https://github.com/kelseyhightower/confd) - Manage local application configuration files using templates and data from etcd or consul. +* [DDNS](https://github.com/skibish/ddns) - Personal DDNS client with Digital Ocean Networking DNS as backend. * [Docker](http://www.docker.com/) - An open platform for distributed applications for developers and sysadmins. * [Documize](https://github.com/documize/community) - Modern wiki software that integrates data from SaaS tools. * [fleet](https://github.com/coreos/fleet) - A Distributed init System. From 16aeb3416cce554f5426b73817a7cea3b6a23c85 Mon Sep 17 00:00:00 2001 From: Mehrdad Arshad Rad Date: Thu, 16 Mar 2017 15:36:59 -0700 Subject: [PATCH 272/403] added vflow --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e757b61..4cfb1d31 100644 --- a/README.md +++ b/README.md @@ -1414,6 +1414,7 @@ Software written in Go. * [toto](https://github.com/blogcin/ToTo) - A simple proxy server written in Go language, can be used together with browser. * [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests. * [tsuru](https://tsuru.io/) - An extensible and open source Platform as a Service software. +* [vFlow](https://github.com/VerizonDigital/vflow) - High-performance, scalable and reliable IPFIX and sFlow collector. * [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart). * [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass). * [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags. From 9de6ca429f00517d7ba3cdf485ae07ae4e915c78 Mon Sep 17 00:00:00 2001 From: Nick Law Date: Mon, 20 Mar 2017 15:14:40 +1100 Subject: [PATCH 273/403] Add go-respond (#1324) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e757b61..a6c5b83a 100644 --- a/README.md +++ b/README.md @@ -1096,6 +1096,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. * [go-funk](https://github.com/thoas/go-funk) - A modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...) * [go-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go. +* [go-respond](https://github.com/nicklaw5/go-respond) - A Go package for handling common HTTP JSON responses. * [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. * [go-torch](https://github.com/uber/go-torch) - Stochastic flame graph profiler for Go programs. * [go-trigger](https://github.com/sadlil/go-trigger) - Go-lang global event triggerer, Register Events with an id and trigger the event from anywhere from your project. From 217aec2175f0c52abe9f68e8dc5de6f571477e99 Mon Sep 17 00:00:00 2001 From: Kyle Purdon Date: Sun, 19 Mar 2017 22:29:39 -0600 Subject: [PATCH 274/403] Add dep. (#1326) Dep is a prototype dependency management tool. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a6c5b83a..23c1d0ba 100644 --- a/README.md +++ b/README.md @@ -786,6 +786,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for package and dependency management.* +* [dep](https://github.com/golang/dep) - Go dependency tool. * [gigo](https://github.com/LyricalSecurity/gigo) - PIP-like dependency tool for golang, with support for private repositories and hashes. * [glide](https://github.com/Masterminds/glide) - Manage your golang vendor and vendored packages with ease. Inspired by tools like Maven, Bundler, and Pip. * [godep](https://github.com/tools/godep) - dependency tool for go, godep helps build packages reproducibly by fixing their dependencies. From 83c18f0fcfe11e053dc8e885235f99f0ba45592d Mon Sep 17 00:00:00 2001 From: Rafael Jesus Date: Mon, 20 Mar 2017 14:42:42 -0300 Subject: [PATCH 275/403] Add tempdb to database list Add tempdb to database list --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 23c1d0ba..e7c6d5ea 100644 --- a/README.md +++ b/README.md @@ -269,6 +269,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database. * [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. * [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite. +* [tempdb](https://github.com/rafaeljesus/tempdb) - Key-value store for temporary items. * [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. * [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. * [Tile38](https://github.com/tidwall/tile38) - A geolocation DB with spatial index and realtime geofencing. From f055bf43a321ce701ace005137e170b4ec69926e Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Tue, 21 Mar 2017 15:12:45 +0800 Subject: [PATCH 276/403] Add esayssh-proxy package. Signed-off-by: Bo-Yi Wu --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 23c1d0ba..6a932d1a 100644 --- a/README.md +++ b/README.md @@ -1349,6 +1349,7 @@ Software written in Go. * [drone-jenkins](https://github.com/appleboy/drone-jenkins) - Trigger downstream Jenkins jobs using a binary, docker or Drone CI. * [drone-scp](https://github.com/appleboy/drone-scp) - Copy files and artifacts via SSH using a binary, docker or Drone CI. * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. +* [easyssh-proxy](https://github.com/appleboy/easyssh-proxy) - Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand. * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. * [Gitea](https://github.com/go-gitea/gitea) - A fork of Gogs, entirely community driven. * [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. From a6f863e8bd2c21007d893e25cb8d52d84f4f21b3 Mon Sep 17 00:00:00 2001 From: Bo-Yi Wu Date: Tue, 21 Mar 2017 15:16:48 +0800 Subject: [PATCH 277/403] fix testing Signed-off-by: Bo-Yi Wu --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6a932d1a..3ade6693 100644 --- a/README.md +++ b/README.md @@ -1349,8 +1349,8 @@ Software written in Go. * [drone-jenkins](https://github.com/appleboy/drone-jenkins) - Trigger downstream Jenkins jobs using a binary, docker or Drone CI. * [drone-scp](https://github.com/appleboy/drone-scp) - Copy files and artifacts via SSH using a binary, docker or Drone CI. * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. -* [easyssh-proxy](https://github.com/appleboy/easyssh-proxy) - Golang package for easy remote execution through SSH and SCP downloading via ProxyCommand. * [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. +* [easyssh-proxy](https://github.com/appleboy/easyssh-proxy) - Golang package for easy remote execution through SSH and SCP downloading via `ProxyCommand`. * [Gitea](https://github.com/go-gitea/gitea) - A fork of Gogs, entirely community driven. * [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. * [go-selfupdate](https://github.com/sanbornm/go-selfupdate) - Enable your Go applications to self update. From d9a9d979d7f82398adee96761d09caf56ef0951f Mon Sep 17 00:00:00 2001 From: reujab Date: Tue, 21 Mar 2017 18:45:48 -0400 Subject: [PATCH 278/403] fixed markup (Vegeta) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 23c1d0ba..4214cdc3 100644 --- a/README.md +++ b/README.md @@ -1372,7 +1372,7 @@ Software written in Go. * [s3gof3r](https://github.com/rlmcpherson/s3gof3r) - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. * [Scaleway-cli](https://github.com/scaleway/scaleway-cli) - Manage BareMetal Servers from Command Line (as easily as with Docker). * [sg](https://github.com/ChristopherRabotin/sg) - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the reponse code and data between each call for specific server stress based on its previous response. -* [Vegeta] (https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000! +* [Vegeta](https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000! * [webhook](https://github.com/adnanh/webhook) - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. * [Wide](https://wide.b3log.org/login) - A Web-based IDE for Teams using Golang. * [winrm-cli](https://github.com/masterzen/winrm-cli) - A cli tool to remotely execute commands on Windows machines From fcbf94fd14e6ea1e156dba396e7fcc42e7d5fa00 Mon Sep 17 00:00:00 2001 From: Rafael Jesus Date: Thu, 23 Mar 2017 01:56:36 -0300 Subject: [PATCH 279/403] Add nsq-event-bus --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 23c1d0ba..d2737354 100644 --- a/README.md +++ b/README.md @@ -635,6 +635,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing. * [mangos](https://github.com/go-mangos/mangos) - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. * [NATS Go Client](https://github.com/nats-io/nats) - A lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. +* [nsq-event-bus](https://github.com/rafaeljesus/nsq-event-bus) - A tiny wrapper around [go-nsq](https://github.com/nsqio/go-nsq) topic and channel. * [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for REST APIs * [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. * [RapidMQ](https://github.com/sybrexsys/RapidMQ) - RapidMQ is a lightweight and reliable library for managing of the local messages queue From 7bb3c0cab001bd887e4530aa0ad3bbe952594035 Mon Sep 17 00:00:00 2001 From: hamper Date: Sun, 26 Mar 2017 08:13:42 +0300 Subject: [PATCH 280/403] Update davecheney/profile repo location. (#1328) It has moved to https://github.com/pkg/profile. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7a32b2e2..11b14ae9 100644 --- a/README.md +++ b/README.md @@ -1141,7 +1141,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool. * [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. -* [profile](https://github.com/davecheney/profile) - Simple profiling support package for Go. +* [profile](https://github.com/pkg/profile) - Simple profiling support package for Go. * [rclient](https://github.com/zpatrick/rclient) - Readable, flexible, simple-to-use client for REST APIs. * [realize](https://github.com/tockins/realize) - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths. * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. From edb7e10c7d8ab492bc8974f9ab96dd666725c1db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A1ssio=20Botaro?= Date: Sun, 26 Mar 2017 05:51:33 -0300 Subject: [PATCH 281/403] Add @cassiobotaro as new maintainer (#1338) --- MAINTAINERS | 1 + 1 file changed, 1 insertion(+) diff --git a/MAINTAINERS b/MAINTAINERS index 316defda..cbcc3478 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -6,3 +6,4 @@ Dean Karn (@joeybloggs) Kirill Danshin (@kirillDanshin) Felipe Oliveira (@felipeweb) Bo-Yi Wu (@appleboy) +Cássio Botaro (@cassiobotaro) From 8272d1cb6154a79e71318ee266f9bedeabba52a7 Mon Sep 17 00:00:00 2001 From: Rafael Jesus Date: Sun, 26 Mar 2017 10:15:37 -0300 Subject: [PATCH 282/403] Remove go-nsq link --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d2737354..7f562f5f 100644 --- a/README.md +++ b/README.md @@ -635,7 +635,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing. * [mangos](https://github.com/go-mangos/mangos) - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. * [NATS Go Client](https://github.com/nats-io/nats) - A lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. -* [nsq-event-bus](https://github.com/rafaeljesus/nsq-event-bus) - A tiny wrapper around [go-nsq](https://github.com/nsqio/go-nsq) topic and channel. +* [nsq-event-bus](https://github.com/rafaeljesus/nsq-event-bus) - A tiny wrapper around NSQ topic and channel. * [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for REST APIs * [pubsub](https://github.com/tuxychandru/pubsub) - A simple pubsub package for go. * [RapidMQ](https://github.com/sybrexsys/RapidMQ) - RapidMQ is a lightweight and reliable library for managing of the local messages queue From a4640eb41be0719ad4d1275e4824349d59d433e9 Mon Sep 17 00:00:00 2001 From: Steve Domino Date: Mon, 27 Mar 2017 20:37:05 -0600 Subject: [PATCH 283/403] Added Scribble (#1287) * Added Scribble * scribble -> Scribble --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c28e6f2d..8534663c 100644 --- a/README.md +++ b/README.md @@ -269,6 +269,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [pREST](https://github.com/nuveo/prest) - Serve a RESTful API from any PostgreSQL database. * [prometheus](https://github.com/prometheus/prometheus) - Monitoring system and time series database. * [rqlite](https://github.com/rqlite/rqlite) - The lightweight, distributed, relational database built on SQLite. +* [Scribble](https://github.com/nanobox-io/golang-scribble) - A tiny flat file JSON store. * [tempdb](https://github.com/rafaeljesus/tempdb) - Key-value store for temporary items. * [tidb](https://github.com/pingcap/tidb) - TiDB is a distributed SQL database. Inspired by the design of Google F1. * [tiedot](https://github.com/HouzuoGuo/tiedot) - Your NoSQL database powered by Golang. From 74f0101d2a4f78dd7e376d96b58993e642a833f9 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Tue, 28 Mar 2017 08:47:21 +0300 Subject: [PATCH 284/403] migrated #603, sanathp/statusok (#1340) * Added StatusOk Software to DevOps Tools * add go.uik link --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8534663c..e8afb0ec 100644 --- a/README.md +++ b/README.md @@ -1376,6 +1376,7 @@ Software written in Go. * [s3gof3r](https://github.com/rlmcpherson/s3gof3r) - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. * [Scaleway-cli](https://github.com/scaleway/scaleway-cli) - Manage BareMetal Servers from Command Line (as easily as with Docker). * [sg](https://github.com/ChristopherRabotin/sg) - Benchmarks a set of HTTP endpoints (like ab), with possibility to use the reponse code and data between each call for specific server stress based on its previous response. +* [StatusOK](https://github.com/sanathp/statusok) - Monitor your Website and REST APIs.Get Notified through Slack, E-mail when your server is down or response time is more than expected. * [Vegeta](https://github.com/tsenart/vegeta) - HTTP load testing tool and library. It's over 9000! * [webhook](https://github.com/adnanh/webhook) - Tool which allows user to create HTTP endpoints (hooks) that execute commands on the server. * [Wide](https://wide.b3log.org/login) - A Web-based IDE for Teams using Golang. From ae3e6b5a387835247175cc65610d624c26899b04 Mon Sep 17 00:00:00 2001 From: Mathias Fredriksson Date: Tue, 28 Mar 2017 18:54:43 +0300 Subject: [PATCH 285/403] Add cdp to README --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e8afb0ec..24eddd52 100644 --- a/README.md +++ b/README.md @@ -963,6 +963,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Tavor](https://github.com/zimmski/tavor) - A generic fuzzing and delta-debugging framework * Selenium and browser control tools + * [cdp](https://github.com/mafredri/cdp) - Type-safe bindings for the Chrome Debugging Protocol that can be used with browsers or other debug targets that implement it. * [chromedp](https://github.com/knq/chromedp) - a way to drive/test Chrome, Safari, Edge, Android Webviews, and other browsers supporting the Chrome Debugging Protocol. * [ggr](https://github.com/aandryashin/ggr) - a lightweight server that routes and proxies Selenium Wedriver requests to multiple Selenium hubs. * [selenoid](https://github.com/aandryashin/selenoid) - alternative Selenium hub server that launches browsers within containers. From df61bdf3a101d2efc95ad8c22ccb5aca3bb032a4 Mon Sep 17 00:00:00 2001 From: Aaron Longwell Date: Thu, 30 Mar 2017 10:40:04 -0700 Subject: [PATCH 286/403] Add library for Trello API. (#1344) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 24eddd52..72002e48 100644 --- a/README.md +++ b/README.md @@ -1071,6 +1071,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API. * [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org) * [translate](https://github.com/poorny/translate) - Go online translation package. +* [Trello](https://github.com/adlio/trello) - Go wrapper for the Trello API. * [tumblr](https://github.com/mattcunningham/gumblr) - Go wrapper for the Tumblr v2 API. * [webhooks](https://github.com/go-playground/webhooks) - Webhook receiver for GitHub and Bitbucket. From 04a546ff60bcf4f744765e112b8c1466c9f964bf Mon Sep 17 00:00:00 2001 From: Eyal Posener Date: Sat, 1 Apr 2017 04:43:44 +0300 Subject: [PATCH 287/403] Add wstest (#1345) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 72002e48..741935c4 100644 --- a/README.md +++ b/README.md @@ -947,6 +947,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [restit](https://github.com/yookoala/restit) - A Go micro framework to help writing RESTful API integration test. * [testfixtures](https://github.com/go-testfixtures/testfixtures) - A helper for Rails' like test fixtures to test database applications. * [Testify](https://github.com/stretchr/testify) - A sacred extension to the standard go testing package. + * [wstest](https://github.com/posener/wstest) - A websocket client for unit-testing a websocket http.Handler. * Mock * [counterfeiter](https://github.com/maxbrunsfeld/counterfeiter) - Tool for generating self-contained mock objects From 68898d4ba2a63b8132f931a448454b14976763a6 Mon Sep 17 00:00:00 2001 From: Eyal Posener Date: Sat, 1 Apr 2017 11:03:34 +0300 Subject: [PATCH 288/403] Add tarfs (#1347) * Extract 'files' section from 'miscellaneous' * Add tarfs --- README.md | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 741935c4..87de1d53 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Distributed Systems](#distributed-systems) - [Email](#email) - [Embeddable Scripting Languages](#embeddable-scripting-languages) + - [Files](#files) - [Financial](#financial) - [Forms](#forms) - [Game Development](#game-development) @@ -429,6 +430,15 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [purl](https://github.com/ian-kent/purl) - Perl 5.18.2 embedded in Go +## Files + +*Libraries for handling files and file systems* + +* [afero](https://github.com/spf13/afero) - A FileSystem Abstraction System for Go. +* [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. +* [tarfs](https://github.com/posener/tarfs) - An implementation of the [`FileSystem` interface](https://godoc.org/github.com/kr/fs#FileSystem) for tar files. + + ## Financial *Packages for accounting and finance* @@ -650,7 +660,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *These libraries were placed here because none of the other categories seemed to fit* -* [afero](https://github.com/spf13/afero) - A FileSystem Abstraction System for Go. * [archiver](https://github.com/mholt/archiver) - Library and command for making and extracting .zip and .tar.gz archives * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [banner](https://github.com/dimiro1/banner) - Add beautiful banners into your Go applications. @@ -675,7 +684,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [indigo](https://github.com/osamingo/indigo) - A distributed unique ID generator of using Sonyflake and encoded by Base58. * [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. * [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. -* [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. * [secdl](https://github.com/xor-gate/secdl) - Lighttpd ModSecDownload algorithm ported to go to secure download urls. * [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... * [uuid](https://github.com/agext/uuid) - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. From 15f62d53d805002e34f6a8f1f9985cfb4bf8fa37 Mon Sep 17 00:00:00 2001 From: Mathieu Cornic Date: Sun, 2 Apr 2017 09:37:57 +0200 Subject: [PATCH 289/403] Add Hermes - Golang package that generates clean, responsive HTML e-mails --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 87de1d53..151a29c9 100644 --- a/README.md +++ b/README.md @@ -406,6 +406,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-message](https://github.com/emersion/go-message) - A streaming library for the Internet Message Format and mail messages * [Gomail](https://github.com/go-gomail/gomail/) - Gomail is a very simple and powerful package to send emails. * [Hectane](https://github.com/hectane/hectane) - Lightweight SMTP client providing an HTTP API +* [hermes](https://github.com/matcornic/hermes) - Golang package that generates clean, responsive HTML e-mails * [MailHog](https://github.com/mailhog/MailHog) - Email and SMTP testing with web and API interface * [SendGrid](https://github.com/sendgrid/sendgrid-go) - SendGrid's Go library for sending email * [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine From 2d61b671ccf49e583160a1fb80df392e0284bd36 Mon Sep 17 00:00:00 2001 From: Raimondas Date: Tue, 4 Apr 2017 06:18:39 +0100 Subject: [PATCH 290/403] go-money (#1353) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 151a29c9..d2211873 100644 --- a/README.md +++ b/README.md @@ -447,6 +447,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang * [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers * [go-finance](https://github.com/FlashBoys/go-finance) - Comprehensive financial markets data in Go +* [go-money](https://github.com/FlashBoys/go-money) - Implementation of Fowler's Money pattern * [vat](https://github.com/dannyvankooten/vat) - VAT number validation & EU VAT rates From 78b691e2dd0acd70db7eec6a66ae36e91cd02e07 Mon Sep 17 00:00:00 2001 From: Yaron Sumel Date: Wed, 5 Apr 2017 21:57:31 +0300 Subject: [PATCH 291/403] add filler to awesome-go (#1355) * Update README.md * new grapes github.com repo: https://github.com/yaronsumel/grapes godoc.org: https://godoc.org/github.com/yaronsumel/grapes goreportcard.com: https://goreportcard.com/report/github.com/yaronsumel/grapes coverage service link (gocover, coveralls etc.): N/A Make sure that you've checked the boxes below before you submit PR: I have added my package in alphabetical order I know that this package was not listed before I have added godoc link to the repo and to my pull request I have added coverage service link to the repo and to my pull request I have added goreportcard link to the repo and to my pull request I have read Contribution guidelines and Quality standard. * Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2211873..a12b5bcb 100644 --- a/README.md +++ b/README.md @@ -1103,6 +1103,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [excelize](https://github.com/Luxurioust/excelize) - Golang library for reading and writing Microsoft Excel (XLSX) files. * [fastlz](https://github.com/digitalcrab/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. +* [filler](https://github.com/yaronsumel/filler) - small utility to fill structs using "fill" tag. * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. From fefc91af5663fc7c6e5d47da334d263824843d44 Mon Sep 17 00:00:00 2001 From: Ben Gadbois Date: Thu, 6 Apr 2017 21:32:24 -0700 Subject: [PATCH 292/403] Adding github.com/bengadbois/pewpew (#1356) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a12b5bcb..11fd8e73 100644 --- a/README.md +++ b/README.md @@ -1386,6 +1386,7 @@ Software written in Go. * [Mora](https://github.com/emicklei/mora) - REST server for accessing MongoDB documents and meta data. * [ostent](https://github.com/ostrost/ostent) - collects and displays system metrics and optionally relays to Graphite and/or InfluxDB. * [Packer](https://github.com/mitchellh/packer) - Packer is a tool for creating identical machine images for multiple platforms from a single source configuration. +* [Pewpew](https://github.com/bengadbois/pewpew) - Flexible HTTP command line stress tester. * [Rodent](https://github.com/alouche/rodent) - Rodent helps you manage Go versions, projects and track dependencies. * [s3gof3r](https://github.com/rlmcpherson/s3gof3r) - A small utility/library optimized for high speed transfer of large objects into and out of Amazon S3. * [Scaleway-cli](https://github.com/scaleway/scaleway-cli) - Manage BareMetal Servers from Command Line (as easily as with Docker). From 15d266dab0a5278a66e9e906dccf6ea0f7443399 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Sat, 8 Apr 2017 23:22:12 +0300 Subject: [PATCH 293/403] Fix false positives in duplicate link detection. (#1341) Fixes #1336. --- repo_test.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/repo_test.go b/repo_test.go index 33eeecab..8bbff861 100644 --- a/repo_test.go +++ b/repo_test.go @@ -23,7 +23,7 @@ func TestDuplicatedLinks(t *testing.T) { query := startQuery() links := make(map[string]bool, 0) - query.Find("body a").Each(func(_ int, s *goquery.Selection) { + query.Find("body li > a:first-child").Each(func(_ int, s *goquery.Selection) { t.Run(s.Text(), func(t *testing.T) { href, ok := s.Attr("href") if !ok { From 38011bc56fee365ee0b3f6d8c8cc46eabac242b6 Mon Sep 17 00:00:00 2001 From: Alexey Popov <6425762@gmail.com> Date: Sun, 9 Apr 2017 04:33:21 +0300 Subject: [PATCH 294/403] Added binder - Go to Lua binding library, based on github.com/yuin/gopher-lua (#1354) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 11fd8e73..73e7d720 100644 --- a/README.md +++ b/README.md @@ -419,6 +419,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [agora](https://github.com/PuerkitoBio/agora) - Dynamically typed, embeddable programming language in Go * [anko](https://github.com/mattn/anko) - Scriptable interpreter written in Go +* [binder](https://github.com/alexeyco/binder) - Go to Lua binding library, based on [gopher-lua](https://github.com/yuin/gopher-lua) * [gisp](https://github.com/jcla1/gisp) - Simple LISP in Go * [go-duktape](https://github.com/olebedev/go-duktape) - Duktape JavaScript engine bindings for Go * [go-lua](https://github.com/Shopify/go-lua) - A port of the Lua 5.2 VM to pure Go From 54244a0006190480badd14b99e3338b941c7d6ca Mon Sep 17 00:00:00 2001 From: Abado Jack Mtulla Date: Mon, 10 Apr 2017 11:51:37 +0530 Subject: [PATCH 295/403] Add whatlanggo (#1361) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73e7d720..cb4569e3 100644 --- a/README.md +++ b/README.md @@ -721,6 +721,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [snowball](https://github.com/goodsign/snowball) - Snowball stemmer port (cgo wrapper) for Go. Provides word stem extraction functionality [Snowball native](http://snowball.tartarus.org/). * [stemmer](https://github.com/dchest/stemmer) - Stemmer packages for Go programming language. Includes English and German stemmers. * [textcat](https://github.com/pebbe/textcat) - A Go package for n-gram based text categorization, with support for utf-8 and raw text +* [whatlanggo](https://github.com/abadojack/whatlanggo) - A natural language detection package for Go. Supports 84 languages and 24 scripts (writing systems e.g. Latin, Cyrillic, etc). * [when](https://github.com/olebedev/when) - A natural EN and RU language date/time parser with pluggable rules ## Networking From 910a32e76da7834e761570b3b9875188a9ef334e Mon Sep 17 00:00:00 2001 From: Raimondas Date: Mon, 10 Apr 2017 09:55:26 +0100 Subject: [PATCH 296/403] Updating go-money link (#1362) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cb4569e3..d96e17c4 100644 --- a/README.md +++ b/README.md @@ -448,7 +448,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang * [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers * [go-finance](https://github.com/FlashBoys/go-finance) - Comprehensive financial markets data in Go -* [go-money](https://github.com/FlashBoys/go-money) - Implementation of Fowler's Money pattern +* [go-money](https://github.com/rhymond/go-money) - Implementation of Fowler's Money pattern * [vat](https://github.com/dannyvankooten/vat) - VAT number validation & EU VAT rates From f6d9093824e73fa9d6c36238e44129cca5c45a5a Mon Sep 17 00:00:00 2001 From: "Giovanni T. Parra" Date: Mon, 10 Apr 2017 11:59:41 -0300 Subject: [PATCH 297/403] added GJSON. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d96e17c4..1941aa06 100644 --- a/README.md +++ b/README.md @@ -1110,6 +1110,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. * [git-time-metric](https://github.com/git-time-metric/gtm) - Simple, seamless, lightweight time tracking for Git +* [GJSON](https://github.com/tidwall/gjson) - Get a JSON value with one line of code. * [go-bind-plugin](https://github.com/wendigo/go-bind-plugin) - go:generate tool for wrapping symbols exported by golang plugins (1.8 only) * [go-cron](https://github.com/rk/go-cron) - A simple Cron library for go that can execute closures or functions at varying intervals, from once a second to once a year on a specific date and time. Primarily for web applications and long running daemons. * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. From f6c18f59b007c12992ec2ae01d2fb3f341f3cfb3 Mon Sep 17 00:00:00 2001 From: Kamil Samigullin Date: Tue, 11 Apr 2017 15:45:54 +0300 Subject: [PATCH 298/403] add retry to Utilities section (#1364) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d96e17c4..df9a7e12 100644 --- a/README.md +++ b/README.md @@ -1166,6 +1166,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [rerate](https://github.com/abo/rerate) - Redis-based rate counter and rate limiter for Go. * [rerun](https://github.com/ivpusic/rerun) - Recompiling and rerunning go apps when source changes. * [resty](https://github.com/go-resty/resty) - Simple HTTP and REST client for Go inspired by Ruby rest-client. +* [retry](https://github.com/kamilsk/retry) - Functional mechanism based on context to perform actions repetitively until successful. * [robustly](https://github.com/VividCortex/robustly) - Runs functions resiliently, catching and restarting panics. * [scheduler](https://github.com/carlescere/scheduler) - Cronjobs scheduling made easy. * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. From 7bfdbe8581f489aebdc53dc0fb1c98ada4753720 Mon Sep 17 00:00:00 2001 From: Kenny Grant Date: Thu, 13 Apr 2017 03:22:40 +0100 Subject: [PATCH 299/403] Added Golang News to websites (#1367) * Added Golang News to websites * Sacrifice to the CI Gods --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e010b956..15bf37da 100644 --- a/README.md +++ b/README.md @@ -1518,6 +1518,7 @@ Where to discover new Go libraries. * [Go Projects](https://github.com/golang/go/wiki/Projects) - List of projects on the Go community wiki. * [gocryforhelp](https://github.com/ninedraft/gocryforhelp) - A collection of Go projects that needs help. Good place to start your open-source way in Go. * [godoc.org](https://godoc.org/) - Documentation for open source Go packages. +* [Golang News](https://golangnews.com) - Links and news about Go programming. * [golang-graphics](https://github.com/mholt/golang-graphics) - A collection of Go images, graphics, and art. * [golang-nuts](https://groups.google.com/forum/#!forum/golang-nuts) - Go mailing list. * [Google Plus Community](https://plus.google.com/communities/114112804251407510571) - The Google+ community for #golang enthusiasts. From d30ea0b6f973e08bf6ced78f5f15dd1ae3e2472e Mon Sep 17 00:00:00 2001 From: Asdine El Hrychy Date: Fri, 14 Apr 2017 00:35:20 +0200 Subject: [PATCH 300/403] Update Storm phrase and category (#1366) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 15bf37da..c68656fc 100644 --- a/README.md +++ b/README.md @@ -792,7 +792,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [QBS](https://github.com/coocood/qbs) - Stands for Query By Struct. A Go ORM. * [reform](https://github.com/go-reform/reform) - A better ORM for Go, based on non-empty interfaces and code generation. * [SQLBoiler](https://github.com/vattle/sqlboiler) - An ORM generator. Generate a featureful and blazing-fast ORM tailored to your database schema. -* [Storm](https://github.com/asdine/storm) - Simple and powerful ORM for BoltDB. * [upper.io/db](https://github.com/upper/db) - Single interface for interacting with different data sources through the use of adapters that wrap mature database drivers. * [Xorm](https://github.com/go-xorm/xorm) - Simple and powerful ORM for Go. * [Zoom](https://github.com/albrow/zoom) - A blazing-fast datastore and querying engine built on Redis. @@ -1173,6 +1172,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sling](https://github.com/dghubble/sling) - Go HTTP requests builder for API clients. * [spinner](https://github.com/briandowns/spinner) - Go package to easily provide a terminal spinner with options. * [sqlx](https://github.com/jmoiron/sqlx) - provides a set of extensions on top of the excellent built-in database/sql package. +* [Storm](https://github.com/asdine/storm) - Simple and powerful toolkit for BoltDB. * [Task](https://github.com/go-task/task) - simple "Make" alternative * [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. * [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. From 83dabb01f32fc50f3c29b6a45f35065c371500c6 Mon Sep 17 00:00:00 2001 From: Maxim Lebedev Date: Sat, 15 Apr 2017 16:15:32 +0500 Subject: [PATCH 301/403] Rename telegraph to go-telegraph (#1369) I renamed the package and moved it in the list in alphabetical order. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c68656fc..1914da9e 100644 --- a/README.md +++ b/README.md @@ -1045,6 +1045,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-jira](https://github.com/andygrunwald/go-jira) - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. * [go-myanimelist](https://github.com/nstratos/go-myanimelist) - A Go client library for accessing the [MyAnimeList API](http://myanimelist.net/modules.php?go=api). +* [go-telegraph](https://github.com/toby3d/go-telegraph) - Telegraph publishing platform API client. * [go-tgbot](https://github.com/olebedev/go-tgbot) - Pure Golang Telegram Bot API wrapper, generated from swagger file, session-based router and middleware. * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [go-twitch](https://github.com/knspriggs/go-twitch) - A Go client for interacting with the Twitch v3 API. @@ -1079,7 +1080,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [tbot](https://github.com/yanzay/tbot) - Telegram bot server with API similar to net/http. * [telebot](https://github.com/tucnak/telebot) - Telegram bot framework written in Go. * [telegram-bot-api](https://github.com/Syfaro/telegram-bot-api) - Simple and clean Telegram bot client. -* [telegraph](https://github.com/toby3d/telegraph) - Telegraph publishing platform API client. * [textbelt](https://github.com/dietsche/textbelt) - Go client for the textbelt.com txt messaging API. * [TheMovieDb](https://github.com/jbrodriguez/go-tmdb) - A simple golang package to communicate with [themoviedb.org](https://themoviedb.org) * [translate](https://github.com/poorny/translate) - Go online translation package. From 7277ea8757fb5f6522fa937e72ef382ec9809013 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Onat=20Yi=C4=9Fit=20Mercan?= Date: Sun, 16 Apr 2017 04:13:51 +0100 Subject: [PATCH 302/403] add onatm/clockwerk to Utilities category (#1370) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 1914da9e..ba45bae5 100644 --- a/README.md +++ b/README.md @@ -1094,6 +1094,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [abutil](https://github.com/bahlo/abutil) - A collection of often-used Golang helpers. * [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API. * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. +* [clockwerk](http://github.com/onatm/clockwerk) - Go package to schedule periodic jobs using a simple, fluent syntax. * [command](https://github.com/txgruppi/command) - Command pattern for Go with thread safe serial and parallel dispatcher * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. * [copy-pasta](https://github.com/jutkko/copy-pasta) - Universal multi-workstation clipboard that uses S3 like backend for the storage. From 74a6aeeb3a4d429df1e1264047c72814dc6edf73 Mon Sep 17 00:00:00 2001 From: Hajime Hoshi Date: Tue, 18 Apr 2017 10:47:51 +0900 Subject: [PATCH 303/403] Remove "SNES-style" from Ebiten description. (#1372) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ba45bae5..fa496bd1 100644 --- a/README.md +++ b/README.md @@ -471,7 +471,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Awesome game development libraries.* * [Azul3D](https://github.com/azul3d/engine) - A 3D game engine written in Go -* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple SNES-style 2D game library in Go +* [Ebiten](https://github.com/hajimehoshi/ebiten) - A simple 2D game library in Go * [engo](https://github.com/EngoEngine/engo) - Engo is an open-source 2D game engine written in Go. It follows the Entity-Component-System paradigm. * [GarageEngine](https://github.com/vova616/GarageEngine) - 2d game engine written in Go working on OpenGL. * [glop](https://github.com/runningwild/glop) - Glop (Game Library Of Power) is a fairly simple cross-platform game library. From 08dcc4e68f5924dad31adb7a3c839f49f826bd40 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Mon, 24 Apr 2017 05:28:27 -0700 Subject: [PATCH 304/403] Add app (#1383) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fa496bd1..8814fe45 100644 --- a/README.md +++ b/README.md @@ -522,6 +522,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for building GUI Applications* +* [app](https://github.com/murlokswarm/app) - Package to create apps with GO, HTML and CSS. * [go-gtk](http://mattn.github.io/go-gtk/) - Go bindings for GTK * [go-qml](https://github.com/go-qml/qml) - QML support for the Go language * [go-sciter](https://github.com/sciter-sdk/go-sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. From 0d76bd07132de549b44c2cbfb786e14a53f3320d Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Mon, 24 Apr 2017 05:29:33 -0700 Subject: [PATCH 305/403] Add web app golang tutorial (#1384) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 8814fe45..03bae923 100644 --- a/README.md +++ b/README.md @@ -1532,6 +1532,7 @@ Where to discover new Go libraries. ### Tutorials * [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go. +* [Build web application with Golang](https://github.com/astaxie/build-web-application-with-golang) - A golang ebook intro how to build a web app with golang. * [Building Go Web Applications and Microservices Using Gin](https://semaphoreci.com/community/tutorials/building-go-web-applications-and-microservices-using-gin) - Get familiar with Gin and find out how it can help you reduce boilerplate code and build a request handling pipeline. * [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs. * [Go Cheat Sheet](https://github.com/a8m/go-lang-cheat-sheet) - A Go's reference card. From 19ec3e684ae0c01dd467b8232f6c384bb80a5d77 Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Mon, 24 Apr 2017 20:47:01 +0300 Subject: [PATCH 306/403] Update my email --- MAINTAINERS | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/MAINTAINERS b/MAINTAINERS index cbcc3478..f77c2b10 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -3,7 +3,7 @@ Duke (@dukex) Dmitri Shuralyov (@shurcooL) Dobrosław Żybort (@matrixik) Dean Karn (@joeybloggs) -Kirill Danshin (@kirillDanshin) +Kirill Danshin (@kirillDanshin) Felipe Oliveira (@felipeweb) Bo-Yi Wu (@appleboy) Cássio Botaro (@cassiobotaro) From a2bf9c5a1687679c4f900ee67714d4c5c0c6fa37 Mon Sep 17 00:00:00 2001 From: Yang Luo Date: Tue, 25 Apr 2017 08:55:10 +0800 Subject: [PATCH 307/403] Add casbin into readme. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 03bae923..4e0b6fda 100644 --- a/README.md +++ b/README.md @@ -110,6 +110,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for implementing authentications schemes.* * [authboss](https://github.com/go-authboss/authboss) - A modular authentication system for the web. It tries to remove as much boilerplate and "hard things" as possible so that each time you start a new web project in Go, you can plug it in, configure, and start building your app without having to build an authentication system each time. +* [casbin](https://github.com/hsluoyz/casbin) - An authorization library that supports access control models like ACL, RBAC, ABAC. * [Go-AWS-Auth](https://github.com/smartystreets/go-aws-auth) - AWS (Amazon Web Services) request signing library. * [go-jose](https://github.com/square/go-jose) - A fairly complete implementation of the JOSE working group's JSON Web Token, JSON Web Signatures, and JSON Web Encryption specs. * [go-oauth2-server](https://github.com/RichardKnop/go-oauth2-server) - A standalone, specification-compliant, OAuth2 server written in Golang. From 255c6505da139e34ab4b89df17e2e36b10e04bdf Mon Sep 17 00:00:00 2001 From: Michael Wolber Date: Tue, 25 Apr 2017 23:00:11 +0200 Subject: [PATCH 308/403] Added 'templify' and 'feiertage' (#1022) * Added 'templify' and 'feiertage' * Update README.md --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4e0b6fda..6e96a1c6 100644 --- a/README.md +++ b/README.md @@ -363,6 +363,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [carbon](https://github.com/uniplaces/carbon) - A simple Time extension with a lot of util methods, ported from PHP Carbon library. * [durafmt](https://github.com/hako/durafmt) - A time duration formatting library for Go. +* [feiertage](https://github.com/wlbr/feiertage) - A set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecoast, Thanksgiving... * [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). * [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. * [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. @@ -838,6 +839,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go.rice](https://github.com/GeertJohan/go.rice) - go.rice is a Go package that makes working with resources such as html,js,css,images and templates very easy. * [statics](https://github.com/go-playground/statics) - Embeds static resources into go files for single binary compilation + works with http.FileSystem + symlinks. * [statik](https://github.com/rakyll/statik) - Embeds static files into a Go executable +* [templify](https://github.com/wlbr/templify) - Embed external template files into Go code to create single file binaries. * [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem. From 7f3a74f4b669a88683f714c514473ffea3176377 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?C=C3=A1ssio=20Botaro?= Date: Wed, 26 Apr 2017 15:06:53 -0300 Subject: [PATCH 309/403] Fix #1393 (#1394) closes #1393 --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 6e96a1c6..d33c3cf0 100644 --- a/README.md +++ b/README.md @@ -863,7 +863,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. * [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) * [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language -* [mudlark-go](https://github.com/pwil3058/mudlark-go-pkgs) - A collection of packages providing (hopefully) useful code for use in software using Google's Go programming language. * [ode](https://github.com/ChristopherRabotin/ode) - An ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions. * [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go * [PiHex](https://github.com/claygod/PiHex) - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi From 8a0043468c247a94143583fa6314199f6f52902d Mon Sep 17 00:00:00 2001 From: Kirill Danshin Date: Thu, 27 Apr 2017 17:08:18 +0300 Subject: [PATCH 310/403] working on gfm compat (helps #1224) (#1342) * fix gfm compat Signed-off-by: Kirill Danshin * fix .travis.yml Signed-off-by: Kirill Danshin * requested changes Signed-off-by: Kirill Danshin --- .travis.yml | 5 +---- repo.go | 36 ++---------------------------------- 2 files changed, 3 insertions(+), 38 deletions(-) diff --git a/.travis.yml b/.travis.yml index 3595f1cb..6c8461ef 100644 --- a/.travis.yml +++ b/.travis.yml @@ -6,7 +6,4 @@ go: sudo: false install: - - go get github.com/russross/blackfriday - - go get github.com/PuerkitoBio/goquery - - go get github.com/gorilla/mux - - go get github.com/microcosm-cc/bluemonday + - go get -t -v ./... diff --git a/repo.go b/repo.go index 40d9bec0..d04831cc 100644 --- a/repo.go +++ b/repo.go @@ -8,8 +8,7 @@ import ( "text/template" "github.com/gorilla/mux" - "github.com/microcosm-cc/bluemonday" - "github.com/russross/blackfriday" + gfm "github.com/shurcooL/github_flavored_markdown" ) // memory usage optimizations @@ -24,25 +23,6 @@ const ( readmePath = "./README.md" tplPath = "tmpl/tmpl.html" idxPath = "tmpl/index.html" - - bfHTMLRendererOpts = 0 | - blackfriday.HTML_USE_XHTML | - blackfriday.HTML_USE_SMARTYPANTS | - blackfriday.HTML_SMARTYPANTS_FRACTIONS | - blackfriday.HTML_SMARTYPANTS_DASHES | - blackfriday.HTML_SMARTYPANTS_LATEX_DASHES - - bfMDOpts = 0 | - blackfriday.EXTENSION_NO_INTRA_EMPHASIS | - blackfriday.EXTENSION_TABLES | - blackfriday.EXTENSION_FENCED_CODE | - blackfriday.EXTENSION_AUTOLINK | - blackfriday.EXTENSION_STRIKETHROUGH | - blackfriday.EXTENSION_SPACE_HEADERS | - blackfriday.EXTENSION_HEADER_IDS | - blackfriday.EXTENSION_BACKSLASH_LINE_BREAK | - blackfriday.EXTENSION_DEFINITION_LISTS | - blackfriday.EXTENSION_AUTO_HEADER_IDS ) var ( @@ -59,19 +39,7 @@ func generateHTML() { exec.Command(git, pull).Output() input, _ := ioutil.ReadFile(readmePath) - body := string( - bluemonday.UGCPolicy().SanitizeBytes( - blackfriday.Markdown( - input, - blackfriday.HtmlRenderer( - bfHTMLRendererOpts, - emtyStr, - emtyStr, - ), - bfMDOpts, - ), - ), - ) + body := string(gfm.Markdown(input)) c := &content{Body: body} t := template.Must(template.ParseFiles(tplPath)) From ee540710bdae552153604d53a3abd6abe69af2cf Mon Sep 17 00:00:00 2001 From: Dean Karn Date: Fri, 28 Apr 2017 09:24:25 -0400 Subject: [PATCH 311/403] Cleanup Web Frameworks section The Web Framework section was becoming littered with libraries, routers etc. that should not be considered "Web Frameworks", to that end some libraries have been shuffled to their appropriate sections and a new "Routers" sub-section was created to distinguish url routers and multiplexers. I propose that some guidelines or a checklist should be created to help determine what should be considered a "Web Framework" vs Something Else to avoid the section becoming cluttered again; but that can be done at a later date. --- README.md | 56 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 30 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index d33c3cf0..37f4abe4 100644 --- a/README.md +++ b/README.md @@ -60,6 +60,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Version Control](#version-control) - [Video](#video) - [Web Frameworks](#web-frameworks) + - [Routers](#routers) - [Middlewares](#middlewares) - [Actual middlewares](#actual-middlewares) - [Libraries for creating HTTP middlewares](#libraries-for-creating-http-middlewares) @@ -125,6 +126,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. * [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. * [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. +* [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE). * [traefik](https://github.com/containous/traefik) - A reverse proxy and load balancer with support for multiple backends. * [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. @@ -380,6 +382,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gleam](https://github.com/chrislusf/gleam) - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed. * [glow](https://github.com/chrislusf/glow) - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go. * [go-jump](https://github.com/dgryski/go-jump) - A port of Google's "Jump" Consistent Hash function. +* [go-kit](https://github.com/go-kit/kit) - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. * [gorpc](https://github.com/valyala/gorpc) - Simple, fast and scalable RPC library for high load. * [grpc-go](https://github.com/grpc/grpc-go) - The Go language implementation of gRPC. HTTP/2 based RPC. * [hprose](https://github.com/hprose/hprose-golang) - A very newbility RPC Library, support 25+ languages now. @@ -643,10 +646,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [drone-line](https://github.com/appleboy/drone-line) - Sending [Line](https://business.line.me/en/services/bot) notifications using a binary, docker or Drone CI. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. +* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io). * [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. * [go-nsq](https://github.com/nsqio/go-nsq) - the official Go package for NSQ +* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. * [go-vitotrol](https://github.com/maxatome/go-vitotrol) - A client library to Viessmann Vitotrol web service. +* [golongpoll](https://github.com/jcuga/golongpoll) - HTTP longpoll server library that makes web pub-sub simple. +* [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go * [gopush-cluster](https://github.com/Terry-Mao/gopush-cluster) - gopush-cluster is a go push server cluster. * [gorush](https://github.com/appleboy/gorush) - A push notification server using [APNs2](https://github.com/sideshow/apns2) and google [GCM](https://github.com/google/go-gcm). * [guble](https://github.com/smancke/guble) - A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. @@ -693,6 +700,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [secdl](https://github.com/xor-gate/secdl) - Lighttpd ModSecDownload algorithm ported to go to secure download urls. * [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... * [uuid](https://github.com/agext/uuid) - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. +* [VarHandler](https://github.com/azr/generators/tree/master/varhandler) - Generate boilerplate http input and ouput handling. * [werr](https://github.com/txgruppi/werr) - Error Wrapper creates an wrapper for the error type in Go which captures the File, Line and Stack of where it was called. * [xkg](https://github.com/go-xkg/xkg) - X Keyboard Grabber * [xstrings](https://github.com/huandu/xstrings) - A collection of useful string functions ported from other languages. @@ -1219,63 +1227,58 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Full stack web frameworks.* * [Air](https://github.com/sheng/air) - An ideal RESTful web framework for Go. -* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space * [Beego](https://github.com/astaxie/beego) - beego is an open-source, high-performance web framework for the Go programming language. -* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. * [Buffalo](http://gobuffalo.io) - Bringing the productivity of Rails to Go! -* [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. -* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. * [Echo](https://github.com/labstack/echo) - High performance, minimalist Go web framework. -* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [Fireball](https://github.com/zpatrick/fireball) - A more "natural" feeling web framework. * [Florest](https://github.com/jabong/florest-core) - High-performance workflow based REST API framework * [Gem](https://github.com/go-gem/gem) - A simple and fast web framework, friendly to REST API. * [Gin](https://github.com/gin-gonic/gin) - Gin is a web framework written in Go! It features a martini-like API with much better performance, up to 40 times faster. If you need performance and good productivity. * [Gizmo](https://github.com/NYTimes/gizmo) - Microservice toolkit used by the New York Times. -* [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io). * [go-json-rest](https://github.com/ant0ine/go-json-rest) - A quick and easy way to setup a RESTful JSON API. -* [go-kit](https://github.com/go-kit/kit) - A Microservice toolkit with support for service discovery, load balancing, pluggable transports, request tracking, etc. * [go-relax](https://github.com/codehack/go-relax) - A framework of pluggable components to build RESTful API's. * [go-rest](https://github.com/ungerik/go-rest) - A small and evil REST framework for Go. -* [go-socket.io](https://github.com/googollee/go-socket.io) - socket.io library for golang, a realtime application framework. * [goa](https://github.com/raphael/goa) - Framework for developing microservices based on the design of Ruby's Praxis. * [Goat](https://github.com/bahlo/goat) - A minimalistic REST API server in Go. -* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. -* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. * [Golf](https://github.com/dinever/golf) - Golf is a fast, simple and lightweight micro-web framework for Go. It comes with powerful features and has no dependencies other than the Go Standard Library. -* [golongpoll](https://github.com/jcuga/golongpoll) - HTTP longpoll server library that makes web pub-sub simple. * [Gondola](https://github.com/rainycape/gondola) - The web framework for writing faster sites, faster * [gongular](https://github.com/mustafaakin/gongular) - A fast Go web framework with input mapping/validation and (DI) Dependency Injection -* [goose](https://github.com/ian-kent/goose) - Server Sent Events in Go -* [Gorilla](https://github.com/gorilla/) - Gorilla is a web toolkit for the Go programming language. -* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. -* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. -* [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. * [Macaron](https://github.com/go-macaron/macaron) - Macaron is a high productive and modular design web framework in Go. * [mango](https://github.com/paulbellamy/mango) - Mango is a modular web-application framework for Go, inspired by Rack, and PEP333. -* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. * [Microservice](https://github.com/claygod/microservice) - The framework for the creation of microservices, written in Golang. -* [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. * [neo](https://github.com/ivpusic/neo) - Neo is minimal and fast Go Web Framework with extremely simple API. -* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - A high-performance HTTP router and Web framework supporting routes with regular expressions. Comes with full support for quickly building a RESTful API application. -* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. * [Resoursea](https://github.com/resoursea/api) - A REST framework for quickly writing resource based services. * [REST Layer](http://rest-layer.io) - A framework to build REST/GraphQL API on top of databases with mostly configuration over code. * [Revel](https://github.com/revel/revel) - A high-productivity web framework for the Go language. * [rex](https://github.com/goanywhere/rex) - Rex is a library for modular development built upon gorilla/mux, fully compatible with `net/http`. * [sawsij](http://sawsij.com/) - lightweight, open-source web framework for building high-performance, data-driven web applications. -* [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE). -* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers * [tango](https://github.com/lunny/tango) - Micro & pluggable web framework for Go. * [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard * [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for Go. * [utron](https://github.com/gernest/utron) - A lightweight MVC framework for Go(Golang). -* [VarHandler](https://github.com/azr/generators/tree/master/varhandler) - Generate boilerplate http input and ouput handling. -* [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. -* [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. -* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. * [YARF](https://github.com/yarf-framework/yarf) - Fast micro-framework designed to build REST APIs and web services in a fast and simple way. * [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. + + +### Routers + +* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space +* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. +* [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. +* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. +* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. +* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. +* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. +* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. +* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. +* [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. +* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. +* [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. +* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. +* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. +* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers +* [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. +* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. * [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. @@ -1302,6 +1305,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [render](https://github.com/unrolled/render) - Go package for easily rendering JSON, XML, and HTML template responses. * [rye](https://github.com/InVisionApp/rye) - Tiny Go middleware library (with canned Middlewares) that supports JWT, CORS, Statsd, and Go 1.7 context * [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. +* [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. # Tools From 5bb992cb088f7e46a20c033a680f4d1a98832e2c Mon Sep 17 00:00:00 2001 From: Dean Karn Date: Fri, 28 Apr 2017 09:40:01 -0400 Subject: [PATCH 312/403] Correct Routers Section Alpha --- README.md | 47 ++++++++++++++++++++++++----------------------- 1 file changed, 24 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 37f4abe4..425a6858 100644 --- a/README.md +++ b/README.md @@ -60,10 +60,10 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Version Control](#version-control) - [Video](#video) - [Web Frameworks](#web-frameworks) - - [Routers](#routers) - [Middlewares](#middlewares) - [Actual middlewares](#actual-middlewares) - [Libraries for creating HTTP middlewares](#libraries-for-creating-http-middlewares) + - [Routers](#routers) - [Windows](#windows) - [Tools](#tools) @@ -1260,28 +1260,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. -### Routers - -* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space -* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. -* [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. -* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. -* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. -* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. -* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. -* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. -* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. -* [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. -* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. -* [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. -* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. -* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. -* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers -* [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. -* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. -* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. - - ### Middlewares #### Actual middlewares @@ -1307,6 +1285,29 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. * [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. + +### Routers + +* [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space +* [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. +* [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. +* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. +* [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. +* [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. +* [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. +* [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. +* [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. +* [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. +* [medeina](https://github.com/imdario/medeina) - Medeina is a HTTP routing tree based on HttpRouter, inspired by Roda and Cuba. +* [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. +* [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. +* [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. +* [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers +* [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. +* [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. +* [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. + + # Tools Go software and plugins. From 3e71fc5e276ddbc05615e8925c8624ec432f99f5 Mon Sep 17 00:00:00 2001 From: Dean Karn Date: Fri, 28 Apr 2017 11:56:23 -0400 Subject: [PATCH 313/403] Add pure http router (#1397) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 425a6858..0962ec04 100644 --- a/README.md +++ b/README.md @@ -1302,6 +1302,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [mux](https://github.com/gorilla/mux) - A powerful URL router and dispatcher for golang. * [ozzo-routing](https://github.com/go-ozzo/ozzo-routing) - An extremely fast Go (golang) HTTP router that supports regular expression route matching. Comes with full support for building RESTful APIs. * [pat](https://github.com/bmizerany/pat) - Sinatra style pattern muxer for Go’s net/http library, by the author of Sinatra. +* [pure](https://github.com/go-playground/pure) - Is a lightweight HTTP router that sticks to the std "net/http" implementation * [Siesta](https://github.com/VividCortex/siesta) - Composable framework to write middleware and handlers * [vestigo](https://github.com/husobee/vestigo) - A performant, stand-alone, HTTP compliant URL Router for go web applications. * [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. From d8187ece717d602ac8518c0b4c9600d0365ee705 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Michal=20=C5=A0trba?= Date: Fri, 28 Apr 2017 18:08:48 +0200 Subject: [PATCH 314/403] Add Pixel (Game Development) package. (#1395) A hand-crafted 2D game library in Go. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0962ec04..ad6313df 100644 --- a/README.md +++ b/README.md @@ -486,6 +486,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go3d](https://github.com/ungerik/go3d) - A performance oriented 2D/3D math package for Go * [gonet](https://github.com/xtaci/gonet) - A game server skeleton implemented with golang * [Leaf](https://github.com/name5566/leaf) - A lightweight game server framework +* [Pixel](https://github.com/faiface/pixel) - A hand-crafted 2D game library in Go * [raylib-go](https://github.com/gen2brain/raylib-go) - Go bindings for [raylib](http://www.raylib.com/), a simple and easy-to-use library to learn videogames programming. * [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox From 1f94a609ff4cc3083cdaae29968a272a2ae18f65 Mon Sep 17 00:00:00 2001 From: Brian Voelker Date: Fri, 28 Apr 2017 20:26:52 -0500 Subject: [PATCH 315/403] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ad6313df..9df83d01 100644 --- a/README.md +++ b/README.md @@ -690,6 +690,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [go-unarr](https://github.com/gen2brain/go-unarr) - Decompression library for RAR, TAR, ZIP and 7z archives. * [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. +* [gofakeit](https://github.com/brianvoe/gofakeit) - Random data generator written in go * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS * [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. From 1e035fed53336148a5f1e811629bfef176570aeb Mon Sep 17 00:00:00 2001 From: Stefan Nilsson Date: Mon, 1 May 2017 19:13:30 +0200 Subject: [PATCH 316/403] Add githut.com/yourbasic/graph (#1399) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9df83d01..fb693314 100644 --- a/README.md +++ b/README.md @@ -873,6 +873,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gonum/plot](https://github.com/gonum/plot) - gonum/plot provides an API for building and drawing plots in Go. * [goraph](https://github.com/gyuho/goraph) - A pure Go graph theory library(data structure, algorith visualization) * [gostat](https://github.com/ematvey/gostat) - A statistics library for the go language +* [graph](https://github.com/yourbasic/graph) - A library of basic graph algorithms * [ode](https://github.com/ChristopherRabotin/ode) - An ordinary differential equation (ODE) solver which supports extended states and channel-based iteration stop conditions. * [pagerank](https://github.com/alixaxel/pagerank) - Weighted PageRank algorithm implemented in Go * [PiHex](https://github.com/claygod/PiHex) - Implementation of the "Bailey-Borwein-Plouffe" algorithm for the hexadecimal number Pi From 52771083ee955fc4f264ebc30bb80b6cf2adf4ea Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Mon, 1 May 2017 18:53:00 -0300 Subject: [PATCH 317/403] recommendation new coverage runner cover.run (#1400) * recommendation new coverage runner cover.run Shows how many percent that covered the package * added link all covers sites --- .github/PULL_REQUEST_TEMPLATE.md | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 8c1dadd7..de01c8b3 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,11 +1,13 @@ Please check if what you want to add to `awesome-go` list meets [quality standards](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard) before sending pull request. Thanks! **Please provide package links to:** -- github.com repo: -- godoc.org: -- goreportcard.com: -- coverage service link (gocover, coveralls etc.): +- github.com repo: +- godoc.org: +- goreportcard.com: +- coverage service link ([cover.run](https://cover.run/), [gocover](http://gocover.io/), [coveralls](https://coveralls.io/) etc.), example: `![cover.run go](https://cover.run/go/github.com/user/repository.svg)` + +Very good coverage **Note**: that new categories can be added only when there are 3 packages or more. From 94aeb5753ae6c04b8f6a539dfab455a3f2204ec3 Mon Sep 17 00:00:00 2001 From: Minjie Zha Date: Mon, 1 May 2017 14:54:39 -0700 Subject: [PATCH 318/403] Add alice (#1392) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index fb693314..7162762d 100644 --- a/README.md +++ b/README.md @@ -674,6 +674,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *These libraries were placed here because none of the other categories seemed to fit* +* [alice](https://github.com/magic003/alice) - An additive dependency injection container for Golang. * [archiver](https://github.com/mholt/archiver) - Library and command for making and extracting .zip and .tar.gz archives * [autoflags](https://github.com/artyom/autoflags) - Go package to automatically define command line flags from struct fields. * [banner](https://github.com/dimiro1/banner) - Add beautiful banners into your Go applications. From bd21d06703d855729c23bb847e5a873649775fd4 Mon Sep 17 00:00:00 2001 From: Johnny Boursiquot Date: Wed, 3 May 2017 09:20:18 -0400 Subject: [PATCH 319/403] Add Capital Go conference. (#1402) A Go conference in Washington, D.C., USA. Next one is on April 24-25. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7162762d..35702ff7 100644 --- a/README.md +++ b/README.md @@ -1489,6 +1489,7 @@ Where to discover new Go libraries. ## Conferences +* [Capital Go](http://www.capitalgolang.com) - Washington, D.C., USA * [dotGo](http://www.dotgo.eu) - Paris, France * [GoCon](http://gocon.connpass.com/) - Tokyo, Japan * [GolangUK](http://golanguk.com/) - London, UK From 305a5e33550a2a4afd6c6026f026114b69b00209 Mon Sep 17 00:00:00 2001 From: Thiago Avelino Date: Thu, 4 May 2017 03:08:51 -0300 Subject: [PATCH 320/403] Add Beerpay's badge --- README.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/README.md b/README.md index 35702ff7..d103acc2 100644 --- a/README.md +++ b/README.md @@ -1559,3 +1559,8 @@ Where to discover new Go libraries. * [d3d9](https://github.com/gonutz/d3d9) - Go bindings for Direct3D9 * [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang. + +## Support on Beerpay +Hey dude! Help me out for a couple of :beers:! + +[![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) \ No newline at end of file From 686f8333e5ded14ac5b239e0881a30e98a084efa Mon Sep 17 00:00:00 2001 From: Adam Hanna Date: Thu, 4 May 2017 10:19:32 -0700 Subject: [PATCH 321/403] added github.com/adam-hanna/sessions --- README.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index d103acc2..9a8d6a88 100644 --- a/README.md +++ b/README.md @@ -127,6 +127,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. * [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. * [session](https://github.com/icza/session) - Go session management for web servers (including support for Google App Engine - GAE). +* [sessions](https://github.com/adam-hanna/sessions) - A dead simple, highly performant, highly customizable sessions service for go http servers. * [traefik](https://github.com/containous/traefik) - A reverse proxy and load balancer with support for multiple backends. * [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. @@ -365,7 +366,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [carbon](https://github.com/uniplaces/carbon) - A simple Time extension with a lot of util methods, ported from PHP Carbon library. * [durafmt](https://github.com/hako/durafmt) - A time duration formatting library for Go. -* [feiertage](https://github.com/wlbr/feiertage) - A set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecoast, Thanksgiving... +* [feiertage](https://github.com/wlbr/feiertage) - A set of functions to calculate public holidays in Germany, incl. specialization on the states of Germany (Bundesländer). Things like Easter, Pentecoast, Thanksgiving... * [go-persian-calendar](https://github.com/yaa110/go-persian-calendar) - The implementation of the Persian (Solar Hijri) Calendar in Go (golang). * [goweek](https://github.com/grsmv/goweek) - Library for working with week entity in golang. * [now](https://github.com/jinzhu/now) - Now is a time toolkit for golang. @@ -424,7 +425,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [agora](https://github.com/PuerkitoBio/agora) - Dynamically typed, embeddable programming language in Go * [anko](https://github.com/mattn/anko) - Scriptable interpreter written in Go -* [binder](https://github.com/alexeyco/binder) - Go to Lua binding library, based on [gopher-lua](https://github.com/yuin/gopher-lua) +* [binder](https://github.com/alexeyco/binder) - Go to Lua binding library, based on [gopher-lua](https://github.com/yuin/gopher-lua) * [gisp](https://github.com/jcla1/gisp) - Simple LISP in Go * [go-duktape](https://github.com/olebedev/go-duktape) - Duktape JavaScript engine bindings for Go * [go-lua](https://github.com/Shopify/go-lua) - A port of the Lua 5.2 VM to pure Go @@ -1120,7 +1121,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [excelize](https://github.com/Luxurioust/excelize) - Golang library for reading and writing Microsoft Excel (XLSX) files. * [fastlz](https://github.com/digitalcrab/fastlz) - Wrap over [FastLz](http://fastlz.org/) (free, open-source, portable real-time compression library) for GoLang. * [filetype](https://github.com/h2non/filetype) - Small package to infer the file type checking the magic numbers signature. -* [filler](https://github.com/yaronsumel/filler) - small utility to fill structs using "fill" tag. +* [filler](https://github.com/yaronsumel/filler) - small utility to fill structs using "fill" tag. * [fzf](https://github.com/junegunn/fzf) - A command-line fuzzy finder written in Go * [generate](https://github.com/go-playground/generate) - runs go generate recursively on a specified path or environment variable and can filter by regex. * [gentleman](https://github.com/h2non/gentleman) - Full-featured plugin-driven HTTP client library. @@ -1176,7 +1177,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. * [pm](https://github.com/VividCortex/pm) - Process (i.e. goroutine) manager with an HTTP API. * [profile](https://github.com/pkg/profile) - Simple profiling support package for Go. -* [rclient](https://github.com/zpatrick/rclient) - Readable, flexible, simple-to-use client for REST APIs. +* [rclient](https://github.com/zpatrick/rclient) - Readable, flexible, simple-to-use client for REST APIs. * [realize](https://github.com/tockins/realize) - Go build system with file watchers and live reload. Run, build and watch file changes with custom paths. * [request](https://github.com/mozillazg/request) - Go HTTP Requests for Humans™. * [rerate](https://github.com/abo/rerate) - Redis-based rate counter and rate limiter for Go. @@ -1563,4 +1564,4 @@ Where to discover new Go libraries. ## Support on Beerpay Hey dude! Help me out for a couple of :beers:! -[![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) \ No newline at end of file +[![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) From 2e9045bc567b159788726ae06f88eab56c7713ea Mon Sep 17 00:00:00 2001 From: Mehrdad Arshad Rad Date: Fri, 5 May 2017 10:38:51 -0700 Subject: [PATCH 322/403] vFlow updated, I added netflow protocol feature to vFlow. (#1405) --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index d103acc2..6ebf6d9d 100644 --- a/README.md +++ b/README.md @@ -1454,7 +1454,7 @@ Software written in Go. * [toto](https://github.com/blogcin/ToTo) - A simple proxy server written in Go language, can be used together with browser. * [toxiproxy](https://github.com/shopify/toxiproxy) - Proxy to simulate network and system conditions for automated tests. * [tsuru](https://tsuru.io/) - An extensible and open source Platform as a Service software. -* [vFlow](https://github.com/VerizonDigital/vflow) - High-performance, scalable and reliable IPFIX and sFlow collector. +* [vFlow](https://github.com/VerizonDigital/vflow) - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector. * [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart). * [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass). * [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags. @@ -1563,4 +1563,4 @@ Where to discover new Go libraries. ## Support on Beerpay Hey dude! Help me out for a couple of :beers:! -[![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) \ No newline at end of file +[![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) From 974afea4ce765ff6b59fb25385e3dfb87e162061 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Fri, 5 May 2017 10:49:51 -0700 Subject: [PATCH 323/403] Add hub (#1381) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6ebf6d9d..e2691fd2 100644 --- a/README.md +++ b/README.md @@ -1155,6 +1155,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [grequests](https://github.com/levigross/grequests) - An elegant and simple `net/http` wrapper that follows Python's requests library * [htcat](https://github.com/htcat/htcat) - Parallel and Pipelined HTTP GET Utility * [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. +* [hub](https://github.com/github/hub) - wrap git commands with additional functionality to interact with github from the terminal. * [hystrix-go](https://github.com/afex/hystrix-go) - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. * [JobRunner](https://github.com/bamzi/jobrunner) - Smart and featureful cron job scheduler with job queuing and live monitoring built in. * [jsonapi-errors](https://github.com/AmuzaTkts/jsonapi-errors) - Go bindings based on the JSON API errors reference. From e18445dc33e13a01489eb91715fa57f0871d857a Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Fri, 5 May 2017 10:51:24 -0700 Subject: [PATCH 324/403] Add ctop (#1378) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e2691fd2..88ca2d28 100644 --- a/README.md +++ b/README.md @@ -1113,6 +1113,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [command](https://github.com/txgruppi/command) - Command pattern for Go with thread safe serial and parallel dispatcher * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. * [copy-pasta](https://github.com/jutkko/copy-pasta) - Universal multi-workstation clipboard that uses S3 like backend for the storage. +* [ctop](https://github.com/bcicen/ctop) - [Top-like](http://ctop.sh) interface (e.g. htop) for container metrics. * [Death](https://github.com/vrecan/death) - Managing go application shutdown with signals. * [Deepcopier](https://github.com/ulule/deepcopier) - Simple struct copying for Go. * [delve](https://github.com/derekparker/delve) - Go debugger. From 2d264cab0c5edc5587174a49bd50cbaf2f1941c3 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Fri, 5 May 2017 10:52:18 -0700 Subject: [PATCH 325/403] Add gojson (#1380) * Add gojson * Fix gojson alpha order --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 88ca2d28..2e95d7bd 100644 --- a/README.md +++ b/README.md @@ -1144,6 +1144,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. * [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. * [gojq](https://github.com/elgs/gojq) - JSON query in Golang. +* [gojson](https://github.com/ChimeraCoder/gojson) - Automatically generate Go (golang) struct definitions from example JSON. * [golarm](https://github.com/msempere/golarm) - Fire alarms with system events. * [golog](https://github.com/mlimaloureiro/golog) - Easy and lightweight CLI tool to time track your tasks. * [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. From 4db4b9472b8cc431560ac3c87163cc2257043c48 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Fri, 5 May 2017 10:52:54 -0700 Subject: [PATCH 326/403] Add mmake (#1379) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2e95d7bd..afd79898 100644 --- a/README.md +++ b/README.md @@ -1168,6 +1168,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. * [mergo](https://github.com/imdario/mergo) - A helper to merge structs and maps in Golang. Useful for configuration default values, avoiding messy if-statements. * [minify](https://github.com/tdewolff/minify) - Fast minifiers for HTML, CSS, JS, XML, JSON and SVG file formats. +* [mmake](https://github.com/tj/mmake) - Modern Make. * [moldova](https://github.com/StabbyCutyou/moldova) - A utility for generating random data based on an input template. * [mp](https://github.com/sanbornm/mp) - A simple cli email parser. It currently takes stdin and outputs JSON. * [multitick](https://github.com/VividCortex/multitick) - Multiplexor for aligned tickers. From 8b09757409d200a4d1a9165de2fc7d744a5aede5 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Fri, 5 May 2017 10:54:26 -0700 Subject: [PATCH 327/403] Add usql (#1377) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index afd79898..0d26a469 100644 --- a/README.md +++ b/README.md @@ -1196,6 +1196,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Task](https://github.com/go-task/task) - simple "Make" alternative * [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. * [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. +* [usql](https://github.com/knq/usql) - usql is a universal command-line interface for SQL databases. * [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. From 26f5142e274fd6da415f96224a8ce06aaca99b45 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Fri, 5 May 2017 10:55:13 -0700 Subject: [PATCH 328/403] Add goreporter (#1376) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0d26a469..e36631f8 100644 --- a/README.md +++ b/README.md @@ -1150,6 +1150,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gopencils](https://github.com/bndr/gopencils) - Small and simple package to easily consume REST APIs. * [goplaceholder](https://github.com/michiwend/goplaceholder) - a small golang lib to generate placeholder images. * [goreleaser](https://github.com/goreleaser/goreleaser) - Deliver Go binaries as fast and easily as possible +* [goreporter](https://github.com/wgliang/goreporter) - A Golang tool that does static analysis, unit testing, code review and generate code quality report. * [goreq](https://github.com/franela/goreq) - Minimal and simple request library for Go language. * [goreq](https://github.com/smallnest/goreq) - An enhanced simplified HTTP client based on gorequest. * [gorequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features for Go. From f2a8475117733fe22734f9df8eaecebe75728641 Mon Sep 17 00:00:00 2001 From: Lanre Adelowo Date: Fri, 5 May 2017 21:53:21 +0100 Subject: [PATCH 329/403] Added onecache --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7392ab8b..f93fdb1e 100644 --- a/README.md +++ b/README.md @@ -1177,6 +1177,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [netbug](https://github.com/e-dard/netbug) - Easy remote profiling of your services. * [ngrok](https://github.com/inconshreveable/ngrok) - Introspected tunnels to localhost. * [okrun](https://github.com/xta/okrun) - go run error steamroller. +* [onecache](https://github.com/adelowo/onecache) - A caching library with support for multiple backend stores (Redis, Memcached, filesystem etc) * [panicparse](https://github.com/maruel/panicparse) - Groups similar goroutines and colorizes stack dump. * [peco](https://github.com/peco/peco) - Simplistic interactive filtering tool. * [pester](https://github.com/sethgrid/pester) - Go HTTP client calls with retries, backoff, and concurrency. From 889b68cdaac3d398ef1824e8c1486314313b9c9a Mon Sep 17 00:00:00 2001 From: esemplastic Date: Sat, 6 May 2017 20:56:00 +0300 Subject: [PATCH 330/403] Add UNIS, the modern architecture pattern for string utilities Current Test Cov: 79% Build Passing: true Awesome Badge: true --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7392ab8b..90869679 100644 --- a/README.md +++ b/README.md @@ -1198,6 +1198,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Task](https://github.com/go-task/task) - simple "Make" alternative * [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. * [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. +* [UNIS](https://github.com/esemplastic/unis) - A Common Architecture™ for String Utilities in Go. * [usql](https://github.com/knq/usql) - usql is a universal command-line interface for SQL databases. * [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. From 934ad02cba5ce3f0b5fef929a354d52d5775ef80 Mon Sep 17 00:00:00 2001 From: Peter Benjamin Date: Sun, 7 May 2017 08:00:11 -0700 Subject: [PATCH 331/403] Add wuzz (#1375) * feat: add wuzz * Fix wuzz location --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7392ab8b..a3d8abe7 100644 --- a/README.md +++ b/README.md @@ -1199,6 +1199,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [toolbox](https://github.com/viant/toolbox) - Slice, map, multimap, struct, function, data conversion utilities. Service router, macro evaluator, tokenizer. * [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. * [usql](https://github.com/knq/usql) - usql is a universal command-line interface for SQL databases. +* [wuzz](https://github.com/asciimoo/wuzz) - Interactive cli tool for HTTP inspection. * [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. From 39c8a077b2693224c2231f737be10b1ea13e010a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20L=C3=B3pez?= Date: Sun, 7 May 2017 17:51:23 +0200 Subject: [PATCH 332/403] KrakenD framework added (#1348) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a3d8abe7..abddc416 100644 --- a/README.md +++ b/README.md @@ -389,6 +389,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [hprose](https://github.com/hprose/hprose-golang) - A very newbility RPC Library, support 25+ languages now. * [jsonrpc](https://github.com/osamingo/jsonrpc) - The jsonrpc package helps implement of JSON-RPC 2.0. * [jsonrpc](https://github.com/ybbus/jsonrpc) - A JSON-RPC 2.0 HTTP client implementation +* [KrakenD](https://github.com/devopsfaith/krakend) - Ultra performant API Gateway framework with middlewares. * [micro](https://github.com/micro/micro) - A pluggable microservice toolkit and distributed systems platform. * [NATS](https://github.com/nats-io/gnatsd) - A lightweight, high performance messaging system for microservices, IoT, and cloud native systems. * [raft](https://github.com/hashicorp/raft) - Golang implementation of the Raft consensus protocol, by HashiCorp. From 948d0786879312334e89357585e7819435543d5e Mon Sep 17 00:00:00 2001 From: Guillaume de Sagazan Date: Sun, 7 May 2017 19:32:11 +0200 Subject: [PATCH 333/403] add JayDiff (#1401) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index abddc416..c86839f4 100644 --- a/README.md +++ b/README.md @@ -1442,6 +1442,7 @@ Software written in Go. * [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer. * [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine. * [ipe](https://github.com/dimiro1/ipe) - An open source Pusher server implementation compatible with Pusher client libraries written in GO. +* [JayDiff](https://github.com/yazgazan/jaydiff) - A JSON diff utility written in Go. * [Juju](https://jujucharms.com/) - Cloud-agnostic service deployment and orchestration - supports EC2, Azure, Openstack, MAAS and more. * [limetext](http://limetext.org/) Lime Text is a powerful and elegant text editor primarily developed in Go that aims to be a Free and open-source software successor to Sublime Text. * [LiteIDE](https://github.com/visualfc/liteide) LiteIDE is a simple, open source, cross-platform Go IDE. From 1e76e208bacd493d8f3c1bda28cf4b8cecac1bb9 Mon Sep 17 00:00:00 2001 From: Quentin Renard Date: Sun, 7 May 2017 19:32:58 +0200 Subject: [PATCH 334/403] Add go-astilectron (#1403) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c86839f4..eafff7ac 100644 --- a/README.md +++ b/README.md @@ -531,6 +531,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for building GUI Applications* * [app](https://github.com/murlokswarm/app) - Package to create apps with GO, HTML and CSS. +* [go-astilectron](https://github.com/asticode/go-astilectron) - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron) * [go-gtk](http://mattn.github.io/go-gtk/) - Go bindings for GTK * [go-qml](https://github.com/go-qml/qml) - QML support for the Go language * [go-sciter](https://github.com/sciter-sdk/go-sciter) - Go bindings for Sciter: the Embeddable HTML/CSS/script engine for modern desktop UI development. From 81ad7e5157fa6022fd74374e4deb0b432cff1ecf Mon Sep 17 00:00:00 2001 From: Ben Gadbois Date: Sun, 7 May 2017 11:38:29 -0700 Subject: [PATCH 335/403] Removing EasySSH (#1359) --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index eafff7ac..69a5855d 100644 --- a/README.md +++ b/README.md @@ -1394,7 +1394,6 @@ Software written in Go. * [drone-jenkins](https://github.com/appleboy/drone-jenkins) - Trigger downstream Jenkins jobs using a binary, docker or Drone CI. * [drone-scp](https://github.com/appleboy/drone-scp) - Copy files and artifacts via SSH using a binary, docker or Drone CI. * [Dropship](https://github.com/chrismckenzie/dropship) - A tool for deploying code via cdn. -* [EasySSH](https://github.com/hypersleep/easyssh) - Golang package for easy remote execution through SSH and SCP downloading. * [easyssh-proxy](https://github.com/appleboy/easyssh-proxy) - Golang package for easy remote execution through SSH and SCP downloading via `ProxyCommand`. * [Gitea](https://github.com/go-gitea/gitea) - A fork of Gogs, entirely community driven. * [Go Metrics](https://github.com/rcrowley/go-metrics) - Go port of Coda Hale's Metrics library: https://github.com/codahale/metrics. From 35f2078870a781de7d20888cf39edeafe4df15be Mon Sep 17 00:00:00 2001 From: Danny van Kooten Date: Sun, 7 May 2017 22:32:13 +0200 Subject: [PATCH 336/403] add grender (#1358) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 69a5855d..33fc20aa 100644 --- a/README.md +++ b/README.md @@ -936,6 +936,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [ego](https://github.com/benbjohnson/ego) - A lightweight templating language that lets you write templates in Go. Templates are translated into Go and compiled. * [fasttemplate](https://github.com/valyala/fasttemplate) - Simple and fast template engine. Substitutes template placeholders up to 10x faster than [text/template](http://golang.org/pkg/text/template/). * [gofpdf](https://github.com/jung-kurt/gofpdf) - A PDF document generator with high level support for text, drawing and images. +* [grender](https://github.com/dannyvankooten/grender) - small wrapper around html/template for file-based templates that support extending other template files * [hero](https://github.com/shiyanhui/hero) Hero is a handy, fast and powerful go template engine. * [jet](https://github.com/CloudyKit/jet) - Jet template engine * [kasia.go](https://github.com/ziutek/kasia.go) - Templating system for HTML and other text documents - go implementation. From 97b8af972780af22ea92d2853b7fc55141962f7a Mon Sep 17 00:00:00 2001 From: Vasiliy Toporov Date: Sun, 7 May 2017 23:32:35 +0300 Subject: [PATCH 337/403] Add section about Go packages for the IoT. (#1357) --- README.md | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/README.md b/README.md index 33fc20aa..afc798f1 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [GUI](#gui) - [Hardware](#hardware) - [Images](#images) + - [IoT](#iot-internet-of-things) - [Logging](#logging) - [Machine Learning](#machine-learning) - [Messaging](#messaging) @@ -580,6 +581,19 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [svgo](https://github.com/ajstarks/svgo) - Go Language Library for SVG generation. * [tga](https://github.com/ftrvxmtrx/tga) - Package tga is a TARGA image format decoder/encoder. +## IoT (Internet of Things) + +*Libraries for programming devices of the IoT.* + +* [connectordb](https://github.com/connectordb/connectordb) - An Open-Source Platform for Quantified Self & IoT. +* [devices](https://github.com/goiot/devices) - Suite of libraries for IoT devices, experimental for x/exp/io. +* [eywa](https://github.com/xcodersun/eywa) - Project Eywa is essentially a connection manager that keeps track of connected devices. +* [flogo](https://github.com/tibcosoftware/flogo) - Project Flogo is an Open Source Framework for IoT Edge Apps & Integration. +* [gatt](https://github.com/paypal/gatt) - Gatt is a Go package for building Bluetooth Low Energy peripherals. +* [gobot](https://github.com/hybridgroup/gobot/) - Gobot is a framework for robotics, physical computing, and the Internet of Things. +* [mainflux](https://github.com/Mainflux/mainflux) - Industrial IoT Messaging and Device Management Server. +* [sensorbee](https://github.com/sensorbee/sensorbee) - Lightweight stream processing engine for IoT. + ## Logging *Libraries for generating and working with log files.* From 6bdef3bd09bb195ab182ad4eb4f89c5c75f33ac1 Mon Sep 17 00:00:00 2001 From: zhengchun Date: Mon, 8 May 2017 04:32:57 +0800 Subject: [PATCH 338/403] add xquery package (#1351) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index afc798f1..aa6d15f9 100644 --- a/README.md +++ b/README.md @@ -1046,6 +1046,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. * [Slugify](https://github.com/avelino/slugify) - A Go slugify application that handles string. * [toml](https://github.com/BurntSushi/toml) - TOML configuration format (encoder/decoder with reflection). + * [xquery](https://github.com/antchfx/xquery) - XQuery lets you extract data from HTML/XML documents using XPath expression. * Utility * [gotabulate](https://github.com/bndr/gotabulate) - Easily pretty-print your tabular data with Go. * [kace](https://github.com/codemodus/kace) - Common case conversions covering common initialisms. From 59b6c37e2063c0912f53b2562227750e40575526 Mon Sep 17 00:00:00 2001 From: emersion Date: Sun, 7 May 2017 22:35:04 +0200 Subject: [PATCH 339/403] Update README.md (#1339) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index aa6d15f9..be821e23 100644 --- a/README.md +++ b/README.md @@ -1032,6 +1032,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. * [go-slugify](https://github.com/mozillazg/go-slugify) - Make pretty slug with multiple languages support. + * [go-vcard](https://github.com/emersion/go-vcard) - Parse and format vCard * [gofeed](https://github.com/mmcdole/gofeed) - Parse RSS and Atom feeds in Go * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. * [gommon/bytes](https://github.com/labstack/gommon/tree/master/bytes) - Format bytes to string. From a3ee37fab08b8c4e80fb2cc7c048bf5f5ce1ef44 Mon Sep 17 00:00:00 2001 From: Evgeny Ukhanov Date: Sun, 7 May 2017 23:37:50 +0300 Subject: [PATCH 340/403] add go-benchmark-app - HTTP benchmark tool (#1319) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index be821e23..96d7203e 100644 --- a/README.md +++ b/README.md @@ -1500,6 +1500,7 @@ Where to discover new Go libraries. ## Benchmarks * [autobench](https://github.com/davecheney/autobench) - Framework to compare the performance between different Go versions. +* [go-benchmark-app](https://github.com/mrLSD/go-benchmark-app) - Powerful HTTP-benchmark tool mixed with Аb, Wrk, Siege tools. Gathering statistics and various parameters for benchmarks and comparison results. * [go-benchmarks](https://github.com/tylertreat/go-benchmarks) - A few miscellaneous Go microbenchmarks. Compare some language features to alternative approaches. * [go-http-routing-benchmark](https://github.com/julienschmidt/go-http-routing-benchmark) - Go HTTP request router benchmark and comparison. * [go-type-assertion-benchmark](https://github.com/hgfischer/go-type-assertion-benchmark) - Naive performance test of two ways to do type assertion in Go. From 66feb3b0abba6a5b63b82d8cb4eacab04b1a238a Mon Sep 17 00:00:00 2001 From: Stefan Nilsson Date: Mon, 8 May 2017 12:56:03 +0200 Subject: [PATCH 341/403] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 96d7203e..476a6ff2 100644 --- a/README.md +++ b/README.md @@ -227,6 +227,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [binpacker](https://github.com/zhuangsirui/binpacker) - Binary packer and unpacker helps user build custom binary stream. * [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. * [bloom](https://github.com/zhenjl/bloom) - Bloom filters implemented in Go. +* [bloom](https://github.com/yourbasic/bloom) - Golang Bloom filter implementation. * [boomfilters](https://github.com/tylertreat/BoomFilters) - Probabilistic data structures for processing continuous, unbounded streams * [count-min-log](https://github.com/seiflotfy/count-min-log) - A Go implementation Count-Min-Log sketch: Approximately counting with approximate counters (Like Count-Min sketch but using less memory). * [cuckoofilter](https://github.com/seiflotfy/cuckoofilter) - Cuckoo filter: a good alternative to a counting bloom filter implemented in Go. From 741527f9be651e6852e0b47f354b7580ccabab56 Mon Sep 17 00:00:00 2001 From: Joseph Kato Date: Fri, 12 May 2017 17:56:31 -0700 Subject: [PATCH 342/403] Add prose (#1417) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 7b47b6d6..70fb54d6 100644 --- a/README.md +++ b/README.md @@ -747,6 +747,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [paicehusk](https://github.com/rookii/paicehusk) - Golang implementation of the Paice/Husk Stemming Algorithm * [porter](https://github.com/a2800276/porter) - This is a fairly straightforward port of Martin Porter's C implementation of the Porter stemming algorithm. * [porter2](https://github.com/zhenjl/porter2) - Really fast Porter 2 stemmer. +* [prose](https://github.com/jdkato/prose) - A library for text processing that supports tokenization, part-of-speech tagging, named-entity extraction, and more. * [RAKE.go](https://github.com/Obaied/RAKE.go) - A Go port of the Rapid Automatic Keyword Extraction Algorithm (RAKE) * [segment](https://github.com/blevesearch/segment) - A Go library for performing Unicode Text Segmentation as described in [Unicode Standard Annex #29](http://www.unicode.org/reports/tr29/) * [sentences](https://github.com/neurosnap/sentences) - A sentence tokenizer: converts text into a list of sentences. From 2113978b8a3bc35b7afe3d378f7cfafc1e63074b Mon Sep 17 00:00:00 2001 From: Avelino Date: Sat, 13 May 2017 12:58:29 -0300 Subject: [PATCH 343/403] create codeclimate file code analytic --- .codeclimate.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 .codeclimate.yml diff --git a/.codeclimate.yml b/.codeclimate.yml new file mode 100644 index 00000000..afc2bb1f --- /dev/null +++ b/.codeclimate.yml @@ -0,0 +1,22 @@ +--- +engines: + rubocop: + enabled: true + golint: + enabled: true + gofmt: + enabled: true + govet: + enabled: true + fixme: + enabled: true + duplication: + enabled: true + config: + languages: + - go +ratings: + paths: + - "**.go" +exclude_paths: +- vendor/ From 98ac6f033b53d2da5d778aaf2ab7004891ea16e9 Mon Sep 17 00:00:00 2001 From: Scott Le Date: Sat, 13 May 2017 23:24:41 +0700 Subject: [PATCH 344/403] Add dbcleaner (#1418) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 70fb54d6..25edab4d 100644 --- a/README.md +++ b/README.md @@ -973,6 +973,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [badio](https://github.com/cavaliercoder/badio) - Extensions to Go's `testing/iotest` package * [baloo](https://github.com/h2non/baloo) - Expressive and versatile end-to-end HTTP API testing made easy. * [bro](https://github.com/marioidival/bro) - Watch files in directory and run tests for them + * [dbcleaner](https://github.com/khaiql/dbcleaner) - Clean database for testing purpose, inspired by `database_cleaner` in Ruby * [dsunit](https://github.com/viant/dsunit) - Datastore testing for SQL, NoSQL, structured files. * [frisby](https://github.com/verdverm/frisby) - a REST API testing framework * [ginkgo](http://onsi.github.io/ginkgo/) - BDD Testing Framework for Go From 5694228c35586ce6a6eaa9c7a16a26a706efbe27 Mon Sep 17 00:00:00 2001 From: Aaron Lindsay Date: Sat, 13 May 2017 14:06:32 -0400 Subject: [PATCH 345/403] Add ofxgo (#1416) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 25edab4d..cad7e3ee 100644 --- a/README.md +++ b/README.md @@ -458,6 +458,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers * [go-finance](https://github.com/FlashBoys/go-finance) - Comprehensive financial markets data in Go * [go-money](https://github.com/rhymond/go-money) - Implementation of Fowler's Money pattern +* [ofxgo](https://github.com/aclindsa/ofxgo) - Query OFX servers and/or parse the responses (with example command-line client) * [vat](https://github.com/dannyvankooten/vat) - VAT number validation & EU VAT rates From 33a49d2b89aded897f8accfd0bf523ede7223a7f Mon Sep 17 00:00:00 2001 From: Josh Betz Date: Sat, 13 May 2017 22:18:38 -0500 Subject: [PATCH 346/403] Add joshbetz/config (#1409) * Add joshbetz/config A small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP. https://github.com/joshbetz/config * Fix alphabetic sort order --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cad7e3ee..510a6bf9 100644 --- a/README.md +++ b/README.md @@ -200,6 +200,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file * [ini](https://github.com/go-ini/ini) - Go package for read and write INI files +* [joshbetz/config](https://github.com/joshbetz/config) - A small configuration library for Go that parses environment variables, JSON files, and reloads automatically on SIGHUP. * [mini](https://github.com/sasbury/mini) - A golang package for parsing ini-style configuration files * [store](https://github.com/tucnak/store) - A lightweight configuration manager for Go * [viper](https://github.com/spf13/viper) - Go configuration with fangs From 0121510b7904026444745acf35c912c8669fcc27 Mon Sep 17 00:00:00 2001 From: Eyal Posener Date: Sun, 14 May 2017 11:16:00 +0300 Subject: [PATCH 347/403] Add complete (#1411) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 510a6bf9..eaeebac2 100644 --- a/README.md +++ b/README.md @@ -145,6 +145,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [cli-init](https://github.com/tcnksm/gcli) - The easy way to start building Golang command line application. * [climax](http://github.com/tucnak/climax) - An alternative CLI with "human face", in spirit of Go command * [cobra](https://github.com/spf13/cobra) - A Commander for modern Go CLI interactions +* [complete](https://github.com/posener/complete) - Write bash completions in Go + Go command bash completion. * [docopt.go](https://github.com/docopt/docopt.go) - A command-line arguments parser that will make you smile. * [drive](https://github.com/odeke-em/drive) - Google Drive client for the commandline * [flag](https://github.com/cosiner/flag) - A simple but powerful command line option parsing library for Go support subcommand From 177c8b2a96b0ba60f90e126c4275dea0a5c7ef7b Mon Sep 17 00:00:00 2001 From: zhengchun Date: Mon, 15 May 2017 11:27:49 +0800 Subject: [PATCH 348/403] add xpath package (#1415) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index eaeebac2..350df9fe 100644 --- a/README.md +++ b/README.md @@ -1053,6 +1053,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. * [Slugify](https://github.com/avelino/slugify) - A Go slugify application that handles string. * [toml](https://github.com/BurntSushi/toml) - TOML configuration format (encoder/decoder with reflection). + * [xpath](https://github.com/antchfx/xpath) - XPath package for Go. * [xquery](https://github.com/antchfx/xquery) - XQuery lets you extract data from HTML/XML documents using XPath expression. * Utility * [gotabulate](https://github.com/bndr/gotabulate) - Easily pretty-print your tabular data with Go. From da431d101e9fba134cfd96e64862e96b320a709e Mon Sep 17 00:00:00 2001 From: Sebastian Mancke Date: Mon, 15 May 2017 15:20:52 +0200 Subject: [PATCH 349/403] Added loginsrv - JWT login microservice (#1413) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 350df9fe..d2749d03 100644 --- a/README.md +++ b/README.md @@ -124,6 +124,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [jwt](https://github.com/robbert229/jwt) - A clean and easy to use implementation of JSON Web Tokens (JWT). * [jwt-auth](https://github.com/adam-hanna/jwt-auth) - JWT middleware for goLang http servers with many configuration options. * [jwt-go](https://github.com/dgrijalva/jwt-go) - Golang implementation of JSON Web Tokens (JWT). +* [loginsrv](https://github.com/tarent/loginsrv) - JWT login microservice with plugable backends such as OAuth2 (Github), htpasswd, osiam. * [oauth2](https://github.com/golang/oauth2) - Successor of goauth2. Generic OAuth 2.0 package that comes with JWT, Google APIs, Compute Engine and App Engine support. * [osin](https://github.com/RangelReale/osin) - Golang OAuth2 server library. * [permissions2](https://github.com/xyproto/permissions2) - Library for keeping track of users, login states and permissions. Uses secure cookies and bcrypt. From 160fa158344375cebbee0df3db5baad9488a791b Mon Sep 17 00:00:00 2001 From: Olivier Poitrey Date: Tue, 16 May 2017 22:05:57 -0700 Subject: [PATCH 350/403] Add zerolog --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2749d03..6e91e39c 100644 --- a/README.md +++ b/README.md @@ -633,6 +633,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [xlog](https://github.com/xfxdev/xlog) - Plugin architecture and flexible log system for Go, with level ctrl, multiple log target and custom log format. * [xlog](https://github.com/rs/xlog) - A structured logger for `net/context` aware HTTP handlers with flexible dispatching. * [zap](https://github.com/uber-go/zap) - Fast, structured, leveled logging in Go. +* [zerolog](https://github.com/rs/zerolog) - Zero-allocation JSON logger. ## Machine Learning From c135db503f555b2e3e48d371d3e3a39a882e0e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Aur=C3=A9lien=20Rainone?= Date: Wed, 17 May 2017 08:56:04 +0200 Subject: [PATCH 351/403] Add go-rquad - efficient region quadtrees --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2749d03..e584878f 100644 --- a/README.md +++ b/README.md @@ -238,6 +238,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-adaptive-radix-tree](https://github.com/plar/go-adaptive-radix-tree) - A Go implementation of Adaptive Radix Tree. * [go-datastructures](https://github.com/Workiva/go-datastructures) - A collection of useful, performant, and thread-safe data structures * [go-geoindex](https://github.com/hailocab/go-geoindex) - In-memory geo index. +* [go-rquad](https://github.com/aurelien-rainone/go-rquad) - Region quadtrees with efficient point location and neighbour finding. * [gods](https://github.com/emirpasic/gods) - Go Data Structures. Containers, Sets, Lists, Stacks, Maps, BidiMaps, Trees, HashSet etc. * [golang-set](https://github.com/deckarep/golang-set) - Thread-Safe and Non-Thread-Safe high-performance sets for Go. * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. From 8421d6d15ce540b8cf9a7c0aee816087008578be Mon Sep 17 00:00:00 2001 From: Song Gao Date: Wed, 17 May 2017 12:00:30 -0700 Subject: [PATCH 352/403] Add water, a simple TUN/TAP library. (#513) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d2749d03..fc23c12b 100644 --- a/README.md +++ b/README.md @@ -801,6 +801,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [sslb](https://github.com/eduardonunesp/sslb) - It's a Super Simples Load Balancer, just a little project to achieve some kind of performance. * [tcp_server](https://github.com/firstrow/tcp_server) - A Go library for building tcp servers faster. * [utp](https://github.com/anacrolix/utp) - Go uTP micro transport protocol implementation. +* [water](https://github.com/songgao/water) - A simple TUN/TAP library * [winrm](https://github.com/masterzen/winrm) - A Go WinRM client to remotely execute commands on Windows machines * [xtcp](https://github.com/xfxdev/xtcp) - A TCP Server Framework with simultaneous full duplex communication,graceful shutdown,custom protocol. From 17fc0fc5d78a6225bddcd6b060364e4bc7f0f951 Mon Sep 17 00:00:00 2001 From: Stefan Nilsson Date: Thu, 18 May 2017 12:18:00 +0200 Subject: [PATCH 353/403] Add github.com/yourbasic/bit --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d89eb3e8..779eb67c 100644 --- a/README.md +++ b/README.md @@ -228,6 +228,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Generic datastructures and algorithms in Go.* * [binpacker](https://github.com/zhuangsirui/binpacker) - Binary packer and unpacker helps user build custom binary stream. +* [bit](https://github.com/yourbasic/bit) - Golang set data structure with bonus bit-twiddling functions. * [bitset](https://github.com/willf/bitset) - Go package implementing bitsets. * [bloom](https://github.com/zhenjl/bloom) - Bloom filters implemented in Go. * [bloom](https://github.com/yourbasic/bloom) - Golang Bloom filter implementation. From 3f23d6eb90af5ebd98d90e9ba299223c61d091a1 Mon Sep 17 00:00:00 2001 From: Matthias Kadenbach Date: Thu, 18 May 2017 12:30:36 -0700 Subject: [PATCH 354/403] Update description of github.com/mattes/migrate. (#1422) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d89eb3e8..a123251e 100644 --- a/README.md +++ b/README.md @@ -291,7 +291,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go * [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. -* [migrate](https://github.com/mattes/migrate) - Database migration handling in Golang support MySQL, PostgreSQL, Cassandra, and SQLite. +* [migrate](https://github.com/mattes/migrate) - Database migrations. CLI and Golang library. * [pravasan](https://github.com/pravasan/pravasan) - Simple Migration tool - currently for MySQL but planning to support soon for Postgres, SQLite, MongoDB, etc., * [soda](https://github.com/markbates/pop/tree/master/soda) - Database migration, creation, ORM, etc... for MySQL, PostgreSQL, and SQLite. * [sql-migrate](https://github.com/rubenv/sql-migrate) - Database migration tool. Allows embedding migrations into the application using go-bindata. From 76dc3e7c9055dfa9595a637887fe794e756971e0 Mon Sep 17 00:00:00 2001 From: Raed Shomali Date: Sun, 21 May 2017 01:44:05 -0400 Subject: [PATCH 355/403] Added [slacker] A framework to create Slack bots (#1425) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b8934464..2f77c94c 100644 --- a/README.md +++ b/README.md @@ -726,6 +726,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [jobs](https://github.com/albrow/jobs) - A persistent and flexible background jobs library. * [margelet](https://github.com/zhulik/margelet) - A framework for building Telegram bots. * [secdl](https://github.com/xor-gate/secdl) - Lighttpd ModSecDownload algorithm ported to go to secure download urls. +* [slacker](https://github.com/shomali11/slacker) - An easy to use framework to create Slack bots * [stats](https://github.com/go-playground/stats) - Monitors Go MemStats + System stats such as Memory, Swap and CPU and sends via UDP anywhere you want for logging etc... * [uuid](https://github.com/agext/uuid) - Generate, encode, and decode UUIDs v1 with fast or cryptographic-quality random node identifier. * [VarHandler](https://github.com/azr/generators/tree/master/varhandler) - Generate boilerplate http input and ouput handling. From 478769b811aaa163d30c40f6ab2da7be0f72f939 Mon Sep 17 00:00:00 2001 From: Justin Clift Date: Thu, 25 May 2017 13:03:31 +0100 Subject: [PATCH 356/403] Add Gogland & official JetBrains Go plugin, deprecate the old IDEA plug-in --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 2f77c94c..8e6f77c1 100644 --- a/README.md +++ b/README.md @@ -1387,7 +1387,8 @@ Go software and plugins. ## Editor Plugins -* [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) Go plugin for IntelliJ IDEA. +* [Go plugin for JetBrains IDEs](https://plugins.jetbrains.com/plugin/9568-go) - Go plugin for JetBrains IDEs. +* [go-lang-idea-plugin](https://github.com/go-lang-plugin-org/go-lang-idea-plugin) (deprecated) - The previous Go plugin for IntelliJ (JetBrains) IDEA, now replaced by the official plugin (above). * [go-mode](https://github.com/dominikh/go-mode.el) - Go mode for GNU/Emacs. * [go-plus](https://github.com/joefitzgerald/go-plus) - Go (Golang) Package For Atom That Adds Autocomplete, Formatting, Syntax Checking, Linting and Vetting * [Goclipse](https://github.com/GoClipse/goclipse) - An Eclipse plugin for Go. @@ -1470,6 +1471,7 @@ Software written in Go. * [Go Package Store](https://github.com/shurcooL/Go-Package-Store#go-package-store-) - An app that displays updates for the Go packages in your GOPATH. * [gocc](https://github.com/goccmack/gocc) - Gocc is a compiler kit for Go written in Go. * [GoDocTooltip](https://github.com/diankong/GoDocTooltip) - A chrome extension for Go Doc sites, which shows function description as tooltip at funciton list. +* [Gogland](https://jetbrains.com/go) - Full featured cross-platform Go IDE. * [Gor](https://github.com/buger/gor) - Http traffic replication tool, for replaying traffic from production to stage/dev environments in real-time. * [hsync](http://ambrevar.bitbucket.org/hsync/) - A filesystem hierarchy synchronizer. * [hugo](http://gohugo.io/) - A Fast and Modern Static Website Engine. From 5fcd73d689309b186a80da58ec9fb0c2a94a4007 Mon Sep 17 00:00:00 2001 From: Hardik Bagdi Date: Thu, 25 May 2017 11:07:13 -0400 Subject: [PATCH 357/403] Adding go-unsplash for unsplash.com API --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 2f77c94c..e31f09d9 100644 --- a/README.md +++ b/README.md @@ -1098,6 +1098,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-trending](https://github.com/andygrunwald/go-trending) - Go library for accessing [trending repositories](https://github.com/trending) and [developers](https://github.com/trending/developers) at Github. * [go-twitch](https://github.com/knspriggs/go-twitch) - A Go client for interacting with the Twitch v3 API. * [go-twitter](https://github.com/dghubble/go-twitter) - Go client library for the Twitter v1.1 APIs. +* [go-unsplash](https://github.com/hardikbagdi/go-unsplash) - Go client library for the [Unsplash.com](https://unsplash.com) API. * [go-xkcd](https://github.com/nishanths/go-xkcd) - Go client for the xkcd API. * [goamz](https://github.com/mitchellh/goamz) - Popular fork of [goamz](https://launchpad.net/goamz) which adds some missing API calls to certain packages. * [golyrics](https://github.com/mamal72/golyrics) - Golyrics is a Go library to fetch music lyrics data from the Wikia website. From 766e6ee2a8e8a0dc68fd0f3d3c26a18ce72c7302 Mon Sep 17 00:00:00 2001 From: Blake Williams Date: Sun, 28 May 2017 04:16:14 +1000 Subject: [PATCH 358/403] Add shabbyrobe/xmlwriter, create XML section (#1426) --- README.md | 28 +++++++++++++++++++--------- 1 file changed, 19 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 7012de28..ba218978 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Libraries for creating HTTP middlewares](#libraries-for-creating-http-middlewares) - [Routers](#routers) - [Windows](#windows) + - [XML](#xml) - [Tools](#tools) - [Code Analysis](#code-analysis) @@ -1041,7 +1042,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-humanize](https://github.com/dustin/go-humanize) - Formatters for time, numbers, and memory size to human readable format. * [go-nmea](https://github.com/adrianmo/go-nmea) - NMEA parser library for the Go language. * [go-pkg-rss](https://github.com/jteeuwen/go-pkg-rss) - This package reads RSS and Atom feeds and provides a caching mechanism that adheres to the feed specs. - * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. * [go-runewidth](https://github.com/mattn/go-runewidth) - Functions to get fixed width of the character or string. * [go-slugify](https://github.com/mozillazg/go-slugify) - Make pretty slug with multiple languages support. * [go-vcard](https://github.com/emersion/go-vcard) - Parse and format vCard @@ -1059,8 +1059,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [slug](https://github.com/gosimple/slug) - URL-friendly slugify with multiple languages support. * [Slugify](https://github.com/avelino/slugify) - A Go slugify application that handles string. * [toml](https://github.com/BurntSushi/toml) - TOML configuration format (encoder/decoder with reflection). - * [xpath](https://github.com/antchfx/xpath) - XPath package for Go. - * [xquery](https://github.com/antchfx/xquery) - XQuery lets you extract data from HTML/XML documents using XPath expression. * Utility * [gotabulate](https://github.com/bndr/gotabulate) - Easily pretty-print your tabular data with Go. * [kace](https://github.com/codemodus/kace) - Common case conversions covering common initialisms. @@ -1307,6 +1305,23 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. +## Windows + +* [d3d9](https://github.com/gonutz/d3d9) - Go bindings for Direct3D9 +* [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang. + + +## XML + +*Libraries and tools for manipulating XML* + +* [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. +* [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags. +* [xmlwriter](https://github.com/shabbyrobe/xmlwriter) - Procedural XML generation API based on libxml2's xmlwriter module. +* [xpath](https://github.com/antchfx/xpath) - XPath package for Go. +* [xquery](https://github.com/antchfx/xquery) - XQuery lets you extract data from HTML/XML documents using XPath expression. + + ### Middlewares #### Actual middlewares @@ -1502,7 +1517,6 @@ Software written in Go. * [vFlow](https://github.com/VerizonDigital/vflow) - High-performance, scalable and reliable IPFIX, sFlow and Netflow collector. * [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart). * [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass). -* [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags. @@ -1601,12 +1615,8 @@ Where to discover new Go libraries. -## Windows - -* [d3d9](https://github.com/gonutz/d3d9) - Go bindings for Direct3D9 -* [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang. - ## Support on Beerpay Hey dude! Help me out for a couple of :beers:! [![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) + From ea7f85f57b77cbf87407745ee706acb7f3d581aa Mon Sep 17 00:00:00 2001 From: Andrew Bashkatov Date: Mon, 29 May 2017 12:21:51 +0500 Subject: [PATCH 359/403] Add go-ataman (#1434) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ba218978..626ed827 100644 --- a/README.md +++ b/README.md @@ -174,6 +174,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. * [color](https://github.com/fatih/color) - Versatile package for colored terminal output. * [colourize](https://github.com/TreyBastian/colourize) - Go library for ANSI colour text in terminals. +* [go-ataman](https://github.com/workanator/go-ataman) - Go library for rendering ANSI colored text templates in terminals. * [go-colorable](https://github.com/mattn/go-colorable) - Colorable writer for windows. * [go-colortext](https://github.com/daviddengcn/go-colortext) - Go library for color output in terminals. * [go-isatty](https://github.com/mattn/go-isatty) - isatty for golang. From f6bb50ade4773de57fea71614e68d0e9f34bd005 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9B=B9=E6=98=A5=E6=99=96?= Date: Mon, 29 May 2017 18:50:53 +0800 Subject: [PATCH 360/403] Add elasticsql (#1427) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 626ed827..366ae68e 100644 --- a/README.md +++ b/README.md @@ -365,6 +365,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * Search and Analytic Databases * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go. * [elastic](https://github.com/olivere/elastic) - Elasticsearch client for Go. + * [elasticsql](https://github.com/cch123/elasticsql) - Convert sql to elasticsearch dsl in Go. * [elastigo](https://github.com/mattbaird/elastigo) - A Elasticsearch client library. * [goes](https://github.com/belogik/goes) - A library to interact with Elasticsearch. * [skizze](https://github.com/seiflotfy/skizze) - A probabilistic data-structures service and storage. From 5d9851c46edf5404e8c604398b30f928def7642f Mon Sep 17 00:00:00 2001 From: Justin Clift Date: Mon, 29 May 2017 17:12:32 +0100 Subject: [PATCH 361/403] Clean up whitespace, full stop header consistency (#1437) --- README.md | 100 ++++++++++++------------------------------------------ 1 file changed, 21 insertions(+), 79 deletions(-) diff --git a/README.md b/README.md index 366ae68e..96cf34c9 100644 --- a/README.md +++ b/README.md @@ -1,16 +1,13 @@ # Awesome Go [![Build Status](https://travis-ci.org/avelino/awesome-go.svg?branch=master)](https://travis-ci.org/avelino/awesome-go) [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [![Join the chat at https://gitter.im/avelino/awesome-go](https://badges.gitter.im/avelino/awesome-go.svg)](https://gitter.im/avelino/awesome-go?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) - A curated list of awesome Go frameworks, libraries and software. Inspired by [awesome-python](https://github.com/vinta/awesome-python). - ### Contributing Please take a quick gander at the [contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md) first. Thanks to all [contributors](https://github.com/avelino/awesome-go/graphs/contributors); you rock! #### *If you see a package or project here that is no longer maintained or is not a good fit, please submit a pull request to improve this file. Thank you!* - ### Contents - [Awesome Go](#awesome-go) @@ -86,7 +83,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a - [Websites](#websites) - [Tutorials](#tutorials) - ## Audio/Music *Libraries for manipulating audio.* @@ -107,7 +103,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [vorbis](https://github.com/mccoyst/vorbis) - A "native" Go Vorbis decoder (uses CGO, but has no dependencies). * [waveform](https://github.com/mdlayher/waveform) - Go package capable of generating waveform images from audio streams. - ## Authentication & OAuth *Libraries for implementing authentications schemes.* @@ -134,13 +129,11 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [traefik](https://github.com/containous/traefik) - A reverse proxy and load balancer with support for multiple backends. * [yubigo](https://github.com/GeertJohan/yubigo) - a Yubikey client package that provides a simple API to integrate the Yubico Yubikey into a go application. - ## Command Line - ### Standard CLI -*Libraries for building standard or basic Command Line applications* +*Libraries for building standard or basic Command Line applications.* * [argv](https://github.com/cosiner/argv) - A Go library to split command line string as arguments array using the bash syntax. * [cli](https://github.com/mkideal/cli) - A feature-rich and easy to use command-line package based on golang tag @@ -165,10 +158,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [wlog](https://github.com/dixonwille/wlog) - A simple logging interface that supports cross-platform color and concurrency. * [wmenu](https://github.com/dixonwille/wmenu) - An easy to use menu structure for cli applications that prompts users to make choices. - ### Advanced Console UIs -*Libraries for building Console Applications and Console User Interfaces* +*Libraries for building Console Applications and Console User Interfaces.* * [aurora](https://github.com/logrusorgru/aurora) - ANSI terminal colors that supports fmt.Printf/Sprintf * [chalk](https://github.com/ttacon/chalk) - Intuitive package for prettifying terminal/console output. @@ -187,10 +179,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [uiprogress](https://github.com/gosuri/uiprogress) - A flexible library to render progress bars in terminal applications. * [uitable](https://github.com/gosuri/uitable) - A library to improve readability in terminal apps using tabular data. - ## Configuration -*Libraries for configuration parsing* +*Libraries for configuration parsing.* * [config](https://github.com/olebedev/config) - JSON or YAML configuration wrapper with environment variables and flags parsing. * [configure](https://github.com/paked/configure) - Provides configuration through multiple sources, including JSON, flags and environment variables. @@ -211,7 +202,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Continuous Integration -*Tools for help with continuous integration* +*Tools for help with continuous integration.* * [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go * [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. @@ -219,7 +210,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## CSS Preprocessors -*Libraries for preprocessing CSS files* +*Libraries for preprocessing CSS files.* * [c6](https://github.com/c9s/c6) - High performance SASS compatible-implementation compiler written in Go * [gcss](https://github.com/yosssi/gcss) - Pure Go CSS Preprocessor. @@ -321,7 +312,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [Squirrel](https://github.com/Masterminds/squirrel) - Go library that helps you build SQL queries. * [xo](https://github.com/knq/xo) - Generate idiomatic Go code for databases based on existing schema definitions or custom queries supporting PostgreSQL, MySQL, SQLite, Oracle, and Microsoft SQL Server. - ## Database Drivers *Libraries for connecting and operating databases.* @@ -383,7 +373,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [NullTime](https://github.com/kirillDanshin/nulltime) - Nullable time.Time * [timeutil](https://github.com/leekchan/timeutil) - Useful extensions (Timedelta, Strftime, ...) to the golang's time package. - ## Distributed Systems *Packages that help with building Distributed Systems.* @@ -414,7 +403,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a ## Email -*Libraries that implement email creation and sending* +*Libraries that implement email creation and sending.* * [douceur](https://github.com/aymerick/douceur) - CSS inliner for your HTML emails. * [email](https://github.com/jordan-wright/email) - A robust and flexible email library for Go. @@ -428,11 +417,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [SendGrid](https://github.com/sendgrid/sendgrid-go) - SendGrid's Go library for sending email * [smtp](https://github.com/mailhog/smtp) - SMTP server protocol state machine - - ## Embeddable Scripting Languages -*Embedding other languages inside your go code* +*Embedding other languages inside your go code.* * [agora](https://github.com/PuerkitoBio/agora) - Dynamically typed, embeddable programming language in Go * [anko](https://github.com/mattn/anko) - Scriptable interpreter written in Go @@ -448,19 +435,17 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [otto](https://github.com/robertkrimen/otto) - A JavaScript interpreter written in Go * [purl](https://github.com/ian-kent/purl) - Perl 5.18.2 embedded in Go - ## Files -*Libraries for handling files and file systems* +*Libraries for handling files and file systems.* * [afero](https://github.com/spf13/afero) - A FileSystem Abstraction System for Go. * [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. * [tarfs](https://github.com/posener/tarfs) - An implementation of the [`FileSystem` interface](https://godoc.org/github.com/kr/fs#FileSystem) for tar files. - ## Financial -*Packages for accounting and finance* +*Packages for accounting and finance.* * [accounting](https://github.com/leekchan/accounting) - money and currency formatting for golang * [decimal](https://github.com/shopspring/decimal) - Arbitrary-precision fixed-point decimal numbers @@ -469,7 +454,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [ofxgo](https://github.com/aclindsa/ofxgo) - Query OFX servers and/or parse the responses (with example command-line client) * [vat](https://github.com/dannyvankooten/vat) - VAT number validation & EU VAT rates - ## Forms *Libraries for working with forms.* @@ -483,7 +467,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gorilla/csrf](https://github.com/gorilla/csrf) - CSRF protection for Go web applications & services. * [nosurf](https://github.com/justinas/nosurf) - A CSRF protection middleware for Go. - ## Game Development *Awesome game development libraries.* @@ -503,10 +486,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [raylib-go](https://github.com/gen2brain/raylib-go) - Go bindings for [raylib](http://www.raylib.com/), a simple and easy-to-use library to learn videogames programming. * [termloop](https://github.com/JoelOtter/termloop) - Terminal-based game engine for Go, built on top of Termbox - ## Generation & Generics -*Tools to enhance the language with features like generics via code generation* +*Tools to enhance the language with features like generics via code generation.* * [efaceconv](https://github.com/t0pep0/efaceconv) - Code generation tool for high performance conversion from interface{} to immutable type without allocations * [gen](https://github.com/clipperhouse/gen) - Code generation tool for ‘generics’-like functionality. @@ -515,19 +497,17 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [jennifer](https://github.com/dave/jennifer) - Generate arbitrary Go code without templates. * [pkgreflect](https://github.com/ungerik/pkgreflect) - A Go preprocessor for package scoped reflection. - ## Go Compilers -*Tools for compiling Go to other languages* +*Tools for compiling Go to other languages.* * [gopherjs](https://github.com/gopherjs/gopherjs) - A compiler from Go to JavaScript. * [llgo](https://github.com/go-llvm/llgo) - LLVM-based compiler for Go. * [tardisgo](https://github.com/tardisgo/tardisgo) - Golang to Haxe to CPP/CSharp/Java/JavaScript transpiler. - ## Goroutines -*Tools for managing and working with Goroutines* +*Tools for managing and working with Goroutines.* * [go-flow](https://github.com/kamildrazkiewicz/go-flow) - Control goroutines execution order. * [goworker](https://github.com/benmanns/goworker) - goworker is a Go-based background worker @@ -536,10 +516,9 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [semaphore](https://github.com/kamilsk/semaphore) - Semaphore pattern implementation with timeout of lock/unlock operations based on channel and context. * [tunny](https://github.com/Jeffail/tunny) - A goroutine pool for golang. - ## GUI -*Libraries for building GUI Applications* +*Libraries for building GUI Applications.* * [app](https://github.com/murlokswarm/app) - Package to create apps with GO, HTML and CSS. * [go-astilectron](https://github.com/asticode/go-astilectron) - Build cross platform GUI apps with GO and HTML/JS/CSS (powered by Electron) @@ -556,7 +535,6 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [ui](https://github.com/andlabs/ui) - Platform-native GUI library for Go. * [walk](https://github.com/lxn/walk) - Windows application library kit for Go. - ## Hardware *Libraries, tools, and tutorials for interacting with hardware.* @@ -665,10 +643,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine * [shield](https://github.com/eaigner/shield) - Bayesian text classifier with flexible tokenizers and storage backends for Go - ## Messaging -*Libraries that implement messaging systems* +*Libraries that implement messaging systems.* * [Centrifugo](https://github.com/centrifugal/centrifugo) - Real-time messaging (Websockets or SockJS) server in Go. * [dbus](https://github.com/godbus/dbus) - Native Go bindings for D-Bus. @@ -697,10 +674,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Uniqush-Push](https://github.com/uniqush/uniqush-push) - A redis backed unified push service for server-side notifications to mobile devices. * [zmq4](https://github.com/pebbe/zmq4) - A Go interface to ZeroMQ version 4. Also available for [version 3](https://github.com/pebbe/zmq3) and [version 2](https://github.com/pebbe/zmq2). - ## Miscellaneous -*These libraries were placed here because none of the other categories seemed to fit* +*These libraries were placed here because none of the other categories seemed to fit.* * [alice](https://github.com/magic003/alice) - An additive dependency injection container for Golang. * [archiver](https://github.com/mholt/archiver) - Library and command for making and extracting .zip and .tar.gz archives @@ -770,7 +746,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis ## Networking -*Libraries for working with various layers of the network* +*Libraries for working with various layers of the network.* * [arp](https://github.com/mdlayher/arp) - Package arp implements the ARP protocol, as described in RFC 826. * [buffstreams](https://github.com/stabbycutyou/buffstreams) - Streaming protocolbuffer data over TCP made easy @@ -822,7 +798,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goxjs/glfw](https://github.com/goxjs/glfw) - Go cross-platform glfw library for creating an OpenGL context and receiving events. * [mathgl](https://github.com/go-gl/mathgl) - Pure Go math package specialized for 3D math, with inspiration from GLM. - ## ORM *Libraries that implement Object-Relational Mapping or datamapping techniques.* @@ -859,9 +834,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [nut](https://github.com/jingweno/nut) - Vendor Go dependencies * [VenGO](https://github.com/DamnWidget/VenGO) - create and manage exportable isolated go virtual environments - - - ## Query Language * [graphql](https://github.com/tmc/graphql) - graphql parser + utilities. @@ -870,7 +842,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [graphql-go](https://github.com/graphql-go/graphql) - An implementation of GraphQL for Go. * [jsonql](https://github.com/elgs/jsonql) - JSON query expression library in Golang. - ## Resource Embedding * [esc](https://github.com/mjibson/esc) - Embeds files into Go programs and provides http.FileSystem interfaces to them. @@ -884,7 +855,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [templify](https://github.com/wlbr/templify) - Embed external template files into Go code to create single file binaries. * [vfsgen](https://github.com/shurcooL/vfsgen) - Generates a vfsdata.go file that statically implements the given virtual filesystem. - ## Science and Data Analysis *Libraries for scientific computing and data analyzing.* @@ -913,7 +883,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [streamtools](https://github.com/nytlabs/streamtools) - general purpose, graphical tool for dealing with streams of data. * [vectormath](https://github.com/spate/vectormath) - Vectormath for Go, an adaptation of the scalar C functions from Sony's Vector Math library, as found in the Bullet-2.79 source code. (currently inactive) - ## Security *Libraries that are used to help make your application more secure.* @@ -928,7 +897,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis ## Serialization -*Libraries and tools for binary serialization* +*Libraries and tools for binary serialization.* * [asn1](https://github.com/PromonLogicalis/asn1) - Asn.1 BER and DER encoding library for golang * [colfer](https://github.com/pascaldekloe/colfer) - Code generation for the Colfer binary format @@ -941,7 +910,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [php_session_decoder](https://github.com/yvasiyarov/php_session_decoder) - GoLang library for working with PHP session format and PHP Serialize/Unserialize functions * [structomap](https://github.com/tuvistavie/structomap) - Library to easily and dynamically generate maps from static structures. - ## Server Applications * [algernon](https://github.com/xyproto/algernon) - HTTP/2 web server with built-in support for Lua, Markdown, GCSS and Amber. @@ -953,7 +921,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [nsq](http://nsq.io/) - A realtime distributed messaging platform * [yakvs](https://github.com/sci4me/yakvs) - A small, networked, in-memory key-value store. - ## Template Engines *Libraries and tools for templating and lexing.* @@ -1068,7 +1035,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [parth](https://github.com/codemodus/parth) - URL path segmentation parsing. * [xurls](https://github.com/mvdan/xurls) - Extract urls from text - ## Third-party APIs *Libraries for accessing third party APIs.* @@ -1238,7 +1204,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. - ## Validation *Libraries for validation.* @@ -1248,7 +1213,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [validate](https://github.com/markbates/validate) - This package provides a framework for writing validations for Go applications. * [validator](https://github.com/go-playground/validator) - Go Struct and Field validation, including Cross Field, Cross Struct, Map, Slice and Array diving. - ## Version Control *Libraries for version control.* @@ -1258,7 +1222,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-vcs](https://github.com/sourcegraph/go-vcs) - manipulate and inspect VCS repositories in Go. * [hgo](https://github.com/beyang/hgo) - Hgo is a collection of Go packages providing read-access to local Mercurial repositories. - ## Video *Libraries for manipulating video.* @@ -1268,7 +1231,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer. * [v4l](https://github.com/korandiz/v4l) - A video capture library for Linux, written in Go. - ## Web Frameworks *Full stack web frameworks.* @@ -1306,16 +1268,14 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [YARF](https://github.com/yarf-framework/yarf) - Fast micro-framework designed to build REST APIs and web services in a fast and simple way. * [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. - ## Windows * [d3d9](https://github.com/gonutz/d3d9) - Go bindings for Direct3D9 * [go-ole](https://github.com/go-ole/go-ole) - Win32 OLE implementation for golang. - ## XML -*Libraries and tools for manipulating XML* +*Libraries and tools for manipulating XML.* * [go-pkg-xmlx](https://github.com/jteeuwen/go-pkg-xmlx) - Extension to the standard Go XML package. Maintains a node tree that allows forward/backwards browsing and exposes some simple single/multi-node search functions. * [XML-Comp](https://github.com/xml-comp/xml-comp) - Simple command line XML comparer that generates diffs of folders, files and tags. @@ -1323,7 +1283,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [xpath](https://github.com/antchfx/xpath) - XPath package for Go. * [xquery](https://github.com/antchfx/xquery) - XQuery lets you extract data from HTML/XML documents using XPath expression. - ### Middlewares #### Actual middlewares @@ -1349,7 +1308,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [stats](https://github.com/thoas/stats) - A Go middleware that stores various information about your web application. * [Volatile](https://github.com/volatile/core) - Minimalist middleware stack promoting flexibility, good practices and clean code. - ### Routers * [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space @@ -1372,11 +1330,9 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [xmux](https://github.com/rs/xmux) - A high performance muxer based on `httprouter` with `net/context` support. * [zeus](https://github.com/daryl/zeus) - A very simple and fast HTTP router for Go. - # Tools -Go software and plugins. - +*Go software and plugins.* ## Code Analysis @@ -1402,7 +1358,6 @@ Go software and plugins. * [unused](https://github.com/dominikh/go-tools/tree/master/cmd/unused) - unused checks Go code for unused constants, variables, functions and types. * [validate](https://github.com/mccoyst/validate) - Automatically validates struct fields with tags. - ## Editor Plugins * [Go plugin for JetBrains IDEs](https://plugins.jetbrains.com/plugin/9568-go) - Go plugin for JetBrains IDEs. @@ -1430,8 +1385,7 @@ Go software and plugins. ## Software Packages -Software written in Go. - +*Software written in Go.* ### DevOps Tools @@ -1520,16 +1474,9 @@ Software written in Go. * [websysd](https://github.com/ian-kent/websysd) - Web based process manager (like Marathon or Upstart). * [wellington](https://github.com/wellington/wellington) - Sass project management tool, extends the language with sprite functions (like Compass). - - - - - - # Resources -Where to discover new Go libraries. - +*Where to discover new Go libraries.* ## Benchmarks @@ -1548,7 +1495,6 @@ Where to discover new Go libraries. * [skynet](https://github.com/atemerev/skynet) - Skynet 1M threads microbenchmark. * [speedtest-resize](https://github.com/fawick/speedtest-resize) - Compare various Image resize algorithms for the Go language. - ## Conferences * [Capital Go](http://www.capitalgolang.com) - Washington, D.C., USA @@ -1581,7 +1527,6 @@ Where to discover new Go libraries. * [@golang_news](https://twitter.com/golang_news) * [@golangweekly](https://twitter.com/golangweekly) - ## Websites * [Awesome Go @LibHunt](https://go.libhunt.com) - Your go-to Go Toolbox. @@ -1603,7 +1548,6 @@ Where to discover new Go libraries. * [r/Golang](https://www.reddit.com/r/golang) - News about Go. * [Trending Go repositories on GitHub today](https://github.com/trending?l=go) - Good place to find new Go libraries. - ### Tutorials * [A Tour of Go](http://tour.golang.org/) - Interactive tour of Go. @@ -1615,8 +1559,6 @@ Where to discover new Go libraries. * [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. * [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. - - ## Support on Beerpay Hey dude! Help me out for a couple of :beers:! From 880185ff8a541703bdd78fd587b1eeaff1663692 Mon Sep 17 00:00:00 2001 From: Nicolas Embriz Date: Fri, 2 Jun 2017 03:37:14 +0200 Subject: [PATCH 362/403] immortal, ssh-vault, violetear (#1350) modified: README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 96cf34c9..cd8e1733 100644 --- a/README.md +++ b/README.md @@ -894,6 +894,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [passlib](https://github.com/hlandau/passlib) - Futureproof password hashing library. * [secure](https://github.com/unrolled/secure) - HTTP middleware for Go that facilitates some quick security wins. * [simple-scrypt](https://github.com/elithrar/simple-scrypt) - an scrypt package with a simple, obvious API and automatic cost calibration built-in. +* [ssh-vault](https://github.com/ssh-vault/ssh-vault) - encrypt/decrypt using ssh keys ## Serialization @@ -1160,6 +1161,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. * [hub](https://github.com/github/hub) - wrap git commands with additional functionality to interact with github from the terminal. * [hystrix-go](https://github.com/afex/hystrix-go) - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. +* [immortal](https://github.com/immortal/immortal) - A *nix cross-platform (OS agnostic) supervisor * [JobRunner](https://github.com/bamzi/jobrunner) - Smart and featureful cron job scheduler with job queuing and live monitoring built in. * [jsonapi-errors](https://github.com/AmuzaTkts/jsonapi-errors) - Go bindings based on the JSON API errors reference. * [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON. @@ -1265,6 +1267,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [tigertonic](https://github.com/rcrowley/go-tigertonic) - A Go framework for building JSON web services inspired by Dropwizard * [traffic](https://github.com/pilu/traffic) - Sinatra inspired regexp/pattern mux and web framework for Go. * [utron](https://github.com/gernest/utron) - A lightweight MVC framework for Go(Golang). +* [violetear](https://github.com/nbari/violetear) - Go HTTP router. * [YARF](https://github.com/yarf-framework/yarf) - Fast micro-framework designed to build REST APIs and web services in a fast and simple way. * [Zerver](https://github.com/cosiner/zerver) - Zerver is an expressive, modular, feature completed RESTful framework. @@ -1563,4 +1566,3 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis Hey dude! Help me out for a couple of :beers:! [![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) - From 82a9c484d863c610f85a776cc49093260efd7315 Mon Sep 17 00:00:00 2001 From: JakeHL Date: Sat, 3 Jun 2017 17:09:05 +0100 Subject: [PATCH 363/403] Added goid --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd8e1733..6aa5607c 100644 --- a/README.md +++ b/README.md @@ -695,6 +695,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [go-unarr](https://github.com/gen2brain/go-unarr) - Decompression library for RAR, TAR, ZIP and 7z archives. * [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. +* [goid](https://github.com/jakehl/goid) - Generate and Parse RFC4122 compliant V4 UUIDs. * [gofakeit](https://github.com/brianvoe/gofakeit) - Random data generator written in go * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS From 6239ae2ac7bc7ff35bebba801f1ca471a46e4916 Mon Sep 17 00:00:00 2001 From: JakeHL Date: Sat, 3 Jun 2017 17:18:59 +0100 Subject: [PATCH 364/403] Fixed error in readme order --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6aa5607c..d995ece8 100644 --- a/README.md +++ b/README.md @@ -695,8 +695,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [go-unarr](https://github.com/gen2brain/go-unarr) - Decompression library for RAR, TAR, ZIP and 7z archives. * [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. -* [goid](https://github.com/jakehl/goid) - Generate and Parse RFC4122 compliant V4 UUIDs. * [gofakeit](https://github.com/brianvoe/gofakeit) - Random data generator written in go +* [goid](https://github.com/jakehl/goid) - Generate and Parse RFC4122 compliant V4 UUIDs. * [gopsutil](https://github.com/shirou/gopsutil) - A cross-platform library for retrieving process and system utilization(CPU, Memory, Disks, etc). * [gosms](https://github.com/haxpax/gosms) - Your own local SMS gateway in Go that can be used to send SMS * [gountries](https://github.com/pariz/gountries) - A package that exposes country and subdivision data. From 6530927ea288b806699d86bcd1cfd9d307f9fe83 Mon Sep 17 00:00:00 2001 From: Martin Treusch von Buttlar Date: Sun, 4 Jun 2017 04:45:13 +0200 Subject: [PATCH 365/403] Add rubyist/circuitbreaker (#1444) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd8e1733..beff019c 100644 --- a/README.md +++ b/README.md @@ -1110,6 +1110,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [abutil](https://github.com/bahlo/abutil) - A collection of often-used Golang helpers. * [apm](https://github.com/topfreegames/apm) - A process manager for Golang applications with an HTTP API. * [boilr](https://github.com/tmrts/boilr) - A blazingly fast CLI tool for creating projects from boilerplate templates. +* [circuitbreaker](https://github.com/rubyist/circuitbreaker) - Circuit Breakers in Go * [clockwerk](http://github.com/onatm/clockwerk) - Go package to schedule periodic jobs using a simple, fluent syntax. * [command](https://github.com/txgruppi/command) - Command pattern for Go with thread safe serial and parallel dispatcher * [coop](https://github.com/rakyll/coop) - Cheat sheet for some of the common concurrent flows in Go. From 61ff29d3e64b1221a6873e477c0f0eb3a9cf9f18 Mon Sep 17 00:00:00 2001 From: Takuya Ueda Date: Sun, 4 Jun 2017 17:47:00 +0900 Subject: [PATCH 366/403] Add tenntenn/gpath (#1445) * Add gpath * Sort by alphabet --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index beff019c..90596513 100644 --- a/README.md +++ b/README.md @@ -1157,6 +1157,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [goreq](https://github.com/smallnest/goreq) - An enhanced simplified HTTP client based on gorequest. * [gorequest](https://github.com/parnurzeal/gorequest) - Simplified HTTP client with rich features for Go. * [gotenv](https://github.com/subosito/gotenv) - Load environment variables from `.env` or any `io.Reader` in Go +* [gpath](https://github.com/tenntenn/gpath) - Library to simplify access struct fields with Go's expression in reflection. * [grequests](https://github.com/levigross/grequests) - An elegant and simple `net/http` wrapper that follows Python's requests library * [htcat](https://github.com/htcat/htcat) - Parallel and Pipelined HTTP GET Utility * [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. From 27e1fd76af7cb40a2541feb758d0f451de0a4e86 Mon Sep 17 00:00:00 2001 From: Jesse Dearing Date: Wed, 7 Jun 2017 09:12:40 -0700 Subject: [PATCH 367/403] Add go-resiliency (#1448) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 90596513..3c3570b2 100644 --- a/README.md +++ b/README.md @@ -692,6 +692,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-commons-pool](https://github.com/jolestar/go-commons-pool) - A generic object pool for Golang. * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. * [go-openapi](https://github.com/go-openapi) - A collection of packages to parse and utilize open-api schemas +* [go-resiliency](https://github.com/eapache/go-resiliency) - Resiliency patterns for golang * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [go-unarr](https://github.com/gen2brain/go-unarr) - Decompression library for RAR, TAR, ZIP and 7z archives. * [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. From 862bba8013ec5d3ea0b848dd9464f4d85ccc4965 Mon Sep 17 00:00:00 2001 From: Arthur White Date: Thu, 8 Jun 2017 16:14:41 +0200 Subject: [PATCH 368/403] Add gowww/router --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c3570b2..b596b034 100644 --- a/README.md +++ b/README.md @@ -1323,6 +1323,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. * [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. +* [gowww/router](https://github.com/gowww/router) - A lightning fast HTTP router fully compatible with the net/http.Handler * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. * [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. * [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. From 0433a8c7cbf767abe16254da134b301b9eecd8af Mon Sep 17 00:00:00 2001 From: Nikhita Raghunath Date: Sun, 11 Jun 2017 09:38:24 +0530 Subject: [PATCH 369/403] Add GopherCon Singapore (#1453) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3c3570b2..182a4aa8 100644 --- a/README.md +++ b/README.md @@ -1512,6 +1512,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [GopherCon Brazil](https://gopherconbr.org) - Florianópolis, BR * [GopherCon Dubai](http://www.gophercon.ae/) - Dubai, UAE * [GopherCon India](http://www.gophercon.in/) - Pune, India +* [GopherCon Singapore](https://gophercon.sg) - Mapletree Business City, Singapore * [GothamGo](http://gothamgo.com/) - New York City, USA ## E-Books From 71ebcd02dcb70e6d88c74faccc841cddf215c702 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafa=C5=82=20Lorenz?= Date: Sat, 17 Jun 2017 00:41:07 +1000 Subject: [PATCH 370/403] Add gorouter package (#1439) * Update README.md * Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 182a4aa8..37779bfc 100644 --- a/README.md +++ b/README.md @@ -1323,6 +1323,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. * [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. +* [GoRouter](https://github.com/vardius/gorouter) - GoRouter is a Server/API micro framwework, HTTP request router, multiplexer, mux that provides request router with middleware supporting `net/context`. * [httprouter](https://github.com/julienschmidt/httprouter) - A high performance router. Use this and the standard http handlers to form a very high performance web framework. * [httptreemux](https://github.com/dimfeld/httptreemux) - High-speed, flexible tree-based HTTP router for Go. Inspiration from httprouter. * [lars](https://github.com/go-playground/lars) - Is a lightweight, fast and extensible zero allocation HTTP router for Go used to create customizable frameworks. From 4b5fd16466081fc9b07af5f63677d0aa5a792e18 Mon Sep 17 00:00:00 2001 From: Robert Laszczak Date: Fri, 16 Jun 2017 16:46:39 +0200 Subject: [PATCH 371/403] Add go-cleanarch (#1449) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 37779bfc..93e4aa9c 100644 --- a/README.md +++ b/README.md @@ -1349,6 +1349,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gcvis](https://github.com/davecheney/gcvis) - Visualise Go program GC trace data in real time. * [Go Metalinter](https://github.com/alecthomas/gometalinter) - Metalinter is a tool to automatically apply all static analysis tool and report their output in normalized form. * [go-checkstyle](https://github.com/qiniu/checkstyle) checkstyle is a style check tool like java checkstyle. This tool inspired by java checkstyle, golint. The style refered to some points in Go Code Review Comments. +* [go-cleanarch](https://github.com/roblaszczak/go-cleanarch) - go-cleanarch was created to validate Clean Architecture rules, like a The Dependency Rule and interaction between packages in your Go projects. * [go-outdated](https://github.com/firstrow/go-outdated) - Console application that displays outdated packages. * [goast-viewer](https://github.com/yuroyoro/goast-viewer) - Web based Golang AST visualizer. * [GoCover.io](http://gocover.io/) - GoCover.io offers the code coverage of any golang package as a service. From 26dde25335c562ff5c99dd4d19074655651d238d Mon Sep 17 00:00:00 2001 From: Raed Shomali Date: Fri, 16 Jun 2017 10:48:11 -0400 Subject: [PATCH 372/403] Added github.com/shomali11/util (#1450) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 93e4aa9c..c22c45e0 100644 --- a/README.md +++ b/README.md @@ -1205,6 +1205,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [ugo](https://github.com/alxrm/ugo) - ugo is slice toolbox with concise syntax for Go. * [UNIS](https://github.com/esemplastic/unis) - A Common Architecture™ for String Utilities in Go. * [usql](https://github.com/knq/usql) - usql is a universal command-line interface for SQL databases. +* [util](https://github.com/shomali11/util) - A collection of useful utility functions. (strings, concurrency, manipulations, ...) * [wuzz](https://github.com/asciimoo/wuzz) - Interactive cli tool for HTTP inspection. * [xferspdy](https://github.com/monmohan/xferspdy) - Xferspdy provides binary diff and patch library in golang * [xlsx](https://github.com/tealeg/xlsx) - Library to simplify reading the XML format used by recent version of Microsoft Excel in Go programs. From a4d360b36cc146512d790faa968b994d9a640cfb Mon Sep 17 00:00:00 2001 From: Willian Molinari Date: Fri, 16 Jun 2017 16:08:08 -0300 Subject: [PATCH 373/403] Add a deadline for new PR on CONTRIBUTION (#1459) We are trying to avoid having hundreds of open Pull Requests. By using this rule we may close old PRs. --- .github/PULL_REQUEST_TEMPLATE.md | 2 +- CONTRIBUTING.md | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index de01c8b3..5904dea7 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -17,6 +17,6 @@ Very good coverage - [ ] I have added godoc link to the repo and to my pull request - [ ] I have added coverage service link to the repo and to my pull request - [ ] I have added goreportcard link to the repo and to my pull request -- [ ] I have read [Contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#contribution-guidelines) and [Quality standard](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard). +- [ ] I have read [Contribution guidelines](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#contribution-guidelines), [maintainers note](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#maintainers) and [Quality standard](https://github.com/avelino/awesome-go/blob/master/CONTRIBUTING.md#quality-standard). Thanks for your PR, you're awesome! :+1: diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 332f25ef..6d6fa706 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -23,7 +23,7 @@ If you removed our PR template you can find it [here](https://github.com/avelino ## Quality standards -To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report/**github_user**/**github_repo**): +To be on the list, project repositories should adhere to these quality standards (http://goreportcard.com/report/ **github_user** / **github_repo**): - Code functions as documented and expected - Generally useful to the wider community of Go programmers @@ -39,6 +39,10 @@ To be on the list, project repositories should adhere to these quality standards To make sure every PR is checked, we have [team maintainers](MAINTAINERS). Every PR MUST be reviewed by at least two maintainers before it can get merged. +The maintainers will review your PR and notify you and tag it in case any +information is still missing. They will wait 8 days for your interaction, after +that the PR will be closed. + ## Reporting issues From ef6377707858c1feeb61d475177dea369efa171c Mon Sep 17 00:00:00 2001 From: roylee0704 Date: Sat, 17 Jun 2017 03:15:41 +0800 Subject: [PATCH 374/403] add gron package -- Cron Jobs in Go. (#994) Package links: github.com: https://github.com/roylee0704/gron godoc.org: https://godoc.org/github.com/roylee0704/gron goreportcard.com: https://goreportcard.com/report/github.com/roylee0704/gron gocover.io: https://gocover.io/github.com/roylee0704/gron --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index c22c45e0..54cf1b62 100644 --- a/README.md +++ b/README.md @@ -1160,6 +1160,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gotenv](https://github.com/subosito/gotenv) - Load environment variables from `.env` or any `io.Reader` in Go * [gpath](https://github.com/tenntenn/gpath) - Library to simplify access struct fields with Go's expression in reflection. * [grequests](https://github.com/levigross/grequests) - An elegant and simple `net/http` wrapper that follows Python's requests library +* [gron](https://github.com/roylee0704/gron) - Define time-based tasks using a simple Go API and Gron’s scheduler will run them accordingly. * [htcat](https://github.com/htcat/htcat) - Parallel and Pipelined HTTP GET Utility * [httpcontrol](https://github.com/facebookgo/httpcontrol) - Package httpcontrol allows for HTTP transport level control around timeouts and retries. * [hub](https://github.com/github/hub) - wrap git commands with additional functionality to interact with github from the terminal. From b691d04377deed1ed5b88daa7b399af7fe72ff66 Mon Sep 17 00:00:00 2001 From: Danny Date: Fri, 16 Jun 2017 22:37:20 +0300 Subject: [PATCH 375/403] Adding gowd (#1430) * Update README.md Adding [gowd](https://github.com/dtylman/gowd) * Update README.md Adding [gowd](https://github.com/dtylman/gowd) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index de8e8d01..6c052835 100644 --- a/README.md +++ b/README.md @@ -528,6 +528,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goqt](https://github.com/visualfc/goqt) - Golang bindings to the Qt cross-platform application framework. * [gosx-notifier](https://github.com/deckarep/gosx-notifier) - OSX Desktop Notifications library for Go. * [gotk3](https://github.com/gotk3/gotk3) - Go bindings for GTK3. +* [gowd](https://github.com/dtylman/gowd) - Rapid and simple desktop UI development with GO, HTML, CSS and NW.js. * [qt](https://github.com/therecipe/qt) - Qt binding for Go (support for Windows / macOS / Linux / Android / iOS / Sailfish OS / Raspberry Pi) * [robotgo](https://github.com/go-vgo/robotgo) - Go Native cross-platform GUI system automation;Control the mouse, keyboard and other. * [systray](https://github.com/getlantern/systray) - Cross platform Go library to place an icon and menu in the notification area From 9aa128813a2cd07bda8ee0e3f3da549ab56aeebb Mon Sep 17 00:00:00 2001 From: Daniel Gruber Date: Fri, 16 Jun 2017 21:43:39 +0200 Subject: [PATCH 376/403] Added DRMAA job submission library for cluster schedulers. (#740) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6c052835..f914e30d 100644 --- a/README.md +++ b/README.md @@ -378,6 +378,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Packages that help with building Distributed Systems.* * [celeriac](https://github.com/svcavallar/celeriac.v1) - A library for adding support for interacting and monitoring Celery workers, tasks and events in Go +* [drmaa](https://github.com/dgruber/drmaa) - Job submission library for cluster schedulers based on the DRMAA standard. * [flowgraph](https://github.com/vectaport/flowgraph) - MPI-style ready-send coordination layer. * [gleam](https://github.com/chrislusf/gleam) - Fast and scalable distributed map/reduce system written in pure Go and Luajit, combining Go's high concurrency with Luajit's high performance, runs standalone or distributed. * [glow](https://github.com/chrislusf/glow) - Easy-to-Use scalable distributed big data processing, Map-Reduce, DAG execution, all in pure Go. From 2886b0417cb6a03e9aad887dff5e1959a5cd0b2b Mon Sep 17 00:00:00 2001 From: Avelino Date: Fri, 16 Jun 2017 16:46:40 -0300 Subject: [PATCH 377/403] remove beerpay support screen: https://www.dropbox.com/s/5hjskgzapzx80db/Screenshot%202017-06-16%2016.46.13.png?dl=0 --- README.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/README.md b/README.md index f914e30d..f86cebab 100644 --- a/README.md +++ b/README.md @@ -1572,8 +1572,3 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. * [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. * [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. - -## Support on Beerpay -Hey dude! Help me out for a couple of :beers:! - -[![Beerpay](https://beerpay.io/avelino/awesome-go/badge.svg?style=beer-square)](https://beerpay.io/avelino/awesome-go) [![Beerpay](https://beerpay.io/avelino/awesome-go/make-wish.svg?style=flat-square)](https://beerpay.io/avelino/awesome-go?focus=wish) From 33e4cc31413d209d646a2c767f520c2328b2e29e Mon Sep 17 00:00:00 2001 From: Dmitri Shuralyov Date: Fri, 16 Jun 2017 22:57:02 +0300 Subject: [PATCH 378/403] Add githubql package. (#1435) Package githubql is a client library for accessing GitHub GraphQL API v4 (https://developer.github.com/v4/). Status: In active early research and development. The API will change when opportunities for improvement are discovered; it is not yet frozen. --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index f86cebab..e3324014 100644 --- a/README.md +++ b/README.md @@ -1059,7 +1059,8 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gcm](https://github.com/Aorioli/gcm) - Go library for Google Cloud Messaging * [geo-golang](https://github.com/codingsince1985/geo-golang) - Go Library to access [Google Maps](https://developers.google.com/maps/documentation/geocoding/intro), [MapQuest](http://open.mapquestapi.com/geocoding/), [Nominatim](http://open.mapquestapi.com/nominatim/), [OpenCage](http://geocoder.opencagedata.com/api.html), [HERE](https://developer.here.com/rest-apis/documentation/geocoder), [Bing](https://msdn.microsoft.com/en-us/library/ff701715.aspx), [Mapbox](https://www.mapbox.com/developers/api/geocoding/), and [OpenStreetMap](https://wiki.openstreetmap.org/wiki/Nominatim) geocoding / reverse geocoding APIs. * [ghost](https://github.com/neuegram/ghost) - Go Library for accessing the Snapchat API. -* [github](https://github.com/google/go-github) - Go library for accessing the GitHub API. +* [github](https://github.com/google/go-github) - Go library for accessing the GitHub REST API v3. +* [githubql](https://github.com/shurcooL/githubql) - Go library for accessing the GitHub GraphQL API v4. * [go-imgur](https://github.com/koffeinsource/go-imgur) - Go client library for [imgur](https://imgur.com) * [go-jira](https://github.com/andygrunwald/go-jira) - Go client library for [Atlassian JIRA](https://www.atlassian.com/software/jira) * [go-marathon](https://github.com/gambol99/go-marathon) - A Go library for interacting with Mesosphere's Marathon PAAS. From 0efd2bbcf64bcefa4ac483c431dd5f6c4c25c524 Mon Sep 17 00:00:00 2001 From: Lawrence Woodman Date: Sun, 18 Jun 2017 20:21:20 +0100 Subject: [PATCH 379/403] Add roveralls to continuous integration section (#1128) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b7f2b932..084fa835 100644 --- a/README.md +++ b/README.md @@ -207,6 +207,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [drone](https://github.com/drone/drone) - Drone is a Continuous Integration platform built on Docker, written in Go * [goveralls](https://github.com/mattn/goveralls) - Go integration for Coveralls.io continuous code coverage tracking system. * [overalls](https://github.com/go-playground/overalls) - Multi-Package go project coverprofile for tools like goveralls +* [roveralls](https://github.com/LawrenceWoodman/roveralls) - A recursive coverage testing tool ## CSS Preprocessors From cc5b4c2a4bc26cdc9d633bbd459bf60bd84c45a6 Mon Sep 17 00:00:00 2001 From: Stefan Nilsson Date: Mon, 19 Jun 2017 00:56:42 +0200 Subject: [PATCH 380/403] Add github.com/yourbasic/radix (#1456) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 084fa835..9a78805e 100644 --- a/README.md +++ b/README.md @@ -1039,6 +1039,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [kace](https://github.com/codemodus/kace) - Common case conversions covering common initialisms. * [parseargs-go](https://github.com/nproc/parseargs-go) - A string argument parser that understands quotes and backslashes * [parth](https://github.com/codemodus/parth) - URL path segmentation parsing. + * [radix](https://github.com/yourbasic/radix) - A fast string sorting algorithm. * [xurls](https://github.com/mvdan/xurls) - Extract urls from text ## Third-party APIs From 2b38d1de1793079aff6bc657a3fb676316f9e799 Mon Sep 17 00:00:00 2001 From: Vladimir Bauer Date: Mon, 19 Jun 2017 01:59:21 +0300 Subject: [PATCH 381/403] Multi progress bar for terminal applications (#1428) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 9a78805e..98050088 100644 --- a/README.md +++ b/README.md @@ -172,6 +172,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [go-isatty](https://github.com/mattn/go-isatty) - isatty for golang. * [gocui](https://github.com/jroimartin/gocui) - Minimalist Go library aimed at creating Console User Interfaces. * [gommon/color](https://github.com/labstack/gommon/tree/master/color) - Style terminal text. +* [mpb](https://github.com/vbauerster/mpb) - Multi progress bar for terminal applications. * [termbox-go](https://github.com/nsf/termbox-go) - Termbox is a library for creating cross-platform text-based interfaces. * [termtables](https://github.com/apcera/termtables) - A Go port of the Ruby library [terminal-tables](https://github.com/tj/terminal-table) for simple ASCII table generation as well as providing markdown and HTML output * [termui](https://github.com/gizak/termui) - Go terminal dashboard based on **termbox-go** and inspired by [blessed-contrib](https://github.com/yaronn/blessed-contrib). From 6d55c7286c390848f51ce7644a8cd529e207c71f Mon Sep 17 00:00:00 2001 From: Jin Yeom Date: Sun, 18 Jun 2017 18:00:42 -0500 Subject: [PATCH 382/403] Added neat - Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT) (#1429) * added neat - Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT). * alphabetical order --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 98050088..710b1e90 100644 --- a/README.md +++ b/README.md @@ -642,6 +642,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gorgonia](https://github.com/chewxy/gorgonia) - graph-based computational library like Theano for Go that provides primitives for building various machine learning and neural network algorithms. * [libsvm](https://github.com/datastream/libsvm) - libsvm golang version derived work based on LIBSVM 3.14. * [mlgo](https://github.com/NullHypothesis/mlgo) - This project aims to provide minimalistic machine learning algorithms in Go. +* [neat](https://github.com/jinyeom/neat) - Plug-and-play, parallel Go framework for NeuroEvolution of Augmenting Topologies (NEAT). * [neural-go](https://github.com/schuyler/neural-go) - A multilayer perceptron network implemented in Go, with training via backpropagation. * [probab](https://github.com/ThePaw/probab) - Probability distribution functions. Bayesian inference. Written in pure Go. * [regommend](https://github.com/muesli/regommend) - Recommendation & collaborative filtering engine From 33fffe47bd5c66feb6a0b9da44a90eacca98a482 Mon Sep 17 00:00:00 2001 From: golangbot Date: Tue, 20 Jun 2017 23:12:19 +0530 Subject: [PATCH 383/403] Added new tutorial (#1464) * Added new tutorial * New tutorial URL Added --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 710b1e90..390ff892 100644 --- a/README.md +++ b/README.md @@ -1576,5 +1576,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [Go By Example](https://gobyexample.com/) - A hands-on introduction to Go using annotated example programs. * [Go Cheat Sheet](https://github.com/a8m/go-lang-cheat-sheet) - A Go's reference card. * [Go database/sql tutorial](http://go-database-sql.org/) - Introduction to database/sql. +* [Golangbot](https://golangbot.com/learn-golang-series/) - Tutorials to get started with programming in Go. * [How to Use Godog for Behavior-driven Development in Go](https://semaphoreci.com/community/tutorials/how-to-use-godog-for-behavior-driven-development-in-go) - Get started with Godog — a Behavior-driven development framework for building and testing Go applications. * [Working with Go](https://github.com/mkaz/working-with-go) - An intro to go for experienced programmers. From 8b486bf548f6606ee4f548b638351882e7c3f0a7 Mon Sep 17 00:00:00 2001 From: Louis Date: Tue, 20 Jun 2017 20:42:37 +0300 Subject: [PATCH 384/403] Add github.com/artonge/go-csv-tag (#1465) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 390ff892..943c3ea8 100644 --- a/README.md +++ b/README.md @@ -443,6 +443,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for handling files and file systems.* * [afero](https://github.com/spf13/afero) - A FileSystem Abstraction System for Go. +* [go-csv-tag](https://github.com/artonge/go-csv-tag) - Load csv file using tag. * [notify](https://github.com/rjeczalik/notify) - File system event notification library with simple API, similar to os/signal. * [tarfs](https://github.com/posener/tarfs) - An implementation of the [`FileSystem` interface](https://godoc.org/github.com/kr/fs#FileSystem) for tar files. From 7a98d5f86eb43f0ad6b67cd9d947c675c9bdaf25 Mon Sep 17 00:00:00 2001 From: Cameron Bergoon Date: Tue, 20 Jun 2017 13:42:55 -0400 Subject: [PATCH 385/403] Adding cbergoon/merkletree to DS section (#1463) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 943c3ea8..b0585fe0 100644 --- a/README.md +++ b/README.md @@ -243,6 +243,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [levenshtein](https://github.com/agext/levenshtein) - Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. * [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing +* [merkletree](https://github.com/cbergoon/merkletree) - Implementation of a merkle tree providing an efficient and secure verification of the contents of data structures. * [roaring](https://github.com/RoaringBitmap/roaring) - Go package implementing compressed bitsets. * [skiplist](https://github.com/gansidui/skiplist) - Skiplist implementation in Go * [trie](https://github.com/derekparker/trie) - Trie implementation in Go From 629c19da7da328c0eb8c0a89a31d2d5c2f7e8d75 Mon Sep 17 00:00:00 2001 From: peter-mogensen Date: Tue, 20 Jun 2017 19:43:15 +0200 Subject: [PATCH 386/403] Added gone/jconf modular JSON configuration lib (#1457) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b0585fe0..6b897ef7 100644 --- a/README.md +++ b/README.md @@ -193,6 +193,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections * [goConfig](https://github.com/crgimenes/goConfig) - Parse a struct as input and populates the fields of this struct with parameters fom command line, environment variables and configuration file. * [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy +* [gone/jconf](https://github.com/One-com/gone/tree/master/jconf#readme) - Modular JSON configuration. Keep you config structs along the code they configure and delegate parsing to submodules without sacrificing full config serialization. * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. * [ingo](https://github.com/schachmat/ingo) - Flags persisted in an ini-like config file * [ini](https://github.com/go-ini/ini) - Go package for read and write INI files From 453d8347fb4b921a9e9498a7e5bdc7d3d06be977 Mon Sep 17 00:00:00 2001 From: Richard Knop Date: Tue, 20 Jun 2017 18:44:10 +0100 Subject: [PATCH 387/403] Adding RichardKnop/go-fixtures (#1154) * Adding AreaHQ/go-fixtures * Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 6b897ef7..73057ffe 100644 --- a/README.md +++ b/README.md @@ -287,6 +287,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Database schema migration.* * [darwin](https://github.com/GuiaBolso/darwin) - Database schema evolution library for Go +* [go-fixtures](https://github.com/RichardKnop/go-fixtures) - Django style fixtures for Golang's excellent built-in database/sql library. * [goose](https://github.com/steinbacher/goose) - Database migration tool. You can manage your database's evolution by creating incremental SQL or Go scripts. * [gormigrate](https://github.com/go-gormigrate/gormigrate) - Database schema migration helper for Gorm ORM. * [migrate](https://github.com/mattes/migrate) - Database migrations. CLI and Golang library. From a2e8da67aaa13120e77f1a4294899f41a0da4cd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ola=20Holmstr=C3=B6m?= Date: Tue, 20 Jun 2017 19:44:25 +0200 Subject: [PATCH 388/403] Add github.com/olahol/melody. (#947) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 73057ffe..e9d24cf4 100644 --- a/README.md +++ b/README.md @@ -674,6 +674,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [guble](https://github.com/smancke/guble) - A messaging server using push notifications (Google Firebase Cloud Messaging, Apple Push Notification services, SMS) as well as websockets, a REST API, featuring distributed operation and message-persistence. * [machinery](https://github.com/RichardKnop/machinery) - An asynchronous task queue/job queue based on distributed message passing. * [mangos](https://github.com/go-mangos/mangos) - Pure go implementation of the Nanomsg ("Scalable Protocols") with transport interoperability. +* [melody](https://github.com/olahol/melody) - Minimalist framework for dealing with websocket sessions, includes broadcasting and automatic ping/pong handling. * [NATS Go Client](https://github.com/nats-io/nats) - A lightweight and high performance publish-subscribe and distributed queueing messaging system - this is the Go library. * [nsq-event-bus](https://github.com/rafaeljesus/nsq-event-bus) - A tiny wrapper around NSQ topic and channel. * [oplog](https://github.com/dailymotion/oplog) - A generic oplog/replication system for REST APIs From f58af8f94d68b6d3e4ae1bce160ad90523685955 Mon Sep 17 00:00:00 2001 From: Richard Knop Date: Tue, 20 Jun 2017 18:45:08 +0100 Subject: [PATCH 389/403] Add github.com/RichardKnop/jsonhal (#1461) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e9d24cf4..e0bfa5ac 100644 --- a/README.md +++ b/README.md @@ -1183,6 +1183,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [jsonapi-errors](https://github.com/AmuzaTkts/jsonapi-errors) - Go bindings based on the JSON API errors reference. * [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON. * [jsongo](https://github.com/ricardolonga/jsongo) - Fluent API to make it easier to create Json objects. +* [jsonhal](https://github.com/RichardKnop/jsonhal) - A simple Go package to make custom structs marshal into HAL compatible JSON responses. * [kazaam](https://github.com/Qntfy/kazaam) - API for arbitrary transformation of JSON documents. * [lrserver](https://github.com/jaschaephraim/lrserver) - LiveReload server for Go * [mc](https://github.com/minio/mc) - Minio Client provides minimal tools to work with Amazon S3 compatible cloud storage and filesystems. From 5229e83971f0d0339bf5d6ef0f2e4fcdb3c9fd0e Mon Sep 17 00:00:00 2001 From: Huang Huang Date: Tue, 27 Jun 2017 21:32:30 +0800 Subject: [PATCH 390/403] Add go-httpheader (#1471) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index e0bfa5ac..04f54fc6 100644 --- a/README.md +++ b/README.md @@ -1148,6 +1148,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-debug](https://github.com/tj/go-debug) - Conditional debug logging for Golang libraries & applications. * [go-dry](https://github.com/ungerik/go-dry) - DRY (don't repeat yourself) package for Go. * [go-funk](https://github.com/thoas/go-funk) - A modern Go utility library which provides helpers (map, find, contains, filter, chunk, reverse, ...) +* [go-httpheader](https://github.com/mozillazg/go-httpheader) - A Go library for encoding structs into Header fields. * [go-rate](https://github.com/beefsack/go-rate) - A timed rate limiter for Go. * [go-respond](https://github.com/nicklaw5/go-respond) - A Go package for handling common HTTP JSON responses. * [go-sitemap-generator](https://github.com/ikeikeikeike/go-sitemap-generator) - XML Sitemap generator written in Go. From 45a64e183de463024674d098c4e9c9037369ded8 Mon Sep 17 00:00:00 2001 From: Osamu TONOMORI Date: Fri, 30 Jun 2017 02:26:19 +0900 Subject: [PATCH 391/403] Add osamingo/gaurun-client (#1478) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 04f54fc6..0c3e64e2 100644 --- a/README.md +++ b/README.md @@ -661,6 +661,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [drone-line](https://github.com/appleboy/drone-line) - Sending [Line](https://business.line.me/en/services/bot) notifications using a binary, docker or Drone CI. * [emitter](https://github.com/olebedev/emitter) - Emits events using Go way, with wildcard, predicates, cancellation possibilities and many other good wins. * [EventBus](https://github.com/asaskevich/EventBus) - The lightweight event bus with async compatibility. +* [gaurun-client](https://github.com/osamingo/gaurun-client) - Gaurun Client written in Go. * [Glue](https://github.com/desertbit/glue) - Robust Go and Javascript Socket Library (Alternative to Socket.io). * [go-longpoll](https://github.com/ventu-io/go-longpoll) - PubSub with long polling. * [go-notify](https://github.com/TheCreeper/go-notify) - Native implementation of the freedesktop notification spec. From e65d181a80b8df0dbaf25eb8e6f13b31e42cdb2f Mon Sep 17 00:00:00 2001 From: Adhi Ravishankar Date: Thu, 29 Jun 2017 12:26:54 -0500 Subject: [PATCH 392/403] Moved GoDotEnv from Utilities to Configuration (#1477) * Update README.md * Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 0c3e64e2..a804546a 100644 --- a/README.md +++ b/README.md @@ -192,6 +192,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [envconfig](https://github.com/vrischmann/envconfig) - Read your configuration from environment variables. * [gcfg](https://github.com/go-gcfg/gcfg) - read INI-style configuration files into Go structs; supports user-defined types and subsections * [goConfig](https://github.com/crgimenes/goConfig) - Parse a struct as input and populates the fields of this struct with parameters fom command line, environment variables and configuration file. +* [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.) * [gofigure](https://github.com/ian-kent/gofigure) - Go application configuration made easy * [gone/jconf](https://github.com/One-com/gone/tree/master/jconf#readme) - Modular JSON configuration. Keep you config structs along the code they configure and delegate parsing to submodules without sacrificing full config serialization. * [hjson](https://github.com/hjson/hjson-go) - Human JSON, a configuration file format for humans. Relaxed syntax, fewer mistakes, more comments. @@ -1158,7 +1159,6 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-underscore](https://github.com/tobyhede/go-underscore) - A useful collection of helpfully functional Go collection utilities. * [goback](https://github.com/carlescere/goback) - Go simple exponential backoff package. * [godaemon](https://github.com/VividCortex/godaemon) - Utility to write daemons. -* [godotenv](https://github.com/joho/godotenv) - A Go port of Ruby's dotenv library (Loads environment variables from `.env`.) * [godropbox](https://github.com/dropbox/godropbox) - Common libraries for writing Go services/applications from Dropbox. * [gohper](https://github.com/cosiner/gohper) - Various tools/modules help for development. * [gojq](https://github.com/elgs/gojq) - JSON query in Golang. From c42c9071a99a9e9f840634b260518927c70da2f4 Mon Sep 17 00:00:00 2001 From: Yusuke Kato Date: Fri, 30 Jun 2017 02:29:19 +0900 Subject: [PATCH 393/403] feature add kpango/glg logging library (#1469) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a804546a..b5437992 100644 --- a/README.md +++ b/README.md @@ -595,6 +595,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for generating and working with log files.* +* [glg](https://github.com/kpango/glg) - glg is simple and fast leveled logging library for Go. * [glog](https://github.com/golang/glog) - Leveled execution logs for Go. * [go-log](https://github.com/siddontang/go-log) - Log lib supports level and multi handlers. * [go-log](https://github.com/ian-kent/go-log) - A log4j implementation in Go. From ff956eaed0c844fe7abd0600dbb96c99a8ae3fe7 Mon Sep 17 00:00:00 2001 From: Raed Shomali Date: Thu, 29 Jun 2017 13:30:19 -0400 Subject: [PATCH 394/403] Added github.com/shomali11/xredis (#1468) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index b5437992..d27a79ad 100644 --- a/README.md +++ b/README.md @@ -357,6 +357,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [redis](https://github.com/go-redis/redis) - Redis client for Golang * [redis](https://github.com/hoisie/redis) - A simple, powerful Redis client for Go. * [redis](https://github.com/bsm/redeo) - Redis-protocol compatible TCP servers/services. + * [xredis](https://github.com/shomali11/xredis) - Typesafe, customizable, clean & easy to use Redis client. * Search and Analytic Databases * [bleve](https://github.com/blevesearch/bleve) - A modern text indexing library for go. From 0f39d8e44f60971f61438be40df6b580c4d6dda8 Mon Sep 17 00:00:00 2001 From: Francis Chuang Date: Fri, 30 Jun 2017 03:31:09 +1000 Subject: [PATCH 395/403] Add Apache Phoenix/Avatica database/sql driver. (#956) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index d27a79ad..d402ffee 100644 --- a/README.md +++ b/README.md @@ -323,6 +323,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a *Libraries for connecting and operating databases.* * Relational Databases + * [avatica](https://github.com/Boostport/avatica) - Apache Phoenix/Avatica SQL driver for database/sql. * [bgc](https://github.com/viant/bgc) - Datastore Connectivity for BigQuery for go. * [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS SQL driver for Go * [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using database/sql. From 2164bb50e401a75359b66368cda20af53cacba13 Mon Sep 17 00:00:00 2001 From: Francis Chuang Date: Tue, 4 Jul 2017 06:58:45 +1000 Subject: [PATCH 396/403] Update description for go-mssqldb database driver (#1482) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d402ffee..29b538fb 100644 --- a/README.md +++ b/README.md @@ -328,7 +328,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [firebirdsql](https://github.com/nakagami/firebirdsql) - Firebird RDBMS SQL driver for Go * [go-adodb](https://github.com/mattn/go-adodb) - Microsoft ActiveX Object DataBase driver for go that using database/sql. * [go-bqstreamer](https://github.com/rounds/go-bqstreamer) - BigQuery fast and concurrent stream insert. - * [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - Microsoft MSSQL driver prototype in go language. + * [go-mssqldb](https://github.com/denisenkom/go-mssqldb) - Microsoft MSSQL driver for Go. * [go-oci8](https://github.com/mattn/go-oci8) - Oracle driver for go that using database/sql. * [go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) - MySQL driver for Go. * [go-sqlite3](https://github.com/mattn/go-sqlite3) - SQLite3 driver for go that using database/sql. From 9d0df8babac7f7a82f7addd0621b4a12001057f3 Mon Sep 17 00:00:00 2001 From: Vasily Kolobkov Date: Wed, 5 Jul 2017 09:13:12 +0200 Subject: [PATCH 397/403] Update chi url (#1479) --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 29b538fb..688f50a3 100644 --- a/README.md +++ b/README.md @@ -1340,7 +1340,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [alien](https://github.com/gernest/alien) - A lightweight and fast http router from outer space * [Bone](https://github.com/go-zoo/bone) - Lightning Fast HTTP Multiplexer. * [Bxog](https://github.com/claygod/Bxog) - Simple and fast HTTP router for Go. It works with routes of varying difficulty, length and nesting. And he knows how to create a URL from the received parameters. -* [chi](https://github.com/pressly/chi) - Small, fast and expressive HTTP router built on net/context. +* [chi](https://github.com/go-chi/chi) - Small, fast and expressive HTTP router built on net/context. * [fasthttprouter](https://github.com/buaazp/fasthttprouter) - A high performance router forked from `httprouter`. The first router fit for `fasthttp`. * [gocraft/web](https://github.com/gocraft/web) - A mux and middleware package in Go. * [Goji](https://github.com/goji/goji) - Goji is a minimalistic and flexible HTTP request multiplexer with support for `net/context`. From 99a5ec807112641752c9c92d4fc40549bbc83cd1 Mon Sep 17 00:00:00 2001 From: Oklahomer Date: Fri, 7 Jul 2017 09:37:26 +0900 Subject: [PATCH 398/403] Add oklahomer/go-sarah (#1484) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 688f50a3..428357a8 100644 --- a/README.md +++ b/README.md @@ -708,6 +708,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [go-multierror](https://github.com/hashicorp/go-multierror) - A Go (golang) package for representing a list of errors as a single error. * [go-openapi](https://github.com/go-openapi) - A collection of packages to parse and utilize open-api schemas * [go-resiliency](https://github.com/eapache/go-resiliency) - Resiliency patterns for golang +* [go-sarah](https://github.com/oklahomer/go-sarah) - A framework to build bot for desired chat services including LINE, Slack, Gitter and more. * [go-shortid](https://github.com/ventu-io/go-shortid) - Distributed generation of super short, unique, non-sequential, URL friendly IDs. * [go-unarr](https://github.com/gen2brain/go-unarr) - Decompression library for RAR, TAR, ZIP and 7z archives. * [go.uuid](https://github.com/satori/go.uuid) - Implementation of Universally Unique Identifier (UUID). Supported both creation and parsing of UUIDs. From 17ae8f53b9abc7748282b8d5fc7698ac7365e75d Mon Sep 17 00:00:00 2001 From: Seif Lotfy Date: Fri, 7 Jul 2017 05:41:48 +0200 Subject: [PATCH 399/403] add axiomhq/hyperloglog --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 428357a8..cd84f667 100644 --- a/README.md +++ b/README.md @@ -242,6 +242,7 @@ Please take a quick gander at the [contribution guidelines](https://github.com/a * [goskiplist](https://github.com/ryszard/goskiplist) - A skip list implementation in Go. * [gota](https://github.com/kniren/gota) - An implementation of dataframes, series, and data wrangling methods for Go. * [hilbert](https://github.com/google/hilbert) - Go package for mapping values to and from space-filling curves, such as Hilbert and Peano curves. +* [hyperloglog](https://github.com/axiomhq/hyperloglog) - HyperLogLog implementation with Sparse, LogLog-Beta bias correction and TailCut space reduction. * [levenshtein](https://github.com/agext/levenshtein) - Levenshtein distance and similarity metrics with customizable edit costs and Winkler-like bonus for common prefix. * [levenshtein](https://github.com/agnivade/levenshtein) - Implementation to calculate levenshtein distance in Go. * [mafsa](https://github.com/smartystreets/mafsa) - MA-FSA implementation with Minimal Perfect Hashing From a72bc52fdaba1df1d7c43e53309d4625f234c47e Mon Sep 17 00:00:00 2001 From: Andrew Stuart Date: Fri, 7 Jul 2017 15:43:22 -0700 Subject: [PATCH 400/403] Add goq - html unmarshaling with jquery struct tags --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index cd84f667..a9b76fca 100644 --- a/README.md +++ b/README.md @@ -1038,6 +1038,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [gographviz](https://github.com/awalterschulze/gographviz) - Parses the Graphviz DOT language. * [gommon/bytes](https://github.com/labstack/gommon/tree/master/bytes) - Format bytes to string. * [gonameparts](https://github.com/polera/gonameparts) - Parses human names into individual name parts + * [goq](https://github.com/andrewstuart/goq) - Declarative unmarshaling of HTML using struct tags with jQuery syntax (uses GoQuery). * [GoQuery](https://github.com/PuerkitoBio/goquery) - GoQuery brings a syntax and a set of features similar to jQuery to the Go language. * [goregen](https://github.com/zach-klippenstein/goregen) - A library for generating random strings from regular expressions. * [gotext](https://github.com/leonelquinteros/gotext) - GNU gettext utilities for Go. From b8102c32d06e38d39c4da14fa493c6e6c8ca5cf2 Mon Sep 17 00:00:00 2001 From: Quentin Renard Date: Sat, 8 Jul 2017 12:13:34 +0200 Subject: [PATCH 401/403] add astisub --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9b76fca..a5e6f4e0 100644 --- a/README.md +++ b/README.md @@ -1256,6 +1256,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis *Libraries for manipulating video.* * [gmf](https://github.com/3d0c/gmf) - Go bindings for FFmpeg av\* libraries. +* [go-astisub](https://github.com/asticode/go-astisub) - Manipulate subtitles in GO (.srt, .stl, .ttml, .webvtt, .ssa/.ass, teletext, .smi, etc.). * [goav](https://github.com/giorgisio/goav) - Comphrensive Go bindings for FFmpeg. * [gst](https://github.com/ziutek/gst) - Go bindings for GStreamer. * [v4l](https://github.com/korandiz/v4l) - A video capture library for Linux, written in Go. From 7bc4e24a885ff386af49698384f40ab50b9c7d7d Mon Sep 17 00:00:00 2001 From: Guilherme Oenning Date: Sat, 8 Jul 2017 13:25:04 +0100 Subject: [PATCH 402/403] add vscode-go (#1486) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a9b76fca..4f6c2682 100644 --- a/README.md +++ b/README.md @@ -1403,6 +1403,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [velour](https://github.com/velour/velour) - An IRC client for the acme editor. * [vim-compiler-go](https://github.com/rjohnsondev/vim-compiler-go) - A Vim plugin to highlight syntax errors on save. * [vim-go](https://github.com/fatih/vim-go) - Go development plugin for Vim. +* [vscode-go](https://github.com/Microsoft/vscode-go) - An extension for Visual Studio Code (VS Code) which provides support for the Go language. * [Watch](https://github.com/eaburns/Watch) - Runs a command in an acme win on file changes. ## Go Tools From 0e5fff343eff6aa399490efd4f44c7e65c90912c Mon Sep 17 00:00:00 2001 From: Meng Zhuo Date: Sat, 8 Jul 2017 23:03:45 +0800 Subject: [PATCH 403/403] add project intrinsic, Use x86 SIMD without writing any assembly code (#1470) --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3f16e090..60087caf 100644 --- a/README.md +++ b/README.md @@ -1187,6 +1187,7 @@ See [go-hardware](https://github.com/rakyll/go-hardware) for a comprehensive lis * [hub](https://github.com/github/hub) - wrap git commands with additional functionality to interact with github from the terminal. * [hystrix-go](https://github.com/afex/hystrix-go) - Implements Hystrix patterns of programmer-defined fallbacks aka circuit breaker. * [immortal](https://github.com/immortal/immortal) - A *nix cross-platform (OS agnostic) supervisor +* [intrinsic](https://github.com/mengzhuo/intrinsic) - Use x86 SIMD without writing any assembly code. * [JobRunner](https://github.com/bamzi/jobrunner) - Smart and featureful cron job scheduler with job queuing and live monitoring built in. * [jsonapi-errors](https://github.com/AmuzaTkts/jsonapi-errors) - Go bindings based on the JSON API errors reference. * [jsonf](https://github.com/miolini/jsonf) - Console tool for highlighted formatting and struct query fetching JSON.