oauth2 1.4.0 → 1.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +5 -5
- data/.gitignore +12 -0
- data/.jrubyrc +1 -0
- data/.rspec +2 -0
- data/.rubocop.yml +80 -0
- data/.rubocop_rspec.yml +26 -0
- data/.rubocop_todo.yml +15 -0
- data/.travis.yml +49 -0
- data/CHANGELOG.md +139 -0
- data/CODE_OF_CONDUCT.md +74 -0
- data/Gemfile +41 -0
- data/LICENSE +22 -0
- data/README.md +101 -18
- data/Rakefile +45 -0
- data/gemfiles/jruby_1.7.gemfile +11 -0
- data/gemfiles/jruby_1.7.gemfile.lock +81 -0
- data/gemfiles/jruby_9.0.gemfile +13 -0
- data/gemfiles/jruby_9.1.gemfile +17 -0
- data/gemfiles/jruby_9.1.gemfile.lock +112 -0
- data/gemfiles/jruby_9.2.gemfile +17 -0
- data/gemfiles/jruby_9.2.gemfile.lock +112 -0
- data/gemfiles/jruby_head.gemfile +17 -0
- data/gemfiles/ruby_1.9.gemfile +16 -0
- data/gemfiles/ruby_1.9.gemfile.lock +85 -0
- data/gemfiles/ruby_2.0.gemfile +17 -0
- data/gemfiles/ruby_2.0.gemfile.lock +90 -0
- data/gemfiles/ruby_2.1.gemfile +19 -0
- data/gemfiles/ruby_2.1.gemfile.lock +109 -0
- data/gemfiles/ruby_2.2.gemfile +17 -0
- data/gemfiles/ruby_2.2.gemfile.lock +108 -0
- data/gemfiles/ruby_2.3.gemfile +17 -0
- data/gemfiles/ruby_2.3.gemfile.lock +108 -0
- data/gemfiles/ruby_2.4.gemfile +17 -0
- data/gemfiles/ruby_2.4.gemfile.lock +108 -0
- data/gemfiles/ruby_2.5.gemfile +17 -0
- data/gemfiles/ruby_2.5.gemfile.lock +108 -0
- data/gemfiles/ruby_head.gemfile +17 -0
- data/gemfiles/ruby_head.gemfile.lock +108 -0
- data/lib/oauth2/mac_token.rb +1 -1
- data/lib/oauth2/version.rb +6 -6
- data/oauth2.gemspec +23 -8
- metadata +160 -15
- data/LICENSE.md +0 -20
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
MIT License
|
2
|
+
|
3
|
+
Copyright (c) 2011 - 2013 Michael Bleigh and Intridea, Inc.
|
4
|
+
Copyright (c) 2017 - 2018 oauth-xx organization, https://github.com/oauth-xx
|
5
|
+
|
6
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
7
|
+
of this software and associated documentation files (the "Software"), to deal
|
8
|
+
in the Software without restriction, including without limitation the rights
|
9
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
10
|
+
copies of the Software, and to permit persons to whom the Software is
|
11
|
+
furnished to do so, subject to the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be included in all
|
14
|
+
copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
17
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
18
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
19
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
20
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
21
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
22
|
+
SOFTWARE.
|
data/README.md
CHANGED
@@ -1,30 +1,55 @@
|
|
1
1
|
# OAuth2
|
2
2
|
|
3
3
|
[][gem]
|
4
|
-
[][gem]
|
5
|
+
[][gem]
|
6
|
+
[][travis]
|
7
7
|
[][coveralls]
|
8
|
+
[][codeclimate-maintainability]
|
9
|
+
[][depfu]
|
10
|
+
[][code-triage]
|
11
|
+
[](https://gitter.im/oauth-xx/oauth2)
|
12
|
+
[][source-license]
|
13
|
+
[][inch-ci]
|
8
14
|
|
9
15
|
[gem]: https://rubygems.org/gems/oauth2
|
10
|
-
[travis]: http://travis-ci.org/
|
11
|
-
[
|
12
|
-
[codeclimate]: https://codeclimate.com/github/
|
13
|
-
[
|
16
|
+
[travis]: http://travis-ci.org/oauth-xx/oauth2
|
17
|
+
[coveralls]: https://coveralls.io/r/oauth-xx/oauth2
|
18
|
+
[codeclimate-maintainability]: https://codeclimate.com/github/oauth-xx/oauth2/maintainability
|
19
|
+
[depfu]: https://depfu.com/github/oauth-xx/oauth2
|
20
|
+
[source-license]: https://opensource.org/licenses/MIT
|
21
|
+
[inch-ci]: http://inch-ci.org/github/oauth-xx/oauth2
|
22
|
+
[code-triage]: https://www.codetriage.com/oauth-xx/oauth2
|
14
23
|
|
15
|
-
A Ruby wrapper for the OAuth 2.0 specification.
|
24
|
+
A Ruby wrapper for the [OAuth 2.0 specification][oauth2-spec].
|
25
|
+
|
26
|
+
[oauth2-spec]: https://oauth.net/2/
|
16
27
|
|
17
28
|
## Installation
|
18
|
-
|
29
|
+
|
30
|
+
Add this line to your application's Gemfile:
|
31
|
+
|
32
|
+
```ruby
|
33
|
+
gem 'oauth2'
|
34
|
+
```
|
35
|
+
|
36
|
+
And then execute:
|
37
|
+
|
38
|
+
$ bundle
|
39
|
+
|
40
|
+
Or install it yourself as:
|
41
|
+
|
42
|
+
$ gem install oauth2
|
19
43
|
|
20
44
|
## Resources
|
45
|
+
|
21
46
|
* [View Source on GitHub][code]
|
22
47
|
* [Report Issues on GitHub][issues]
|
23
48
|
* [Read More at the Wiki][wiki]
|
24
49
|
|
25
|
-
[code]: https://github.com/
|
26
|
-
[issues]: https://github.com/
|
27
|
-
[wiki]: https://
|
50
|
+
[code]: https://github.com/oauth-xx/oauth2
|
51
|
+
[issues]: https://github.com/oauth-xx/oauth2/issues
|
52
|
+
[wiki]: https://github.com/oauth-xx/oauth2/wiki
|
28
53
|
|
29
54
|
## Usage Examples
|
30
55
|
|
@@ -100,18 +125,33 @@ You can always use the #request method on the OAuth2::Client instance to make
|
|
100
125
|
requests for tokens for any Authentication grant type.
|
101
126
|
|
102
127
|
## Supported Ruby Versions
|
128
|
+
|
103
129
|
This library aims to support and is [tested against][travis] the following Ruby
|
104
130
|
implementations:
|
105
131
|
|
132
|
+
### Rubies with support ending at Oauth2 2.x
|
133
|
+
|
106
134
|
* Ruby 1.9.3
|
107
135
|
* Ruby 2.0.0
|
108
136
|
* Ruby 2.1
|
109
137
|
* Ruby 2.2
|
110
|
-
*
|
138
|
+
* [JRuby 1.7][jruby-1.7] (targets MRI v1.9)
|
139
|
+
* [JRuby 9.0][jruby-9.0] (targets MRI v2.0)
|
140
|
+
|
141
|
+
---
|
142
|
+
|
143
|
+
### Rubies with continued support past Oauth2 2.x
|
144
|
+
|
145
|
+
* Ruby 2.3 - Support through version 3.x series
|
111
146
|
* Ruby 2.4
|
112
|
-
*
|
147
|
+
* Ruby 2.5
|
148
|
+
* [JRuby 9.1][jruby-9.1] (targets MRI v2.3)
|
149
|
+
* [JRuby 9.2][jruby-9.2] (targets MRI v2.5)
|
113
150
|
|
114
|
-
[jruby]:
|
151
|
+
[jruby-1.7]: https://www.jruby.org/2017/05/11/jruby-1-7-27.html
|
152
|
+
[jruby-9.0]: https://www.jruby.org/2016/01/26/jruby-9-0-5-0.html
|
153
|
+
[jruby-9.1]: https://www.jruby.org/2017/05/16/jruby-9-1-9-0.html
|
154
|
+
[jruby-9.2]: https://www.jruby.org/2018/05/24/jruby-9-2-0-0.html
|
115
155
|
|
116
156
|
If something doesn't work on one of these interpreters, it's a bug.
|
117
157
|
|
@@ -126,8 +166,51 @@ implementation, you will be responsible for providing patches in a timely
|
|
126
166
|
fashion. If critical issues for a particular implementation exist at the time
|
127
167
|
of a major release, support for that Ruby version may be dropped.
|
128
168
|
|
169
|
+
## Versioning
|
170
|
+
|
171
|
+
This library aims to adhere to [Semantic Versioning 2.0.0][semver].
|
172
|
+
Violations of this scheme should be reported as bugs. Specifically,
|
173
|
+
if a minor or patch version is released that breaks backward
|
174
|
+
compatibility, a new version should be immediately released that
|
175
|
+
restores compatibility. Breaking changes to the public API will
|
176
|
+
only be introduced with new major versions.
|
177
|
+
|
178
|
+
As a result of this policy, you can (and should) specify a
|
179
|
+
dependency on this gem using the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
180
|
+
|
181
|
+
For example:
|
182
|
+
|
183
|
+
```ruby
|
184
|
+
spec.add_dependency 'oauth2', '~> 1.4'
|
185
|
+
```
|
186
|
+
|
187
|
+
[semver]: http://semver.org/
|
188
|
+
[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
189
|
+
|
129
190
|
## License
|
130
|
-
Copyright (c) 2011-2013 Michael Bleigh and Intridea, Inc. See [LICENSE][] for
|
131
|
-
details.
|
132
191
|
|
133
|
-
[
|
192
|
+
[][source-license]
|
193
|
+
|
194
|
+
- Copyright (c) 2011-2013 Michael Bleigh and Intridea, Inc.
|
195
|
+
- Copyright (c) 2017-2018 [oauth-xx organization][oauth-xx]
|
196
|
+
- See [LICENSE][license] for details.
|
197
|
+
|
198
|
+
[][fossa2]
|
199
|
+
|
200
|
+
[license]: LICENSE
|
201
|
+
[oauth-xx]: https://github.com/oauth-xx
|
202
|
+
[fossa2]: https://app.fossa.io/projects/git%2Bgithub.com%2Foauth-xx%2Foauth2?ref=badge_large
|
203
|
+
|
204
|
+
## Development
|
205
|
+
|
206
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
207
|
+
|
208
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
209
|
+
|
210
|
+
## Contributing
|
211
|
+
|
212
|
+
Bug reports and pull requests are welcome on GitHub at https://github.com/oauth-xx/oauth2. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.
|
213
|
+
|
214
|
+
## Code of Conduct
|
215
|
+
|
216
|
+
Everyone interacting in the OAuth2 project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/oauth-xx/oauth2/blob/master/CODE_OF_CONDUCT.md).
|
data/Rakefile
ADDED
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
# !/usr/bin/env rake
|
4
|
+
|
5
|
+
require 'bundler/gem_tasks'
|
6
|
+
|
7
|
+
begin
|
8
|
+
require 'wwtd/tasks'
|
9
|
+
rescue LoadError
|
10
|
+
puts 'failed to load wwtd'
|
11
|
+
end
|
12
|
+
|
13
|
+
begin
|
14
|
+
require 'rspec/core/rake_task'
|
15
|
+
RSpec::Core::RakeTask.new(:spec)
|
16
|
+
rescue LoadError
|
17
|
+
task :spec do
|
18
|
+
warn 'rspec is disabled'
|
19
|
+
end
|
20
|
+
end
|
21
|
+
task :test => :spec
|
22
|
+
|
23
|
+
begin
|
24
|
+
require 'rubocop/rake_task'
|
25
|
+
RuboCop::RakeTask.new do |task|
|
26
|
+
task.options = ['-D'] # Display the name of the failing cops
|
27
|
+
end
|
28
|
+
rescue LoadError
|
29
|
+
task :rubocop do
|
30
|
+
warn 'RuboCop is disabled'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
namespace :doc do
|
35
|
+
require 'rdoc/task'
|
36
|
+
require File.expand_path('../lib/oauth2/version', __FILE__)
|
37
|
+
RDoc::Task.new do |rdoc|
|
38
|
+
rdoc.rdoc_dir = 'rdoc'
|
39
|
+
rdoc.title = "oauth2 #{OAuth2::Version}"
|
40
|
+
rdoc.main = 'README.md'
|
41
|
+
rdoc.rdoc_files.include('README.md', 'LICENSE.md', 'lib/**/*.rb')
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
task :default => [:test, :rubocop]
|
@@ -0,0 +1,81 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
oauth2 (1.4.0)
|
5
|
+
faraday (>= 0.8, < 0.16.0)
|
6
|
+
jwt (>= 1.0, < 3.0)
|
7
|
+
multi_json (~> 1.3)
|
8
|
+
multi_xml (~> 0.5)
|
9
|
+
rack (>= 1.2, < 3)
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: https://rubygems.org/
|
13
|
+
specs:
|
14
|
+
addressable (2.4.0)
|
15
|
+
backports (3.11.4)
|
16
|
+
coveralls (0.8.22)
|
17
|
+
json (>= 1.8, < 3)
|
18
|
+
simplecov (~> 0.16.1)
|
19
|
+
term-ansicolor (~> 1.3)
|
20
|
+
thor (~> 0.19.4)
|
21
|
+
tins (~> 1.6)
|
22
|
+
diff-lcs (1.3)
|
23
|
+
docile (1.3.1)
|
24
|
+
faraday (0.9.2)
|
25
|
+
multipart-post (>= 1.2, < 3)
|
26
|
+
json (2.1.0-java)
|
27
|
+
jwt (1.5.6)
|
28
|
+
multi_json (1.13.1)
|
29
|
+
multi_xml (0.6.0)
|
30
|
+
multipart-post (2.0.0)
|
31
|
+
rack (1.6.10)
|
32
|
+
rake (12.2.1)
|
33
|
+
rdoc (5.1.0)
|
34
|
+
rspec (3.8.0)
|
35
|
+
rspec-core (~> 3.8.0)
|
36
|
+
rspec-expectations (~> 3.8.0)
|
37
|
+
rspec-mocks (~> 3.8.0)
|
38
|
+
rspec-core (3.8.0)
|
39
|
+
rspec-support (~> 3.8.0)
|
40
|
+
rspec-expectations (3.8.2)
|
41
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
42
|
+
rspec-support (~> 3.8.0)
|
43
|
+
rspec-mocks (3.8.0)
|
44
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
45
|
+
rspec-support (~> 3.8.0)
|
46
|
+
rspec-pending_for (0.1.13)
|
47
|
+
rspec-core
|
48
|
+
ruby_engine (~> 1.0)
|
49
|
+
ruby_version (~> 1.0)
|
50
|
+
rspec-support (3.8.0)
|
51
|
+
ruby_engine (1.0.1)
|
52
|
+
ruby_version (1.0.1)
|
53
|
+
simplecov (0.16.1)
|
54
|
+
docile (~> 1.1)
|
55
|
+
json (>= 1.8, < 3)
|
56
|
+
simplecov-html (~> 0.10.0)
|
57
|
+
simplecov-html (0.10.2)
|
58
|
+
term-ansicolor (1.3.2)
|
59
|
+
tins (~> 1.0)
|
60
|
+
thor (0.19.4)
|
61
|
+
tins (1.6.0)
|
62
|
+
wwtd (1.3.0)
|
63
|
+
|
64
|
+
PLATFORMS
|
65
|
+
java
|
66
|
+
|
67
|
+
DEPENDENCIES
|
68
|
+
addressable (~> 2.3)
|
69
|
+
backports (~> 3.11)
|
70
|
+
bundler (~> 1.16)
|
71
|
+
coveralls (~> 0.8)
|
72
|
+
faraday (= 0.9.2)
|
73
|
+
oauth2!
|
74
|
+
rake
|
75
|
+
rdoc (>= 5.0, < 7)
|
76
|
+
rspec
|
77
|
+
rspec-pending_for
|
78
|
+
wwtd
|
79
|
+
|
80
|
+
BUNDLED WITH
|
81
|
+
1.16.6
|
@@ -0,0 +1,17 @@
|
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
gem 'faraday', '0.9.2'
|
4
|
+
|
5
|
+
group :development do
|
6
|
+
gem 'pry'
|
7
|
+
end
|
8
|
+
|
9
|
+
group :test do
|
10
|
+
gem 'rake'
|
11
|
+
gem 'rspec'
|
12
|
+
gem 'rspec-pending_for'
|
13
|
+
gem 'rubocop', '~> 0.53.0'
|
14
|
+
gem 'rubocop-rspec', '~> 1.24.0'
|
15
|
+
end
|
16
|
+
|
17
|
+
gemspec :path => '../'
|
@@ -0,0 +1,112 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ..
|
3
|
+
specs:
|
4
|
+
oauth2 (1.4.0)
|
5
|
+
faraday (>= 0.8, < 0.16.0)
|
6
|
+
jwt (>= 1.0, < 3.0)
|
7
|
+
multi_json (~> 1.3)
|
8
|
+
multi_xml (~> 0.5)
|
9
|
+
rack (>= 1.2, < 3)
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: https://rubygems.org/
|
13
|
+
specs:
|
14
|
+
addressable (2.5.2)
|
15
|
+
public_suffix (>= 2.0.2, < 4.0)
|
16
|
+
ast (2.4.0)
|
17
|
+
backports (3.11.4)
|
18
|
+
coderay (1.1.2)
|
19
|
+
coveralls (0.8.22)
|
20
|
+
json (>= 1.8, < 3)
|
21
|
+
simplecov (~> 0.16.1)
|
22
|
+
term-ansicolor (~> 1.3)
|
23
|
+
thor (~> 0.19.4)
|
24
|
+
tins (~> 1.6)
|
25
|
+
diff-lcs (1.3)
|
26
|
+
docile (1.3.1)
|
27
|
+
faraday (0.9.2)
|
28
|
+
multipart-post (>= 1.2, < 3)
|
29
|
+
ffi (1.9.25-java)
|
30
|
+
json (2.1.0-java)
|
31
|
+
jwt (2.1.0)
|
32
|
+
method_source (0.9.0)
|
33
|
+
multi_json (1.13.1)
|
34
|
+
multi_xml (0.6.0)
|
35
|
+
multipart-post (2.0.0)
|
36
|
+
parallel (1.12.1)
|
37
|
+
parser (2.5.1.2)
|
38
|
+
ast (~> 2.4.0)
|
39
|
+
powerpack (0.1.2)
|
40
|
+
pry (0.11.3-java)
|
41
|
+
coderay (~> 1.1.0)
|
42
|
+
method_source (~> 0.9.0)
|
43
|
+
spoon (~> 0.0)
|
44
|
+
public_suffix (3.0.3)
|
45
|
+
rack (2.0.5)
|
46
|
+
rainbow (3.0.0)
|
47
|
+
rake (12.3.1)
|
48
|
+
rdoc (6.0.4)
|
49
|
+
rspec (3.8.0)
|
50
|
+
rspec-core (~> 3.8.0)
|
51
|
+
rspec-expectations (~> 3.8.0)
|
52
|
+
rspec-mocks (~> 3.8.0)
|
53
|
+
rspec-core (3.8.0)
|
54
|
+
rspec-support (~> 3.8.0)
|
55
|
+
rspec-expectations (3.8.2)
|
56
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
57
|
+
rspec-support (~> 3.8.0)
|
58
|
+
rspec-mocks (3.8.0)
|
59
|
+
diff-lcs (>= 1.2.0, < 2.0)
|
60
|
+
rspec-support (~> 3.8.0)
|
61
|
+
rspec-pending_for (0.1.13)
|
62
|
+
rspec-core
|
63
|
+
ruby_engine (~> 1.0)
|
64
|
+
ruby_version (~> 1.0)
|
65
|
+
rspec-support (3.8.0)
|
66
|
+
rubocop (0.53.0)
|
67
|
+
parallel (~> 1.10)
|
68
|
+
parser (>= 2.5)
|
69
|
+
powerpack (~> 0.1)
|
70
|
+
rainbow (>= 2.2.2, < 4.0)
|
71
|
+
ruby-progressbar (~> 1.7)
|
72
|
+
unicode-display_width (~> 1.0, >= 1.0.1)
|
73
|
+
rubocop-rspec (1.24.0)
|
74
|
+
rubocop (>= 0.53.0)
|
75
|
+
ruby-progressbar (1.10.0)
|
76
|
+
ruby_engine (1.0.1)
|
77
|
+
ruby_version (1.0.1)
|
78
|
+
simplecov (0.16.1)
|
79
|
+
docile (~> 1.1)
|
80
|
+
json (>= 1.8, < 3)
|
81
|
+
simplecov-html (~> 0.10.0)
|
82
|
+
simplecov-html (0.10.2)
|
83
|
+
spoon (0.0.6)
|
84
|
+
ffi
|
85
|
+
term-ansicolor (1.6.0)
|
86
|
+
tins (~> 1.0)
|
87
|
+
thor (0.19.4)
|
88
|
+
tins (1.16.3)
|
89
|
+
unicode-display_width (1.4.0)
|
90
|
+
wwtd (1.3.0)
|
91
|
+
|
92
|
+
PLATFORMS
|
93
|
+
java
|
94
|
+
|
95
|
+
DEPENDENCIES
|
96
|
+
addressable (~> 2.3)
|
97
|
+
backports (~> 3.11)
|
98
|
+
bundler (~> 1.16)
|
99
|
+
coveralls (~> 0.8)
|
100
|
+
faraday (= 0.9.2)
|
101
|
+
oauth2!
|
102
|
+
pry
|
103
|
+
rake
|
104
|
+
rdoc (>= 5.0, < 7)
|
105
|
+
rspec
|
106
|
+
rspec-pending_for
|
107
|
+
rubocop (~> 0.53.0)
|
108
|
+
rubocop-rspec (~> 1.24.0)
|
109
|
+
wwtd
|
110
|
+
|
111
|
+
BUNDLED WITH
|
112
|
+
1.16.4
|