propane 3.11.0-java → 4.0.0-java

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.mvn/extensions.xml +1 -1
  3. data/CHANGELOG.md +2 -0
  4. data/README.md +5 -5
  5. data/Rakefile +1 -1
  6. data/lib/propane/app.rb +2 -2
  7. data/lib/propane/version.rb +1 -1
  8. data/lib/propane-4.0.0.jar +0 -0
  9. data/library/slider/slider.rb +1 -1
  10. data/pom.rb +8 -8
  11. data/pom.xml +8 -8
  12. data/propane.gemspec +3 -3
  13. data/src/main/java/monkstone/ColorUtil.java +1 -1
  14. data/src/main/java/monkstone/MathToolModule.java +1 -1
  15. data/src/main/java/monkstone/PropaneLibrary.java +1 -1
  16. data/src/main/java/monkstone/fastmath/DegLutTables.java +10 -11
  17. data/src/main/java/monkstone/fastmath/Deglut.java +1 -1
  18. data/src/main/java/monkstone/filechooser/Chooser.java +1 -1
  19. data/src/main/java/monkstone/noise/LICENSE +121 -0
  20. data/src/main/java/monkstone/slider/CustomHorizontalSlider.java +1 -1
  21. data/src/main/java/monkstone/slider/CustomVerticalSlider.java +1 -1
  22. data/src/main/java/monkstone/slider/SimpleHorizontalSlider.java +1 -1
  23. data/src/main/java/monkstone/slider/SimpleVerticalSlider.java +1 -1
  24. data/src/main/java/monkstone/slider/SliderBar.java +1 -1
  25. data/src/main/java/monkstone/slider/SliderGroup.java +1 -1
  26. data/src/main/java/monkstone/slider/WheelHandler.java +1 -1
  27. data/src/main/java/monkstone/vecmath/package-info.java +1 -1
  28. data/src/main/java/monkstone/vecmath/vec2/Vec2.java +92 -68
  29. data/src/main/java/monkstone/vecmath/vec3/Vec3.java +1 -1
  30. data/src/main/java/monkstone/videoevent/CaptureEvent.java +1 -1
  31. data/src/main/java/monkstone/videoevent/MovieEvent.java +1 -1
  32. data/src/main/java/monkstone/videoevent/package-info.java +1 -1
  33. data/src/main/java/processing/awt/PGraphicsJava2D.java +0 -1
  34. data/src/main/java/processing/awt/PImageAWT.java +2 -4
  35. data/src/main/java/processing/core/PApplet.java +4 -4
  36. data/src/main/java/processing/core/PImage.java +3025 -3047
  37. data/src/main/java/processing/core/PMatrix.java +5 -2
  38. data/src/main/java/processing/data/DoubleDict.java +72 -43
  39. data/src/main/java/processing/data/DoubleList.java +6 -2
  40. data/src/main/java/processing/data/FloatDict.java +744 -756
  41. data/src/main/java/processing/data/FloatList.java +68 -26
  42. data/src/main/java/processing/data/IntDict.java +72 -45
  43. data/src/main/java/processing/data/IntList.java +63 -26
  44. data/src/main/java/processing/data/JSONArray.java +892 -931
  45. data/src/main/java/processing/data/JSONObject.java +1169 -1262
  46. data/src/main/java/processing/data/JSONTokener.java +30 -49
  47. data/src/main/java/processing/data/LongDict.java +699 -712
  48. data/src/main/java/processing/data/LongList.java +676 -700
  49. data/src/main/java/processing/data/Sort.java +1 -0
  50. data/src/main/java/processing/data/Table.java +4040 -3661
  51. data/src/main/java/processing/data/TableRow.java +16 -0
  52. data/src/main/java/processing/data/XML.java +1041 -956
  53. data/src/main/java/processing/event/TouchEvent.java +1 -1
  54. data/src/main/java/processing/opengl/FontTexture.java +2 -2
  55. data/src/main/java/processing/opengl/PGraphicsOpenGL.java +15 -18
  56. data/src/main/java/processing/opengl/PJOGL.java +2 -2
  57. data/src/main/java/processing/opengl/PShapeOpenGL.java +23 -24
  58. data/test/vecmath_spec_test.rb +14 -3
  59. data/vendors/Rakefile +1 -1
  60. metadata +9 -8
  61. data/lib/propane-3.11.0.jar +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 0d5ef355d6c1809f15dca038d16d0bc0e258c600758cb97fe8ff9e3234380d6f
