diff --git a/build.gradle.kts b/build.gradle.kts
index 72be7ed..073578f 100644
--- a/build.gradle.kts
+++ b/build.gradle.kts
@@ -10,6 +10,7 @@ repositories {
}
dependencies {
+ implementation("org.jfree:jfreechart:1.5.6")
testImplementation(platform("org.junit:junit-bom:5.10.0"))
testImplementation("org.junit.jupiter:junit-jupiter")
}
diff --git a/jfreechart-1.5.6.zip:Zone.Identifier b/jfreechart-1.5.6.zip:Zone.Identifier
new file mode 100644
index 0000000..1917f1f
--- /dev/null
+++ b/jfreechart-1.5.6.zip:Zone.Identifier
@@ -0,0 +1,4 @@
+[ZoneTransfer]
+ZoneId=3
+ReferrerUrl=https://github.com/jfree/jfreechart/releases/
+HostUrl=https://codeload.github.com/jfree/jfreechart/zip/refs/tags/v1.5.6
diff --git a/src/main/java/ru/urfu/Main.java b/src/main/java/ru/urfu/Main.java
index 5845f6d..32afcfa 100644
--- a/src/main/java/ru/urfu/Main.java
+++ b/src/main/java/ru/urfu/Main.java
@@ -1,17 +1,9 @@
package ru.urfu;
-//TIP To Run code, press or
-// click the icon in the gutter.
+import ru.urfu.console.Communicator;
+
public class Main {
public static void main(String[] args) {
- //TIP Press with your caret at the highlighted text
- // to see how GIGA IDE suggests fixing it.
- System.out.printf("Hello and welcome!");
-
- for (int i = 1; i <= 5; i++) {
- //TIP Press to start debugging your code. We have set one breakpoint
- // for you, but you can always add more by pressing .
- System.out.println("i = " + i);
- }
+ Communicator.runChampionship();
}
}
\ No newline at end of file
diff --git a/src/main/java/ru/urfu/console/Communicator.java b/src/main/java/ru/urfu/console/Communicator.java
new file mode 100644
index 0000000..3c89dd8
--- /dev/null
+++ b/src/main/java/ru/urfu/console/Communicator.java
@@ -0,0 +1,42 @@
+package ru.urfu.console;
+
+import java.util.Scanner;
+import java.util.stream.Collectors;
+
+import ru.urfu.graphics.Graphic;
+import ru.urfu.model.Player;
+import ru.urfu.parser.CsvParser;
+import ru.urfu.resolver.Resolver;
+
+public class Communicator {
+ public static void runChampionship() {
+ var scanner = new Scanner(System.in);
+ System.out.print("Введите файл для анализа: ");
+ String filePath = "/home/pavloxes/Java2025_2/src/main/resources/fakePlayers.csv";
+ //String fileName = scanner.nextLine();
+ var players = CsvParser.parseCsvToList(filePath);
+
+ var resolver = new Resolver(players);
+
+ System.out.print("Количество игроков, интересы которых не представляет агентство: ");
+ System.out.println(resolver.getCountWithoutAgency());
+
+ System.out.print("Автор наибольшего числа голов из числа защитников: ");
+ System.out.println(resolver.getDefenderWithMaxGoalsName());
+
+ System.out.print("Наибольшее число голов, забитых защитником: ");
+ System.out.println(resolver.getMaxDefenderGoalsCount());
+
+ System.out.print("Русское название позиции самого дорогого немецкого игрока: ");
+ System.out.println(resolver.getTheExpensiveGermanPlayerPosition());
+
+ System.out.print("Команда с наибольшим средним числом красных карточек на одного игрока: ");
+ System.out.println(resolver.getTheRudestTeam());
+
+ var graphic = new Graphic();
+
+ graphic.drawDiagramPlayersByPosition( players.stream()
+ .collect(Collectors.groupingBy(Player::position, Collectors.counting())));
+
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/ru/urfu/graphics/Graphic.java b/src/main/java/ru/urfu/graphics/Graphic.java
new file mode 100644
index 0000000..fd03266
--- /dev/null
+++ b/src/main/java/ru/urfu/graphics/Graphic.java
@@ -0,0 +1,42 @@
+package ru.urfu.graphics;
+
+import java.awt.Color;
+import java.text.DecimalFormat;
+import java.util.Map;
+
+import org.jfree.chart.ChartFactory;
+import org.jfree.chart.ChartFrame;
+import org.jfree.chart.JFreeChart;
+import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
+import org.jfree.chart.plot.PiePlot;
+import org.jfree.data.general.DefaultPieDataset;
+
+import ru.urfu.model.Position;
+
+public class Graphic {
+ public void drawDiagramPlayersByPosition(Map positionsCount) {
+ DefaultPieDataset dataset = new DefaultPieDataset<>();
+
+ String title = "Распределение позиций среди игроков";
+
+ positionsCount.forEach((pos, count) ->
+ dataset.setValue(pos.getTitleRu(), count)
+ );
+
+ JFreeChart chart = ChartFactory.createPieChart(title, dataset, true, true, false);
+
+ PiePlot plot = (PiePlot) chart.getPlot();
+ plot.setLabelGenerator(new StandardPieSectionLabelGenerator(
+ "{0}: {1} ({2})",
+ new DecimalFormat("0"),
+ new DecimalFormat("0.00%")
+ ));
+
+ plot.setLabelBackgroundPaint(Color.WHITE);
+
+ ChartFrame frame = new ChartFrame(title, chart);
+ frame.pack();
+ frame.setAlwaysOnTop(true);
+ frame.setVisible(true);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/ru/urfu/model/Player.java b/src/main/java/ru/urfu/model/Player.java
new file mode 100644
index 0000000..eb478e5
--- /dev/null
+++ b/src/main/java/ru/urfu/model/Player.java
@@ -0,0 +1,13 @@
+package ru.urfu.model;
+
+public record Player(
+ String name,
+ Position position,
+ String agency,
+ int goals,
+ String nation,
+ int cost,
+ String team,
+ int redCards
+) {
+}
\ No newline at end of file
diff --git a/src/main/java/ru/urfu/model/Position.java b/src/main/java/ru/urfu/model/Position.java
new file mode 100644
index 0000000..9d1936f
--- /dev/null
+++ b/src/main/java/ru/urfu/model/Position.java
@@ -0,0 +1,19 @@
+package ru.urfu.model;
+
+public enum Position {
+ GOALKEEPER("Вратарь"),
+ DEFENDER("Защитник"),
+ MIDFIELD("Полузащитник"),
+ FORWARD("Нападающий");
+
+ private final String titleRu;
+
+ Position(String title){
+ this.titleRu = title;
+ }
+
+ public String getTitleRu(){
+ return this.titleRu;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/ru/urfu/parser/CsvParser.java b/src/main/java/ru/urfu/parser/CsvParser.java
new file mode 100644
index 0000000..d221f9c
--- /dev/null
+++ b/src/main/java/ru/urfu/parser/CsvParser.java
@@ -0,0 +1,47 @@
+package ru.urfu.parser;
+
+import ru.urfu.model.Player;
+import ru.urfu.model.Position;
+
+import java.io.IOException;
+import java.nio.file.Path;
+import java.nio.file.Paths;
+import java.util.ArrayList;
+import java.util.Scanner;
+
+public class CsvParser {
+
+ public static ArrayList parseCsvToList(String pathString) {
+ Path path = Paths.get(pathString);
+ Scanner scanner = getScanner(path);
+ var list = new ArrayList();
+ scanner.nextLine();
+ while (scanner.hasNextLine()) {
+ list.add(parsePlayerRow(scanner.nextLine()));
+ }
+
+ return list;
+ }
+
+ private static Player parsePlayerRow(String row) {
+ var cells = row.split(";");
+ return new Player(
+ cells[0],
+ Position.valueOf(cells[3]),
+ cells[5],
+ Integer.parseInt(cells[8]),
+ cells[4],
+ Integer.parseInt(cells[6]),
+ cells[1],
+ Integer.parseInt(cells[11])
+ );
+ }
+
+ private static Scanner getScanner(Path path) {
+ try {
+ return new Scanner(path);
+ } catch (IOException e) {
+ throw new RuntimeException(e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/ru/urfu/resolver/IResolver.java b/src/main/java/ru/urfu/resolver/IResolver.java
index c806b3a..a5a625c 100644
--- a/src/main/java/ru/urfu/resolver/IResolver.java
+++ b/src/main/java/ru/urfu/resolver/IResolver.java
@@ -4,6 +4,9 @@ public interface IResolver {
// Выведите количество игроков, интересы которых не представляет агентство.
int getCountWithoutAgency();
+ // Выведите защитника с максимальным числом голов.
+ String getDefenderWithMaxGoalsName();
+
// Выведите максимальное число голов, забитых защинтником.
int getMaxDefenderGoalsCount();
diff --git a/src/main/java/ru/urfu/resolver/Resolver.java b/src/main/java/ru/urfu/resolver/Resolver.java
new file mode 100644
index 0000000..264aab0
--- /dev/null
+++ b/src/main/java/ru/urfu/resolver/Resolver.java
@@ -0,0 +1,72 @@
+package ru.urfu.resolver;
+
+import java.util.Comparator;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+import ru.urfu.model.Player;
+import ru.urfu.model.Position;
+
+
+public class Resolver implements IResolver {
+
+ private final List players;
+
+ public Resolver(List players) {
+ this.players = players;
+ }
+
+ @Override
+ public int getCountWithoutAgency() {
+ // int count = 0;
+ // for (Player player : players) {
+ // if (player.agency().isEmpty()) {
+ // count++;
+ // }
+ // }
+ // return count;
+ return (int) players.stream()
+ .filter(player -> player.agency().isEmpty())
+ .count();
+ }
+
+ @Override
+ public String getDefenderWithMaxGoalsName() {
+ return players.stream()
+ .filter(player -> player.position() == Position.DEFENDER)
+ .max(Comparator.comparingInt(Player::goals))
+ .map(Player::name)
+ .orElse("Нет защитников");
+ }
+
+ @Override
+ public int getMaxDefenderGoalsCount() {
+ return players.stream()
+ .filter(player -> player.position() == Position.DEFENDER)
+ .mapToInt(Player::goals)
+ .max()
+ .orElse(0);
+ }
+
+ @Override
+ public String getTheExpensiveGermanPlayerPosition() {
+ return players.stream()
+ .filter(player -> player.nation().equals("Germany"))
+ .max(Comparator.comparing(Player::cost))
+ .map(Player::position)
+ .map(Position::getTitleRu)
+ .orElse("Немецких игроков не найдено");
+ }
+
+ @Override
+ public String getTheRudestTeam() {
+ return players.stream()
+ .collect(Collectors.groupingBy(Player::team, Collectors.averagingDouble(Player::redCards)))
+ .entrySet().stream()
+ .max(Map.Entry.comparingByValue())
+ .map(Map.Entry::getKey)
+ .orElse("Нет команд");
+ }
+
+}
diff --git a/src/test/java/ru/urfu/ResolverTest.java b/src/test/java/ru/urfu/ResolverTest.java
new file mode 100644
index 0000000..897636f
--- /dev/null
+++ b/src/test/java/ru/urfu/ResolverTest.java
@@ -0,0 +1,104 @@
+package ru.urfu;
+
+import java.util.Collections;
+import java.util.List;
+
+import static org.junit.jupiter.api.Assertions.assertEquals;
+import org.junit.jupiter.api.Test;
+
+import ru.urfu.model.Player;
+import ru.urfu.model.Position;
+import ru.urfu.resolver.Resolver;
+
+public class ResolverTest {
+
+ @Test
+ void getCountWithoutAgencyTest() {
+ List players = List.of(
+ new Player("Iva Streich", Position.MIDFIELD, "D'Amore LLC", 19, "Colombia", 75012006, "Nevada whales", 7),
+ new Player("Miss Buck Bradtke", Position.DEFENDER, "D'Amore LLC", 26, "Brazil", 33850831, "Nevada whales", 9),
+ new Player("Everette Kovacek MD", Position.DEFENDER, "Walker and Sons", 11, "Palau", 64396675, "Wisconsin prophets", 5),
+ new Player("Ms. Adolph Hartmann", Position.FORWARD, "", 10, "Croatia", 52944545, "North Carolina dolphins", 8),
+ new Player("Kenyetta Emard", Position.GOALKEEPER, "D'Amore LLC", 24, "Ecuador", 94715977, "Mississippi witches", 7),
+ new Player("Mrs. Celina Abshire", Position.GOALKEEPER, "D'Amore LLC", 4, "Qatar", 41436703, "Massachusetts enchanters", 0),
+ new Player("Dr. Royal King", Position.GOALKEEPER, "Walker and Sons", 6, "Ecuador", 50056961, "Florida tigers", 4),
+ new Player("Terry Hegmann", Position.DEFENDER, "", 11, "Germany", 7294362, "Wisconsin prophets", 8)
+ );
+ Resolver resolver = new Resolver(players);
+ assertEquals(2, resolver.getCountWithoutAgency());
+
+ List emptyPlayers = Collections.emptyList();
+ Resolver resolverEmpty = new Resolver(emptyPlayers);
+ assertEquals(0, resolverEmpty.getCountWithoutAgency());
+ }
+
+ @Test
+ void getMaxDefenderGoalsCountTest() {
+ List players = List.of(
+ new Player("Iva Streich", Position.MIDFIELD, "D'Amore LLC", 19, "Colombia", 75012006, "Nevada whales", 7),
+ new Player("Miss Buck Bradtke", Position.DEFENDER, "D'Amore LLC", 26, "Brazil", 33850831, "Nevada whales", 9),
+ new Player("Everette Kovacek MD", Position.DEFENDER, "Walker and Sons", 11, "Palau", 64396675, "Wisconsin prophets", 5),
+ new Player("Ms. Adolph Hartmann", Position.FORWARD, "", 10, "Croatia", 52944545, "North Carolina dolphins", 8),
+ new Player("Kenyetta Emard", Position.GOALKEEPER, "D'Amore LLC", 24, "Ecuador", 94715977, "Mississippi witches", 7),
+ new Player("Mrs. Celina Abshire", Position.GOALKEEPER, "D'Amore LLC", 4, "Qatar", 41436703, "Massachusetts enchanters", 0),
+ new Player("Dr. Royal King", Position.GOALKEEPER, "Walker and Sons", 6, "Ecuador", 50056961, "Florida tigers", 4)
+ );
+ Resolver resolver = new Resolver(players);
+ assertEquals(26, resolver.getMaxDefenderGoalsCount());
+
+ List emptyPlayers = Collections.emptyList();
+ Resolver resolverEmpty = new Resolver(emptyPlayers);
+ assertEquals(0, resolverEmpty.getMaxDefenderGoalsCount());
+ }
+
+ @Test
+ void getTheExpensiveGermanPlayerPositionTest() {
+ List players = List.of(
+ new Player("Iva Streich", Position.MIDFIELD, "D'Amore LLC", 19, "Colombia", 75012006, "Nevada whales", 7),
+ new Player("Miss Buck Bradtke", Position.DEFENDER, "D'Amore LLC", 26, "Brazil", 33850831, "Nevada whales", 9),
+ new Player("Everette Kovacek MD", Position.DEFENDER, "Walker and Sons", 11, "Palau", 64396675, "Wisconsin prophets", 5),
+ new Player("Ms. Adolph Hartmann", Position.FORWARD, "", 10, "Croatia", 52944545, "North Carolina dolphins", 8),
+ new Player("Kenyetta Emard", Position.GOALKEEPER, "D'Amore LLC", 24, "Ecuador", 94715977, "Mississippi witches", 7),
+ new Player("Mrs. Celina Abshire", Position.GOALKEEPER, "D'Amore LLC", 4, "Qatar", 41436703, "Massachusetts enchanters", 0),
+ new Player("Dr. Royal King", Position.GOALKEEPER, "Walker and Sons", 6, "Ecuador", 50056961, "Florida tigers", 4),
+ new Player("Lorinda Labadie", Position.MIDFIELD, "Price-Hirthe", 13, "Germany", 33413181, "Utah nemesis", 4),
+ new Player("Ms. Erwin Hoeger", Position.DEFENDER, "Fadel LLC", 28, "Qatar", 71207725, "Minnesota giants", 1),
+ new Player("Terry Hegmann", Position.DEFENDER, "Graham-Powlowski", 11, "Germany", 7294362, "Wisconsin prophets", 8)
+ );
+ Resolver resolver = new Resolver(players);
+ assertEquals("Полузащитник", resolver.getTheExpensiveGermanPlayerPosition());
+
+ List noGermanPlayers = List.of(
+ new Player("Iva Streich", Position.MIDFIELD, "D'Amore LLC", 19, "Colombia", 75012006, "Nevada whales", 7),
+ new Player("Miss Buck Bradtke", Position.DEFENDER, "D'Amore LLC", 26, "Brazil", 33850831, "Nevada whales", 9),
+ new Player("Everette Kovacek MD", Position.DEFENDER, "Walker and Sons", 11, "Palau", 64396675, "Wisconsin prophets", 5),
+ new Player("Ms. Adolph Hartmann", Position.FORWARD, "", 10, "Croatia", 52944545, "North Carolina dolphins", 8),
+ new Player("Kenyetta Emard", Position.GOALKEEPER, "D'Amore LLC", 24, "Ecuador", 94715977, "Mississippi witches", 7),
+ new Player("Mrs. Celina Abshire", Position.GOALKEEPER, "D'Amore LLC", 4, "Qatar", 41436703, "Massachusetts enchanters", 0)
+ );
+ Resolver resolverNoGerman = new Resolver(noGermanPlayers);
+ assertEquals("Немецких игроков не найдено", resolverNoGerman.getTheExpensiveGermanPlayerPosition());
+ }
+
+ @Test
+ void getTheRudestTeamTest() {
+ List players = List.of(
+ new Player("Iva Streich", Position.MIDFIELD, "D'Amore LLC", 19, "Colombia", 75012006, "Nevada whales", 7),
+ new Player("Miss Buck Bradtke", Position.DEFENDER, "D'Amore LLC", 26, "Brazil", 33850831, "Nevada whales", 9),
+ new Player("Everette Kovacek MD", Position.DEFENDER, "Walker and Sons", 11, "Palau", 64396675, "Wisconsin prophets", 5),
+ new Player("Ms. Adolph Hartmann", Position.FORWARD, "", 10, "Croatia", 52944545, "North Carolina dolphins", 8),
+ new Player("Kenyetta Emard", Position.GOALKEEPER, "D'Amore LLC", 24, "Ecuador", 94715977, "Mississippi witches", 7),
+ new Player("Mrs. Celina Abshire", Position.GOALKEEPER, "D'Amore LLC", 4, "Qatar", 41436703, "Massachusetts enchanters", 0),
+ new Player("Dr. Royal King", Position.GOALKEEPER, "Walker and Sons", 6, "Ecuador", 50056961, "Florida tigers", 4),
+ new Player("Lorinda Labadie", Position.MIDFIELD, "Price-Hirthe", 13, "Germany", 33413181, "Utah nemesis", 4),
+ new Player("Ms. Erwin Hoeger", Position.DEFENDER, "Fadel LLC", 28, "Qatar", 71207725, "Minnesota giants", 1),
+ new Player("Terry Hegmann", Position.DEFENDER, "Graham-Powlowski", 11, "Germany", 7294362, "Wisconsin prophets", 8)
+ );
+ Resolver resolver = new Resolver(players);
+ assertEquals("Nevada whales", resolver.getTheRudestTeam());
+
+ List emptyPlayers = Collections.emptyList();
+ Resolver resolverEmpty = new Resolver(emptyPlayers);
+ assertEquals("Нет команд", resolverEmpty.getTheRudestTeam());
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/ru/urfu/resources/testPlayers.csv b/src/test/java/ru/urfu/resources/testPlayers.csv
new file mode 100644
index 0000000..e2f1389
--- /dev/null
+++ b/src/test/java/ru/urfu/resources/testPlayers.csv
@@ -0,0 +1,128 @@
+Name;Team;City;Position;Nationality;Agency;Transfer cost;Participations;Goals;Assists;Yellow cards;Red cards
+Iva Streich;Nevada whales;South Carolina;MIDFIELD;Colombia;D'Amore LLC;75012006;22;19;6;3;7
+Miss Buck Bradtke;Nevada whales;South Carolina;DEFENDER;Brazil;D'Amore LLC;33850831;20;26;18;6;9
+Everette Kovacek MD;Wisconsin prophets;Vermont;DEFENDER;Palau;Walker and Sons;64396675;27;11;25;0;5
+Ms. Adolph Hartmann;North Carolina dolphins;Tennessee;FORWARD;Croatia;;52944545;27;10;5;5;8
+Kenyetta Emard;Mississippi witches;Virginia;GOALKEEPER;Ecuador;D'Amore LLC;94715977;10;24;18;0;7
+Mrs. Celina Abshire;Massachusetts enchanters;Connecticut;GOALKEEPER;Qatar;D'Amore LLC;41436703;27;4;1;0;0
+Dr. Royal King;Florida tigers;Washington;GOALKEEPER;Ecuador;Walker and Sons;50056961;21;6;3;5;4
+Rory Koss;Utah nemesis;New York;MIDFIELD;Ghana;Jakubowski and Sons;4483194;20;13;11;9;2
+Lorinda Labadie;Utah nemesis;New York;MIDFIELD;Germany;Price-Hirthe;33413181;22;13;21;0;4
+Ms. Erwin Hoeger;Minnesota giants;Washington;DEFENDER;Qatar;Fadel LLC;71207725;26;28;15;7;1
+Terry Hegmann;Wisconsin prophets;Vermont;DEFENDER;Germany;Graham-Powlowski;7294362;12;11;28;1;8
+Serina Moen;Nevada whales;South Carolina;MIDFIELD;Brazil;Bogisich-Rempel;91242062;28;0;22;0;6
+Moshe Wiegand;North Carolina dolphins;Tennessee;DEFENDER;Brazil;Jakubowski and Sons;30073197;28;19;25;9;0
+Zackary Kilback;Nevada whales;South Carolina;MIDFIELD;Korea (Democratic People's Republic of);D'Amore LLC;63619334;12;23;22;4;4
+Beckie Lindgren;Nevada whales;South Carolina;DEFENDER;Germany;Walker and Sons;11576194;25;16;15;0;7
+Eusebio Beatty IV;New Mexico ogres;Georgia;DEFENDER;Ecuador;D'Amore LLC;17429288;0;10;6;1;4
+Lannie Brakus;Utah nemesis;New York;GOALKEEPER;Ghana;Bogisich-Rempel;71830024;19;1;19;5;6
+Carson Bradtke;Florida tigers;Washington;FORWARD;Colombia;;61663205;8;24;28;0;1
+Miss Niesha Aufderhar;North Carolina dolphins;Tennessee;FORWARD;Ecuador;Graham-Powlowski;28665746;0;16;21;0;6
+Wiley Gutmann;Utah nemesis;New York;GOALKEEPER;Korea (Democratic People's Republic of);D'Amore LLC;46579365;23;18;26;7;1
+Micha Koch;New Mexico ogres;Georgia;GOALKEEPER;Croatia;;32216127;15;20;0;7;1
+Loyd Reinger;Florida tigers;Washington;FORWARD;Ghana;Graham-Powlowski;35819257;17;24;23;4;9
+Tammi Kirlin;Florida tigers;Washington;FORWARD;Qatar;D'Amore LLC;98013441;26;12;24;2;1
+Marcelino Strosin;Nevada whales;South Carolina;DEFENDER;Ghana;Walker and Sons;37747125;4;27;13;8;1
+Darwin Lang I;Utah nemesis;New York;MIDFIELD;Ecuador;Walker and Sons;62146819;1;20;25;7;1
+Steven O'Conner DDS;Nevada whales;South Carolina;DEFENDER;Ghana;Bogisich-Rempel;32437027;26;15;16;1;6
+Cathie Mills;Massachusetts enchanters;Connecticut;DEFENDER;Korea (Democratic People's Republic of);Walker and Sons;92423724;1;1;1;7;4
+Mrs. Refugio Heaney;New Mexico ogres;Georgia;DEFENDER;Palau;;28157018;23;16;2;6;7
+Kory Shanahan;Mississippi witches;Virginia;DEFENDER;Mozambique;Price-Hirthe;76160201;3;4;7;9;7
+Christoper Hickle II;Mississippi witches;Virginia;GOALKEEPER;Ecuador;Graham-Powlowski;81406645;25;14;1;3;1
+Miss Gavin Homenick;Massachusetts enchanters;Connecticut;FORWARD;Palau;D'Amore LLC;69853008;13;1;13;8;3
+Ambrose Bruen;Utah nemesis;New York;MIDFIELD;Germany;Price-Hirthe;83408744;6;11;29;8;7
+Lynnette Mosciski;North Carolina dolphins;Tennessee;MIDFIELD;Mozambique;D'Amore LLC;78672711;23;1;23;7;6
+Mr. Roxanna Ruecker;Wisconsin prophets;Vermont;GOALKEEPER;Brazil;;89763637;14;7;10;6;9
+Theron Boyer;Minnesota giants;Washington;GOALKEEPER;Germany;Price-Hirthe;84797258;25;17;29;7;5
+Sindy Padberg;Nevada whales;South Carolina;GOALKEEPER;Qatar;;64825412;23;4;18;1;6
+Fred O'Reilly Sr.;Hawaii oxen;Oklahoma;GOALKEEPER;Mozambique;Bogisich-Rempel;81982516;2;23;7;3;7
+Rey Hickle;Nevada whales;South Carolina;GOALKEEPER;Ecuador;Fadel LLC;374808;17;2;29;8;0
+Miss Jamal Smith;Hawaii oxen;Oklahoma;FORWARD;Croatia;Bahringer-Larson;80645470;12;13;0;6;0
+Miss Dian Gaylord;Wisconsin prophets;Vermont;DEFENDER;Croatia;;23751846;12;28;21;8;7
+Casey Streich;Massachusetts enchanters;Connecticut;DEFENDER;Mozambique;Price-Hirthe;76599052;1;13;19;0;6
+Brian Armstrong PhD;Wisconsin prophets;Vermont;GOALKEEPER;Palau;Hauck Inc;15642504;23;23;2;7;5
+Margarito Hyatt;Hawaii oxen;Oklahoma;DEFENDER;Mozambique;Graham-Powlowski;90053358;28;17;19;7;1
+Corey Ryan;Wisconsin prophets;Vermont;FORWARD;Qatar;Bogisich-Rempel;54337623;23;14;14;7;5
+Barry O'Hara IV;Utah nemesis;New York;FORWARD;Palau;Bogisich-Rempel;37451722;5;24;0;7;5
+Herschel Carroll;Massachusetts enchanters;Connecticut;DEFENDER;Korea (Democratic People's Republic of);Schaden, Robel and Raynor;31255327;22;21;1;0;8
+Katherina Gibson DDS;North Carolina dolphins;Tennessee;GOALKEEPER;Qatar;Fadel LLC;82762815;5;3;16;1;8
+Zonia Ferry;Wisconsin prophets;Vermont;DEFENDER;Croatia;D'Amore LLC;43200244;5;1;7;6;0
+Annabell Baumbach;Mississippi witches;Virginia;MIDFIELD;Korea (Democratic People's Republic of);Price-Hirthe;29739181;12;4;21;1;4
+Nickolas Abernathy;Mississippi witches;Virginia;FORWARD;Ghana;;95940267;9;7;2;6;4
+Casey Stanton;Florida tigers;Washington;MIDFIELD;Croatia;Bogisich-Rempel;47790905;21;6;0;6;2
+Alex Sporer;Nevada whales;South Carolina;MIDFIELD;Ecuador;Walker and Sons;82241450;17;16;27;7;4
+Reina Klein;New Mexico ogres;Georgia;MIDFIELD;Qatar;Graham-Powlowski;98335221;3;15;2;6;5
+Mackenzie Schmidt DVM;Massachusetts enchanters;Connecticut;DEFENDER;Ecuador;Bahringer-Larson;73823976;16;19;8;7;3
+Cecila Considine;Nevada whales;South Carolina;FORWARD;Ghana;Bahringer-Larson;90711076;6;10;15;4;1
+Gala Hodkiewicz V;Minnesota giants;Washington;MIDFIELD;Brazil;Walker and Sons;87364089;24;9;19;3;5
+Zane Keeling;New Mexico ogres;Georgia;GOALKEEPER;Colombia;Price-Hirthe;45387683;19;24;23;1;7
+Kirby Johns II;Nevada whales;South Carolina;GOALKEEPER;Korea (Democratic People's Republic of);Schaden, Robel and Raynor;16485961;19;13;22;9;9
+Ms. Hosea Lueilwitz;Nevada whales;South Carolina;MIDFIELD;Germany;D'Amore LLC;42766444;21;19;19;0;6
+Azalee Stehr;Mississippi witches;Virginia;MIDFIELD;Ecuador;D'Amore LLC;1400434;11;16;27;5;2
+Mrs. Adan Swift;Florida tigers;Washington;FORWARD;Korea (Democratic People's Republic of);Fadel LLC;37558077;25;16;18;8;4
+Jeremy Lemke;Minnesota giants;Washington;FORWARD;Brazil;Jakubowski and Sons;55354033;19;10;10;1;4
+Roscoe Larson;Wisconsin prophets;Vermont;MIDFIELD;Brazil;;51592286;13;24;25;0;7
+Ramona Hoppe II;Utah nemesis;New York;MIDFIELD;Mozambique;Bogisich-Rempel;63853946;4;14;21;5;6
+Vikki Schmidt;Wisconsin prophets;Vermont;GOALKEEPER;Qatar;;46890120;15;29;19;2;3
+Miss Kari Marquardt;Wisconsin prophets;Vermont;MIDFIELD;Palau;Hauck Inc;81194802;18;9;21;8;8
+Jennefer Kshlerin III;Wisconsin prophets;Vermont;GOALKEEPER;Mozambique;Fadel LLC;10704361;28;23;9;9;0
+Xavier Farrell;Wisconsin prophets;Vermont;MIDFIELD;Qatar;Schaden, Robel and Raynor;67677680;17;29;1;4;7
+Alysia Mann IV;Hawaii oxen;Oklahoma;DEFENDER;Croatia;Schaden, Robel and Raynor;16170779;10;23;8;4;3
+Miss Fidel McDermott;New Mexico ogres;Georgia;MIDFIELD;Croatia;Bogisich-Rempel;19662027;29;17;28;5;8
+Paris Pouros;Massachusetts enchanters;Connecticut;FORWARD;Croatia;Jakubowski and Sons;41760175;20;20;24;9;0
+Sidney Durgan;North Carolina dolphins;Tennessee;DEFENDER;Croatia;Walker and Sons;64847650;23;29;26;9;6
+Jimmy Krajcik;Nevada whales;South Carolina;DEFENDER;Brazil;Fadel LLC;28059144;13;18;1;9;1
+Cruz Dickinson;Wisconsin prophets;Vermont;DEFENDER;Ecuador;Price-Hirthe;35839056;17;18;20;8;8
+Isidra Koch;Florida tigers;Washington;DEFENDER;Qatar;D'Amore LLC;56455685;4;13;21;3;9
+Lessie Graham;Minnesota giants;Washington;GOALKEEPER;Ecuador;;31052070;25;14;23;1;3
+Lanell Krajcik;Mississippi witches;Virginia;MIDFIELD;Croatia;Jakubowski and Sons;73478503;28;27;7;1;5
+Marty Bednar DDS;Wisconsin prophets;Vermont;MIDFIELD;Brazil;D'Amore LLC;11543884;19;17;22;7;5
+Ms. Maire Kozey;Hawaii oxen;Oklahoma;MIDFIELD;Brazil;Hauck Inc;88643847;25;12;22;5;6
+Wilfred Davis;Hawaii oxen;Oklahoma;MIDFIELD;Mozambique;;50822344;27;15;0;1;7
+Debrah McDermott;Mississippi witches;Virginia;GOALKEEPER;Germany;Graham-Powlowski;30423082;17;8;19;8;0
+Chance Fahey;North Carolina dolphins;Tennessee;MIDFIELD;Ecuador;Price-Hirthe;72009124;20;13;22;3;6
+Marcus Lind;New Mexico ogres;Georgia;DEFENDER;Ecuador;Bogisich-Rempel;20730872;14;15;2;3;5
+Jacquetta Heidenreich;Minnesota giants;Washington;DEFENDER;Croatia;;42400437;2;13;24;9;1
+Miss Loni Hermann;Minnesota giants;Washington;GOALKEEPER;Palau;Graham-Powlowski;88718909;14;16;10;1;5
+Judi Nikolaus;Wisconsin prophets;Vermont;DEFENDER;Ghana;Price-Hirthe;23081398;10;29;8;6;5
+Daniella Blick;Utah nemesis;New York;DEFENDER;Korea (Democratic People's Republic of);Graham-Powlowski;97991859;16;16;8;6;6
+Dr. Hershel Christiansen;Nevada whales;South Carolina;GOALKEEPER;Ghana;Price-Hirthe;35270530;12;27;12;4;0
+Svetlana Raynor;New Mexico ogres;Georgia;FORWARD;Ecuador;Schaden, Robel and Raynor;59547765;13;12;22;8;2
+Angelena Walter;Nevada whales;South Carolina;FORWARD;Qatar;Bahringer-Larson;63096649;23;4;23;7;2
+Jerald Nikolaus Sr.;Minnesota giants;Washington;DEFENDER;Qatar;Bogisich-Rempel;40298215;12;14;23;7;5
+Buddy West III;Mississippi witches;Virginia;MIDFIELD;Qatar;Bogisich-Rempel;10208129;25;20;26;2;1
+Rupert Casper;Florida tigers;Washington;MIDFIELD;Croatia;Schaden, Robel and Raynor;19780728;29;12;28;8;2
+Jean Dare;Hawaii oxen;Oklahoma;MIDFIELD;Qatar;Hauck Inc;13756247;8;17;1;1;4
+Donya King;Minnesota giants;Washington;FORWARD;Brazil;Bahringer-Larson;93705885;1;8;10;5;0
+Johnie Kuphal;Utah nemesis;New York;DEFENDER;Brazil;D'Amore LLC;47127997;2;3;12;9;4
+Rubin Greenfelder;Mississippi witches;Virginia;MIDFIELD;Croatia;Price-Hirthe;12305524;8;10;16;9;0
+Franklin Fritsch;Florida tigers;Washington;DEFENDER;Korea (Democratic People's Republic of);Bogisich-Rempel;62431251;26;8;5;6;8
+Debbi Bergnaum;Wisconsin prophets;Vermont;FORWARD;Colombia;Walker and Sons;52894208;17;14;26;3;9
+Mary Leannon Jr.;Hawaii oxen;Oklahoma;GOALKEEPER;Germany;Walker and Sons;10169185;24;26;5;6;7
+Rex Adams;Minnesota giants;Washington;GOALKEEPER;Qatar;Fadel LLC;3202524;27;27;21;6;4
+Luann Jerde;Mississippi witches;Virginia;MIDFIELD;Qatar;Bogisich-Rempel;33023445;27;10;25;8;3
+Brant Ledner;Nevada whales;South Carolina;GOALKEEPER;Croatia;Graham-Powlowski;17287154;21;26;12;2;0
+Ms. Austin Spencer;Utah nemesis;New York;MIDFIELD;Palau;Graham-Powlowski;9262668;8;6;23;2;4
+Nestor Rolfson;New Mexico ogres;Georgia;DEFENDER;Qatar;Hauck Inc;43127466;14;25;25;7;9
+Brandon Wehner;Hawaii oxen;Oklahoma;GOALKEEPER;Palau;Bogisich-Rempel;40261879;20;15;23;5;0
+Noble Walker;New Mexico ogres;Georgia;DEFENDER;Mozambique;Fadel LLC;15134083;11;24;20;3;9
+Junior Steuber;Hawaii oxen;Oklahoma;DEFENDER;Palau;Graham-Powlowski;88584168;14;21;0;9;0
+Dr. Valeria Mann;Nevada whales;South Carolina;FORWARD;Korea (Democratic People's Republic of);Fadel LLC;92814158;19;25;10;6;3
+Ms. Sharan Skiles;Wisconsin prophets;Vermont;FORWARD;Qatar;Hauck Inc;732179;12;23;5;4;0
+Charleen Sipes;Nevada whales;South Carolina;DEFENDER;Qatar;Jakubowski and Sons;2789526;7;3;7;7;8
+Alan Thompson DDS;Nevada whales;South Carolina;FORWARD;Germany;Fadel LLC;15436632;12;17;27;9;5
+Kattie Pollich;Florida tigers;Washington;FORWARD;Germany;Price-Hirthe;55115120;22;16;8;5;0
+Mrs. Constance Willms;Nevada whales;South Carolina;GOALKEEPER;Palau;Jakubowski and Sons;74350559;12;18;20;9;3
+Rheba Ebert MD;Mississippi witches;Virginia;DEFENDER;Croatia;D'Amore LLC;9433827;13;14;1;6;9
+Jacque Quitzon;New Mexico ogres;Georgia;DEFENDER;Brazil;;95378205;3;26;16;0;0
+Sharri Carter Sr.;New Mexico ogres;Georgia;FORWARD;Brazil;Price-Hirthe;54636028;14;18;20;8;3
+Kristal Rippin;Mississippi witches;Virginia;DEFENDER;Qatar;Hauck Inc;19548523;19;3;13;0;4
+Marquis McDermott;New Mexico ogres;Georgia;GOALKEEPER;Croatia;D'Amore LLC;48337017;16;14;1;3;9
+Miss Mariette Beer;North Carolina dolphins;Tennessee;DEFENDER;Germany;Walker and Sons;93300806;19;29;28;3;4
+Hollis Gislason;Minnesota giants;Washington;FORWARD;Mozambique;;65154327;13;25;2;8;4
+Elijah Runte;Florida tigers;Washington;DEFENDER;Colombia;Bogisich-Rempel;83396911;21;8;18;7;0
+Juliet Halvorson;Massachusetts enchanters;Connecticut;MIDFIELD;Germany;Hauck Inc;77111426;6;22;21;5;8
+Ms. Kennith Greenfelder;Nevada whales;South Carolina;GOALKEEPER;Palau;Bahringer-Larson;16839208;28;14;19;9;4
+Valarie Kozey;New Mexico ogres;Georgia;FORWARD;Ghana;Bogisich-Rempel;35776993;26;10;28;5;6
+Rebeca Heller PhD;Florida tigers;Washington;GOALKEEPER;Croatia;Bahringer-Larson;72494545;18;4;29;4;9
+Danette Heaney;Mississippi witches;Virginia;MIDFIELD;Korea (Democratic People's Republic of);Schaden, Robel and Raynor;77198084;4;3;13;1;5