From b07633a7028ecf1dd9bcc1e5a7e5e550f85fbd98 Mon Sep 17 00:00:00 2001 From: jrtec Date: Fri, 29 Jan 2016 17:49:21 -0500 Subject: [PATCH] --- build.xml | 73 ++ manifest.mf | 3 + nbproject/build-impl.xml | 1413 ++++++++++++++++++++++++ nbproject/genfiles.properties | 8 + nbproject/project.properties | 74 ++ nbproject/project.xml | 15 + src/net/jrtechs/setgame/Card.java | 158 +++ src/net/jrtechs/setgame/Deck.java | 58 + src/net/jrtechs/setgame/Game.java | 216 ++++ src/net/jrtechs/setgame/Hand.java | 134 +++ src/net/jrtechs/setgame/SetButton.java | 70 ++ src/net/jrtechs/setgame/SetGame.form | 140 +++ src/net/jrtechs/setgame/SetGame.java | 276 +++++ src/net/jrtechs/setgame/img/0000.png | Bin 0 -> 394 bytes src/net/jrtechs/setgame/img/0001.png | Bin 0 -> 1184 bytes src/net/jrtechs/setgame/img/0002.png | Bin 0 -> 385 bytes src/net/jrtechs/setgame/img/0010.png | Bin 0 -> 801 bytes src/net/jrtechs/setgame/img/0011.png | Bin 0 -> 1217 bytes src/net/jrtechs/setgame/img/0012.png | Bin 0 -> 472 bytes src/net/jrtechs/setgame/img/0020.png | Bin 0 -> 427 bytes src/net/jrtechs/setgame/img/0021.png | Bin 0 -> 1212 bytes src/net/jrtechs/setgame/img/0022.png | Bin 0 -> 467 bytes src/net/jrtechs/setgame/img/0100.png | Bin 0 -> 258 bytes src/net/jrtechs/setgame/img/0101.png | Bin 0 -> 1332 bytes src/net/jrtechs/setgame/img/0102.png | Bin 0 -> 281 bytes src/net/jrtechs/setgame/img/0110.png | Bin 0 -> 256 bytes src/net/jrtechs/setgame/img/0111.png | Bin 0 -> 507 bytes src/net/jrtechs/setgame/img/0112.png | Bin 0 -> 279 bytes src/net/jrtechs/setgame/img/0120.png | Bin 0 -> 259 bytes src/net/jrtechs/setgame/img/0121.png | Bin 0 -> 511 bytes src/net/jrtechs/setgame/img/0122.png | Bin 0 -> 283 bytes src/net/jrtechs/setgame/img/0200.png | Bin 0 -> 263 bytes src/net/jrtechs/setgame/img/0201.png | Bin 0 -> 1770 bytes src/net/jrtechs/setgame/img/0202.png | Bin 0 -> 291 bytes src/net/jrtechs/setgame/img/0210.png | Bin 0 -> 262 bytes src/net/jrtechs/setgame/img/0211.png | Bin 0 -> 591 bytes src/net/jrtechs/setgame/img/0212.png | Bin 0 -> 290 bytes src/net/jrtechs/setgame/img/0220.png | Bin 0 -> 263 bytes src/net/jrtechs/setgame/img/0221.png | Bin 0 -> 596 bytes src/net/jrtechs/setgame/img/0222.png | Bin 0 -> 292 bytes src/net/jrtechs/setgame/img/1000.png | Bin 0 -> 320 bytes src/net/jrtechs/setgame/img/1001.png | Bin 0 -> 489 bytes src/net/jrtechs/setgame/img/1002.png | Bin 0 -> 342 bytes src/net/jrtechs/setgame/img/1010.png | Bin 0 -> 319 bytes src/net/jrtechs/setgame/img/1011.png | Bin 0 -> 371 bytes src/net/jrtechs/setgame/img/1012.png | Bin 0 -> 343 bytes src/net/jrtechs/setgame/img/1020.png | Bin 0 -> 320 bytes src/net/jrtechs/setgame/img/1021.png | Bin 0 -> 373 bytes src/net/jrtechs/setgame/img/1022.png | Bin 0 -> 348 bytes src/net/jrtechs/setgame/img/1100.png | Bin 0 -> 367 bytes src/net/jrtechs/setgame/img/1101.png | Bin 0 -> 696 bytes src/net/jrtechs/setgame/img/1102.png | Bin 0 -> 408 bytes src/net/jrtechs/setgame/img/1110.png | Bin 0 -> 367 bytes src/net/jrtechs/setgame/img/1111.png | Bin 0 -> 483 bytes src/net/jrtechs/setgame/img/1112.png | Bin 0 -> 407 bytes src/net/jrtechs/setgame/img/1120.png | Bin 0 -> 367 bytes src/net/jrtechs/setgame/img/1121.png | Bin 0 -> 484 bytes src/net/jrtechs/setgame/img/1122.png | Bin 0 -> 742 bytes src/net/jrtechs/setgame/img/1200.png | Bin 0 -> 408 bytes src/net/jrtechs/setgame/img/1201.png | Bin 0 -> 570 bytes src/net/jrtechs/setgame/img/1202.png | Bin 0 -> 474 bytes src/net/jrtechs/setgame/img/1210.png | Bin 0 -> 402 bytes src/net/jrtechs/setgame/img/1211.png | Bin 0 -> 845 bytes src/net/jrtechs/setgame/img/1212.png | Bin 0 -> 467 bytes src/net/jrtechs/setgame/img/1220.png | Bin 0 -> 407 bytes src/net/jrtechs/setgame/img/1221.png | Bin 0 -> 570 bytes src/net/jrtechs/setgame/img/1222.png | Bin 0 -> 832 bytes src/net/jrtechs/setgame/img/2000.png | Bin 0 -> 695 bytes src/net/jrtechs/setgame/img/2001.png | Bin 0 -> 1489 bytes src/net/jrtechs/setgame/img/2002.png | Bin 0 -> 724 bytes src/net/jrtechs/setgame/img/2010.png | Bin 0 -> 379 bytes src/net/jrtechs/setgame/img/2011.png | Bin 0 -> 629 bytes src/net/jrtechs/setgame/img/2012.png | Bin 0 -> 714 bytes src/net/jrtechs/setgame/img/2020.png | Bin 0 -> 383 bytes src/net/jrtechs/setgame/img/2021.png | Bin 0 -> 636 bytes src/net/jrtechs/setgame/img/2022.png | Bin 0 -> 892 bytes src/net/jrtechs/setgame/img/2100.png | Bin 0 -> 485 bytes src/net/jrtechs/setgame/img/2101.png | Bin 0 -> 2274 bytes src/net/jrtechs/setgame/img/2102.png | Bin 0 -> 932 bytes src/net/jrtechs/setgame/img/2110.png | Bin 0 -> 486 bytes src/net/jrtechs/setgame/img/2111.png | Bin 0 -> 942 bytes src/net/jrtechs/setgame/img/2112.png | Bin 0 -> 609 bytes src/net/jrtechs/setgame/img/2120.png | Bin 0 -> 485 bytes src/net/jrtechs/setgame/img/2121.png | Bin 0 -> 945 bytes src/net/jrtechs/setgame/img/2122.png | Bin 0 -> 614 bytes src/net/jrtechs/setgame/img/2200.png | Bin 0 -> 461 bytes src/net/jrtechs/setgame/img/2201.png | Bin 0 -> 2456 bytes src/net/jrtechs/setgame/img/2202.png | Bin 0 -> 987 bytes src/net/jrtechs/setgame/img/2210.png | Bin 0 -> 458 bytes src/net/jrtechs/setgame/img/2211.png | Bin 0 -> 946 bytes src/net/jrtechs/setgame/img/2212.png | Bin 0 -> 587 bytes src/net/jrtechs/setgame/img/2220.png | Bin 0 -> 463 bytes src/net/jrtechs/setgame/img/2221.png | Bin 0 -> 958 bytes src/net/jrtechs/setgame/img/2222.png | Bin 0 -> 595 bytes 94 files changed, 2638 insertions(+) create mode 100644 build.xml create mode 100644 manifest.mf create mode 100644 nbproject/build-impl.xml create mode 100644 nbproject/genfiles.properties create mode 100644 nbproject/project.properties create mode 100644 nbproject/project.xml create mode 100644 src/net/jrtechs/setgame/Card.java create mode 100644 src/net/jrtechs/setgame/Deck.java create mode 100644 src/net/jrtechs/setgame/Game.java create mode 100644 src/net/jrtechs/setgame/Hand.java create mode 100644 src/net/jrtechs/setgame/SetButton.java create mode 100644 src/net/jrtechs/setgame/SetGame.form create mode 100644 src/net/jrtechs/setgame/SetGame.java create mode 100644 src/net/jrtechs/setgame/img/0000.png create mode 100644 src/net/jrtechs/setgame/img/0001.png create mode 100644 src/net/jrtechs/setgame/img/0002.png create mode 100644 src/net/jrtechs/setgame/img/0010.png create mode 100644 src/net/jrtechs/setgame/img/0011.png create mode 100644 src/net/jrtechs/setgame/img/0012.png create mode 100644 src/net/jrtechs/setgame/img/0020.png create mode 100644 src/net/jrtechs/setgame/img/0021.png create mode 100644 src/net/jrtechs/setgame/img/0022.png create mode 100644 src/net/jrtechs/setgame/img/0100.png create mode 100644 src/net/jrtechs/setgame/img/0101.png create mode 100644 src/net/jrtechs/setgame/img/0102.png create mode 100644 src/net/jrtechs/setgame/img/0110.png create mode 100644 src/net/jrtechs/setgame/img/0111.png create mode 100644 src/net/jrtechs/setgame/img/0112.png create mode 100644 src/net/jrtechs/setgame/img/0120.png create mode 100644 src/net/jrtechs/setgame/img/0121.png create mode 100644 src/net/jrtechs/setgame/img/0122.png create mode 100644 src/net/jrtechs/setgame/img/0200.png create mode 100644 src/net/jrtechs/setgame/img/0201.png create mode 100644 src/net/jrtechs/setgame/img/0202.png create mode 100644 src/net/jrtechs/setgame/img/0210.png create mode 100644 src/net/jrtechs/setgame/img/0211.png create mode 100644 src/net/jrtechs/setgame/img/0212.png create mode 100644 src/net/jrtechs/setgame/img/0220.png create mode 100644 src/net/jrtechs/setgame/img/0221.png create mode 100644 src/net/jrtechs/setgame/img/0222.png create mode 100644 src/net/jrtechs/setgame/img/1000.png create mode 100644 src/net/jrtechs/setgame/img/1001.png create mode 100644 src/net/jrtechs/setgame/img/1002.png create mode 100644 src/net/jrtechs/setgame/img/1010.png create mode 100644 src/net/jrtechs/setgame/img/1011.png create mode 100644 src/net/jrtechs/setgame/img/1012.png create mode 100644 src/net/jrtechs/setgame/img/1020.png create mode 100644 src/net/jrtechs/setgame/img/1021.png create mode 100644 src/net/jrtechs/setgame/img/1022.png create mode 100644 src/net/jrtechs/setgame/img/1100.png create mode 100644 src/net/jrtechs/setgame/img/1101.png create mode 100644 src/net/jrtechs/setgame/img/1102.png create mode 100644 src/net/jrtechs/setgame/img/1110.png create mode 100644 src/net/jrtechs/setgame/img/1111.png create mode 100644 src/net/jrtechs/setgame/img/1112.png create mode 100644 src/net/jrtechs/setgame/img/1120.png create mode 100644 src/net/jrtechs/setgame/img/1121.png create mode 100644 src/net/jrtechs/setgame/img/1122.png create mode 100644 src/net/jrtechs/setgame/img/1200.png create mode 100644 src/net/jrtechs/setgame/img/1201.png create mode 100644 src/net/jrtechs/setgame/img/1202.png create mode 100644 src/net/jrtechs/setgame/img/1210.png create mode 100644 src/net/jrtechs/setgame/img/1211.png create mode 100644 src/net/jrtechs/setgame/img/1212.png create mode 100644 src/net/jrtechs/setgame/img/1220.png create mode 100644 src/net/jrtechs/setgame/img/1221.png create mode 100644 src/net/jrtechs/setgame/img/1222.png create mode 100644 src/net/jrtechs/setgame/img/2000.png create mode 100644 src/net/jrtechs/setgame/img/2001.png create mode 100644 src/net/jrtechs/setgame/img/2002.png create mode 100644 src/net/jrtechs/setgame/img/2010.png create mode 100644 src/net/jrtechs/setgame/img/2011.png create mode 100644 src/net/jrtechs/setgame/img/2012.png create mode 100644 src/net/jrtechs/setgame/img/2020.png create mode 100644 src/net/jrtechs/setgame/img/2021.png create mode 100644 src/net/jrtechs/setgame/img/2022.png create mode 100644 src/net/jrtechs/setgame/img/2100.png create mode 100644 src/net/jrtechs/setgame/img/2101.png create mode 100644 src/net/jrtechs/setgame/img/2102.png create mode 100644 src/net/jrtechs/setgame/img/2110.png create mode 100644 src/net/jrtechs/setgame/img/2111.png create mode 100644 src/net/jrtechs/setgame/img/2112.png create mode 100644 src/net/jrtechs/setgame/img/2120.png create mode 100644 src/net/jrtechs/setgame/img/2121.png create mode 100644 src/net/jrtechs/setgame/img/2122.png create mode 100644 src/net/jrtechs/setgame/img/2200.png create mode 100644 src/net/jrtechs/setgame/img/2201.png create mode 100644 src/net/jrtechs/setgame/img/2202.png create mode 100644 src/net/jrtechs/setgame/img/2210.png create mode 100644 src/net/jrtechs/setgame/img/2211.png create mode 100644 src/net/jrtechs/setgame/img/2212.png create mode 100644 src/net/jrtechs/setgame/img/2220.png create mode 100644 src/net/jrtechs/setgame/img/2221.png create mode 100644 src/net/jrtechs/setgame/img/2222.png diff --git a/build.xml b/build.xml new file mode 100644 index 0000000..9beebe8 --- /dev/null +++ b/build.xml @@ -0,0 +1,73 @@ + + + + + + + + + + + Builds, tests, and runs the project SetGame. + + + diff --git a/manifest.mf b/manifest.mf new file mode 100644 index 0000000..1574df4 --- /dev/null +++ b/manifest.mf @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +X-COMMENT: Main-Class will be added automatically by build + diff --git a/nbproject/build-impl.xml b/nbproject/build-impl.xml new file mode 100644 index 0000000..43e4004 --- /dev/null +++ b/nbproject/build-impl.xml @@ -0,0 +1,1413 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set src.dir + Must set test.src.dir + Must set build.dir + Must set dist.dir + Must set build.classes.dir + Must set dist.javadoc.dir + Must set build.test.classes.dir + Must set build.test.results.dir + Must set build.classes.excludes + Must set dist.jar + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No tests executed. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must set JVM to use for profiling in profiler.info.jvm + Must set profiler agent JVM arguments in profiler.info.jvmargs.agent + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + To run this application from the command line without Ant, try: + + java -jar "${dist.jar.resolved}" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + Must select one file in the IDE or set run.class + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set debug.class + + + + + Must select one file in the IDE or set debug.class + + + + + Must set fix.includes + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + Must select one file in the IDE or set profile.class + This target only works when run from inside the NetBeans IDE. + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + This target only works when run from inside the NetBeans IDE. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select one file in the IDE or set run.class + + + + + + Must select some files in the IDE or set test.includes + + + + + Must select one file in the IDE or set run.class + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Must select some files in the IDE or set javac.includes + + + + + + + + + + + + + + + + + + + + Some tests failed; see details above. + + + + + + + + + Must select some files in the IDE or set test.includes + + + + Some tests failed; see details above. + + + + Must select some files in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + Some tests failed; see details above. + + + + + Must select one file in the IDE or set test.class + + + + Must select one file in the IDE or set test.class + Must select some method in the IDE or set test.method + + + + + + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + Must select one file in the IDE or set applet.url + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/nbproject/genfiles.properties b/nbproject/genfiles.properties new file mode 100644 index 0000000..51ea427 --- /dev/null +++ b/nbproject/genfiles.properties @@ -0,0 +1,8 @@ +build.xml.data.CRC32=5fcd4e03 +build.xml.script.CRC32=c8cda4df +build.xml.stylesheet.CRC32=8064a381@1.75.2.48 +# This file is used by a NetBeans-based IDE to track changes in generated files such as build-impl.xml. +# Do not edit this file. You may delete it but then the IDE will never regenerate such files for you. +nbproject/build-impl.xml.data.CRC32=5fcd4e03 +nbproject/build-impl.xml.script.CRC32=10cbaf2b +nbproject/build-impl.xml.stylesheet.CRC32=876e7a8f@1.75.2.48 diff --git a/nbproject/project.properties b/nbproject/project.properties new file mode 100644 index 0000000..cd3e715 --- /dev/null +++ b/nbproject/project.properties @@ -0,0 +1,74 @@ +annotation.processing.enabled=true +annotation.processing.enabled.in.editor=false +annotation.processing.processor.options= +annotation.processing.processors.list= +annotation.processing.run.all.processors=true +annotation.processing.source.output=${build.generated.sources.dir}/ap-source-output +build.classes.dir=${build.dir}/classes +build.classes.excludes=**/*.java,**/*.form +# This directory is removed when the project is cleaned: +build.dir=build +build.generated.dir=${build.dir}/generated +build.generated.sources.dir=${build.dir}/generated-sources +# Only compile against the classpath explicitly listed here: +build.sysclasspath=ignore +build.test.classes.dir=${build.dir}/test/classes +build.test.results.dir=${build.dir}/test/results +# Uncomment to specify the preferred debugger connection transport: +#debug.transport=dt_socket +debug.classpath=\ + ${run.classpath} +debug.test.classpath=\ + ${run.test.classpath} +# Files in build.classes.dir which should be excluded from distribution jar +dist.archive.excludes= +# This directory is removed when the project is cleaned: +dist.dir=dist +dist.jar=${dist.dir}/SetGame.jar +dist.javadoc.dir=${dist.dir}/javadoc +excludes= +includes=** +jar.compress=false +javac.classpath=\ + ${libs.absolutelayout.classpath} +# Space-separated list of extra javac options +javac.compilerargs= +javac.deprecation=false +javac.processorpath=\ + ${javac.classpath} +javac.source=1.8 +javac.target=1.8 +javac.test.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +javac.test.processorpath=\ + ${javac.test.classpath} +javadoc.additionalparam= +javadoc.author=false +javadoc.encoding=${source.encoding} +javadoc.noindex=false +javadoc.nonavbar=false +javadoc.notree=false +javadoc.private=false +javadoc.splitindex=true +javadoc.use=true +javadoc.version=false +javadoc.windowtitle= +main.class= +manifest.file=manifest.mf +meta.inf.dir=${src.dir}/META-INF +mkdist.disabled=false +platform.active=default_platform +run.classpath=\ + ${javac.classpath}:\ + ${build.classes.dir} +# Space-separated list of JVM arguments used when running the project. +# You may also define separate properties like run-sys-prop.name=value instead of -Dname=value. +# To set system properties for unit tests define test-sys-prop.name=value: +run.jvmargs= +run.test.classpath=\ + ${javac.test.classpath}:\ + ${build.test.classes.dir} +source.encoding=UTF-8 +src.dir=src +test.src.dir=test diff --git a/nbproject/project.xml b/nbproject/project.xml new file mode 100644 index 0000000..aaef623 --- /dev/null +++ b/nbproject/project.xml @@ -0,0 +1,15 @@ + + + org.netbeans.modules.java.j2seproject + + + SetGame + + + + + + + + + diff --git a/src/net/jrtechs/setgame/Card.java b/src/net/jrtechs/setgame/Card.java new file mode 100644 index 0000000..6128750 --- /dev/null +++ b/src/net/jrtechs/setgame/Card.java @@ -0,0 +1,158 @@ +package net.jrtechs.setgame; + +public class Card +{ + //color,number, shape, shading + private final int number; //0,1,2 + private final int color; //0-red,1-blue,2-green + private final int shape; //0-square,1-triangle,2-circle + private final int shading; //0-solid, 1-striped, 2-clear + private boolean inUse = true; + //constructor + Card(int num, int col, int shap, int shad) + { + number = num; + color = col; + shape = shap; + shading = shad; + } + public int getNumber() + { + return number; + } + public int getColor() + { + return color; + } + public int getShape() + { + return shape; + } + public int getShading() + { + return shading; + } + public boolean getInUse() + { + return inUse; + } + public void setInUse(boolean change) + { + inUse = change; + } + public String toString() + { + String dis = new String(); + switch(number) + { + case 0: dis = "1"; + break; + case 1: dis = "2"; + break; + case 2: dis = "3"; + } + switch(color) + { + case 0: dis += " red"; + break; + case 1: dis += " blue"; + break; + case 2: dis += " green"; + } + switch(shape) + { + case 0: dis += " square"; + break; + case 1: dis += " triangle"; + break; + case 2: dis += " circle"; + } + switch(shading) + { + case 0: dis += " solid"; + break; + case 1: dis += " striped"; + break; + case 2: dis += " clear"; + } + + return dis; + } + public boolean equals(Card check) + { + if(check.shape == this.shape && check.color == this.color && check.number == this.number && check.shading == this.shading) + { + return true; + } + return false; + } + public static boolean equals(Card one, Card two, Card three) + { + if(one.equals(two) || one.equals(three) || two.equals(three)) + { + return false; + } + return true; + } + //compares the colors of three cards + public static boolean compare_color(Card one, Card two, Card three) + { + if(one.color == two.color && one.color == three.color) + { + return true; + } + else if(one.color != two.color && one.color != three.color && two.color != three.color) + { + return true; + } + return false; + } + //compares the number of three cards + public static boolean compare_number(Card one, Card two, Card three) + { + if(one.number == two.number && one.number == three.number) + { + return true; + } + else if(one.number != two.number && one.number != three.number && two.number != three.number) + { + return true; + } + return false; + } + //compares the shading of the three cards + public static boolean compare_shading(Card one, Card two, Card three) + { + if(one.shading == two.shading && one.shading == three.shading) + { + return true; + } + else if(one.shading != two.shading && one.shading != three.shading && two.shading != three.shading) + { + return true; + } + return false; + } + //checks to see if three cards have the same shale + public static boolean compare_shape(Card one, Card two, Card three) + { + if(one.shape == two.shape && one.shape == three.shape) + { + return true; + } + else if(one.shape != two.shape && one.shape != three.shape && two.shape != three.shape) + { + return true; + } + return false; + } + //checks to see if three cards are a set + public static boolean isSet(Card one, Card two, Card three) + { + if(Card.compare_color(one, two, three) && Card.compare_number(one, two, three) && Card.compare_shading(one, two, three) && Card.compare_shape(one, two, three)) + { + return true; + } + return false; + } +} diff --git a/src/net/jrtechs/setgame/Deck.java b/src/net/jrtechs/setgame/Deck.java new file mode 100644 index 0000000..6a695e4 --- /dev/null +++ b/src/net/jrtechs/setgame/Deck.java @@ -0,0 +1,58 @@ +package net.jrtechs.setgame; + +import java.util.ArrayList; + +public class Deck +{ + private ArrayList deck; + + //constructor + Deck() + { + deck=new ArrayList(81); + //color,number, shape, shading + for(int c = 0; c < 3; c++) + for(int n = 0; n < 3; n++) + for(int s = 0; s < 3; s++) + for(int sa = 0; sa < 3; sa++) + deck.add(new Card(c,n,s,sa)); + } + public void shuffle() + { + int elem1, elem2; + for (int i=0; i<300; i++) + { + elem1=(int)(Math.random()*deck.size()); + elem2=(int)(Math.random()*deck.size()); + Card temp=deck.get(elem1); + deck.set(elem1, deck.get(elem2)); + deck.set(elem2, temp); + } + } + public void display() + { + System.out.println(deck.size()); + for(int i = 0; i < deck.size(); i++) + { + System.out.println(deck.get(i)); + } + + } + public Card[] dealMany(int num) + { + Card[] temp=new Card[num]; + for (int i=0; i sel; + sel = selected(cards); + if(sel.size() == 3) + { + //there is a set selected + if(Card.isSet(sel.get(0),sel.get(1), sel.get(2))) + { + sets++; + //calculates score to be given baised on time took and cards on board + if(currentDisplay ==12) + { + int temp = 100 - timeOnSet; + if(temp > 0) + { + score +=temp; + } + } + score += 50; //base score + timeOnSet = 0; + Card[] remove = {sel.get(0),sel.get(1), sel.get(2)}; + if(deck.cardsLeft() > 2) + { + hand.removePair(remove, deck); + if(currentDisplay > 12) + { + currentDisplay -= 3; + hand.resize(currentDisplay, deck); + for(int i = 12; i < 15; i ++) + { + cards[i].setVisible(false); + } + } + updateBoard(cards); + } + else + { + for(SetButton elem : cards) + { + if(elem.getPressed()) + { + hand.disableCard(elem.getCard()); + elem.setEnabled(false); + elem.setBackground(Color.black); + } + } + + } + if(deck.cardsLeft() < 3) + { + setsLeft = 0; + } + else + { + setsLeft= hand.setsLeft(); + } + } + diselectCards(cards); + } + } + public void openThree(SetButton[] cards) + { + if(currentDisplay == 12) + { + currentDisplay += 3; + hand.resize(currentDisplay, deck); + //hand.display(); + + for(int i = 12; i < cards.length; i++) + { + cards[i].setVisible(true); + } + this.updateBoard(cards); + } + else + { + + } + + } + public void updateBoard(SetButton[] cards) + { + int count = 0; + for(Card elem : hand.getHand()) + { + if(count >= currentDisplay) + { + + } + else + { + cards[count].setCard(elem); + count ++; + } + } + for(SetButton elem : cards) + { + elem.update(); + elem.setBackground(Color.white); + elem.setSelected(false); + elem.setEnabled(true); + } + } + public void findSet(SetButton[] cards) + { + Card[] set = hand.findSet(); + for(Card elem : set) + { + int loc = hand.location(elem); + //row * (4) + col + cards[loc].setBackground(Color.PINK); + } + } + public int getTime() + { + return time; + } + public int getNumSets() + { + return sets; + } + public int getScore() + { + return score; + } + public int modScore(int change) + { + score +=change; + return score; + } + public Deck getDeck() + { + return deck; + } + public int getSetsLeft() + { + setsLeft = hand.setsLeft(); + return setsLeft; + } + public void setScore(int newScore) + { + score = newScore; + } + private void diselectCards(SetButton[] cards) + { + for(SetButton elem : cards) + { + if(elem.getPressed()) + { + elem.setBackground(Color.white); + elem.setPressed(false); + } + } + } + private ArrayList selected(SetButton[] cards) + { + ArrayList selectedCards = new ArrayList(); + for(SetButton elem : cards) + { + if(elem.getPressed()) + { + selectedCards.add(elem.getCard()); + } + } + return selectedCards; + } +} diff --git a/src/net/jrtechs/setgame/Hand.java b/src/net/jrtechs/setgame/Hand.java new file mode 100644 index 0000000..ac26312 --- /dev/null +++ b/src/net/jrtechs/setgame/Hand.java @@ -0,0 +1,134 @@ +package net.jrtechs.setgame; + +public class Hand +{ + private Card[] hand; + + Hand(Card[] temp) + { + hand= temp; + } + public void resize(int newSize, Deck deckT) + { + + Card[] transfer = new Card[newSize]; + int count = 0; + for(Card c: hand) + { + if(c == null) + { + //skip the null cards + } + else + { + transfer[count] = c; + count++; + } + } + for(int i = count; i < newSize; i++) + { + transfer[i] = deckT.deal(); + } + hand = transfer; + } + public Card getCard(int e) + { + return hand[e]; + } + public void display() + { + + for(Card elem : hand) + System.out.print(elem + " "); + System.out.println(""); + + + } + public Card[] getHand() + { + return hand; + } + public Card[] findSet() + { + Card[] match = new Card[3]; + //checks each possible combination of three on the hand to find a set + for(Card one: hand) + for(Card two: hand) + for(Card three : hand) + if(Card.isSet(one, two, three) && Card.equals(one, two, three)) + if(one.getInUse() && two.getInUse() && three.getInUse()) + { + match[0] = one; + match[1] = two; + match[2] = three; + return match; + } + return match; + + } + public int setsLeft() + { + int count = 0; + for(Card one: hand) + for(Card two: hand) + for(Card three : hand) + if(Card.isSet(one, two, three) && Card.equals(one, two, three)) + if(one.getInUse() && two.getInUse() && three.getInUse()) + count++; + + //gets rid of all permutations + return count/6; + } + public int location(Card find) + { + for(int i = 0; i < hand.length; i++) + { + if(hand[i] == null) + { + + } + else if(find.equals(hand[i])) + { + return i; + } + } + return -1; + } + public void removePair(Card[] remove, Deck deckT) + { + if(deckT.cardsLeft() < 2) + { + //not enough cards in deck to replace w/ new cards + + for(Card c : remove) + { + hand[this.location(c)] = null; + } + } + else if(hand.length > 12) + { + for(Card c : remove) + { + hand[location(c)] = null; + } + //condense the deck + this.resize(hand.length -3, deckT); + } + else + { + //removes a set and replaces it with new cards + int i = 0; + Card[] replace = deckT.dealMany(remove.length); + for(Card c : remove) + { + hand[this.location(c)] = replace[i]; + i++; + } + } + + } + public void disableCard(Card c) + { + hand[this.location(c)].setInUse(false); + } +} diff --git a/src/net/jrtechs/setgame/SetButton.java b/src/net/jrtechs/setgame/SetButton.java new file mode 100644 index 0000000..604f2bc --- /dev/null +++ b/src/net/jrtechs/setgame/SetButton.java @@ -0,0 +1,70 @@ +package net.jrtechs.setgame; + +import java.awt.Color; +import javax.swing.JButton; + +public class SetButton extends JButton +{ + private boolean pressed; + private Card card; + private int loc; + SetButton() + { + pressed = false; + } + SetButton(int x) + { + pressed = false; + loc = x; + } + public void clicked() + { + if(pressed) + { + pressed = false; + this.setBackground(Color.WHITE); + } + else + { + this.setBackground(Color.gray); + pressed = true; + } + + } + public void update() + { + if(card == null) + { + //do nothing + } + else + { + //sets the image of the button baised on its properties + //images located in the /src folder, file are named as a 4 digit number + //each digit represents a property of the image(shape, number, color, shading) + String src = "/net/jrtechs/setgame/img/" + card.getShape() + card.getNumber() + card.getColor() + card.getShading() + ".png"; + //this.setText(card.toString()); + this.setIcon(new javax.swing.ImageIcon(getClass().getResource(src))); + } + } + public Card getCard() + { + return card; + } + public void setCard(Card newCard) + { + card = newCard; + } + public int getLoc() + { + return loc; + } + public boolean getPressed() + { + return pressed; + } + public void setPressed(boolean sel) + { + pressed = sel; + } +} \ No newline at end of file diff --git a/src/net/jrtechs/setgame/SetGame.form b/src/net/jrtechs/setgame/SetGame.form new file mode 100644 index 0000000..06cda19 --- /dev/null +++ b/src/net/jrtechs/setgame/SetGame.form @@ -0,0 +1,140 @@ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/net/jrtechs/setgame/SetGame.java b/src/net/jrtechs/setgame/SetGame.java new file mode 100644 index 0000000..9a33656 --- /dev/null +++ b/src/net/jrtechs/setgame/SetGame.java @@ -0,0 +1,276 @@ +package net.jrtechs.setgame; + +import javax.swing.JOptionPane; +import java.awt.event.*; +import javax.swing.Timer; +/* +jeffery R +12-26-15 +gui component for set +*/ +public class SetGame extends javax.swing.JFrame implements ActionListener +{ + private SetButton[] cards = new SetButton[15]; + private Game game; + + public SetGame() + { + initComponents(); + initSetButtons(); + showButtons(false); + cmdFindSet.setEnabled(false); + cmdOpen3.setEnabled(false); + + //creates an event listener for the timer + ActionListener actTimer = new ActionListener() + { + + public void actionPerformed(ActionEvent e) + { + if(game == null) + { + + } + else + { + game.timerTic(); + lblTime.setText("Time " + game.getTime()); + + } + } + }; + Timer timer = new Timer(1000, actTimer); + timer.start(); + } + public void showButtons(Boolean set) + { + for(int i = 0; i < 12; i++) + { + cards[i].setVisible(set); + } + } + private void initSetButtons() + { + //fills the array with new SetButtons and ands action listeners + for(int i = 0; i < cards.length; i++) + { + cards[i] = new SetButton(i); + cards[i].addActionListener(this); + } + + //sets the location of each of the buttons on the absolute layout + getContentPane().add(cards[0], new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 11, 146, 84)); + getContentPane().add(cards[1], new org.netbeans.lib.awtextra.AbsoluteConstraints(172, 11, 146, 84)); + getContentPane().add(cards[2], new org.netbeans.lib.awtextra.AbsoluteConstraints(336, 11, 146, 84)); + getContentPane().add(cards[3], new org.netbeans.lib.awtextra.AbsoluteConstraints(500, 11, 146, 84)); + getContentPane().add(cards[4], new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 121, 146, 84)); + getContentPane().add(cards[5], new org.netbeans.lib.awtextra.AbsoluteConstraints(172, 121, 146, 84)); + getContentPane().add(cards[6], new org.netbeans.lib.awtextra.AbsoluteConstraints(336, 121, 146, 84)); + getContentPane().add(cards[7], new org.netbeans.lib.awtextra.AbsoluteConstraints(500, 121, 146, 84)); + getContentPane().add(cards[8], new org.netbeans.lib.awtextra.AbsoluteConstraints(0, 233, 146, 84)); + getContentPane().add(cards[9], new org.netbeans.lib.awtextra.AbsoluteConstraints(172, 233, 146, 84)); + getContentPane().add(cards[10], new org.netbeans.lib.awtextra.AbsoluteConstraints(336, 233, 146, 84)); + getContentPane().add(cards[11], new org.netbeans.lib.awtextra.AbsoluteConstraints(500, 233, 146, 84)); + + getContentPane().add(cards[12], new org.netbeans.lib.awtextra.AbsoluteConstraints(664, 11, 146, 84)); + getContentPane().add(cards[13], new org.netbeans.lib.awtextra.AbsoluteConstraints(664, 121, 146, 84)); + getContentPane().add(cards[14], new org.netbeans.lib.awtextra.AbsoluteConstraints(664, 233, 146, 84)); + for(int i = 12; i < 15; i++) + { + cards[i].setVisible(false); + } + } + + public void actionPerformed(ActionEvent e) + { + //System.out.println(e); + //casts the object of e to a setButton then calls the getLoc to find its index location in the cards "setButtons" array + SetButton clicked = (SetButton)e.getSource(); + cards[clicked.getLoc()].clicked(); + game.clicked(cards); + updateBoard(); + } + // //GEN-BEGIN:initComponents + private void initComponents() { + + cmdPlay = new javax.swing.JButton(); + lblScore = new javax.swing.JLabel(); + lblSets = new javax.swing.JLabel(); + lblCardsLeft = new javax.swing.JLabel(); + lblSetsOnBoard = new javax.swing.JLabel(); + cmdExit = new javax.swing.JButton(); + cmdFindSet = new javax.swing.JButton(); + cmdOpen3 = new javax.swing.JButton(); + lblTime = new javax.swing.JLabel(); + + setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE); + setTitle("Set Game"); + setPreferredSize(new java.awt.Dimension(670, 500)); + getContentPane().setLayout(new org.netbeans.lib.awtextra.AbsoluteLayout()); + + cmdPlay.setText("Play"); + cmdPlay.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cmdPlayActionPerformed(evt); + } + }); + getContentPane().add(cmdPlay, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 343, 95, 38)); + + lblScore.setText("Score"); + getContentPane().add(lblScore, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 350, -1, -1)); + + lblSets.setText("Sets"); + getContentPane().add(lblSets, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 350, -1, -1)); + + lblCardsLeft.setText("Cards Left in Deck"); + getContentPane().add(lblCardsLeft, new org.netbeans.lib.awtextra.AbsoluteConstraints(390, 380, -1, -1)); + + lblSetsOnBoard.setText("Sets on board"); + getContentPane().add(lblSetsOnBoard, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 380, -1, -1)); + + cmdExit.setText("Exit"); + cmdExit.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cmdExitActionPerformed(evt); + } + }); + getContentPane().add(cmdExit, new org.netbeans.lib.awtextra.AbsoluteConstraints(124, 400, 95, 38)); + + cmdFindSet.setText("Find a Set"); + cmdFindSet.setActionCommand("cmdFindaSet"); + cmdFindSet.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cmdFindSetActionPerformed(evt); + } + }); + getContentPane().add(cmdFindSet, new org.netbeans.lib.awtextra.AbsoluteConstraints(124, 343, 95, 40)); + + cmdOpen3.setFont(new java.awt.Font("Tahoma", 0, 10)); // NOI18N + cmdOpen3.setText("Open 3 Cards"); + cmdOpen3.setToolTipText(""); + cmdOpen3.addActionListener(new java.awt.event.ActionListener() { + public void actionPerformed(java.awt.event.ActionEvent evt) { + cmdOpen3ActionPerformed(evt); + } + }); + getContentPane().add(cmdOpen3, new org.netbeans.lib.awtextra.AbsoluteConstraints(10, 400, 95, 38)); + + lblTime.setText("Time"); + getContentPane().add(lblTime, new org.netbeans.lib.awtextra.AbsoluteConstraints(260, 410, -1, -1)); + + pack(); + }// //GEN-END:initComponents + + private void cmdPlayActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdPlayActionPerformed + cmdFindSet.setEnabled(true); + cmdOpen3.setEnabled(true); + game = new Game(); + showButtons(true); + for(int i = 12; i < 15; i++) + { + cards[i].setVisible(false); + } + cmdPlay.setText("New Game"); + game.updateBoard(cards); + this.updateBoard(); + }//GEN-LAST:event_cmdPlayActionPerformed + private void updateBoard() + { + lblScore.setText("Score " + game.getScore()); + lblSets.setText("Sets " + game.getNumSets()); + lblCardsLeft.setText("Cards Left in Deck " + game.getDeck().cardsLeft()); + lblSetsOnBoard.setText("Sets on board " + game.getSetsLeft()); + if(game.getSetsLeft() == 0) + { + + cmdFindSet.setEnabled(false); + endGame(); + } + else if(game.getHand().length==12 && game.getDeck().cardsLeft() > 2) + { + cmdOpen3.setEnabled(true); + + } + } + + private void cmdExitActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdExitActionPerformed + System.exit(-1); + }//GEN-LAST:event_cmdExitActionPerformed + private void endGame() + { + if(game.getHand().length ==12 && game.getDeck().cardsLeft() > 3) + { + JOptionPane.showMessageDialog(null,"There are no more sets left on the board. However, you can still open three cards.","",JOptionPane.WARNING_MESSAGE); + } + else + { + game = null; + cmdOpen3.setEnabled(false); + JOptionPane.showMessageDialog(null,"There are no more sets left on the board.","End of Game",JOptionPane.WARNING_MESSAGE); + + + } + } + private void cmdFindSetActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdFindSetActionPerformed + game.findSet(cards); + lblScore.setText("Score " + game.modScore(-150)); + }//GEN-LAST:event_cmdFindSetActionPerformed + + private void cmdOpen3ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cmdOpen3ActionPerformed + game.openThree(cards); + cmdOpen3.setEnabled(false); + updateBoard(); + this.setBounds(0,0, 830, 480); + if(game.getSetsLeft() == 0) + { + //end of game + endGame(); + } + else + { + //keep on playing game + cmdFindSet.setEnabled(true); + } + }//GEN-LAST:event_cmdOpen3ActionPerformed + public static void main(String args[]) { + // + /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel. + * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html + */ + try { + for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) { + if ("Nimbus".equals(info.getName())) { + javax.swing.UIManager.setLookAndFeel(info.getClassName()); + break; + } + } + } catch (ClassNotFoundException ex) { + java.util.logging.Logger.getLogger(SetGame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (InstantiationException ex) { + java.util.logging.Logger.getLogger(SetGame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (IllegalAccessException ex) { + java.util.logging.Logger.getLogger(SetGame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } catch (javax.swing.UnsupportedLookAndFeelException ex) { + java.util.logging.Logger.getLogger(SetGame.class.getName()).log(java.util.logging.Level.SEVERE, null, ex); + } + // + java.awt.EventQueue.invokeLater(new Runnable() { + public void run() { + new SetGame().setVisible(true); + } + }); + } + + // Variables declaration - do not modify//GEN-BEGIN:variables + private javax.swing.JButton cmdExit; + private javax.swing.JButton cmdFindSet; + private javax.swing.JButton cmdOpen3; + private javax.swing.JButton cmdPlay; + private javax.swing.JLabel lblCardsLeft; + private javax.swing.JLabel lblScore; + private javax.swing.JLabel lblSets; + private javax.swing.JLabel lblSetsOnBoard; + private javax.swing.JLabel lblTime; + // End of variables declaration//GEN-END:variables + +} diff --git a/src/net/jrtechs/setgame/img/0000.png b/src/net/jrtechs/setgame/img/0000.png new file mode 100644 index 0000000000000000000000000000000000000000..7209cd4feca21651e752ea172da338dd3ef6caac GIT binary patch literal 394 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBn7K*KhpUf)Lb9155hc#~xw)x%B|t6%gL6@8Vo7R>LV0FMhJw4NZ$OG( zDmw!MBZH@lV@SoVw|6#j9&!+Acz8$ANo%!8pYRdJIfqo|C`enh?p4^{d)Bm!vHQrq zuEiDrSgg7`A6;)bTfC3zxEl1|(Wc}Sx z&T;hIwzVG&6IXm~eNygm_+Q2AV=MI&x7|5bQhCq+p9lAq-r)K=+cMQNMY(*nxzAts zfednD0vXgY!2xIxkcG<*#YVVVm#JZ!H|lOToVrO9NM0@5xB8}Hq|j-PgR)3&LQ)Sl cyHoWCL#Kx7Y^FVy;-EnCboFyt=akR{09coUHUIzs literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0001.png b/src/net/jrtechs/setgame/img/0001.png new file mode 100644 index 0000000000000000000000000000000000000000..f8006217dab6309f60b3ab411efa9cf81118af4a GIT binary patch literal 1184 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBI4fV6pOH9FNH#MhqQp5rH#aq}1juDza4t$sEJ;mKD9T zWoKYu5%Y9$45_&FcJBV}Ij$1N?Kf9Pt}`fTJsYLFWGlxr{uA3WZA_+4QtQ?JcR=Dj zmvp|ln9@m4CzU6Bij1ynOcEygol{DE(BiORw^K)N!32?q@9uryIHP=L<^7hsH!~9Q zpZ#v!E-7(C+V1^lo6l$7%riD_`LTY>78WNZ&Q2ATNdiKi9x93xTU>;o0uwx(-~yfh zJ6l8kZ?Jv-?Azv2p*=o3CS3HsynbHggqqdK+f*m^t@Fq({!*zD)VJdmqel9i>s-&4 zRyo^+Ppq4-sJUJ+}W`F0Ds`cGu~f#+cV!fo>E%rHcRK?(+8>5 zJbOIPAq;)zt>$Jm7XT|9`?p>VSeDX#N}^WL;1IagbylDRVRC#7k?)ZWC=;c!b z7C%LRwoZC9gG4e^od2QPQ*8t2b`;db}|R6V&uuwE4i&1X;cY(KB+c+t|gVt#_~9 zsh2uU@Z>>li|@7{_%5t#^G-<4a;e;AyMcSp)NGYgVJgr6zbJ3aGl*f3_gmXNCz{=k z^U3Ucas}(IH`Xz#b9YYR%heCoxS0H)o1^m=Z)chEZRYUCr(!myX}g=0Cid~wGv~Wp zad~`bmuyepGM7bpp$UK0!k9BEyeayEtA8wtk(kKtJ@*{G~2l z?9AV4=fAkxQDSEI?FGy3&HjebGmX}(2^v^6%omyXDTkM*;q^f&Tb6S^Juc@;3-g+P z-Tm#xZF zs3UU{7pvVmk~86R&^DuKEBgP}-O9e|!B}ILeSBA!i?dO>;^pnj+xK%_;%-a!`#)Q# zx8v`zbuM20+w47Jx!TH<{QqamzLqIZ7t$+AT9x?!WwaasR<{b|o{7 zmOI8Psk%Kpy5Pfk&p*Z!Cmo)@RkOw`#@S;@WWKi4zJn?%m!{dB_SO*(`m2BYmtjz+ sN}qz2k{~p<0W%qn><7+|hT(s>uV^}a7r*@F5~%3#boFyt=akR{057@+nE(I) literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0002.png b/src/net/jrtechs/setgame/img/0002.png new file mode 100644 index 0000000000000000000000000000000000000000..2ab0197fca9da43a68603a8a44d8e895893cd90c GIT binary patch literal 385 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBmVskZfj1M2T~LZf_A1Tm@{(J>ZE=c$sA|8b>5qu|P6 zO$QGSPQ}Iv0zyts9ttWgEkG7fKv6|NDBdX5cEj3hiN~)A+4)%9eX%Ig?l#B7?_w8Q zOYTmX$K0zP>T%6u#zek~zlm-UUYeUH6us0F&E<@BVMPx@+EEf5oT9(~roP6l5RnDPg=DQMWwp@9Ay*6S+9EVa7r9FoDc( enE*A;;u-J0AVq!~L+34^u<>;Db6Mw<&;$U82YTiJ literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0010.png b/src/net/jrtechs/setgame/img/0010.png new file mode 100644 index 0000000000000000000000000000000000000000..134a13258d02983256f4d33a85d55d48888d08d3 GIT binary patch literal 801 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBn3+mN%$H+8A=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsX}YJ2V@SoVw{!RUNjnNOq^Et~z$@tG>^QZ_98w52|O`yAskOQ=(dv%};6-1E7L4=sas6@ItvHVEYH+~8{$BG`HMdu~_HS$CDC zuP0raT3zz0G)wTN+3&WjsU2&!|6WlwLpSEr)T>7)Dg}AB?DE(Y#eeC&?{_cP+6UjO zqSvzTyw>cV<@Y;zKF8&#;z_&Cf7yR<#*)MG8!eQ!s$cq`ersBz$J*3w68mn)eot=o zIIFtt;pQI6m1_@nOkq2pdsV&7n z-U?b5`M6Zwi@aSl#i7IF?9y$o4xirr=v{qrWp2y!i90skP0Nz53An4yIZ^6xt(nvQ z=8h{;Tm9T$m|y;{_BvNdNXgbQM`H1Zr(&MXO1&Sm0&drD*fIJ2zjn7>(JGJfCWLxN z>{=n|Kv*X>jb_DTRe_xWO8nkOwnl^u6;M&A(JyG8#ceMD_ zmz_RcuA_AE%9^!%F126sb6LK%q%wAbeca0(=P&)8nGp89UgYCxa+{_f(9i9EVEJ}E%Slk$^>p=fS?83{ F1OU3LVTu3% literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0011.png b/src/net/jrtechs/setgame/img/0011.png new file mode 100644 index 0000000000000000000000000000000000000000..f0bb945a0522a51e4f1fddc1069f6b7ce0d3fbf9 GIT binary patch literal 1217 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 T%zMlLRIGTq`njxgN@xNA>}Vo& literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0022.png b/src/net/jrtechs/setgame/img/0022.png new file mode 100644 index 0000000000000000000000000000000000000000..7ec513ad67b9be36aa3a6856255f43102ff4e764 GIT binary patch literal 467 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBn6Y`|RL5ALkZfj1M2T~LZf=gtP`#zR=2Em z2%9{MEwELRMMGu6*^*!PSkuZrr=}fww`5N7f%v%y7&&tLKL8<-JkYtGVPf5q@t(Hnyv!&64*GPmr(u4cTk<7**rt6wAdXK+Mcd{ JF6*2UngAY}rAGh& literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0100.png b/src/net/jrtechs/setgame/img/0100.png new file mode 100644 index 0000000000000000000000000000000000000000..954301e9f3be58084055f7b1b4826134f1e13ead GIT binary patch literal 258 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxS}FY`MVcDA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rNv;pyTSQgQ3;xY}m|6lrB zXMf8C0U;+QMMagCmI)3X9GpNFP{7GU0VE(G1Quvv0SW+FjS#g+rZLncGw0W_I7lWm Q8G(%VboFyt=akR{0G+fwQ2+n{ literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0101.png b/src/net/jrtechs/setgame/img/0101.png new file mode 100644 index 0000000000000000000000000000000000000000..4ee8eb7834a5f7ba23cafeec7280db18e93c7754 GIT binary patch literal 1332 zcmZ{k`#%#30LAAu?Bb*Ju!+P)q3)36ezbYaY&DNExCfH zl!FKW*xe5BqXgi!qk}0y+74((7yP*Zc>qB6H5y@q{c~)Y<(!OjQ*WgmwYdELFi><> zdQbYhO7x5^=_=`?zLCda+40sv>$dJ*duxS+$M>-EU~n%8>2T!?@T_fQNQQ|MPEgU^ zzSOkYWR6cKe`@KlguxZek}Wr9VQVb%1l&OC)O}T3g`c44lhE)tqHo|XX>Q1Km$e>) zB%_Nj0pIb8%}y)9&Q}vx6S>GnrZU}Gss6@Bec}AHzXotcy>_WAS<2trV$1R=eO$sQ;6b6Mb>20m@+&041aK&RrrWO#KA9G9L!HW%LB5zEZY?7YM zp2Llv#_A4NvRGkszM}F;i|WG^yPMf-bHoiJ`}LbjYs-0b#2NVLabq= zmCfbx(YBG)vIfn!*d1o9InFbHy<#km2x|p8z=9X!r?Vwv;^j9_pTNrRhd}O}^wc$U zq*$~fk{}C=aBV z9=2`RgdQq9s=udVcxaW`u2h;>I*{Sw$IOCtfd)60!&O7HPY#Q&pW+nY@viS#cpry} z7nna(x@xdJ zx0ExD8y)erm`M;Me5DoLzDY3>)$GOK{D^I+&VC6r&m9}JU&aqD$M^0{u8#?-7!HJo zmt7{Dy>eCAos>H8&Ah^5J;7I+UU!2RQNS=jrdj1I&i%vJVP83iCrjQgLab-dew`!}@^0tNNAFDaIAUkXEwl{VB`<>iNhM6)i2yt{HJ$xSko1FB5K>D&vUVd?H;X#NfIl^uv9D zZC&8FL%FJ>5o(uG3L9p8^CMa=Q$EOLwHU7{YIN+zOo9gH$na*$k=TC9;P$)#)iZ+P l%)bcNJ@nIe_%Uq3SC31@cDA(_dEfhSXJ~sTM5(QB!vDLZdj|jj literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0102.png b/src/net/jrtechs/setgame/img/0102.png new file mode 100644 index 0000000000000000000000000000000000000000..c33061a4e1d32dad1f0f23029ea08b13b4cf2379 GIT binary patch literal 281 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxRj*C@tuA^A=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rPF@9E+gQgQ3;?bDnLiaZVnHNM^7bi4V-ZHwTBgoqE2f;B=2pOZH~hEBhJdi(kR=WF}o zojf==6&oiA2st@*#bNbj9ZQg? Mr>mdKI;Vst0K^JGB>(^b literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0111.png b/src/net/jrtechs/setgame/img/0111.png new file mode 100644 index 0000000000000000000000000000000000000000..b3513ed36b99b4becae7a4ae048fe2268509f7d8 GIT binary patch literal 507 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxGMjavuesfA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsvCz}SF{I+w+dJNUhYSQ*9g=?j3r`DE-smtZuweGPva51SY;6BeI`EhgYzmlg zn46P`h$G5wGe>YPx+|4+C#qy~c*NY@(UtANb zp!zF5?4#t_IMrW&eU2Bcowahkw$l8I>s^+gaVht{QslNPx-HmiOVQ5$vl&`}--X_u zOuwdi@n2w?rgyB0>Z=V?YAZLdb&>VnQt1{IsN@}a&CzVC#_U<`eUZs6_jtD_ciPQt zee_B4=b=+SbyohXGc=Q5KQUmVN8ooSExpY3*F&q#ZtZaIx)Zbicg*(oZS!;1e1Bq` z#a?>oWL|0Kt#=crWc*#*`1dD|>M9fIr#gX~f@cdIjY)sK{C~OoY@yV%%THvhEZ^@m zseS^l>Z!OzQr|D8{hQ!tIdg5zz8l|6h4zQOuKO^DkKR@};&Vl4mP nE$CCrG<~2`5Fy9FFy{e#PtJ|t8E0Od1_^t*`njxgN@xNA;sVr( literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0112.png b/src/net/jrtechs/setgame/img/0112.png new file mode 100644 index 0000000000000000000000000000000000000000..87aa692978a4cb02c73710f7126823f33f461b19 GIT binary patch literal 279 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxHL}=W6l$xkZfj1M2T~LZflFzskrs__Dx;}0Raa`?O*vb<&NYoW9U4)xju*qtQSlqOq)?%vv&4+@$~-x zbAP7fcM6`GJv;Hc_y2r5Ga)A@4-U?jmI(qvPE3l5DnOP4P(ZN}B;e$s01^-o0tx`7 sSni7b{k#9I{=cm6=a0J~S-|kak(tGU$Dw)6R$Gvbp00i_>zopr0FVbyr~m)} literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0120.png b/src/net/jrtechs/setgame/img/0120.png new file mode 100644 index 0000000000000000000000000000000000000000..64364f979f3763edbe92a8cf7481f267badc15ab GIT binary patch literal 259 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxRTPo;5QS2Lb9155hc#~xw)x%B|t6%gL6@8Vo7R>LV0FMhJw4NZ$OG( zDmzfT($mE;q~g}w%LjQG6gXH8UOv`4^>sgA2Y))3LZc2RSTBT#b$k6~>gST(clXTy zJ>}(e0U;+R4+WK$mI(qv9Gr@ZDlIHP0S->EfD;o)pk;ysPyon+szoxaAwTAAK8wRj Rp7vWHQBPMtmvv4FO#qoIW@JPeqQWRb$g*W`+wGwe_v&HyMKQ*Q!&ELHfF{0sTo&`EG!q# z+vVW(W&awnlq=p-U;H)}J#Ct`tS+u!^5>Q!RjX9BUD1ms8DF|&zIl3Cx8AZ#mU)i@;c7rnCjc_rKT zWe18+^mK6yskrs__C?ME3Oo)6x9lh{{PgQN!_vSjyBS#y8`rymwL^#rPrYpac9y?- zoAv4MndQ6ps{RYuc86zk{IAB(8z%|~IXQVKsI;_95D?LV0FMhJw4NZ$OG( zDmzfT*3-o?q~g}w%Z^+O3LLHn^S|%k9J|m}@X(nkr-xI)S|P*-uep3>m*$JFm45HD zC;8C1)A5hk6ctrkS|&JnaBu=y0zytsKo(FyKnN_*!U7ghYy=7bSqdPvNCq-UBr?D3 VV{_0gvUvm&_H^}gS?83{1OP1YMFao< literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0201.png b/src/net/jrtechs/setgame/img/0201.png new file mode 100644 index 0000000000000000000000000000000000000000..400d6b923b6c085adc9ca9ee6060f39cd4693635 GIT binary patch literal 1770 zcmZ`)dmz&b8~$xB8*|xQ=NiM&PADDZPP4I*Yj$KVjoET{9CKWoMe`{ooRUftsmwIj zgoRbdHJ9XC3?~kU9pyuZuf$p3|L2eQdEWPVpFf_z-uIG^mz%t-rYrye@&r8APt3*Q zB0#0ZIGLRlE+(0u@PSDH08{=}AmDZxQY=E~1Wz1fUQSb8U2iki8zz=?qWsU$T@vEr zsPT012mmfWQ^V-g2)&djdZeBk!P6(gj0yn&X)*zO(m(axdf8A+FcH~Pp7*Lf=?8u+ z_GaL=Vkz#q6WQv6JpB$)h_^~U2f;QTMkz(8tunFNg$q7PkmDsk-fbzt;0-Ms4#~K5 zT5zJm&#HGmD)XW(vv-!+8Oo^)c>AAab}MCHo_$Pn@&dy#Q2mSl0++h+e?p`RvyE+w zyOV|&ZHHf$&EGRE3Pw2BmgqYNGI_uOwEl?T4?$uaNI{rFiz-4-ne#-uK};%W;KJg= z?JdZoKsU7vJ!c$~2x3en2kUOMd4Ok?$WEdTry*FYvA_fLw`8lXHEmeghaaggbL=~3 zkEwdJKnNH2`hpf9OSayxs&E|6m|Qufh!`yevZ^-}Wz~xTqr1CBKrc8`$2#86bhiyi z3JhFCPmL-q+yX2=)mO|#l9&auHNn>lC3oGKI-nNGNW3DU@z0a~axvgj zNRzIIiFixVuHJ)_*5(#+BW(Brry!{BHTTT5MYQnXyhG)(vg7U4Ho}7a?_@8Lt zva92*!L#PmQ=9ql;`B=8a43AVu?Lr=amc&k{h_gr0}qL{7T{MI%36AvP@QbDJZJ3a zZ`|~tJaCh!Q(7V4yl2m<3a_rI)^b&RJzCCzCVJ)V_DZEze+&y*@png_o*1Kal`s6P zTHM}E0qqk(ee`AH*Xfw7oR3mv?@d!J*J9w0~A?;R6`Z2Mv8XBY(GYBlhg*~ z81vpv_|Ky%FBdoK%*M+UI`<>icKM;*q=l`w+wRu226 zr78=D?SzUN@)KpGfB)^ZjHiNq{)ZZ(x2xChUoK_wdUJl1L&@5$V+1RYfe zg%S*IX@aKkMv}XD~2DNp(X;7K$#{p6epoW)xUw4Q`FA|Df!m2^1pV%RZFpbvUCB@a|eaH%Q z7>$ypuG_V6wZ zzh>kDT_!PWoF|@-R7M;2b6;hKW@NpuVCUJQu}jaUN#q-LzwC6ytiIpT?l*Peqqq;_ z`t5RO&}_>Ju&o-|YNX@iV_v9-0SaUW-DoQaGT-Kg6I+}n+e|bx>+gdzMLOpwQ626B zHeYsT?x1l?bHdoUjCp=(oG_D{*E!CZX-teY(SN)~ES1U0(`?V3QA1Djay-Zd|*zx9<%^koIaxsY7HxUb@cPc3B*D?D2V|PTmu{} zE=Q^eGIpJ+*;*i4BO7_3*>7_Oa-b>muh;zl3mdIHhz(zN&2L4n|JxHH;JmOr3_1HB DakLb> literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0202.png b/src/net/jrtechs/setgame/img/0202.png new file mode 100644 index 0000000000000000000000000000000000000000..81c0660bec2e47cdfb38753749aaffa572d44dd8 GIT binary patch literal 291 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxPZCczZhFMGaQgQ3;9Y?MP10IHhA%Ff)zpbyaWXVF~^ob(dc4o4GwL^&AJ?r_;bwt{{ zI8ot$ytrh>&%)^^K7{4Ay}Etlqm26b9Oa2l9vqyCiYfv^P9RoG%LE{c2`JFQ0v1qg z1PM5KD5wCXc3gg+|9|!Wo{38zTl&qr>BfX)(~g5o7t@67a--ia1BrUN`njxgN@xNA DCD2%n literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0210.png b/src/net/jrtechs/setgame/img/0210.png new file mode 100644 index 0000000000000000000000000000000000000000..d93980bcc9af0266428e956af0af73fc17784ebd GIT binary patch literal 262 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxQLaC^3zQ~A=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rNv6aLI&9L;=$Pol8Wb0Sg|6G{fVNg_kCEoVsx%=;5G|JxIXry&N_i)VF+3riU6mJ=> z4asuP>riuFGS~LUu5x`>o&4+Vs`o!@ z7r47J)6^w&`KBFPZwM^%=el?%L?-zAii^yvS~9*Zsw?kkYT6>S=#};CbBe##_ubfa z{GMDusn=^OU3V6ZW$zSSVwZ3Jyg1;HROZtu5gq5&cqV7d{nq=Z-lCBnWg+}8qFXtr ztfNf#n6b0S&9+_2FDx#1YrTE3t0g1-?)&TiPULz#Ik)KdMu%2`r&r@Xm`<9jI7{}C z|F*=`s8iezZd{+d+V<~xEA>+~8MF7Q&07Bv=!2=tw&<s|l<-V9E7 z)uG~I>%7J8ZPl;)b}p;$$38QibYgOz;wy} zQC7Fj8zZ4wrw*oV|6`p^g1xtzUE#c#G~t_E#nqjPqPGj`EFWI?h}v>^{X|53Ffarh Y)PGlOQ{*Gda2X`*>FVdQ&MBb@0J#YP#sB~S literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0212.png b/src/net/jrtechs/setgame/img/0212.png new file mode 100644 index 0000000000000000000000000000000000000000..c360d633c1f52c61302a9df9b4e9796da1835879 GIT binary patch literal 290 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxS&;Jh~RgikZfj1M2T~LZfGeWJ*=oi9Naz`&o>dG@=?Kdmr+ zW-EI>u>RRoJ;8@3Z}Z&TzVWf;t8+QZf=(VBoQjGn0zyt8R!hqSAd3ko(82;1P;3MV yIC&_j0HtLV0FMhJw4NZ$OG( zDmzfT*3-o?q~g}w%Yj@B0s^iV6CZCX+U79P?Rm}bir{b-uwDqUeah46y2martxbNN zU#@Z^=C7)sfRK}u2M1?M%LE{cNl{S+$Z`M*C^muwoIDgj0s=xn0iYBMSS^x)4I*l4 VeQXYY)wq2@qMojPF6*2UngFK7LwW!J literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0221.png b/src/net/jrtechs/setgame/img/0221.png new file mode 100644 index 0000000000000000000000000000000000000000..8c112323e1e0934d8808afadafb57c361a075e55 GIT binary patch literal 596 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxP5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7Rfs@sy{FV@SoVw|An84lD4m1{^=U&pNhpcVpG729`sX&#fi9e>8naE|LKo0wGc= z@BVvo{p02>m)@Ia)!wo&Tk+FmddG#J^egekFVB5XKXX9#xZx(P`?AjIXN$v^XerLR z7^c;$Z0S;~ed&zkpV~ds=1o|g?Edz8SkJ>%-wxj2Ih8L^wfyx?spD@rKc1`H@#~GW z>3pY>#mg=VgyyC;R&P{u;pYnU*XCQbd+H3vP^T-u7uQvEBsG}`EqWDhX5Ic`zg5%g zyx??)tJAh+NB40A1l;xQFw0G64O{rb_R@*iB*m!B>b&cA`u_enUtrOaZ5ven96T1b z% zw7-Z)IakxLA@`Qgx^G|XU)u#fbH4q?_M$^?`b&Y(tjyhetTtsh-)qTOzk2cQCd#Oe9qE_`T4Cpx4Wb(5ue5P|;eWj;?S((gg^=Qe a!RrSrgP8TF&WVm*AYo5eKbLh*2~7Y&BK^St literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/0222.png b/src/net/jrtechs/setgame/img/0222.png new file mode 100644 index 0000000000000000000000000000000000000000..7e13cc68d8c2f48278eddcd3a0daad1490170867 GIT binary patch literal 292 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxG5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rNP%hSa%q~g}wJC0lp20RQ0HU34{?5sQJq|!Urvf3lzc62XTJA`rG3G7QS5LE&Rd%F6$taD0e F0svS;Q;+}v literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1000.png b/src/net/jrtechs/setgame/img/1000.png new file mode 100644 index 0000000000000000000000000000000000000000..882b8e3cbad3919579ed4f40d41bf0e43f1ba8f0 GIT binary patch literal 320 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gN(YK=EcuIA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rO)&C|s(q~g}w>xO(S4m>Q5hyVZ2DROaWXenR*inDt0v2a$fb`asPV%@8CS^6K} zd||11_<`kpR!OzV`(+*)ml~v2PEtzrcs=FR1OqW=Ba`Fb*pv$^w1v7%UQeDHr|Rl7 zahdFelc7N>BAJiw|Gc8536xpu1`^=WT$tDPq}^Pl=ki9|H|+kFdqg>1qn>`A901Z4 kX4O`{9%M4y2@uBrT@3#sRpiYNtO7gE)78&qol`;+082e+Gynhq literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1001.png b/src/net/jrtechs/setgame/img/1001.png new file mode 100644 index 0000000000000000000000000000000000000000..eb841b1676352b7c110b2e95f815ca3114b322d6 GIT binary patch literal 489 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gCcjC5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsG2YX~F{I+w+nWbHnFB>wFGv@@wTq2#sw#MWi7BX2_C~Ad4sl2B4Gi2I9S^i5 zc%JP%spQip&?B7uOy(Yo*sIm0NQq822Y8u-x7nn4Ix! z*~AMT>=)dkJe3ta{x4t2!r7kVcplDGvK`Bm)oN7wr0XLucjrvEH5|2 zz1})WAye7Ws>ke-*K5C{&)plPRW1FCt`+54c&IJA^4KgYR{EWExY62_xRXgcw^dD> z$G&n>qU!ajHu}sVy{6(S*P6EMY7H$4J(<0@Qf#V^*3Q*WwoUS0>k=iEw&l(tHQngz z;i~>qdA4&Z|K+{ptExY>#-wh3Xi@yhitEKLV0FMhJw4NZ$OG( zDmzg8jHioZNX4zUHxBYPCNt*zSi57|%?atI1eDFM|cF8%(%{ z8Afdr_Ydpb`kjmOx>}S}S4`B>6lyE+Tgk&YJ;(XiQ=^+9Cns!+-PC(>!m_LuMc?=( zp(iI?IWeKA_S))6iYq57J_YKK6#D(@>-DsK%csWhf3gca;{4mDeEb@`)vIfX+v;=vy*!~44O9?L1F;$|-`%mrNIxz# QIT*zCboFyt=akR{0IsxoT>t<8 literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1010.png b/src/net/jrtechs/setgame/img/1010.png new file mode 100644 index 0000000000000000000000000000000000000000..8299906d71f216bf76094fdba2dd16e3be68cc6e GIT binary patch literal 319 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gS5q)1h0cYA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rO))zif>q~g}w>xNtn1_CY@U;KS9!>z5@+WH{vx$Ot0!XL*B!TP~Ohw1ab8;Y!$ z_7zw(Z8xownOz*LBC^t@H^g(I!IE09R1b-6MafyG%bF+dsL&Sb3VA(wYOJcO)5KS? z3yN1S@z4l5d;jMdElr@zdbgdSK`K0&i}Tu^9F-P2_Ht9~o7VK0J))ehx1N8#yx*&< oMd@v+9DpQV!yKy85}Sb4q9e0I48p4gdfE literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1011.png b/src/net/jrtechs/setgame/img/1011.png new file mode 100644 index 0000000000000000000000000000000000000000..dfe60578f3e75079bfc9746f22833c4a706a362d GIT binary patch literal 371 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gQ9t4S*IpYNH#MhqQp5rH#aq}1juDza4t$sEJ;mKD9T zWe1AC^mK6yskrs_mS*?YcQgQ3;4M(mP0|8gZ$A90;h_7Q|Rh4~tA=E&;V}AOvTxPHdAY#Fqd*|iL z%iJAWo^jl}_M#}~obSYdB_gIls;-A7T+^JY_;6CLhkcCtY%R%4N4&QgN?r=+HCXbn zdyAIjBq_w;NYkxAW^LQ83HlpQPDk#7&O z!%t3F#=9tNDv#!u#_NA&5?B jI3K9pKn39h5UU}7uA#Vs{H(aRRuI?I)z4*}Q$iB}Ytm+p literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1021.png b/src/net/jrtechs/setgame/img/1021.png new file mode 100644 index 0000000000000000000000000000000000000000..1745ea956cea767f5d294c6f6b2f7b4047380356 GIT binary patch literal 373 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gOZSCJl|TNkZfj1M2T~LZfN;m+&k^vyxB?%J%X=zOcmjD{xv^HQm8M-*(xsEWmSsD;l7+?qb2L4 z58L{^GNF;GX`oi*tn9(Y~pQ4LhxweTV}6sRmMx^9o%ERZ8Go4-Yw-0^V=r9DP7@l|IdSHt;t{3tM}z@?^BYETfA4< vD?-(Ll91*l|9w|@f+rfNz}*aHG;rE7d}*~Zh};#w3nbv_>gTe~DWM4fBY%R` literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1022.png b/src/net/jrtechs/setgame/img/1022.png new file mode 100644 index 0000000000000000000000000000000000000000..9193aa329c65cc5f12586e7fa9c284634539ff63 GIT binary patch literal 348 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gEW&?&SaoGgKTCXo*nVc7ldn%s@Y+{5E6j7^6%E(>hkuu9=Gld~9-4q~9GLa*HLs6~ U!TPd41z$jXPgg&ebxsLQ0C;_I-v9sr literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1100.png b/src/net/jrtechs/setgame/img/1100.png new file mode 100644 index 0000000000000000000000000000000000000000..2f497ebe73d2e26161cfaf59c5faf97123c80949 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gNnvV&VrdhA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rPl)YHW=q~g}wo1Q|440u=^EdT%CyfgSHW5EHb^8F1TjRKuS!TLeOhk22v=~t%| z#!pW^#kKgbZ|$#x%DKWqMp-JKq+eb=GvSJtrlhIRbGap7%y;xj>T_#8zSwWZes;s& z62{$p_cA4UZ>N}DQZK!?cB+suP>~Y&vX!Oo7=l)&^Yo4X*DJD6W_fM<~J?re&+v0XB qE8x%ZUR%Y*ZigJ1;4TI;8VvZ$e|Yd`FWsU9;(NOKxvXefV??CA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsNzc>8F{I+w+uP@}gabv6f6PyN%l#zx6JO=TrU$_@=DvP(Xex(ZOI{6|<}Phf zt&kUo>;pdL`xeDiFh5RESU5T5+}rQW%&K#z{P8=tbLaLg3Z9cxkkB?^0mj5*53_QD zza~ye46@d*2)R8wz}YQa7uA-`Syuf_6JkX+(^+}GCN0lWq{;3>-Q>xILE1J}%g^6PnR#Va*itEDGrv`mtFxE*s_TDV6_R~S z?eP+}JH@7(Cgz#0WK4b_YH)s=R_$7?6jPgv=81I```W@<- z+|d1QZ~4RgO=WQpg6=G5>@GS#z2W!leU_cGUQ`}Lnl7_1$DYw?pUmUe9>@ z>u$fc@91t&->zBEtnV0i4)e{b5eA{CV+?sGppDB zj(a`rV@$Ho&4*qYuh#R|Y_)A^>oF7hEB*5F+=ZFiTT`}7taz`mb^k%tv^i6nOHP`3 zSnCyq{|@syZ^7yNx8%mj!&jyi3eArC@k(ZXVbH8wTc%1G_bodWVeWC?OutflYnqJj z)Qwpa=9%dgYMZ8i5$4>z?RBMZ?WRw``(*RZTd?{TOgHlQ&9D1#-IW<1@3UtfUl_CS z|LUw$7QVi|H@wzLs_$L7e81Ly#m9ltCzo2@HZl2n<=8$j&urC+>ld$FmU|>^B=`GT go3#+!Ul7Izb9>e=DVnZ@^9?})p00i_>zopr095XqdjJ3c literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1110.png b/src/net/jrtechs/setgame/img/1110.png new file mode 100644 index 0000000000000000000000000000000000000000..834bf675083d4e44895585527df3c87b4699afb0 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gDP9j5g&1&kZfj1M2T~LZfgnPbQgQ3;O>3b;1|rM{X8gWyDH0+g(!e}zkF|6EA3^i zugc@oH16q{{p-tA_xol~(yw^Dx!|!rt!-J@s}n0G-uS7o)&Ahq)IE_NlIH(2i!bop z4i+~k{qXKo#*JlLC)%z2yd~__=@k<*a+c(`ot_f*>I{&by+pEqm+}|=`G0z(I+wZ4 z`uQkVWRLV|pt6Dq>-PUNVv|*oUOzEsPER(^?Qs2LT+T1~BzbQ?F~78aRVC2Q3m)FQ oUH^A%v`)F=Vc`LHFN6{Bl+QrIgWp*2G(Skd)78&qol`;+0DA+70{{R3 literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1111.png b/src/net/jrtechs/setgame/img/1111.png new file mode 100644 index 0000000000000000000000000000000000000000..0d267e4c43df0c4788ad3b3eefaf413fe0bb9b0b GIT binary patch literal 483 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gPK}RyS)rhNH#MhqQp5rH#aq}1juDza4t$sEJ;mKD9T zWoKYujP!JI45_&F_LgJbAqO7TfV3lj*UN~B3c0qZEfo59u3E@i?B_8vW8LZ8U}HeU zhU=UD>`7UZl@;{w@QE2$;`?oW)$;t5%vCwJVdAxOJae}N_4k+wrRObqXTD=kkMZ&e zd^e?DeqMa%#r~VSe=ArPz$;o@F?`>sUHNEiKjAMIStMoo_ z{E599-#lsR$60}2_8yIywyU+ibe;7jovlWFyL^kcG_LafC~4#t^MCjM*-PB_1y%?3 zi|o8~mdKI;Vst047+^wg3PC literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1112.png b/src/net/jrtechs/setgame/img/1112.png new file mode 100644 index 0000000000000000000000000000000000000000..b9b96d8953ab1d53262d0882a0e48fe8dd7617d5 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gR*{wPVrx$kZfj1M2T~LZfc}kdH`m`e)ylZfck0HR z3Fq=+lC;03eG%roUh;a@?5bs-g7?Y3I~Q@m<6RKjOa1m~1>vtw?>L|kTd3jw;{U2D zBfsm*)V2hrA3J&f%2oNPuxYI(Ah^MQc%Q~loCIBK3n6&@^ literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1120.png b/src/net/jrtechs/setgame/img/1120.png new file mode 100644 index 0000000000000000000000000000000000000000..5da07e30ee92cb7111d9a331c442a3f67960e629 GIT binary patch literal 367 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gQ~Lnff)fnA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rPl)YHW=q~g}wn~q{l20SbmULCEpwamM_BcR)C@_+vaQw&&Sn85~sh>FXG=L&m* zkJaAw)zrS@b!X-Iw8r~)3>LdBa#Y@XOL9__rV5b#QDN!+gQ90D$|o3otJ@-Ja{AjP z<~6%2+EcgW2;cIUf2DG37}uE<6FG90*T`z)ZecT-$>MaJK^Fc-@k6ZLQVZ8O@*W~ pSG#_cFVAW3k>YG-fjbz&h?HaTaNzgxY>Wi)Jzf1=);T3K0RXr%f%^ae literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1121.png b/src/net/jrtechs/setgame/img/1121.png new file mode 100644 index 0000000000000000000000000000000000000000..3590b42a498e17327323634f33f0c273cf26e0b3 GIT binary patch literal 484 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gPK)FTXHZ^NH#MhqQp5rH#aq}1juDza4t$sEJ;mKD9T zWoKYujPi7G45_&F_SVI`W&-ei(<)H+0P`u+euqIUVKGyYts_R>JyLV+RCq4yZmSAk2A$_ zw)Q`>ekVB1Kf0#iT*ddYC%3BFdOk|MjNGz%{k*gvSrxfG<>#xfI4~Ob30$^_UU8o_ zPIzDV*Xs*ZPXF)-{Bko%FPA&|$KK+*Q`0!7ZEVk-wVGEXx9j}`!=qpK|Jv`__2l(J z^{-wNm3`m5iPTR%c0u~2*rth2aToW0Y~SsCEZ};**98xF_&^vRV(qsqZcr9_nrjad N@O1TaS?83{1OT@$$nyXI literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1122.png b/src/net/jrtechs/setgame/img/1122.png new file mode 100644 index 0000000000000000000000000000000000000000..d7ec2d2aed26176e54512bbb30b05fc78bcadaa3 GIT binary patch literal 742 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gR;Omuebw1A=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsDaO;qF{I+w+gm&Hgabv|Kb}7pk(4da?IJ$W#Kc3#Ux4L{4r?rnASi(R(i0MUmDm2?e1IYMf%B%kDN4y-dcTw%*_a-3$7{>Ppp>57 z6L)b})_>S#yo1-g@vh4DttOJnlWM}2`Jp!kT=CFc}d@wmUj<|Lw23d_EnzBOd_{6`&XT!?=UF#**}U3N9-%4dys%sI}rVds;tww#je_Zg-Iu1s&R-DSMw|4a1^ zZtcv*&)#^G6tHiE6WVZX5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7Rfskg&Y6)rCoSQd#lnP7|eGE8cpyy%Vo42$|%Oe0jy;59wE>Lub1y^-4_3 z`+Fxg|AxfjOKB7SQe_$L5FZ=9bwbyY0B#lFjY=o%RN5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7Rfsaf7FeV@SoVx3|x3YBJzqyKw2@-}srkOC|P*==y3sUvuXt>!m63x~yO`K*YQ} z?bO>|H)T5S2g)|x&-r(;GTWumeZJvDIm6zxtbZMQOjkJspLD5uV=`;u&&8jvtvQ;k zWNLak=+vj|$*)dUI;&j@6i&4<+-zE(a!+cf)VJ2OxTl*<>O=0$T6kdQwx%^_<>zj9 z6ScS;GV5)Xo>G3P)3f}4JeAogjmCEbXS$tKyR@5Wb8hO|%1u5?bt zewlIU%&uR5or)5aWB*DXzUb9;?_A$H)pb`4c0K$yoiBX4KJVYOqf%4L_wGJ$FF56i^Qp*X z0c~?mub4Xb?SZq?EUV+{-4}J6o^FAMJA^UgynLLV0FMhJw4NZ$OG( zDmw!MV}PfNV@SoVw>J&*4m%Z^0y79sC{TDr=w_IHEq5MpAEO(Y_@0MI?Uyl0gd#3KPk$Sm$ z!=7tZwrf|G&D*|oqFt-T$Ao3A`-|_rs*(PuKkLsle@>9X4G)&ov#xyje%|(7Vsox| zU4BC<|<8JQ3L=WM?u z_GVwT4<|_Bz6UMaf1mrX{9JS=ciGlS-o+8hZ*RDjx7b(S`!32IcT?tg)NxVAt8Vt^ zjh`n~K6AeFQTf-@&%f682JZ=$VuFVZn2|8g{#)e=q1fqBQ$T!AS3j3^P6YY7*cWT?M+9%Lk=9Q7p7JG*S_9*TQA0kUE{r~+BzMJFW!#}!A5|I>tCxs ziape>c>Ur1TJs{QJ=Og#QWM?gw$<0~op^mg$Rv;C%PS6lcz#8?bhf)vuf(*xzc$hN z77~XqWlZ>&d*NW|+UuMC&U$!$t@*3FtYZ16zuj=Ps{Zl$b#D}}mujcUzm0a;KeDe# zf0dfzC6t*XmC9Q`w`y@(bC9P}ukYf!hvQe@n^Ang#9M{k{^R<|1qR0a`zn-dZ!S2z zE@pk|?z+xSht|9^6QU0B@WyuBBfJFZljcufDW_PWsBai`6^Yp&Itsr;qI ei0~4S)lj+5_WAPZh59a&LE@gSelF{r5}E*JKAcbh literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1211.png b/src/net/jrtechs/setgame/img/1211.png new file mode 100644 index 0000000000000000000000000000000000000000..fb587d4c39cbb4674b5eecd14d974fbb839cec37 GIT binary patch literal 845 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gSM&fbcTMQkZfj1M2T~LZf8&B7Nh#V6G!#rE4@2;FC&_Uy_hvuKxot-H_rQx0!Y zJH|HY=_FeZo%eV9L?-QBdz0TbZhh=_JI$Rb@y_CFZ{FTI^`}>*zsl@mXK&xAyxr%u ze*U~mece|dE&Lnz%sN-&W`EGX${7pp#K%c{Y*W9vqv%fV&IOZRx|Ib~INST%vKe#C-cMcg=V$e#TK&0V$0pq^pYwf5(Hi@> zJ@0+iPpE6V_DkiQ@Aj$P^+8&ToKNQcIu)}!B7IV=R^E%M*fpXFB9s)d63&8#JvYHh%VfQW|I zziJD+K8ekd`nUIU*!iaS|J;=CF6vclt^dF0>h=X;mpr!TF6Mmre&+U~>F&z4BGaCK z-m`4i`#rwBU-Vo$`O~6){C>9f-sKPF7oP;%ss6G39CoZ}vK?2@;rrJ4Uv({3PF;5Q z`M2}YawmXh%->!mKIekhEsZr3{W2GC`H+4l`Y*TI_DN=3|E`reNiS`&Prr9-^MmE; zsh8e+wU`Hm+xm0YU)wWPzK3(|6TQ&a{-=(x8|(i0`}tbWll655mk-T1&wr|WqxSm@ zp?_;Cwd)UZF0W4iVf=jU8P?rVCzo2TnfUI8oAsgj*6*{=Hfhg(yz3fEsPy0LS&`zW w^Y?Xr|J}8(DDHpuW9>M}<-G6!0W%U7$@?u`A#_Z3?Mx8g)78&qol`;+01kY{7ytkO literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1220.png b/src/net/jrtechs/setgame/img/1220.png new file mode 100644 index 0000000000000000000000000000000000000000..ec57f11fad2ebca58387600b63318c4b34045d76 GIT binary patch literal 407 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gEn)M?o=_LkZfj1M2T~LZfbu>ZpDia_ha&xnEZHcER^XYRVwwbrAm3N<4To@$Cd@QKlEQ^e#)%hMaod; z?ysFY?iCocEj_RB_x6J3?CABWzcmlfkIA1>&82g1+S`rYCEq@XuQ2yA)tIVs>Bse7 zYaZ$c{LPpVn8slX$&UJ59`b-^u+;`g&{z^Rh@K%O4Z#=e9IQ{xjB| z?h$VGVuSbf?3?e*{gTe~DWM4f+`gU% literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/1221.png b/src/net/jrtechs/setgame/img/1221.png new file mode 100644 index 0000000000000000000000000000000000000000..ee1c333b77cb38b07059c3965d5735fb83e77baa GIT binary patch literal 570 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gN`M4!mVVWkZfj1M2T~LZfJw7!PMR=+O#u=I z9`9ZD{mZO-d`D_U+8-=Cd*3pjQ?uZ;vDzi&Wfwip%1_wdBATH!)1!Z`o3crLz`aS^ zDtwl#O8YtU*=^rd?9Y2=dPMt9`FNz~+MmWs?-yAS;JMgUhiz!bCh$Z<7f2~(N5el5BpA-c$rPyCpsfnd-d7LsamQhqYrW2skWZG z@SxA)Bjvd>^Jn)z>ze1)`AIL9>yJ*td$ZEN&#WGYduSIqrWkK zj=S#>Jvr^l)%W6)WTjueI4`j+Ea*$wwo=`~C2jY3x9=;l`1P0fliqak9ipEy7RS`C zEqV5?aPITywYHz-VmI)9K6lse#7wnUU(J4huFjHL^sQ=%`@R1%@7pT(Dn-hl*&F&d zoY!{SjxgUV7Wps39?Vob_32B+`o>M1C!*zQg`)D0hMU))P2xSZJ0>pSwdSSIicd9y zH5||FynX6i*#o!Jb8Ob{SH5^;QqopS?Zw{p2sOK@c1hfo z+2wFuFQ!^Fu4#JWqf_1mtGl<|^5P6QH*@CpKlQt(sny1vGroLDQ^9kR3Ibi~48Oee z*_QnsHv?0v?x`P$K5cJZxmt($Pp@KtAR=) zKZS9IpVBJ${Qj-n+=)E9S>tD9JUu_j{Au47(}gb1+gCj2O^jn&{!Oyrg;l}!1y^NP|C#wYjFT;fLGJDE&mSGjxqp4J zi2AwtneRqrTjq0e1`jT9eb~_eQpfsaZIs*xnGb&s9Pj1d<$Sj0nU+b% zx!Yw5G6Zj&*|95m>i!9PLc5vE8pGS`{`^>Q`%282kfj+<^_B8xTVJyM_1yNdg@2#% zTA+wV{?$tjvTpki72KF=^lwKmPkPkFQ}I6cwv{cB?wSAH;OMHE%vGGAP!ONCeXUZi zeC2_YLGvWre+-?32_t{%L)-R!XLz@n3uL*_+lcVz@!^ zr1aTrr?TwRJ?T>32dWOQwhsHreeQN{#sT94$4_1EGt|5l|`KOfzV(5 yC*RX7^Nn3!eVkjdXsZ3Aq^U^h2$81J?#Qowv-)JcxGgX%05gcIpUXO@geCyd%7c#p literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2000.png b/src/net/jrtechs/setgame/img/2000.png new file mode 100644 index 0000000000000000000000000000000000000000..fde046d2ed4ebbb4bc8307f80899aa6a40d5b9dd GIT binary patch literal 695 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxS64dbCncONH#MhqQp5rH#aq}1juDza4t$sEJ;mKD9T zWoKYu()Dz445_&FcJ6+^DUKrU=hGGUvPNedapGR-(ZhLEtnI?(PXcOR!fcrGH{G1q z6sME1K|n}3;6?<8qM-2lR-ec7({}0^AGSQHYyR`?nV)H&Qp?{pbijd!HxJ*z`7Aoj z>l>yYD1Ko0fnf)K3}bwQ|AFcUx*N<7EL2u!>0!FZBExcor?lYj&xwmG%UN&D44hYg zwa@9UZs#_pbCXrIO64{@)%dP^A?d&ud(JP_zRY5>U;n8@@mkEA?6S0vIZXC%ok|q{ zjv1R>mg+HGo7?(LRf;|4-XtK8`PezP-9oyobM9<%S?b3$ZO&9P*IR2{76t7-=T$9~ z8?F|(GBY-gC()D>5{HeYG;n0(50mWB6M?=4|FU6x*}l6YS&yZg(nIiHhXl$cg= z)nsUV+RWG&Gx1gOnisp^1XHIC8X{tR^7R^52Wcw7EsfJ%{xUk zoBN-IE#cuiyVgT;kMZ{P|0UP||M%;C*OX5wa~Oa39=(?zxhQVCS;I=8?MB0o>q$$vpVsCYKjNKKKmC-nimM9}NYVSl@_5Rr^&Mvt QtU)Qt)78&qol`;+09t`6=>Px# literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2001.png b/src/net/jrtechs/setgame/img/2001.png new file mode 100644 index 0000000000000000000000000000000000000000..e0bf5ee03e53168fa871c0e16dc0ad5b3fdcf4a5 GIT binary patch literal 1489 zcmV;?1upuDP)}B!VK;mMVl4V-X{P2x)61t<@w= z(t5h+d2pG|kN3;+-uV5(;DGPlH@x%V+;i?d?>vwsNs=T8sZY1y zzcP3qr~)4X?*Z=sZv$@tFM%h(L*OT14Os4jP2D*OgR=&o8Qe9n6ra0({#o74(+kk$ zPLTLxeP8UQM4G!DE6C4*objM({#W<~CIyAVbyWHCVoiVuH37)tR z#enL%!5Q84-h=48!A?wwss;}Yw&Ot50j3>;^Sb-J1JMP8qiz5N$IlwPa+s^w^~czZtsAU*aD6)iL}5HsOEE?`z4gm_ z#R6%h9Yk*Yt3I9mp4JojSW#xyH6Dry(}=8BERZg>DNd^y+;T7UG{baO3l=T&SZ|6z zx+Lor3#5f+kb;crz-xmhQ;uEtcxXQlh?+oJkoAfM(nb?Rb%S4{j4Ex4?|X22S-e>n zm^Ng+VuAEHDA@nP3(EdBSjsr=s%Ln6St|nCfb>|_D;7vE+%OSDe;BN17_S<{L|bXH zvkqgw7ck>La15fnar?ja6qSCJ;z1D*)ZDufZ1^5_v9r&&fuH^|4 z|9ZDKfp7cZ)4YDSbTS@kB&|m>SoU*QPrwuX=F{19)Bm*BR#1@olN9_1=S6Ep%Q^p^ zv7laQv<*bs{Vym?Ye_%~GPFjHzoBAqEvPh@Y;lb0kqQpdc!GNERf8u6n|Wnu4$+El zr+nXT`9Kwt#Rn-?&9=c0e$2kXCpkhCdAPRA2dddF4@`40`W`*^mGG$?AzJr>w;4S} z(isIbE+BjM?aNte$Ht8BFsnirgx`i=SJD=Bw2|#~o8o+LjNb!4^$L zcf5Jleh!^RD!!d^=%1SjAkwq{C4*_A$#};O(qs-0t$4<_8z;_EHy*T-7&X)LM%uOx&>9otF{(~zh8mSHb0YEJrR+$96` zknByE5_Pq0F`eys3GdYu5UHzekHHkX&vtN5-2t*VPm!q4_UVBsR_A}u%x<_hd1Y`f z1w`une+qzV`z{iP=$?Q7tJBjcdKZZl>+MLbI+p0|NKz-D^uD%~(i+_cObx*BPSGp%xx%r zVETcpg3*S39;1Kb`UB|?lt0MLV9Iwdcy)r4@o|GWqdH?@`}vdokB|2~dn}q!KTW0g zahm7W^#T3fi|#gb@1L4}>^;xP62T3xHT1VRcr&{HS3Ym=Q7W?G$qM~>F0&cazbjtk znR$-MO!n{5i5b=pKJ8=q)f_OL@%FL{`&}kCtgiIDGU26GLXy;9uPs6acKMxBMswNM z%)JE(byj#=Z;y9#oxk(f(si=_|7WHD z-tsBO#6a8EcWs=->8rP+7Vp))eJjgw<-KcCUwuVZis`S7o@f-YJ- ziLMk&em$+ndg1F=<=MTvw`X5oEqcm#xzgPmx3WH--6g8otbc8-hh)trpq>YZ-JRtpJ-JUjpO}-YDHFLqWzI{x&AOS6KgBwiusp5Kog_9R z|CX0m!oJ`7nFn`DbuM9j@ylb9&?4<^o>4Q_DQade+_h@$lGfK&wq$$vpVsA;ACXmQUs}ZODToYaa^Gi+UA;WD?dZ&gTe~DWM4feO@=i literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2010.png b/src/net/jrtechs/setgame/img/2010.png new file mode 100644 index 0000000000000000000000000000000000000000..8c76cb7c8c5c0eae345bff8066545cdbf0855db0 GIT binary patch literal 379 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxH+$qx%nNSkZfj1M2T~LZfg`=S$w@`~OEQ*_J(J zyO*kxq2;X&9@jLor|JlaX(sm?g`HGVRFTQ;+q&WLSs<&WWrBkT2dAQ5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7Rfs@wKOmV@SoVw|6hDYgQ0&4b1%YfB&1>y_r7R92&;i_R_Onypx=vbk_`Q2#^R{ zw1d_CP4(fmIxbF&ZI&nnO?6o6p{Zo*^(DUP{A)W_OKZM~lQ>GgT&VXfNzGB3*x@tN z)vD^ieYw2V9&6{js|cx1UpXOTiA!Zl)zdjS=W9A_e+Ro%1xQ_8x692_+>E{lmKdi#>J(ZVd#`Eww#EC-u4qd>ZBckhJ23P0 zRE5n}_k}uLT)HBz&C?6yk!+rB#_6==xQ9tm=X>|tN5k_~lrBwjnw8_dSW)QcZBxmb ztJ|7f41>=Oz4L2?@IMV+>|IOMTEc;oU{1g3k zGBy|)2HlL{P;?YNmgIZIKwuGn#pXGaCtP^*?)1IQpKoliR%QfS2PT%dGzJSOhp5JS zSxqlddg*bgaY?P``$=)Cw%%0}u1qdb7iF7cK0%}_XvajSc&>;1^Z#A{=6dewJFb%5 zF_T`DonErbb;aFDFQT{>Uws<6WBv@E#X0{cq&M;{z3_9sjkfpIlYQ)!lV3P-^}n8& zvCyagW}%|KP^@R-9=pbAT&Cyx_*Z&|Og@xSEaaLxE2Y$7m5{7=;*QGBMMk`vs}x)( z?z%l$Lo0Z?&!x#LcGdz#O;4)HcKZGG5SjXNO3x*Mm2bTlS2tdnxN_1j$@`~QdiK6w&$|44%->b34<3F0IqUsTx!z}P zOXX(%FJ@HjjN4i}PGIE%3VAk>Y6CyUpzSy;B`ex|K?s zkIubt<^SENFYj`_%Jw6zrXHUuSc9j zfVom+f&blvi&{Uv%b#I-RH+g*n^X1`Yq$2?^lb-qH0~)ePF_&4p7#vXW8Y{4&YtrB z2X%I+ZJyW=+Hj_yMNQEtS$an6NtsCrVp^MTHAU_?vza%|(fG6d46dV5DhX=BtCbsf t2CTXM%{{`=NKaJTg9#D63=9X{ez43jTAs>zgGCG^?&<31vd$@?2>@$^EGPf~ literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2020.png b/src/net/jrtechs/setgame/img/2020.png new file mode 100644 index 0000000000000000000000000000000000000000..8dea7dab090e49ac7f28f3946cb7a97877e931c4 GIT binary patch literal 383 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gFgTJ?=qG^A=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zl^rPl)zif>q~g}wySsT08wj{K&XYEe*m<`>=vKpu=yOlJTG~?=od?;$z;MBHC#(3q z$D3=;+Wd~=dO5$sMRm#2hG!bus!OWFUVND0RIP z5yz|(blH?EW+_laCO1MQd&*WXG0tw0jc$soQzi-s^_d-yy74g$$Z~S>P*7=UnIIs< z!KtXI(!v51D0$9#a`}fA6%J1K=nEg8m8y8eFVS25WNNNO>cn~by!N>%sR>%%+TfwM z`ibLpz;!5$aYNPEh}9VME)yu~hU zTYZ~e4ab&o0;N};(sovYjOu(#BoYxRVp+SpL_uVXUD_lFk!~YV&n3PuZ6{y7k%&lB z3Td(}jk-t_aMxt)Roe^_1xY#kk*=1=ek3bBNkpWv6YB*1tX!M__g*_nB7LM_Nzy~2 z+MNcIr5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7Rfs>6536V@SoVw{s0WLIY*m?VFo4q@;>GycVgpYZ!S{I4?1o<)_(uNzH=&;A^J~ zIy+jE6DD7i5aZ=@a=Vn^-Qvn?X5u1vCE)OGf%WC{JLlfB{(k5EZ29m1EZ#r~T5W5M%=c^~uqhVld24EU%1T5*}%hcUeI^6rX5 z-Vf{y{Etmj3JqQ$eZc4T`4raYA}Yz>MF+mhQG2CS41q!Kagq^CbDvlkSu#x!@fSR5S`1_3*3&~p3+z0 z@A~Xw&2^Qm+W7c+?507v^qued&X`=)i7$9QEP5@pHNH6gWJI~rRL7+= zRI<(nmTx_}{(@?P&ZjBKm42>WGhV(}7Fakh)3vKyYA(w$?@47g=U00O8VSBN(K=_k z(4(;E=$@`G>$Bf#7({Hk(p;J6+SL*DC3~$!yzj(EkLK(Y)ns9Q7Pds-%k-qRTi0!` zbM5MmE7lI;;F}pe(P_i=J6$48@*w#dv+YW)38z7P-v{~iEBo5-Tbhe%>Y1Hc>!DbY zm*>iL(Cgr>j@q@R&%>5*ocO`8W~$EDsCm&7l^!=%0xjXbxPJSy8162S=T+6bI@46% zCd~_3Xe){lb^@sGIDXkd&r*ex=97*CMw=vd&FhT6CdW=z4~&*35rX zG$t}}uJF5f&FJpBZJE-t_rLS+-&Z-`0&Qf zMqA4~{Fa6N4qw{o631ZWwK#U0vC-CTxB8YvxJ1pp?{PMMo$YPEB?^->MI{zpJmLT0 zWyqaB_ER>wT%7}y+f_bMBgkOp9$C+cP25jwbGt-BwDKp2z!M;lF|qFhx76-q{!ur6 Qn1Hf{r>mdKI;Vst0JCazf&c&j literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2100.png b/src/net/jrtechs/setgame/img/2100.png new file mode 100644 index 0000000000000000000000000000000000000000..9fbbcf1f6c6c4c52a63dd37cc33ad3508103da8c GIT binary patch literal 485 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO01EbNN8IdeNA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsG1}9`F{I+w+q)NenGHEu0&oBQKIcn8;W?eU%MKUP7+%_a0NDTrDu(|5ex&!D zZ*E$?zt^MxiDKyAWwSe(?ka@@T|QgVX?1GKjS}P71$jq=M;_L z_GPnWRlO#y^uBy{osjB@D=S}KJMdNL?TYkL-epy>cV}$>6FD_3=INe!&r-Hd%y7O?d3J5tIt+x$GzXBs&M&)i_ui3S25-+ zDN=hUeYBIgb?WTP>wDIi73HtYF6BGn#T}bF)or`;lK0P^o->>IDt7Byfl0}4(?5L@ zJ9*S->i$3f%L3%KSk9mR{g&Qj%}=FE>RFy`+&|0rxwUul${KfOSZMvwj^|vS6L!2e Q`aMX<)78&qol`;+0Gxls-~a#s literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2101.png b/src/net/jrtechs/setgame/img/2101.png new file mode 100644 index 0000000000000000000000000000000000000000..bab02424ba8c582569821c36f3b1c822755489f3 GIT binary patch literal 2274 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 literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2102.png b/src/net/jrtechs/setgame/img/2102.png new file mode 100644 index 0000000000000000000000000000000000000000..9d2e529f9be9c672ada3fd72b0cc5754d169f8fb GIT binary patch literal 932 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUPBxV7qT^9x!)A=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsS<2JJF{I+w+qoOPWCA5x_jAr*_joAgv}MCdF-H!@Zr!FE%VU1qG}LbRAXwA* zWm(|1?H&{Jwi>twaVk!7Y7xg#396R&vH~-Sl&pRx8W2Uu2 zi+~e{B8;e59ToN*c-?g)DHUYZ zT-v<)IM)S{#p`&kg<3sdYWzYn<~Ud2ffd=!^Ck$2rX*x)SlVuv6Q>x=6OvQRkgS2OFV&`h|_0h zG&p9@%m5kit;l5Akp+8swyY>=e0X}Nl(0dDB(L^x4c#?ytuSFsPJ2K z&BUPh$NqLJePnG_JXVr>#OuA&J6>*+T*ZlP3ys&eZDjjqD-oO&V1Mws)Np&R+f4sY~BpdwFS^)Au>S>z^gDyganhQXFdB zldokjH&1IZU-eGQ@mJmcX;qP*sZdKV6SQ^fG>G>p< z=l3@3FEO{-Q&;l(Qpe2aukZiYm0@i(!*j_-uvTtBWpORq~qc4wUM= zTvi5@QrdcO8Bi)B_vdP$uBh1)R+nt8E=o--Nlj5G&n(GMaQE~LNYP7W zXJBBA@pN$vskrs_?!}3R9XMD5H~xJ7=CtGXNfO^m8O%)c7MzlQQ_2W7fq`LyOYQHk z`|tNoI(^=4$?Q)PR#jgPUFNWyW9sFSsrnaPW`3Hr?i1@QwUD&SS9LlkrJl;$HA_8k zk0 zLJnZgL6;Gu#4AglkBruo9{(k-+hkrgo)8apQYbQ*BLVz z^~(8IygzQaW$Nt9|37WIbz<+*b*9z|+PWoMOQr7eP24wgy7ldpT~cvd-wI4hejESf zsqUo3saf?u|G!;elkvGU?q0UF-?9_eC(h$IlUy%5``mw>#Y;cgOF_em;Xv~r#o%>KC;6v1ua_iAk|arzBuSDaNs=T#9za$ zrtJz;ouF&^h8!Ds_Sq4@c7n+gbXMRnKD8V}t{U?nM61`{0iv_EU3nH8bd49Hk;d)> z(@a}N0}t<0i!;Syh_!*%-`f$QyY^yXYWWa(fK(Z#XumK%^*tbpnDy)ck+thf11Sq4 zc3{{u_qvB2XABEORUpgE-0SMKA-cLDBWqJk*(fXM{Cw)QBkTKGM}Sxd+H4T{z|{SX z$$+TpIEp0`(aqYBYenDJ8NC);R*DWfi&tww*JF%94y;$#P#CijVs>^mcJvFnjyEP7 zB9^Qa8FU^2W4lI=HP7p&-bGjSslGQv$lv?b8%J!^Kyl`Jj1Z!_vlw;%2%8`|jdyPZdu>%<{907*qoM6N<$f*-l4*Z=?k literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2112.png b/src/net/jrtechs/setgame/img/2112.png new file mode 100644 index 0000000000000000000000000000000000000000..27ce32edd1dcbf37eea3148781893b6c0f535160 GIT binary patch literal 609 zcmV-n0-pVeP)=8O@beG8LKSMSix2WF!HUGtuVRo9)H z**jrb^z{#&rOmPyqK}b~WofJON2#|@3S1-M_RujB%t&A)FcQE>$ZI6eBf*Ts%t1OC z37KZ3>`Ak%B{ovkzZ^UXutJ}u?F#d**FF0u&9YYD8mU^+Jion4*X&&&Z;kBI>v<$5 z579IG7RZ~mJ9RF4`2X}EW^N$SGjyZh09G)OZY0SQSG5A=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7RfsG1}9`F{I+w+q;f=hYfgG9D?Qbe|`GK>zmu{efCZ>$C*hiMHAL>gN>MUE+&Gd(u)Wmq{bI_To{+9dmI*5-Rv^UGy}6)vA}F`D{o zez9zz!sQo*dbe&J%vI@`H{rj6Z*9MF zI$A}&edXV?|MSI9HJjaj{dDiP%ZEgMT3r%m{d^<-^s>+Pr=JA;l;;J9)&tM|eLgv1 SAG}2qL3~eFKbLh*2~7YJX2X5} literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2121.png b/src/net/jrtechs/setgame/img/2121.png new file mode 100644 index 0000000000000000000000000000000000000000..bb866176060ddac2350c6365b0da2288d2d23a7b GIT binary patch literal 945 zcmV;i15W&jP)RCwC$o!f51FbqRuqyIhh%eR*eD2il_98sba z^0`fG=19IN@wQ2lBuSDaNs=TwjnrTN+P=--c_#m7i3Fq-cmx%F&2E$R@!nl@B(}qVWwCNu{O~9dmSPA)Lt-5BOM|SkSfCz?H9*}?t?2bSXRpPUm7;^r;?>2Vn<2&^2i8~DP#CijVs^GSc61E7 z2{$GiB9^Qa8FU^2W4y);HP7p&eu}Q@Q+;oUkiYk<2aMRLf#S;b7$HP;XF;0o5w<$O zLmKlWFDYh)$k4sz@3mEd0oAP)&qUX|HY7yk+W}O5WvYqbERH68v1tP~_TL;NnnHaG?aWPZng=9b{|KUw4>TsFdt<7k zFn)eQ3}Rf$ul9^vG(ux2B4uwLSSdRaT}goGf!^3Ni%G_3PkB$gXZ_OkXkkSs8*)Dqq0K%2di;gxcb zQfHAw%ogr`ycSW==>*9RKoR(+V?8@VrDIzqNs=T;7N z9l6_1Adz1$0000000000Dlv{8{pa=j^=ICPH6w|Uo|uQJ(uZ!OD#U*${`7OVn&(iB z#_@uDbAq$Jr-Ol#g>D=v$c&R&`Q2GflsI&wq=`D3sd(tdwxYZ@o3@gf8ia1N8Puv~ zY7)B9YA~yrsZr=+so>p%SbaI$rT^(2-xec%3OO~XpU0i~Ta3^xUfQylD7&VN+9qj< z^2w^U%w;q9q!~P>7pB@RHnUIB5v^x|YntVK0&!%v84X|I>>*yCd0)5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7Rfs(b?0*F{I+w+dJKYO$Iy+7nc2g-@{#@p4GUdGN17?>z?L5MzDSm(b*!jr@W`| zPrw-ik69mr@7(-Ux$4_O&g|rRrRh9d`F(fj{agL{M9A+8Ez$FpldiLJ_^z1he(jd~ zay1*-|NARb*8N>`rG>}&g6Vhv{r0AZopg33UG=u>x;yFr*~Lz8(~qi^>^d5{^6wR% z!nFpb2btD%WM{Sg(A%$+*>vaJvFoqi+w?rypkja^wD;-{L6S-?uX0 z_exE%hu5N`+fL_veg9v(?t8u2w`uJjcjkJxvu0GUIU8G964~&LJvVl$_jcBTFZU1C qXw8-0X~o_?G0*KSJWvvPJ~GWvYOt9ny8S39j67ZaT-G@yGywoO*St*t literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2201.png b/src/net/jrtechs/setgame/img/2201.png new file mode 100644 index 0000000000000000000000000000000000000000..1dba739e0d1835611c16328e5f56f81cbacc149c GIT binary patch literal 2456 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 NWNK`Mt}%3u{RcSLd#nHe literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2202.png b/src/net/jrtechs/setgame/img/2202.png new file mode 100644 index 0000000000000000000000000000000000000000..7770e87bf5ff492cbe282371825055cdb620f98b GIT binary patch literal 987 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO01D9C@qsuj*kZfj1M2T~LZfQJ+*fpe9$bkSDNqKT$uU)|7myLZNEZVbek{6y>I0?ce-Q0v)uEWaycuu z=EwDy|Bh+78@Kj8+hw-tsYmBcKE3qsT?YQ8-yV9a@qA+oX|ZkYl>1@xHvCWSCkxrI zx6aSEGKw$!<`Umqcl^Fu|FI33@>a3^OE_M~{)&(d0V;}+6?^NP-aSz?aU=KdZpUNy zmHN9AFWQxa^snLg>V7MiZgvq2pVqBVsU9Iq#WG z#(eV$_gvyyls<+kpI`XO@%Nra6X8lD*GJObnPJ;!+)eJ=x<6jnKk0U~$=d7cuGhbI z6dSC+)y{T(qI&V$3I)}re>wgc9u2pvWPX|c+=OKQThDoyyq_q((4*$-iQ*O27l87$oi;O-KGtR!&Q6+nmH$!kiodmoPSz`( z%$f8%n z=l!ayX2s7IG1?w|?2$L?e{}A@AX}lyuNXbek54o@uE+OsX+_HItBfb#uL;OUx}6o;zow<<2#)fD~;Up?WOYjoTee&&ybH!tts8+`V`s?)R2uQU1`nfZUq ySL?U0pUXX)d?s~?VaEE?9&;7nwqj4&91r+8mR3*ay;EHW%5|QuelF{r5}E+!DZs-3 literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2210.png b/src/net/jrtechs/setgame/img/2210.png new file mode 100644 index 0000000000000000000000000000000000000000..613f8cbc3fc9180e724df883912abbc74c05dbdf GIT binary patch literal 458 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO01F!7vKiYvnA=%83h!W@g+}zZ>5+Ij>!MP|ku_QG`p**uBL&4qCHy}kX zm7Rfs(ZSQjF{I+w+dG{Tn+bw1 ztzh9NW=i|iwr^YIYncw!FJ+q(o_#8^`@)N-|Gg?}r2iZ0{|~>lpwIm{(7voL*BLe0 zs|#k{{rmgB?Ec^T#j7tntE4?I`p0BqcP%YU&Q|PzV|4%1OWBMvf6Yzi&pp>GGrRe) hNB`n)umE8w_{%7v)?kx4$+HS1=IQF^vd$@?2>=5_x`Y4# literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2211.png b/src/net/jrtechs/setgame/img/2211.png new file mode 100644 index 0000000000000000000000000000000000000000..4074ccaab5c0fb3cfbce1fe358927862edada4ae GIT binary patch literal 946 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO0gMfs|ug!;mLb9155hc#~xw)x%B|t6%gL6@8Vo7R>LV0FMhJw4NZ$OG( zDmw!MvxcXOV@SoVw{uQTd#u3Y%6$C)|I_bsOOvcKDuk}qzBg*-y(HZ6@hcP95ESA@ zM(PDU;Vwl?*H1l zX%aA^Z(u63D%YmU)Gi@ovJ7+Wmv6TIktaIopR~)9mF`=ryULE<-!HvWv~!EgwTX8* zN={!@+9iFkYS%9>!MnY0?B-j(b$cZcxFs{Lw{B~P(%PWu9oOa=KlZcm-`im{XMsfQ zDrTpff1mcfNjt+?&J@(?F>!TD>FiexCvtAul-931f5vyul)weAq>PH!pK16|c3gDt z!RPhM&vROLtf;bDP(17KC0T9PDQ5js5-qM?*b?n>*IKNK`R5AZ!0#$cQw1xZSG~C@ zEo0gDQea_~)`C^8|9mx%*4|tm=WkQ_v58I zpLBcN)D34l^!$0F%rdK$>ttFrUQL>5zsfb`{jCG_O8BCa$iX0 zyfw*sZlyLF%0KrO=apP!g7c2PA{+Se$U1`Gj`3d7dxx8d(M7)q}*&(%K16ggEm*KeuJw_}Vpeb-7(B`vG&o zt#R4OrA_62smEvEUNz~v&+XUxmXBZU{}T3U`xMjdd@*jn&NsegL`mjgPFy`hv1m+0 SYTOGU5Z}|)&t;ucLK6VE>8v>b literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2212.png b/src/net/jrtechs/setgame/img/2212.png new file mode 100644 index 0000000000000000000000000000000000000000..d77239aac2225a1672eff9d5fff27b2fa5905b07 GIT binary patch literal 587 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO01GnZGp$d>X+02lL66gHf+|;}hAeVu`xhOTUBsE2$JhLQ2!QIn0AVn{g zoq>Vzpr?ytNX4zUcLEnJR^Va1aOmInH#!Nc{B<*g&i!2960>sc+8R5s2_Qni<8qVj z?Xtyl&vvS`%r14GecpO+zLQ1t@9neR?OS(`DZ|NP)#Fn?7WYlw{N0zs_}J{qH#2|= zPMEo!xwrjm)4#GeGpApe`1t7C+GzEby~+DNTCUle#l7J8zcSNbKl10e+&?DyQCB$$^Za4T8^y!IiN6p^%uUkHpNt7Qu zfBAQudCQB$n6>(4?|(}vx^O=BlHCbZ+7{sZ=iYaIo(pTUzS>kMaUP86e_fb)cqy-X zP*XJP>Z_kmbgHlv+paslly~~JJ*#)$v(8#C@AM^_b!MI3&Gn0~^D9PaMAj|Y8y3G_ z(rH?N(ch&{D*o(q;|O$GSrqwi|2m+p`_=w`u}QP_6k7b9`|r>HXDk0$rOmYezklbV zbo0V*Hfc6hBJ02Jt>Z|yE6=(8W8=3z%Phqsul_dm=hz#%9ee(-UOM@rugbY~dpfLF zO}Xi!RLrq|Pp|v!$19I)GrQ?r@u>KC6!(E^_0G>HXWl=tv3P@IrezgBJVxf%uT~Rq TtNiAb2NLph^>bP0l+XkKPud4M literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2220.png b/src/net/jrtechs/setgame/img/2220.png new file mode 100644 index 0000000000000000000000000000000000000000..8c1fc4192173368c4db4d8f05848e5d68073c947 GIT binary patch literal 463 zcmeAS@N?(olHy`uVBq!ia0vp^lYrQhgAGVtYpPEIQk(@Ik;M!Q+`=Ht$S`Y;1W=H@ z#M9T6{XUO01CMrYY=0+ENH#MhqQp5rH#aq}1juDza4t$sEJ;mKD9T zWoKYuboF#`45_&F_D*!)Ap;(U11jS2U!Uw&cZd$zzV-3U`j+`DDzgm1CV&Wqi7Q#; z|Mc8nA7A`s?ei-w-G%9=pD(@T@5|Bmw>L)UN?q2W-jDa^x-S9>Ra}_(g@vP|Jj-dL z&7^B}+p-Sb{uqB&x$tfHO0^V;rgc02fBxrftmD!WY4mgPjfpj;{Y+cqRcBv#*`Xcu zd#U83t_>y!nOu%+HF2)_UayqdbjR=5_1Dks_3PZ3np+$XDI`uf0K^6!2|%o#TAxuk zxm|0z+6i5yeRA&6*OujM;qVsLad3&L-ItS|eJZW{!t?Y0XMXx&_AmF}pZS^1R&lby z3%+>=>m1tb9^KY|^VRwP;Wh96r@XP%pIBivosIj#_o&&+KV@uU(7UxudwLr8gID`c p)M(w6mYmak+M|5&H+Y~J9Ftd8ski9}5duX9gQu&X%Q~loCIDyIx_|%x literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2221.png b/src/net/jrtechs/setgame/img/2221.png new file mode 100644 index 0000000000000000000000000000000000000000..71dbd170d3ccb3257b3c17f5c7bdba249703b83b GIT binary patch literal 958 zcmV;v13~00000000000000000000fQ@LFV8G*eE&u2FckS75g0tMa)u+hz z4JS;N{dbvG>Y7oP4Q$`ioUm&v^{HG}@4x!}UHzVgE&soFuiAgH%q_(U@4tI5uAyz9%OBU&jUPcSK3#o6~7#B@qB{KzO&=0%Z_yyB3@@p9WkB_bm|C915E z@I2a5V*U*xved)dJ$bw0iSJryMLaFh>d5Zt=$5lZG#bHLy828JjYf7C&+N-ast}R4 zX`YRKwTL{eQk94%pVQq=cpNXeh$5Vz7+tCZLfQQVkLx!&|?hE{wUBE2P= zeZI9djU1eqhyUu<#3Q~aCr8h-cuvfyMyHBEc>AnNRBBz6v~Em~aLTTWw<~p52Extz zyUPigB8u$yCr2XTB2sqCnSpTexjl!;PO39UA&R<0=8tL-8MZmcG_BdYAywOMRqKaJ zM{gjawHzt)JXytDjOut$MDjawu6MFB@W90>cR=+*>D9YOgNDd1R(hYte5wwB zI}w#$YqRPE>zvAtH@9Ua?~%4oxa5qh|Ds!|Zz*eV9k`72e*@bC000000000000000 g000000011v4?!wdSc+t%@Bjb+07*qoM6N<$f|p>iIsgCw literal 0 HcmV?d00001 diff --git a/src/net/jrtechs/setgame/img/2222.png b/src/net/jrtechs/setgame/img/2222.png new file mode 100644 index 0000000000000000000000000000000000000000..2bd65e7f651f8026e6e7b05038964533192dcbdb GIT binary patch literal 595 zcmV-Z0<8UsP)(RCwC$+)=uMAP@#nVdH(R{N4>%YJ$wbIq%6Z zzhqgmZ2$lO00000000n3(Si?N+u!Bayw~k#5yH*7qs?bf?~4#l*1lKMudkbM0Tdy8 zspHD{t&Wql_eBUD#_M_PpuI0bNH#{$-k0Tq-aB^BOK8jS0{6Zw6T+usj`$q*ZnS^{ z^}dGwcGdd$BTk~daaw%K3fB7)K7?K?dc=L6Uu#Iv`6{&BBZe;AHRX)FHII zlstJ0B4O|AG9io(%L1am#8$E6LIwzR8z!gtg+~U<`P}i^{+f^V>6on+La^Si_sI4WV`O~p|K=EL zZX$7Z