4
- data.tar.gz: e1ad523e3339a8e6430ccd2aa83387f42139eb8cf54488eff804b2cf3c33f8a7
3
+ metadata.gz: ed3ade00bcc8f690667cef5813b3f2313bbb172ee6c5e8f2fd596cd3e350c24f
4
+ data.tar.gz: ed0dd5d31432a47dd33e982de5f0243e89183832dd234778971825ccde0df624
5
5
  SHA512:
6
- metadata.gz: cee42549f1c66a63c81e07836fa17b097be4f11140e0569f8c2f87f36a717aa31df99ad21b943c870fe76218a376d59bf5df9f3daef4ae451754b80fdb7d746b
7
- data.tar.gz: 7ef32ce991b5f42e3e1fc09e459eb96a84da38eb373f8b3a5592ea7ccd6f974c8b566f6ccc0645d32f997a1cf7ac763e97ef4822c620bcf23ddadce0abdee6f0
6
+ metadata.gz: ddaaa9ea1c8fcfc60289e39de72f74df4e64285af3d6ee95f92c90d8eafc1f8f56715d40cf8f0ce92aa1e92cc2b69ec58eb06f9e884992c834e23468173bff96
7
+ data.tar.gz: f88e992e3f544e44da3f0d49387f16853912fafa2cb3285a790db360353c53fdfe33250baeac2a142875a086e93ac5ca065ddec08c6fa73585610900036a55d4
data/.mvn/extensions.xml CHANGED
@@ -3,6 +3,6 @@
3
3
  <extension>
4
4
  <groupId>io.takari.polyglot</groupId>
5
5
  <artifactId>polyglot-ruby</artifactId>
6
- <version>0.4.6</version>
6
+ <version>0.4.8</version>
7
7
  </extension>
8
8
  </extensions>
data/CHANGELOG.md CHANGED
@@ -1,3 +1,5 @@
1
+ **v4.0.0** Requires use of jdk17 update to min JRuby-3.2.0.0, deprecates cross product for Vec2D in favor of wedge product.
2
+
1
3
  **v3.11.0** Suggest use of JRuby-9.3.1.0+, some refactoring of GfxRender and ShapeRender. Change `declared_field` to field possible since JRuby-9.3.0.0, required since JRuby-9.3.1.0
2
4
 
3
5
  **v3.10.0** Default to using FastNoise module, with alternative of SmoothNoise module.
data/README.md CHANGED
@@ -8,10 +8,10 @@ adjust above for your OS/distro setup.
8
8
 
9
9
  ## Requirements
10
10
 
11
- Tested with OpenJDK11 and OpenJDK17.
11
+ Tested with OpenJDK17.
12
12
 
13
- - `jdk-11.0.11+`
14
- - `jruby-9.3.1.0`
13
+ - `jdk-17.01+`
14
+ - `jruby-9.3.2.0`
15
15
 
16
16
  ## Building and testing
17
17
 
@@ -25,10 +25,10 @@ rake javadoc
25
25
 
26
26
  ```bash
27
27
  jgem install propane # from rubygems
28
- jgem install propane-3.11.0-java.gem # local install
28
+ jgem install propane-4.0.0-java.gem # local install
29
29
  # Alternative
30
30
  jruby -S gem install propane # from rubygems
31
- jruby -S gem install propane-3.11.0-java.gem # local install
31
+ jruby -S gem install propane-4.0.0-java.gem # local install
32
32
  ```
33
33
 
34
34
  ## Check Install
data/Rakefile CHANGED
@@ -17,7 +17,7 @@ end
17
17
 
18
18
  desc 'Install'
19
19
  task :install do
