Web Dev Solutions

Catalin Mititiuc

aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCatalin Mititiuc <webdevcat@proton.me>2024-05-28 15:42:04 -0700
committerCatalin Mititiuc <webdevcat@proton.me>2024-05-28 15:42:04 -0700
commitabc8b02a9c73e68f435d8971b2ef0e1970f42212 (patch)
treea3660f4791baf571c6c4f0822f896aa5b171631b
parent528a370ddcf9bc63b0b5ec757ee2ac97c505131e (diff)
WIP: select counter test
-rw-r--r--src/modules/gameboard.js3
-rw-r--r--src/modules/record_sheet.js2
-rw-r--r--src/scenario-side_show.svg1973
-rw-r--r--test/integration/fixtures/scenario-test.svg24
-rw-r--r--test/integration/page.test.js99
5 files changed, 38 insertions, 2063 deletions
diff --git a/src/modules/gameboard.js b/src/modules/gameboard.js
index a354795..38a9a9a 100644
--- a/src/modules/gameboard.js
+++ b/src/modules/gameboard.js
@@ -200,7 +200,8 @@ function endMove() {
export function start(el) {
svg = el;
- getUnits(svg).forEach(unit => unit.addEventListener('click', selectOffBoard));
+ const startingLocations = svg.querySelector('.start-locations');
+ startingLocations && getUnits(startingLocations).forEach(unit => unit.addEventListener('click', selectOffBoard));
getCells(svg).forEach(cell => {
cell.addEventListener('click', e => {
diff --git a/src/modules/record_sheet.js b/src/modules/record_sheet.js
index 61cea98..2865309 100644
--- a/src/modules/record_sheet.js
+++ b/src/modules/record_sheet.js
@@ -179,7 +179,7 @@ export function start(startLoc, units) {
for (const affiliation in forces) {
const container = document.querySelector(`#${affiliation}-record`);
const records = container.querySelector('.records');
- const name = startLoc.dataset[`${affiliation}Name`];
+ const name = startLoc?.dataset[`${affiliation}Name`];
if (name) {
container.querySelector('.name').textContent = name;
diff --git a/src/scenario-side_show.svg b/src/scenario-side_show.svg
deleted file mode 100644
index e4211a0..0000000
--- a/src/scenario-side_show.svg
+++ /dev/null
@@ -1,1973 +0,0 @@
-<?xml version="1.0" standalone="no"?>
-<svg viewBox="-15.639999389648438 -109 2320.879638671875 3280" xmlns="http://www.w3.org/2000/svg">
- <!-- <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="http://localhost:8080/assets/css/map.css" type="text/css" /> -->
- <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css" />
- <style>
- g[data-edge="north"] { --i: -2; }
- g[data-edge="south"] { --i: 52; }
-
- #background {
- stroke: #304b75;
- fill: #bacae3;
- }
-
- pattern use {
- stroke: black;
- stroke-width: 0.3px;
- }
-
- .cw-60-deg {
- transform: rotate(60deg);
- }
-
- .ccw-60-deg {
- transform: rotate(-60deg);
- }
- </style>
- <defs>
- <polygon id="hex" points="0,10 8.66,5 8.66,-5 0,-10 -8.66,-5 -8.66,5"/>
- <circle id="counter-base" cx="0" cy="0" r="5"/>
-
- <line id="ast-line" x1="-1.2" y1="0" x2="1.2" y2="0"/>
-
- <pattern id="asterisk" viewBox="-8.66 -15 17.32 30" width="17.32" height="30" patternUnits="userSpaceOnUse">
- <use y="-15" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="-15" style="transform-origin: 0 -15px;" class="ccw-60-deg" href="#ast-line"/>
- <use y="15" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="cw-60-deg" href="#ast-line"/>
- <use y="15" style="transform-origin: 0 15px;" class="ccw-60-deg" href="#ast-line"/>
-
- <use x="8.66" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="8.66" style="transform-origin: 8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- <use x="-8.66" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="cw-60-deg" href="#ast-line"/>
- <use x="-8.66" style="transform-origin: -8.66px 0;" class="ccw-60-deg" href="#ast-line"/>
- </pattern>
-
- <g id="t-1" class="troop-counter-template"><use href="#counter-base"/><text>1</text></g>
- <g id="t-2" class="troop-counter-template"><use href="#counter-base"/><text>2</text></g>
- <g id="t-3" class="troop-counter-template"><use href="#counter-base"/><text>3</text></g>
- <g id="t-4" class="troop-counter-template"><use href="#counter-base"/><text>4</text></g>
- <g id="t-5" class="troop-counter-template"><use href="#counter-base"/><text>5</text></g>
- <g id="t-6" class="troop-counter-template"><use href="#counter-base"/><text>6</text></g>
- <g id="t-7" class="troop-counter-template"><use href="#counter-base"/><text>7</text></g>
-
- <g id="semi-auto">
- <line x1="-2" y1="1" x2="2" y2="1"/>
- <line x1="-2" y1="2" x2="2" y2="2"/>
- </g>
-
- <g id="auto">
- <line x1="-2" y1="0" x2="2" y2="0"/>
- <line x1="-2" y1="1" x2="2" y2="1"/>
- <line x1="-2" y1="2" x2="2" y2="2"/>
- </g>
-
- <g id="rifle" class="weapon-symbol">
- <use href="#semi-auto"/>
- <line x1="0" y1="-5" x2="0" y2="5"/>
- <polyline points="-2,-3.5 0,-5 2,-3.5"/>
- </g>
-
- <g id="smg" class="weapon-symbol">
- <use href="#auto"/>
- <line x1="0" y1="-5" x2="0" y2="4.5"/>
- <line x1="-2" y1="4.5" x2="2" y2="4.5"/>
- </g>
-
- <g id="blazer" class="weapon-symbol">
- <use href="#auto"/>
- <polyline points="0,-5 0,-3 -3,-2.5 3,-1.5 0,-1 0,2.5 -3,3, 3,4 0,4.5 0,5"/>
- <polyline points="-2,-3.5 0,-5 2,-3.5"/>
- </g>
-
- <image id="counter-prone" href="counter_prone.jpg" width="10"/>
- <image id="counter-grenade" href="counter_grenade.jpg" width="10"/>
- <image id="numbers" href="rendered_numbers.png" width="182" height="22"/>
-
- <symbol id="n1" viewBox="1 0 17 22" width="17" height="22"><use href="#numbers"/></symbol>
- <symbol id="n2" viewBox="19 0 16 22" width="16" height="22"><use href="#numbers"/></symbol>
- <symbol id="n3" viewBox="36 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- <symbol id="n4" viewBox="54 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- <symbol id="n5" viewBox="0 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- <symbol id="n6" viewBox="0 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- <symbol id="n7" viewBox="0 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- <symbol id="n8" viewBox="0 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- <symbol id="n9" viewBox="0 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- <symbol id="n0" viewBox="0 0 18 22" width="18" height="22"><use href="#numbers"/></symbol>
- </defs>
-
- <rect id="background"/>
-
- <g class="gameboard">
- <!-- <use href="http://localhost:8080/assets/images/mapsheets.svg#map2"/>
- <use href="http://localhost:8080/assets/images/mapsheets.svg#map3" style="transform: translate(0, 390.25px);"/> -->
- <use class="mapsheets" href="mapsheets.%%VERSION%%.svg#map2"/>
- <use class="mapsheets" href="mapsheets.%%VERSION%%.svg#map3" style="transform: translate(0, 390.25px);"/>
-
- <rect id="dots" fill="url(#asterisk)"/>
-
- <g id="firing-arcs">
- <g id="shapes"/>
- <g id="lines"/>
- </g>
-
- <g class="start-locations" data-attacker-name="liao" data-defender-name="davion">
- <g data-edge="north">
- <g data-x="13">
- <g class="counter" data-allegiance="attacker" data-number="1">
- <use href="#counter-base"/><use class="troop-number" href="#t-1"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#rifle"/>
- <!-- <use data-href="counters.svg#rifle"/><use class="troop-number" href="#t-1"/><use class="squad-number" href="#t-1"/> -->
- </g>
- </g>
- <g data-x="14">
- <g class="counter" data-allegiance="attacker" data-number="2"><use href="#counter-base"/><use class="troop-number" href="#t-2"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#rifle"/></g>
- </g>
- <g data-x="15">
- <g class="counter" data-allegiance="attacker" data-number="3"><use href="#counter-base"/><use class="troop-number" href="#t-3"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="16">
- <g class="counter" data-allegiance="attacker" data-number="4"><use href="#counter-base"/><use class="troop-number" href="#t-4"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="17">
- <g class="counter" data-allegiance="attacker" data-number="5"><use href="#counter-base"/><use class="troop-number" href="#t-5"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="18">
- <g class="counter" data-allegiance="attacker" data-number="6"><use href="#counter-base"/><use class="troop-number" href="#t-6"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="19">
- <g class="counter" data-allegiance="attacker" data-number="7"><use href="#counter-base"/><use class="troop-number" href="#t-7"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#blazer"/></g>
- </g>
- </g>
- <g data-edge="south">
- <g data-x="13">
- <g class="counter" data-allegiance="defender" data-number="1"><use href="#counter-base"/><use class="troop-number" href="#t-1"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#rifle"/></g>
- </g>
- <g data-x="14">
- <g class="counter" data-allegiance="defender" data-number="2"><use href="#counter-base"/><use class="troop-number" href="#t-2"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#rifle"/></g>
- </g>
- <g data-x="15">
- <g class="counter" data-allegiance="defender" data-number="3"><use href="#counter-base"/><use class="troop-number" href="#t-3"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="16">
- <g class="counter" data-allegiance="defender" data-number="4"><use href="#counter-base"/><use class="troop-number" href="#t-4"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="17">
- <g class="counter" data-allegiance="defender" data-number="5"><use href="#counter-base"/><use class="troop-number" href="#t-5"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="18">
- <g class="counter" data-allegiance="defender" data-number="6"><use href="#counter-base"/><use class="troop-number" href="#t-6"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#smg"/></g>
- </g>
- <g data-x="19">
- <g class="counter" data-allegiance="defender" data-number="7"><use href="#counter-base"/><use class="troop-number" href="#t-7"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#blazer"/></g>
- </g>
- </g>
- </g>
-
- <g class="grid">
- <g data-y="0">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="1">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="2">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="3">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="4">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="5">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="6">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="7">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="8">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="9">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="10">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="11">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="12">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="13">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="14">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="15">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="16">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="17">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="18">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="19">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="20">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="21">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="22">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="23">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="24">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="25">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="26">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="27">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="28">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="29">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="30">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="31">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="32">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="33">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="34">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="35">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="36">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="37">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="38">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="39">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="40">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="41">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="42">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="43">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="44">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="45">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="46">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="47">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="48">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="49">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- <g data-y="50">
- <g data-x="0"><use href="#hex"/></g>
- <g data-x="1"><use href="#hex"/></g>
- <g data-x="2"><use href="#hex"/></g>
- <g data-x="3"><use href="#hex"/></g>
- <g data-x="4"><use href="#hex"/></g>
- <g data-x="5"><use href="#hex"/></g>
- <g data-x="6"><use href="#hex"/></g>
- <g data-x="7"><use href="#hex"/></g>
- <g data-x="8"><use href="#hex"/></g>
- <g data-x="9"><use href="#hex"/></g>
- <g data-x="10"><use href="#hex"/></g>
- <g data-x="11"><use href="#hex"/></g>
- <g data-x="12"><use href="#hex"/></g>
- <g data-x="13"><use href="#hex"/></g>
- <g data-x="14"><use href="#hex"/></g>
- <g data-x="15"><use href="#hex"/></g>
- <g data-x="16"><use href="#hex"/></g>
- <g data-x="17"><use href="#hex"/></g>
- <g data-x="18"><use href="#hex"/></g>
- <g data-x="19"><use href="#hex"/></g>
- <g data-x="20"><use href="#hex"/></g>
- <g data-x="21"><use href="#hex"/></g>
- <g data-x="22"><use href="#hex"/></g>
- <g data-x="23"><use href="#hex"/></g>
- <g data-x="24"><use href="#hex"/></g>
- <g data-x="25"><use href="#hex"/></g>
- <g data-x="26"><use href="#hex"/></g>
- <g data-x="27"><use href="#hex"/></g>
- <g data-x="28"><use href="#hex"/></g>
- <g data-x="29"><use href="#hex"/></g>
- <g data-x="30"><use href="#hex"/></g>
- <g data-x="31"><use href="#hex"/></g>
- <g data-x="32"><use href="#hex"/></g>
- </g>
- </g>
- </g>
- <script>//<![CDATA[
- // https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/random#getting_a_random_integer_between_two_values_inclusive
- // function getRandomIntInclusive(min, max) {
- // const minCeiled = Math.ceil(min);
- // const maxFloored = Math.floor(max);
- // return Math.floor(Math.random() * (maxFloored - minCeiled + 1) + minCeiled); // The maximum is inclusive and the minimum is inclusive
- // }
-
- // const cacheBuster = Array(20).fill(null).map(() => getRandomIntInclusive(0, 9)).join('');
-
- // document.querySelectorAll('[data-href]').forEach(el => {
- // el.setAttributeNS(null, 'href', el.dataset.href.split('#').join(`?v=${cacheBuster}#`));
- // });
- //]]></script>
- <!-- <script href="http://localhost:8080/map.js"/> -->
- <script href="../../map.js"/>
-</svg>
diff --git a/test/integration/fixtures/scenario-test.svg b/test/integration/fixtures/scenario-test.svg
index 0e12afb..d4d8453 100644
--- a/test/integration/fixtures/scenario-test.svg
+++ b/test/integration/fixtures/scenario-test.svg
@@ -1,6 +1,6 @@
<?xml version="1.0" standalone="no"?>
<svg viewBox="-150 -150 600 800" xmlns="http://www.w3.org/2000/svg">
- <!-- <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css"/> -->
+ <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" href="../css/map.css" type="text/css" />
<style>
g[data-edge="north"] { --i: -2; }
g[data-edge="south"] { --i: 52; }
@@ -95,8 +95,26 @@
<g id="shapes"/>
<g id="lines"/>
</g>
- <g class="grid"/>
+ <g class="grid">
+ <g data-y="0">
+ <g data-x="0"><use href="#hex"/></g>
+ <g data-x="1"><use href="#hex"/></g>
+ <g data-x="2"><use href="#hex"/></g>
+ </g>
+ <g data-y="1">
+ <g data-x="0"><use href="#hex"/></g>
+ <g data-x="1"><use href="#hex"/>
+ <g class="counter" data-allegiance="attacker" data-number="1"><use href="#counter-base"/><use class="troop-number" href="#t-2"/><use class="squad-number" href="#t-1"/><use class="primary-weapon" href="#rifle"/></g>
+ </g>
+ <g data-x="2"><use href="#hex"/></g>
+ </g>
+ <g data-y="2">
+ <g data-x="0"><use href="#hex"/></g>
+ <g data-x="1"><use href="#hex"/></g>
+ <g data-x="2"><use href="#hex"/></g>
+ </g>
+ </g>
</g>
- <script data-cols="10" data-rows="10"></script>
+ <script href="../../map.js"></script>
</svg>
diff --git a/test/integration/page.test.js b/test/integration/page.test.js
index f708c4f..7046ef0 100644
--- a/test/integration/page.test.js
+++ b/test/integration/page.test.js
@@ -55,107 +55,36 @@ it('loads the page', async () => {
});
it.only('selects an off-board soldier', async () => {
-// it.only.each(Array(10).fill(null))('selects an off-board soldier', async () => {
-
- // const id = await driver.getWindowHandle();
- // const network = await getNetworkInstance(driver, id);
-
- // const intercept = await network.addIntercept(new AddInterceptParameters(InterceptPhase.BEFORE_REQUEST_SENT));
-
- // await network.beforeRequestSent(async event => {
- // console.log('request url', event.request.url);
- // await network.provideResponse(new ProvideResponseParameters(event.request));
- // });
-
- // await network.responseStarted(async event => {
- // if (event.response.url.includes('scenario'))
- // console.log('response', event.response);
- // });
-
- // await network.responseStarted(async (event) => {
- // if (event.response.url.includes('scenario')) {
- // console.log('event', event);
- // console.log('request', event.request);
- // console.log('response', event.response.result);
- // }
- // });
-
- // await network.beforeRequestSent(async (event) => {
- // if (event.request.url.includes('scenario')) {
- // console.log('event', event);
- // console.log('request', event.request.request);
- // await network.provideResponse(new ProvideResponseParameters(event.request.request));
- // // await network.failRequest(event.request.request);
- // }
- // });
-
const connection = await driver.createCDPConnection('page')
const url = 'http://localhost:3005/assets/images/scenario-side_show.svg';
const httpResponse = new HttpResponse(url);
-
- // httpResponse.body = `<?xml version="1.0" standalone="no"?>
- // <svg viewBox="-150 -150 300 300" xmlns="http://www.w3.org/2000/svg">
- // <circle cx="0" cy="0" r="50" fill="violet" />
- // </svg>`;
-
httpResponse.body = await fs.readFile('./test/integration/fixtures/scenario-test.svg', 'utf8');
httpResponse.addHeaders('Content-Type', 'image/svg+xml');
await driver.onIntercept(connection, httpResponse, async function () {
console.log('intercepted');
- // await driver.switchTo().frame(await driver.findElement(By.css('object')));
- // console.log(await driver.getPageSource());
});
await driver.get('http://localhost:3005');
- // expect(await driver.getTitle()).toEqual('Infantry Combat Solo Basic');
-
- await driver.wait(until.elementIsVisible(driver.findElement(By.css('object'))), 1000);
- // await driver.wait(until.elementLocated(By.css('#dice')), 1000);
- takeScreenshot(driver);
- // await driver.switchTo().frame(await driver.findElement(By.css('object')));
-
- // console.log(await driver.getPageSource());
-
- // const testDir = path.dirname(expect.getState().testPath);
- // await writeFile(path.join(testDir, `scenario.svg`), `
- // <?xml version="1.0" standalone="no"?>
- // <svg viewBox="0 0 200 200" xmlns="http://www.w3.org/2000/svg">
- // </svg>
- // `);
-
-
- // const browser = await puppeteer.launch();
-
- // // Create a page
- // const page = await browser.newPage();
-
- // await page.setRequestInterception(true);
-
- // page.on('request', interceptedRequest => {
- // console.log('intercept req url', interceptedRequest.url());
- // interceptedRequest.continue();
- // });
-
- // // Go to your site
- // await page.goto('http://localhost:3005');
-
-
- // await browser.close();
-
+ await driver.wait(until.elementLocated(By.css('#dice')), 1000);
+ await driver.switchTo().frame(await driver.findElement(By.css('object')));
- // console.log('test dir', testDir);
+ const selector = '.counter[data-allegiance="attacker"][data-number="1"]',
+ svg = await driver.findElement(By.css('svg')),
+ counter = await driver.findElement(By.css(selector), svg);
- // const selector = '.counter[data-allegiance="attacker"][data-number="1"]',
- // svg = await driver.findElement(By.css('svg')),
- // counter = await driver.findElement(By.css(selector), svg);
+ await counter.click();
- // await driver.findElement(By.css('#dice'));
+ expect(await counter.getAttribute('class')).toEqual(expect.stringContaining('selected'));
+ await driver.switchTo().defaultContent();
+ expect(await driver.findElement(By.css('.soldier-record')).getAttribute('class')).toEqual(expect.stringContaining('selected'));
- // await counter.click();
+ await driver.switchTo().frame(await driver.findElement(By.css('object')));
+ await counter.click();
- // expect(await counter.getAttribute('class')).toEqual(expect.stringContaining('selected'));
- // await takeScreenshot(driver);
+ expect(await counter.getAttribute('class')).toEqual(expect.not.stringContaining('selected'));
+ await driver.switchTo().defaultContent();
+ expect(await driver.findElement(By.css('.soldier-record')).getAttribute('class')).toEqual(expect.not.stringContaining('selected'));
});
afterEach(async () => {