20
- sh 'mvn dependency:copy'
20
+ sh './mvnw dependency:copy'
21
21
  FileUtils.mv("target/propane-#{Propane::VERSION}.jar", 'lib')
22
22
  end
23
23
 
data/lib/propane/app.rb CHANGED
@@ -11,8 +11,8 @@ module Propane
11
11
  Java::Monkstone::PropaneLibrary.load(JRuby.runtime)
12
12
  SKETCH_ROOT = File.absolute_path('.')
13
13
  # import custom Vecmath renderers
14
- java_import 'monkstone.vecmath.GfxRender'
15
- java_import 'monkstone.vecmath.ShapeRender'
14
+ import 'monkstone.vecmath.GfxRender'
15
+ import 'monkstone.vecmath.ShapeRender'
16
16
 
17
17
  # module NoiseModule
18
18
  # java_import 'monkstone.noise.NoiseMode'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Propane
4
- VERSION = '3.11.0'
4
+ VERSION = '4.0.0'
5
5
  end
Binary file
@@ -1,7 +1,7 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  # Here's a little library for quickly hooking up in sketch sliders.
4
- # Copyright (c) 2015-20 Martin Prout.
4
+ # Copyright (c) 2015-22 Martin Prout.
5
5
 
6
6
  java_import 'monkstone.slider.CustomHorizontalSlider'
7
7
  java_import 'monkstone.slider.CustomVerticalSlider'
data/pom.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  project 'propane', 'https://github.com/monkstone/propane' do
4
4
  model_version '4.0.0'
5
- id 'propane:propane:3.11.0'
5
+ id 'propane:propane:4.0.0'
6
6
  packaging 'jar'
7
7
 
8
8
  description 'An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.'
@@ -44,7 +44,7 @@ project 'propane', 'https://github.com/monkstone/propane' do
44
44
  'polyglot.dump.pom' => 'pom.xml',
45
45
  'project.build.sourceEncoding' => 'utf-8',
46
46
  'jogl.version' => '2.3.2', # for compiling actual included 2.4.0-rc
47
- 'jruby.version' => '9.3.1.0',
47
+ 'jruby.version' => '9.3.2.0',
48
48
  'batik.version' => '1.14',
49
49
  'itextpdf.version' => '5.5.13.2',
50
50
  'jruby.api' => 'http://jruby.org/apidocs/')
@@ -58,11 +58,11 @@ project 'propane', 'https://github.com/monkstone/propane' do
58
58
 
59
59
  overrides do
60
60
 
61
- plugin('org.codehaus.mojo:versions-maven-plugin:2.7',
61
+ plugin('org.codehaus.mojo:versions-maven-plugin:2.8.1',
62
62
  'generateBackupPoms' => 'false')
63
63
  plugin(:compiler, '3.8.1',
64
- 'release' => '11')
65
- plugin :dependency, '3.1.2' do
64
+ 'release' => '17')
65
+ plugin :dependency, '3.2.0' do
66
66
  execute_goals( id: 'default-cli',
67
67
  artifactItems:[
68
68
  { groupId: 'com.itextpdf',
@@ -80,7 +80,7 @@ project 'propane', 'https://github.com/monkstone/propane' do
80
80
  ]
81
81
  )
82
82
  end
83
- plugin(:javadoc, '3.2.0',
83
+ plugin(:javadoc, '3.3.1',
84
84
  'detectOfflineLinks' => 'false',
85
85
  'links' => ['${jruby.api}',
86
86
  '${processing.api}'])
@@ -90,7 +90,7 @@ project 'propane', 'https://github.com/monkstone/propane' do
90
90
  'Automatic-Module-Name' => 'processing.core'
91
91
  }
92
92
  })
93
- plugin('org.apache.maven.plugins:maven-pmd-plugin:3.14.0')
93
+ plugin('org.apache.maven.plugins:maven-pmd-plugin:3.15.0')
94
94
  end
95
95
  build do
96
96
  resource do
@@ -105,5 +105,5 @@ project 'propane', 'https://github.com/monkstone/propane' do
105
105
  end
106
106
  end
107
107
  reporting do
108
- plugin('org.apache.maven.plugins:maven-jxr-plugin:2.3')
108
+ plugin('org.apache.maven.plugins:maven-jxr-plugin:3.1.1')
109
109
  end
data/pom.xml CHANGED
@@ -11,7 +11,7 @@ DO NOT MODIFY - GENERATED CODE
11
11
  <modelVersion>4.0.0</modelVersion>
12
12
  <groupId>propane</groupId>
13
13
  <artifactId>propane</artifactId>
14
- <version>3.11.0</version>
14
+ <version>4.0.0</version>
15
15
  <name>propane</name>
16
16
  <description>An integrated processing-core (somewhat hacked), with additional java code for a jruby version of processing.</description>
17
17
  <url>https://github.com/monkstone/propane</url>
@@ -66,7 +66,7 @@ DO NOT MODIFY - GENERATED CODE
66
66
  <itextpdf.version>5.5.13.2</itextpdf.version>
67
67
  <jogl.version>2.3.2</jogl.version>
68
68
  <jruby.api>http://jruby.org/apidocs/</jruby.api>
69
- <jruby.version>9.3.1.0</jruby.version>
69
+ <jruby.version>9.3.2.0</jruby.version>
70
70
  <polyglot.dump.pom>pom.xml</polyglot.dump.pom>
71
71
  <processing.api>http://processing.github.io/processing-javadocs/core/</processing.api>
72
72
  <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
@@ -130,7 +130,7 @@ DO NOT MODIFY - GENERATED CODE
130
130
  <plugin>
131
131
  <groupId>org.codehaus.mojo</groupId>
132
132
  <artifactId>versions-maven-plugin</artifactId>
133
- <version>2.7</version>
133
+ <version>2.8.1</version>
134
134
  <configuration>
135
135
  <generateBackupPoms>false</generateBackupPoms>
136
136
  </configuration>
@@ -139,12 +139,12 @@ DO NOT MODIFY - GENERATED CODE
139
139
  <artifactId>maven-compiler-plugin</artifactId>
140
140
  <version>3.8.1</version>
141
141
  <configuration>
142
- <release>11</release>
142
+ <release>17</release>
143
143
  </configuration>
144
144
  </plugin>
145
145
  <plugin>
146
146
  <artifactId>maven-dependency-plugin</artifactId>
147
- <version>3.1.2</version>
147
+ <version>3.2.0</version>
148
148
  <executions>
149
149
  <execution>
150
150
  <id>default-cli</id>
@@ -171,7 +171,7 @@ DO NOT MODIFY - GENERATED CODE
171
171
  </plugin>
172
172
  <plugin>
173
173
  <artifactId>maven-javadoc-plugin</artifactId>
174
- <version>3.2.0</version>
174
+ <version>3.3.1</version>
175
175
  <configuration>
176
176
  <detectOfflineLinks>false</detectOfflineLinks>
177
177
  <links>
@@ -193,7 +193,7 @@ DO NOT MODIFY - GENERATED CODE
193
193
  </plugin>
194
194
  <plugin>
195
195
  <artifactId>maven-pmd-plugin</artifactId>
196
- <version>3.14.0</version>
196
+ <version>3.15.0</version>
197
197
  </plugin>
198
198
  </plugins>
199
199
  </pluginManagement>
@@ -202,7 +202,7 @@ DO NOT MODIFY - GENERATED CODE
202
202
  <plugins>
203
203
  <plugin>
204
204
  <artifactId>maven-jxr-plugin</artifactId>
205
- <version>2.3</version>
205
+ <version>3.1.1</version>
206
206
  </plugin>
207
207
  </plugins>
208
208
  </reporting>
data/propane.gemspec CHANGED
@@ -13,7 +13,7 @@ Gem::Specification.new do |gem|
13
13
  gem.description = <<-EOS
14
14
  A batteries included version of processing in ruby targetting jdk11+.
15
15
  EOS
16
- gem.summary = 'ruby implementation of processing-4.0 on MacOS, linux and windows (64bit only)'
16
+ gem.summary = 'ruby implementation of processing-4.0 on linux and windows (64bit only), might work MacOS, needs testing'
17
17
  gem.homepage = 'https://ruby-processing.github.io/propane/'
18
18
  gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
19
19
  gem.files << "lib/propane-#{Propane::VERSION}.jar"
@@ -32,10 +32,10 @@ Gem::Specification.new do |gem|
32
32
  gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
33
33
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
34
34
  gem.add_development_dependency 'jruby-openssl', '~> 0.10', '>=0.10.7'
35
- gem.add_development_dependency 'minitest', '~> 5.14'
35
+ gem.add_development_dependency 'minitest', '~> 5.15'
36
36
  gem.add_runtime_dependency 'rake', '~> 13.0'
37
37
  gem.add_runtime_dependency 'arcball', '~> 1.2'
38
38
  gem.require_paths = ['lib']
39
39
  gem.platform = 'java'
40
- gem.requirements << 'java runtime >= 11.0.11+'
40
+ gem.requirements << 'java runtime >= 17.0.1+'
41
41
  end
@@ -3,7 +3,7 @@
3
3
  * in their sketches. Includes a method to efficiently convert an array of web
4
4
  * strings to an array of color int, and another to convert an array of color
5
5
  * int to a string that can be used in ruby code (to generate web color array).
6
- * Copyright (c) 2015-20 Martin Prout.
6
+ * Copyright (c) 2015-22 Martin Prout.
7
7
  * This utility is free software; you can redistribute it and/or modify
8
8
  * it under the terms of the GNU Lesser General Public License as published by
9
9
  * the Free Software Foundation; either version 2.1 of the License, or (at
@@ -2,7 +2,7 @@
2
2
  * The purpose of this tool is to allow JRubyArt users to use an alternative
3
3
  * to processing.org map, lerp and norm methods in their sketches and to implement
4
4
  * JRubyArt convenenience method grid(width, height, stepW, stepH) { |x, y| do stuff }
5
- * Copyright (c) 2015-20 Martin Prout. This tool is free software; you can
5
+ * Copyright (c) 2015-22 Martin Prout. This tool is free software; you can
6
6
  * redistribute it and/or modify it under the terms of the GNU Lesser General
7
7
  * Public License as published by the Free Software Foundation; either version
8
8
  * 2.1 of the License, or (at your option) any later version.
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * The purpose of this class is to load the MathTool into ruby-processing runtime
3
- * Copyright (C) 2015-20 Martin Prout. This code is free software; you can
3
+ * Copyright (C) 2015-22 Martin Prout. This code is free software; you can
4
4
  * redistribute it and/or modify it under the terms of the GNU Lesser General
5
5
  * Public License as published by the Free Software Foundation; either version
6
6
  * 2.1 of the License, or (at your option) any later version.
@@ -1,18 +1,18 @@
1
- /*
2
- * Copyright (c) 2021 Martin Prout
3
- *
1
+ /*
2
+ * Copyright (c) 2021-22 Martin Prout
3
+ *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
6
6
  * License as published by the Free Software Foundation; either
7
7
  * version 2.1 of the License, or (at your option) any later version.
8
- *
8
+ *
9
9
  * http://creativecommons.org/licenses/LGPL/2.1/
10
- *
10
+ *
11
11
  * This library is distributed in the hope that it will be useful,
12
12
  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
13
  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
14
  * Lesser General Public License for more details.
15
- *
15
+ *
16
16
  * You should have received a copy of the GNU Lesser General Public
17
17
  * License along with this library; if not, write to the Free Software
18
18
  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
@@ -75,7 +75,7 @@ public final class DegLutTables {
75
75
  /**
76
76
  * Returns the sine in radians from a lookup table.
77
77
  * @param radians
78
- * @return
78
+ * @return
79
79
  */
80
80
  static public float sin(float radians) {
81
81
  return Sin.table[(int) (radians * RAD_TO_INDEX) & SIN_MASK];
@@ -84,7 +84,7 @@ public final class DegLutTables {
84
84
  /**
85
85
  * Returns the cosine in radians from a lookup table.
86
86
  * @param radians
87
- * @return
87
+ * @return
88
88
  */
89
89
  static public float cos(float radians) {
90
90
  return Sin.table[(int) ((radians + PI / 2) * RAD_TO_INDEX) & SIN_MASK];
@@ -93,7 +93,7 @@ public final class DegLutTables {
93
93
  /**
94
94
  * Returns the sine in radians from a lookup table.
95
95
  * @param degrees
96
- * @return
96
+ * @return
97
97
  */
98
98
  static public float sinDeg(float degrees) {
99
99
  return Sin.table[(int) (degrees * DEG_TO_INDEX) & SIN_MASK];
@@ -102,10 +102,9 @@ public final class DegLutTables {
102
102
  /**
103
103
  * Returns the cosine in radians from a lookup table.
104
104
  * @param degrees
105
- * @return
105
+ * @return
106
106
  */
107
107
  static public float cosDeg(float degrees) {
108
108
  return Sin.table[(int) ((degrees + 90) * DEG_TO_INDEX) & SIN_MASK];
109
109
  }
110
110
  }
111
-
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-21 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -0,0 +1,121 @@
1
+ Creative Commons Legal Code
2
+
3
+ CC0 1.0 Universal
4
+
5
+ CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
6
+ LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
7
+ ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
8
+ INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
9
+ REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
10
+ PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
11
+ THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
12
+ HEREUNDER.
13
+
14
+ Statement of Purpose
15
+
16
+ The laws of most jurisdictions throughout the world automatically confer
17
+ exclusive Copyright and Related Rights (defined below) upon the creator
18
+ and subsequent owner(s) (each and all, an "owner") of an original work of
19
+ authorship and/or a database (each, a "Work").
20
+
21
+ Certain owners wish to permanently relinquish those rights to a Work for
22
+ the purpose of contributing to a commons of creative, cultural and
23
+ scientific works ("Commons") that the public can reliably and without fear
24
+ of later claims of infringement build upon, modify, incorporate in other
25
+ works, reuse and redistribute as freely as possible in any form whatsoever
26
+ and for any purposes, including without limitation commercial purposes.
27
+ These owners may contribute to the Commons to promote the ideal of a free
28
+ culture and the further production of creative, cultural and scientific
29
+ works, or to gain reputation or greater distribution for their Work in
30
+ part through the use and efforts of others.
31
+
32
+ For these and/or other purposes and motivations, and without any
33
+ expectation of additional consideration or compensation, the person
34
+ associating CC0 with a Work (the "Affirmer"), to the extent that he or she
35
+ is an owner of Copyright and Related Rights in the Work, voluntarily
36
+ elects to apply CC0 to the Work and publicly distribute the Work under its
37
+ terms, with knowledge of his or her Copyright and Related Rights in the
38
+ Work and the meaning and intended legal effect of CC0 on those rights.
39
+
40
+ 1. Copyright and Related Rights. A Work made available under CC0 may be
41
+ protected by copyright and related or neighboring rights ("Copyright and
42
+ Related Rights"). Copyright and Related Rights include, but are not
43
+ limited to, the following:
44
+
45
+ i. the right to reproduce, adapt, distribute, perform, display,
46
+ communicate, and translate a Work;
47
+ ii. moral rights retained by the original author(s) and/or performer(s);
48
+ iii. publicity and privacy rights pertaining to a person's image or
49
+ likeness depicted in a Work;
50
+ iv. rights protecting against unfair competition in regards to a Work,
51
+ subject to the limitations in paragraph 4(a), below;
52
+ v. rights protecting the extraction, dissemination, use and reuse of data
53
+ in a Work;
54
+ vi. database rights (such as those arising under Directive 96/9/EC of the
55
+ European Parliament and of the Council of 11 March 1996 on the legal
56
+ protection of databases, and under any national implementation
57
+ thereof, including any amended or successor version of such
58
+ directive); and
59
+ vii. other similar, equivalent or corresponding rights throughout the
60
+ world based on applicable law or treaty, and any national
61
+ implementations thereof.
62
+
63
+ 2. Waiver. To the greatest extent permitted by, but not in contravention
64
+ of, applicable law, Affirmer hereby overtly, fully, permanently,
65
+ irrevocably and unconditionally waives, abandons, and surrenders all of
66
+ Affirmer's Copyright and Related Rights and associated claims and causes
67
+ of action, whether now known or unknown (including existing as well as
68
+ future claims and causes of action), in the Work (i) in all territories
69
+ worldwide, (ii) for the maximum duration provided by applicable law or
70
+ treaty (including future time extensions), (iii) in any current or future
71
+ medium and for any number of copies, and (iv) for any purpose whatsoever,
72
+ including without limitation commercial, advertising or promotional
73
+ purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
74
+ member of the public at large and to the detriment of Affirmer's heirs and
75
+ successors, fully intending that such Waiver shall not be subject to
76
+ revocation, rescission, cancellation, termination, or any other legal or
77
+ equitable action to disrupt the quiet enjoyment of the Work by the public
78
+ as contemplated by Affirmer's express Statement of Purpose.
79
+
80
+ 3. Public License Fallback. Should any part of the Waiver for any reason
81
+ be judged legally invalid or ineffective under applicable law, then the
82
+ Waiver shall be preserved to the maximum extent permitted taking into
83
+ account Affirmer's express Statement of Purpose. In addition, to the
84
+ extent the Waiver is so judged Affirmer hereby grants to each affected
85
+ person a royalty-free, non transferable, non sublicensable, non exclusive,
86
+ irrevocable and unconditional license to exercise Affirmer's Copyright and
87
+ Related Rights in the Work (i) in all territories worldwide, (ii) for the
88
+ maximum duration provided by applicable law or treaty (including future
89
+ time extensions), (iii) in any current or future medium and for any number
90
+ of copies, and (iv) for any purpose whatsoever, including without
91
+ limitation commercial, advertising or promotional purposes (the
92
+ "License"). The License shall be deemed effective as of the date CC0 was
93
+ applied by Affirmer to the Work. Should any part of the License for any
94
+ reason be judged legally invalid or ineffective under applicable law, such
95
+ partial invalidity or ineffectiveness shall not invalidate the remainder
96
+ of the License, and in such case Affirmer hereby affirms that he or she
97
+ will not (i) exercise any of his or her remaining Copyright and Related
98
+ Rights in the Work or (ii) assert any associated claims and causes of
99
+ action with respect to the Work, in either case contrary to Affirmer's
100
+ express Statement of Purpose.
101
+
102
+ 4. Limitations and Disclaimers.
103
+
104
+ a. No trademark or patent rights held by Affirmer are waived, abandoned,
105
+ surrendered, licensed or otherwise affected by this document.
106
+ b. Affirmer offers the Work as-is and makes no representations or
107
+ warranties of any kind concerning the Work, express, implied,
108
+ statutory or otherwise, including without limitation warranties of
109
+ title, merchantability, fitness for a particular purpose, non
110
+ infringement, or the absence of latent or other defects, accuracy, or
111
+ the present or absence of errors, whether or not discoverable, all to
112
+ the greatest extent permissible under applicable law.
113
+ c. Affirmer disclaims responsibility for clearing rights of other persons
114
+ that may apply to the Work or any use thereof, including without
115
+ limitation any person's Copyright and Related Rights in the Work.
116
+ Further, Affirmer disclaims responsibility for obtaining any necessary
117
+ consents, permissions or other rights required for any use of the
118
+ Work.
119
+ d. Affirmer understands and acknowledges that Creative Commons is not a
120
+ party to this document and has no duty or obligation with respect to
121
+ this CC0 or use of the Work.
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public
@@ -1,5 +1,5 @@
1
1
  /*
2
- * Copyright (c) 2015-20 Martin Prout
2
+ * Copyright (c) 2015-22 Martin Prout
3
3
  *
4
4
  * This library is free software; you can redistribute it and/or
5
5
  * modify it under the terms of the GNU Lesser General Public