This commit is contained in:
dartz 2024-07-23 02:58:50 -04:00
parent e7d63c3279
commit a2a5eccdfa
17 changed files with 3384 additions and 517 deletions

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 115 KiB

After

Width:  |  Height:  |  Size: 111 KiB

File diff suppressed because it is too large Load diff

After

Width:  |  Height:  |  Size: 92 KiB

View file

@ -0,0 +1,868 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
width="1020"
height="593"
version="1.1"
id="svg3"
sodipodi:docname="ElectoralCollege1940.svg"
inkscape:version="1.3.2 (091e20e, 2023-11-25, custom)"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<sodipodi:namedview
id="namedview3"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
inkscape:zoom="0.97301855"
inkscape:cx="522.60052"
inkscape:cy="399.78683"
inkscape:window-width="1350"
inkscape:window-height="1040"
inkscape:window-x="132"
inkscape:window-y="134"
inkscape:window-maximized="0"
inkscape:current-layer="svg3" />
<title
id="title1">1968 US presidential election results</title>
<defs
id="defs1" />
<g
id="outlines"
class="state"
transform="translate(-14,-4)">
<path
id="AL"
d="m 628.5,466.4 0.6,0.2 1.3,-2.7 1.5,-4.4 2.3,0.6 3.1,6 v 1 l -2.7,1.9 2.7,0.3 5.2,-2.5 -0.3,-7.6 -2.5,-1.8 -2,-2 0.4,-4 10.5,-1.5 25.7,-2.9 6.7,-0.6 5.6,0.1 -0.5,-2.2 -1.5,-0.8 -0.9,-1.1 1,-2.6 -0.4,-5.2 -1.6,-4.5 0.8,-5.1 1.7,-4.8 -0.2,-1.7 -1.8,-0.7 -0.5,-3.6 -2.7,-3.4 -2,-6.5 -1.4,-6.7 -1.8,-5 -3.8,-16 -3.5,-7.9 -0.8,-5.6 0.1,-2.2 -9,0.8 -23.4,2.2 -12.2,0.8 -0.2,6.4 0.2,16.7 -0.7,31 -0.3,14.1 2.8,18.8 1.6,14.7 z" />
<path
id="AR"
d="m 587.3,346.1 -6.4,-0.7 0.9,-3.1 3.1,-2.6 0.6,-2.3 -1.8,-2.9 -31.9,1.2 -23.3,0.7 -23.6,0.3 1.5,6.9 0.1,8.5 1.4,10.9 0.3,38.2 2.1,1.6 3,-1.2 2.9,1.2 0.4,10.1 25.2,-0.2 26.8,-0.8 0.9,-1.9 -0.3,-3.8 -1.7,-3.1 1.5,-1.4 -1.4,-2.2 0.7,-2.4 1.1,-5.9 2.7,-2.3 -0.8,-2.2 4,-5.6 2.5,-1.1 -0.1,-1.7 -0.5,-1.7 2.9,-5.8 2.5,-1.1 0.2,-3.3 2.1,-1.4 0.9,-4.1 -1.4,-4 4.2,-2.4 0.3,-2.1 1.2,-4.2 0.9,-3.1 z" />
<path
id="AZ"
d="m 135.1,389.7 -0.3,1.5 0.5,1 18.9,10.7 12.1,7.6 14.7,8.6 16.8,10 12.3,2.4 25.4,2.7 6,-39.6 7,-53.1 4.4,-31 -24.6,-3.6 -60.7,-11 -0.2,1.1 -2.6,16.5 -2.1,3.8 -2.8,-0.2 -1.2,-2.6 -2.6,-0.4 -1.2,-1.1 -1.1,0.1 -2.1,1.7 -0.3,6.8 -0.3,1.5 -0.5,12.5 -1.5,2.4 -0.4,3.3 2.8,5 1.1,5.5 0.7,1.1 1.1,0.9 -0.4,2.4 -1.7,1.2 -3.4,1.6 -1.6,1.8 -1.6,3.6 -0.5,4.9 -3,2.9 -1.9,0.9 -0.1,5.8 -0.6,1.6 0.5,0.8 3.9,0.4 -0.9,3 -1.7,2.4 -3.7,0.4 z" />
<path
id="CA"
d="m 122.7,385.9 -19.7,-2.7 -10,-1.5 -0.5,-1.8 v -9.4 l -0.3,-3.2 -2.6,-4.2 -0.8,-2.3 -3.9,-4.2 -2.9,-4.7 -2.7,-0.2 -3.2,-0.8 -0.3,-1 1.5,-0.6 -0.6,-3.2 -1.5,-2.1 -4.8,-0.8 -3.9,-2.1 -1.1,-2.3 -2.6,-4.8 -2.9,-3.1 H 57 l -3.9,-2.1 -4.5,-1.8 -4.2,-0.5 -2.4,-2.7 0.5,-1.9 1.8,-7.1 0.8,-1.9 v -2.4 l -1.6,-1 -0.5,-2.9 -1.5,-2.6 -3.4,-5.8 -1.3,-3.1 -1.5,-4.7 -1.6,-5.3 -3.2,-4.4 -0.5,-2.9 0.8,-3.9 h 1.1 l 2.1,-1.6 1.1,-3.6 -1,-2.7 -2.7,-0.5 -1.9,-2.6 -2.1,-3.7 -0.2,-8.2 0.6,-1.9 0.6,-2.3 0.5,-2.4 -5.7,-6.3 V 236 l 0.3,-0.5 0.3,-3.2 -1.3,-4 -2.3,-4.8 -2.7,-4.5 -1.8,-3.9 1,-3.7 0.6,-5.8 1.8,-3.1 0.3,-6.5 -1.1,-3.6 -1.6,-4.2 -2.7,-4.2 0.8,-3.2 1.5,-4.2 1.8,-0.8 0.3,-1.1 3.1,-2.6 5.2,-11.8 0.2,-7.4 1.69,-4.9 38.69,11.8 25.6,6.6 -8,31.3 -8.67,33.1 12.63,19.2 42.16,62.3 17.1,26.1 -0.4,3.1 2.8,5.2 1.1,5.4 1,1.5 0.7,0.6 -0.2,1.4 -1.4,1 -3.4,1.6 -1.9,2.1 -1.7,3.9 -0.5,4.7 -2.6,2.5 -2.3,1.1 -0.1,6.2 -0.6,1.9 1,1.7 3,0.3 -0.4,1.6 -1.4,2 -3.9,0.6 z M 48.8,337 l 1.3,1.5 -0.2,1.3 -3.2,-0.1 -0.6,-1.2 -0.6,-1.5 z m 1.9,0 1.2,-0.6 3.6,2.1 3.1,1.2 -0.9,0.6 -4.5,-0.2 -1.6,-1.6 z m 20.7,19.8 1.8,2.3 0.8,1 1.5,0.6 0.6,-1.5 -1,-1.8 -2.7,-2 -1.1,0.2 v 1.2 z m -1.4,8.7 1.8,3.2 1.2,1.9 -1.5,0.2 -1.3,-1.2 c 0,0 -0.7,-1.5 -0.7,-1.9 v -2.2 z" />
<path
id="CO"
d="m 380.2,235.5 -36,-3.5 -79.1,-8.6 -2.2,22.1 -7,50.4 -1.9,13.7 34,3.9 37.5,4.4 34.7,3 14.3,0.6 z" />
<path
id="CT"
d="m 852,190.9 3.6,-3.2 1.9,-2.1 0.8,0.6 2.7,-1.5 5.2,-1.1 7,-3.5 -0.6,-4.2 -0.8,-4.4 -1.6,-6 -4.3,1.1 -21.8,4.7 0.6,3.1 1.5,7.3 v 8.3 l -0.9,2.1 1.7,2.2 z" />
<path
id="DE"
d="m 834.4,247.2 -1,0.5 -3.6,-2.4 -1.8,-4.7 -1.9,-3.6 -2.3,-1 -2.1,-3.6 0.5,-2 0.5,-2.3 0.1,-1.1 -0.6,0.1 -1.7,1 -2,1.7 -0.2,0.3 1.4,4.1 2.3,5.6 3.7,16.1 5,-0.3 6,-1.1 z" />
<path
id="FL"
d="m 750.2,445.2 -5.2,-0.7 -0.7,0.8 1.5,4.4 -0.4,5.2 -4.1,-1 -0.2,-2.8 H 737 l -5.3,0.7 -32.4,1.9 -8.2,-0.3 -1.7,-1.7 -2.5,-4.2 H 681 l -6.6,0.5 -35.4,4.2 -0.3,2.8 1.6,1.6 2.9,2 0.3,8.4 3.3,-0.6 6,-2.1 6,-0.5 4.4,-0.6 7.6,1.8 8.1,3.9 1.6,1.5 2.9,1.1 1.6,1.9 0.3,2.7 3.2,-1.3 h 3.9 l 3.6,-1.9 3.7,-3.6 3.1,0.2 0.5,-1.1 -0.8,-1 0.2,-1.9 4,-0.8 h 2.6 l 2.9,1.5 4.2,1.5 2.4,3.7 2.7,1 1.1,3.4 3.4,1.6 1.6,2.6 1.9,0.6 5.2,1.3 1.3,3.1 3,3.7 v 9.5 l -1.5,4.7 0.3,2.7 1.3,4.8 1.8,4 0.8,-0.5 1.5,-4.5 -2.6,-1 -0.3,-0.6 1.6,-0.6 4.5,1 0.2,1.6 -3.2,5.5 -2.1,2.4 3.6,3.7 2.6,3.1 2.9,5.3 2.9,3.9 2.1,5 1.8,0.3 1.6,-2.1 1.8,1.1 2.6,4 0.6,3.6 3.1,4.4 0.8,-1.3 3.9,0.3 3.6,2.3 3.4,5.2 0.8,3.4 0.3,2.9 1.1,1 1.3,0.5 2.4,-1 1.5,-1.6 3.9,-0.2 3.1,-1.5 2.7,-3.2 -0.5,-1.9 -0.3,-2.4 0.6,-1.9 -0.3,-1.9 2.4,-1.3 0.3,-3.4 -0.6,-1.8 -0.5,-12 -1.3,-7.6 -4.5,-8.2 -3.6,-5.8 -2.6,-5.3 -2.9,-2.9 -2.9,-7.4 0.7,-1.4 1.1,-1.3 -1.6,-2.9 -4,-3.7 -4.8,-5.5 -3.7,-6.3 -5.3,-9.4 -3.7,-9.7 -2.3,-7.3 z m 17.7,132.7 2.4,-0.6 1.3,-0.2 1.5,-2.3 2.3,-1.6 1.3,0.5 1.7,0.3 0.4,1.1 -3.5,1.2 -4.2,1.5 -2.3,1.2 z m 13.5,-5 1.2,1.1 2.7,-2.1 5.3,-4.2 3.7,-3.9 2.5,-6.6 1,-1.7 0.2,-3.4 -0.7,0.5 -1,2.8 -1.5,4.6 -3.2,5.3 -4.4,4.2 -3.4,1.9 z" />
<path
id="GA"
d="m 750.2,444.2 -5.6,-0.7 -1.4,1.6 1.6,4.7 -0.3,3.9 -2.2,-0.6 -0.2,-3 h -5.2 l -5.3,0.7 -32.3,1.9 -7.7,-0.3 -1.4,-1.2 -2.5,-4.3 -0.8,-3.3 -1.6,-0.9 -0.5,-0.5 0.9,-2.2 -0.4,-5.5 -1.6,-4.5 0.8,-4.9 1.7,-4.8 -0.2,-2.5 -1.9,-0.7 -0.4,-3.2 -2.8,-3.5 -1.9,-6.2 -1.5,-7 -1.7,-4.8 -3.8,-16 -3.5,-8 -0.8,-5.3 0.1,-2.3 3.3,-0.3 13.6,-1.6 18.6,-2 6.3,-1.1 0.5,1.4 -2.2,0.9 -0.9,2.2 0.4,2 1.4,1.6 4.3,2.7 3.2,-0.1 3.2,4.7 0.6,1.6 2.3,2.8 0.5,1.7 4.7,1.8 3,2.2 2.3,3 2.3,1.3 2,1.8 1.4,2.7 2.1,1.9 4.1,1.8 2.7,6 1.7,5.1 2.8,0.7 2.1,1.9 2,5.7 2.9,1.6 1.7,-0.8 0.4,1.2 -3.3,6.2 0.5,2.6 -1.5,4.2 -2.3,10 0.8,6.3 z" />
<path
id="IA"
d="m 556.8,183.6 2.1,2.1 0.3,0.7 -2,3 0.3,4 2.6,4.1 3.1,1.6 2.4,0.3 0.9,1.8 0.2,2.4 2.5,1 0.9,1.1 0.5,1.6 3.8,3.3 0.6,1.9 -0.7,3 -1.7,3.7 -0.6,2.4 -2.1,1.6 -1.6,0.5 -5.7,1.5 -1.6,4.8 0.8,1.8 1.7,1.5 -0.2,3.5 -1.9,1.4 -0.7,1.8 v 2.4 l -1.4,0.4 -1.7,1.4 -0.5,1.7 0.4,1.7 -1.3,1 -2.3,-2.7 -1.4,-2.8 -8.3,0.8 -10,0.6 -49.2,1.2 -1.6,-4.3 -0.4,-6.7 -1.4,-4.2 -0.7,-5.2 -2.2,-3.7 -1,-4.6 -2.7,-7.8 -1.1,-5.6 -1.4,-1.9 -1.3,-2.9 1.7,-3.8 1.2,-6.1 -2.7,-2.2 -0.3,-2.4 0.7,-2.4 1.8,-0.3 61.1,-0.6 21.2,-0.7 z" />
<path
id="ID"
d="m 175.3,27.63 -4.8,17.41 -4.5,20.86 -3.4,16.22 -0.4,9.67 1.2,4.44 3.5,2.66 -0.2,3.91 -3.9,4.4 -4.5,6.6 -0.9,2.9 -1.2,1.1 -1.8,0.8 -4.3,5.3 -0.4,3.1 -0.4,1.1 0.6,1 2.6,-0.1 1.1,2.3 -2.4,5.8 -1.2,4.2 -8.8,35.3 20.7,4.5 39.5,7.9 34.8,6.1 4.9,-29.2 3.8,-24.1 -2.7,-2.4 -0.4,-2.6 -0.8,-1.1 -2.1,1 -0.7,2.6 -3.2,0.5 -3.9,-1.6 -3.8,0.1 -2.5,0.7 -3.4,-1.5 -2.4,0.2 -2.4,2 -2,-1.1 -0.7,-4 0.7,-2.9 -2.5,-2.9 -3.3,-2.6 -2.7,-13.1 -0.1,-4.7 -0.3,-0.1 -0.2,0.4 -5.1,3.5 -1.7,-0.2 -2.9,-3.4 -0.2,-3.1 7,-17.13 -0.4,-1.94 -3.4,-1.15 -0.6,-1.18 -2.6,-3.46 -4.6,-10.23 -3.2,-1.53 -2,-4.95 1.3,-4.63 -3.2,-7.58 4.4,-21.52 z" />
<path
id="IL"
d="m 618.7,214.3 -0.8,-2.6 -1.3,-3.7 -1.6,-1.8 -1.5,-2.6 -0.4,-5.5 -15.9,1.8 -17.4,1 h -12.3 l 0.2,2.1 2.2,0.9 1.1,1.4 0.4,1.4 3.9,3.4 0.7,2.4 -0.7,3.3 -1.7,3.7 -0.8,2.7 -2.4,1.9 -1.9,0.6 -5.2,1.3 -1.3,4.1 0.6,1.1 1.9,1.8 -0.2,4.3 -2.1,1.6 -0.5,1.3 v 2.8 l -1.8,0.6 -1.4,1.2 -0.4,1.2 0.4,2 -1.6,1.3 -0.9,2.8 0.3,3.9 2.3,7 7,7.6 5.7,3.7 v 4.4 l 0.7,1.2 6.6,0.6 2.7,1.4 -0.7,3.5 -2.2,6.2 -0.8,3 2,3.7 6.4,5.3 4.8,0.8 2.2,5.1 2,3.4 -0.9,2.8 1.5,3.8 1.7,2.1 1.6,-0.3 1,-2.2 2.4,-1.7 2.8,-1 6.1,2.5 0.5,-0.2 v -1.1 l -1.2,-2.7 0.4,-2.8 2.4,-1.6 3.4,-1.2 -0.5,-1.3 -0.8,-2 1.2,-1.3 1,-2.7 v -4 l 0.4,-4.9 2.5,-3 1.8,-3.8 2.5,-4 -0.5,-5.3 -1.8,-3.2 -0.3,-3.3 0.8,-5.3 -0.7,-7.2 -1.1,-15.8 -1.4,-15.3 -0.9,-11.7 z" />
<path
id="IN"
d="m 622.9,216.1 1.5,1 1.1,-0.3 2.1,-1.9 2.5,-1.8 14.3,-1.1 18.4,-1.8 1.6,15.5 4.9,42.6 -0.6,2.9 1.3,1.6 0.2,1.3 -2.3,1.6 -3.6,1.7 -3.2,0.4 -0.5,4.8 -4.7,3.6 -2.9,4 0.2,2.4 -0.5,1.4 h -3.5 l -1.4,-1.7 -5.2,3 0.2,3.1 -0.9,0.2 -0.5,-0.9 -2.4,-1.7 -3.6,1.5 -1.4,2.9 -1.2,-0.6 -1.6,-1.8 -4.4,0.5 -5.7,1 -2.5,1.3 v -2.6 l 0.4,-4.7 2.3,-2.9 1.8,-3.9 2.7,-4.2 -0.5,-5.8 -1.8,-3.1 -0.3,-3.2 0.8,-5.3 -0.7,-7.1 -0.9,-12.6 -2.5,-30.1 z" />
<path
id="KS"
d="m 485.9,259.5 -43.8,-0.6 -40.6,-1.2 -21.7,-0.9 -4.3,64.8 24.3,1 44.7,2.1 46.3,0.6 12.6,-0.3 0.7,-35 -1.2,-11.1 -2.5,-2 -2.4,-3 -2.3,-3.6 0.6,-3 1.7,-1.4 v -2.1 l -0.8,-0.7 -2.6,-0.2 -3.5,-3.4 z" />
<path
id="KY"
d="m 607.2,331.8 12.6,-0.7 0.1,-4.1 h 4.3 l 30.4,-3.2 45.1,-4.3 5.6,-3.6 3.9,-2.1 0.1,-1.9 6,-7.8 4.1,-3.6 2.1,-2.4 -3.3,-2 -2.5,-2.7 -3,-3.8 -0.5,-2.2 -2.6,-1.4 -0.9,-1.9 -0.2,-6.1 -2.6,-2 -1.9,-1.1 -0.5,-2.3 -1.3,0.2 -2,1.2 -2.5,2.7 -1.9,-1.7 -2.5,-0.5 -2.4,1.4 h -2.3 l -1.8,-2 -5.6,-0.1 -1.8,-4.5 -2.9,-1.5 -2.1,0.8 -4.2,0.2 -0.5,2.1 1.2,1.5 0.3,2.1 -2.8,2 -3.8,1.8 -2.6,0.4 -0.5,4.5 -4.9,3.6 -2.6,3.7 0.2,2.2 -0.9,2.3 -4.5,-0.1 -1.3,-1.3 -3.9,2.2 0.2,3.3 -2.4,0.6 -0.8,-1.4 -1.7,-1.2 -2.7,1.1 -1.8,3.5 -2.2,-1 -1.4,-1.6 -3.7,0.4 -5.6,1 -2.8,1.3 -1.2,3.4 -1,1 1.5,3.7 -4.2,1.4 -1.9,1.4 -0.4,2.2 1.2,2.4 v 2.2 l -1.6,0.4 -6.1,-2.5 -2.3,0.9 -2,1.4 -0.8,1.8 1.7,2.4 -0.9,1.8 -0.1,3.3 -2.4,1.3 -2.1,1.7 z" />
<path
id="LA"
d="m 526.9,485.9 8.1,-0.3 10.3,3.6 6.5,1.1 3.7,-1.5 3.2,1.1 3.2,1 0.8,-2.1 -3.2,-1.1 -2.6,0.5 -2.7,-1.6 0.8,-1.5 3.1,-1 1.8,1.5 1.8,-1 3.2,0.6 1.5,2.4 0.3,2.3 4.5,0.3 1.8,1.8 -0.8,1.6 -1.3,0.8 1.6,1.6 8.4,3.6 3.6,-1.3 1,-2.4 2.6,-0.6 1.8,-1.5 1.3,1 0.8,2.9 -2.3,0.8 0.6,0.6 3.4,-1.3 2.3,-3.4 0.8,-0.5 -2.1,-0.3 0.8,-1.6 -0.2,-1.5 2.1,-0.5 1.1,-1.3 0.6,0.8 0.6,3.1 4.2,0.6 4,1.9 1,1.5 h 2.9 l 1.1,1 2.3,-3.1 V 493 h -1.3 l -3.4,-2.7 -5.8,-0.8 -3.2,-2.3 1.1,-2.7 2.3,0.3 0.2,-0.6 -1.8,-1 v -0.5 h 3.2 l 1.8,-3.1 -1.3,-1.9 -0.3,-2.7 -1.5,0.2 -1.9,2.1 -0.6,2.6 -3.1,-0.6 -1,-1.8 1.8,-1.9 1.9,-1.7 -2.2,-6.5 -3.4,-3.4 1,-7.3 -0.2,-0.5 -1.3,0.2 -33.1,1.4 -0.8,-2.4 0.8,-8.5 8.6,-14.8 -0.9,-2.6 1.4,-0.4 0.4,-2 -2.2,-2 0.1,-1.9 -2,-4.5 -0.4,-5.1 0.1,-0.7 -26.4,0.8 -25.2,0.1 0.4,9.7 0.7,9.5 0.5,3.7 2.6,4.5 0.9,4.4 4.3,6 0.3,3.1 0.6,0.8 -0.7,8.3 -2.8,4.6 1.2,2.4 -0.5,2.6 -0.8,7.3 -1.3,3 0.2,3.7 z" />
<path
id="MA"
d="m 887.5,172.5 -0.5,-2.3 0.8,-1.5 2.9,-1.5 0.8,3.1 -0.5,1.8 -2.4,1.5 v 1 l 1.9,-1.5 3.9,-4.5 3.9,-1.9 4.2,-1.5 -0.3,-2.4 -1,-2.9 -1.9,-2.4 -1.8,-0.8 -2.1,0.2 -0.5,0.5 1,1.3 1.5,-0.8 2.1,1.6 0.8,2.7 -1.8,1.8 -2.3,1 -3.6,-0.5 -3.9,-6 -2.3,-2.6 h -1.8 l -1.1,0.8 -1.9,-2.6 0.3,-1.5 2.4,-5.2 -2.9,-4.4 -3.7,1.8 -1.8,2.9 -18.3,4.7 -13.8,2.5 -0.6,10.6 0.7,4.9 22,-4.8 11.2,-2.8 2,1.6 3.4,4.3 2.9,4.7 z m 12.5,1.4 2.2,-0.7 0.5,-1.7 1,0.1 1,2.3 -1.3,0.5 -3.9,0.1 z m -9.4,0.8 2.3,-2.6 h 1.6 l 1.8,1.5 -2.4,1 -2.2,1 z" />
<path
id="MD"
d="m 834.8,264.1 1.7,-3.8 0.5,-4.8 -6.3,1.1 -5.8,0.3 -3.8,-16.8 -2.3,-5.5 -1.5,-4.6 -22.2,4.3 -37.6,7.6 2,10.4 4.8,-4.9 2.5,-0.7 1.4,-1.5 1.8,-2.7 1.6,0.7 2.6,-0.2 2.6,-2.1 2,-1.5 2.1,-0.6 1.5,1.1 2.7,1.4 1.9,1.8 1.3,1.4 4.8,1.6 -0.6,2.9 5.8,2.1 2.1,-2.6 3.7,2.5 -2.1,3.3 -0.7,3.3 -1.8,2.6 v 2.1 l 0.3,0.8 2,1.3 3.4,1.1 4.3,-0.1 3.1,1 2.1,0.3 1,-2.1 -1.5,-2.1 v -1.8 l -2.4,-2.1 -2.1,-5.5 1.3,-5.3 -0.2,-2.1 -1.3,-1.3 c 0,0 1.5,-1.6 1.5,-2.3 0,-0.6 0.5,-2.1 0.5,-2.1 l 1.9,-1.3 1.9,-1.6 0.5,1 -1.5,1.6 -1.3,3.7 0.3,1.1 1.8,0.3 0.5,5.5 -2.1,1 0.3,3.6 0.5,-0.2 1.1,-1.9 1.6,1.8 -1.6,1.3 -0.3,3.4 2.6,3.4 3.9,0.5 1.6,-0.8 3.2,4.2 1,0.4 z m -14.5,0.2 1.1,2.5 0.2,1.8 1.1,1.9 c 0,0 0.9,-0.9 0.9,-1.2 0,-0.3 -0.7,-3.1 -0.7,-3.1 l -0.7,-2.3 z" />
<path
id="ME"
d="m 865.8,91.9 1.5,0.4 v -2.6 l 0.8,-5.5 2.6,-4.7 1.5,-4 -1.9,-2.4 v -6 l 0.8,-1 0.8,-2.7 -0.2,-1.5 -0.2,-4.8 1.8,-4.8 2.9,-8.9 2.1,-4.2 h 1.3 l 1.3,0.2 v 1.1 l 1.3,2.3 2.7,0.6 0.8,-0.8 v -1 l 4,-2.9 1.8,-1.8 1.5,0.2 6,2.4 1.9,1 9.1,29.9 h 6 l 0.8,1.9 0.2,4.8 2.9,2.3 h 0.8 l 0.2,-0.5 -0.5,-1.1 2.8,-0.5 1.9,2.1 2.3,3.7 V 85 l -2.1,4.7 -1.9,0.6 -3.4,3.1 -4.8,5.5 h -1.3 c -0.6,0 -1,-2.1 -1,-2.1 l -1.8,0.2 -1,1.5 -2.4,1.5 -1,1.5 1.6,1.5 -0.5,0.6 -0.5,2.7 -1.9,-0.2 v -1.6 l -0.3,-1.3 -1.5,0.3 -1.8,-3.2 -2.1,1.3 1.3,1.5 0.3,1.1 -0.8,1.3 0.3,3.1 0.2,1.6 -1.6,2.6 -2.9,0.5 -0.3,2.9 -5.3,3.1 -1.3,0.5 -1.6,-1.5 -3.1,3.6 1,3.2 -1.5,1.3 -0.2,4.4 -1.1,6.3 -2.2,-0.9 -0.5,-3.1 -4,-1.1 -0.2,-2.5 -11.7,-37.43 z m 36.5,15.6 1.5,-1.5 1.4,1.1 0.6,2.4 -1.7,0.9 z m 6.7,-5.9 1.8,1.9 c 0,0 1.3,0.1 1.3,-0.2 0,-0.3 0.2,-2 0.2,-2 l 0.9,-0.8 -0.8,-1.8 -2,0.7 z" />
<path
id="MI"
d="m 644.5,211 19.1,-1.9 0.2,1.1 9.9,-1.5 12,-1.7 0.1,-0.6 0.2,-1.5 2.1,-3.7 2,-1.7 -0.2,-5.1 1.6,-1.6 1.1,-0.3 0.2,-3.6 1.5,-3 1.1,0.6 0.2,0.6 0.8,0.2 1.9,-1 -0.4,-9.1 -3.2,-8.2 -2.3,-9.1 -2.4,-3.2 -2.6,-1.8 -1.6,1.1 -3.9,1.8 -1.9,5 -2.7,3.7 -1.1,0.6 -1.5,-0.6 c 0,0 -2.6,-1.5 -2.4,-2.1 0.2,-0.6 0.5,-5 0.5,-5 l 3.4,-1.3 0.8,-3.4 0.6,-2.6 2.4,-1.6 -0.3,-10 -1.6,-2.3 -1.3,-0.8 -0.8,-2.1 0.8,-0.8 1.6,0.3 0.2,-1.6 -2.6,-2.2 -1.3,-2.6 h -2.6 l -4.5,-1.5 -5.5,-3.4 h -2.7 l -0.6,0.6 -1,-0.5 -3.1,-2.3 -2.9,1.8 -2.9,2.3 0.3,3.6 1,0.3 2.1,0.5 0.5,0.8 -2.6,0.8 -2.6,0.3 -1.5,1.8 -0.3,2.1 0.3,1.6 0.3,5.5 -3.6,2.1 -0.6,-0.2 v -4.2 l 1.3,-2.4 0.6,-2.4 -0.8,-0.8 -1.9,0.8 -1,4.2 -2.7,1.1 -1.8,1.9 -0.2,1 0.6,0.8 -0.6,2.6 -2.3,0.5 v 1.1 l 0.8,2.4 -1.1,6.1 -1.6,4 0.6,4.7 0.5,1.1 -0.8,2.4 -0.3,0.8 -0.3,2.7 3.6,6 2.9,6.5 1.5,4.8 -0.8,4.7 -1,6 -2.4,5.2 -0.3,2.7 -3.2,3.1 z m -33.3,-72.4 -1.3,-1.1 -1.8,-10.4 -3.7,-1.3 -1.7,-2.3 -12.6,-2.8 -2.8,-1.1 -8.1,-2.2 -7.8,-1 -3.9,-5.3 0.7,-0.5 2.7,-0.8 3.6,-2.3 v -1 l 0.6,-0.6 6,-1 2.4,-1.9 4.4,-2.1 0.2,-1.3 1.9,-2.9 1.8,-0.8 1.3,-1.8 2.3,-2.3 4.4,-2.4 4.7,-0.5 1.1,1.1 -0.3,1 -3.7,1 -1.5,3.1 -2.3,0.8 -0.5,2.4 -2.4,3.2 -0.3,2.6 0.8,0.5 1,-1.1 3.6,-2.9 1.3,1.3 h 2.3 l 3.2,1 1.5,1.1 1.5,3.1 2.7,2.7 3.9,-0.2 1.5,-1 1.6,1.3 1.6,0.5 1.3,-0.8 h 1.1 l 1.6,-1 4,-3.6 3.4,-1.1 6.6,-0.3 4.5,-1.9 2.6,-1.3 1.5,0.2 v 5.7 l 0.5,0.3 2.9,0.8 1.9,-0.5 6.1,-1.6 1.1,-1.1 1.5,0.5 v 7 l 3.2,3.1 1.3,0.6 1.3,1 -1.3,0.3 -0.8,-0.3 -3.7,-0.5 -2.1,0.6 -2.3,-0.2 -3.2,1.5 h -1.8 l -5.8,-1.3 -5.2,0.2 -1.9,2.6 -7,0.6 -2.4,0.8 -1.1,3.1 -1.3,1.1 -0.5,-0.2 -1.5,-1.6 -4.5,2.4 h -0.6 l -1.1,-1.6 -0.8,0.2 -1.9,4.4 -1,4 -3.2,6.9 z m -29.6,-56.5 1.8,-2.1 2.2,-0.8 5.4,-3.9 2.3,-0.6 0.5,0.5 -5.1,5.1 -3.3,1.9 -2.1,0.9 z m 86.2,32.1 0.6,2.5 3.2,0.2 1.3,-1.2 c 0,0 -0.1,-1.5 -0.4,-1.6 -0.3,-0.2 -1.6,-1.9 -1.6,-1.9 l -2.2,0.2 -1.6,0.2 -0.3,1.1 z" />
<path
id="MN"
d="M 464.6,66.79 464,70.7 v 10.27 l 1.6,5.03 1.9,3.32 0.5,9.93 1.8,13.45 1.8,7.3 0.4,6.4 v 5.3 l -1.6,1.8 -1.8,1.3 v 1.5 l 0.9,1.7 4.1,3.5 0.7,3.2 v 35.9 l 60.3,-0.6 21.2,-0.7 -0.5,-6 -1.8,-2.1 -7.2,-4.6 -3.6,-5.3 -3.4,-0.9 -2,-2.8 h -3.2 l -3.5,-3.8 -0.5,-7 0.1,-3.9 1.5,-3 -0.7,-2.7 -2.8,-3.1 2.2,-6.1 5.4,-4 1.2,-1.4 -0.2,-8 0.2,-3 2.6,-3 3.8,-2.9 1.3,-0.2 4.5,-5 1.8,-0.8 2.3,-3.9 2.4,-3.6 3.1,-2.6 4.8,-2 9.2,-4.1 3.9,-1.8 0.6,-2.3 -4.4,0.4 -0.7,1.1 h -0.6 l -1.8,-3.1 -8.9,0.3 -1,0.8 h -1 l -0.5,-1.3 -0.8,-1.8 -2.6,0.5 -3.2,3.2 -1.6,0.8 h -3.1 l -2.6,-1 v -2.1 l -1.3,-0.2 -0.5,0.5 -2.6,-1.3 -0.5,-2.9 -1.5,0.5 -0.5,1 -2.4,-0.5 -5.3,-2.4 -3.9,-2.6 h -2.9 l -1.3,-1 -2.3,0.6 -1.1,1.1 -0.3,1.3 h -4.8 v -2.1 l -6.3,-0.3 -0.3,-1.5 h -4.8 l -1.6,-1.6 -1.5,-6.1 -0.8,-5.5 -1.9,-0.8 -2.3,-0.5 -0.6,0.2 -0.3,8.2 -30.1,-0.03 z" />
<path
id="MO"
d="m 593.1,338.7 0.5,-5.9 4.2,-3.4 1.9,-1 v -2.9 l 0.7,-1.6 -1.1,-1.6 -2.4,0.3 -2.1,-2.5 -1.7,-4.5 0.9,-2.6 -2,-3.2 -1.8,-4.6 -4.6,-0.7 -6.8,-5.6 -2.2,-4.2 0.8,-3.3 2.2,-6 0.6,-3 -1.9,-1 -6.9,-0.6 -1.1,-1.9 v -4.1 l -5.3,-3.5 -7.2,-7.8 -2.3,-7.3 -0.5,-4.2 0.7,-2.4 -2.6,-3.1 -1.2,-2.4 -7.7,0.8 -10,0.6 -48.8,1.2 1.3,2.6 -0.1,2.2 2.3,3.6 3,3.9 3.1,3 2.6,0.2 1.4,1.1 v 2.9 l -1.8,1.6 -0.5,2.3 2.1,3.2 2.4,3 2.6,2.1 1.3,11.6 -0.8,40 0.5,5.7 23.7,-0.2 23.3,-0.7 32.5,-1.3 2.2,3.7 -0.8,3.1 -3.1,2.5 -0.5,1.8 5.2,0.5 4.1,-1.1 z" />
<path
id="MS"
d="m 604.3,472.5 2.6,-4.2 1.8,0.8 6.8,-1.9 2.1,0.3 1.5,0.8 h 5.2 l 0.4,-1.6 -1.7,-14.8 -2.8,-19 1,-45.1 -0.2,-16.7 0.2,-6.3 -4.8,0.3 -19.6,1.6 -13,0.4 -0.2,3.2 -2.8,1.3 -2.6,5.1 0.5,1.6 0.1,2.4 -2.9,1.1 -3.5,5.1 0.8,2.3 -3,2.5 -1,5.7 -0.6,1.9 1.6,2.5 -1.5,1.4 1.5,2.8 0.3,4.2 -1.2,2.5 -0.2,0.9 0.4,5 2,4.5 -0.1,1.7 2.3,2 -0.7,3.1 -0.9,0.3 0.6,1.9 -8.6,15 -0.8,8.2 0.5,1.5 24.2,-0.7 8.2,-0.7 1.9,-0.3 0.6,1.4 -1,7.1 3.3,3.3 2.2,6.4 z" />
<path
id="MT"
d="m 361.1,70.77 -5.3,57.13 -1.3,15.2 -59.1,-6.6 -49,-7.1 -1.4,11.2 -1.9,-1.7 -0.4,-2.5 -1.3,-1.9 -3.3,1.5 -0.7,2.5 -2.3,0.3 -3.8,-1.6 -4.1,0.1 -2.4,0.7 -3.2,-1.5 -3,0.2 -2.1,1.9 -0.9,-0.6 -0.7,-3.4 0.7,-3.2 -2.7,-3.2 -3.3,-2.5 -2.5,-12.6 -0.1,-5.3 -1.6,-0.8 -0.6,1 -4.5,3.2 -1.2,-0.1 -2.3,-2.8 -0.2,-2.8 7,-17.15 -0.6,-2.67 -3.5,-1.12 -0.4,-0.91 -2.7,-3.5 -4.6,-10.41 -3.2,-1.58 -1.8,-4.26 1.3,-4.63 -3.2,-7.57 4.4,-21.29 32.7,6.89 18.4,3.4 32.3,5.3 29.3,4 29.2,3.5 30.8,3.07 z" />
<path
id="NC"
d="M 786.7,357.7 774,350 l -3.1,-0.8 -16.6,2.1 -1.6,-3 -2.8,-2.2 -16.7,0.5 -7.4,0.9 -9.2,4.5 -6.8,2.7 -6.5,1.2 -13.4,1.4 0.1,-4.1 1.7,-1.3 2.7,-0.7 0.7,-3.8 3.9,-2.5 3.9,-1.5 4.5,-3.7 4.4,-2.3 0.7,-3.2 4.1,-3.8 0.7,1 2.5,0.2 2.4,-3.6 1.7,-0.4 2.6,0.3 1.8,-4 2.5,-2.4 0.5,-1.8 0.1,-3.5 4.4,0.1 38.5,-5.6 57.5,-12.3 2,4.8 3.6,6.5 2.4,2.4 0.6,2.3 -2.4,0.2 0.8,0.6 -0.3,4.2 -2.6,1.3 -0.6,2.1 -1.3,2.9 -3.7,1.6 -2.4,-0.3 -1.5,-0.2 -1.6,-1.3 0.3,1.3 v 1 h 1.9 l 0.8,1.3 -1.9,6.3 h 4.2 l 0.6,1.6 2.3,-2.3 1.3,-0.5 -1.9,3.6 -3.1,4.8 H 828 l -1.1,-0.5 -2.7,0.6 -5.2,2.4 -6.5,5.3 -3.4,4.7 -1.9,6.5 -0.5,2.4 -4.7,0.5 -5.1,1.5 z m 49.3,-26.2 2.6,-2.5 3.2,-2.6 1.5,-0.6 0.2,-2 -0.6,-6.1 -1.5,-2.3 -0.6,-1.9 0.7,-0.2 2.7,5.5 0.4,4.4 -0.2,3.4 -3.4,1.5 -2.8,2.4 -1.1,1.2 z" />
<path
id="ND"
d="m 471,126.4 -0.4,-6.2 -1.8,-7.3 -1.8,-13.61 -0.5,-9.7 -1.9,-3.18 -1.6,-5.32 V 70.68 l 0.6,-3.85 -1.8,-5.54 -28.6,-0.59 -18.6,-0.6 -26.5,-1.3 -25.2,-2.16 -0.9,14.42 -4.7,50.94 56.8,3.9 56.9,1.7 z" />
<path
id="NE"
d="m 470.3,204.3 -1,-2.3 -0.5,-1.6 -2.9,-1.6 -4.8,-1.5 -2.2,-1.2 -2.6,0.1 -3.7,0.4 -4.2,1.2 -6,-4.1 -2.2,-2 -10.7,0.6 -41.5,-2.4 -35.6,-2.2 -4.3,43.7 33.1,3.3 -1.4,21.1 21.7,1 40.6,1.2 43.8,0.6 h 4.5 l -2.2,-3 -2.6,-3.9 0.1,-2.3 -1.4,-2.7 -1.9,-5.2 -0.4,-6.7 -1.4,-4.1 -0.5,-5 -2.3,-3.7 -1,-4.7 -2.8,-7.9 -1,-5.3 z" />
<path
id="NH"
d="m 881.7,141.3 1.1,-3.2 -2.7,-1.2 -0.5,-3.1 -4.1,-1.1 -0.3,-3 -11.7,-37.48 -0.7,0.08 -0.6,1.6 -0.6,-0.5 -1,-1 -1.5,1.9 -0.2,2.29 0.5,8.41 1.9,2.8 v 4.3 l -3.9,4.8 -2.4,0.9 v 0.7 l 1.1,1.9 v 8.6 l -0.8,9.2 -0.2,4.7 1,1.4 -0.2,4.7 -0.5,1.5 1,1.1 5.1,-1.2 13.8,-3.5 1.7,-2.9 4,-1.9 z" />
<path
id="NJ"
d="m 823.7,228.3 0.1,-1.5 2.7,-1.3 1.7,-2.8 1.7,-2.4 3.3,-3.2 v -1.2 l -6.1,-4.1 -1,-2.7 -2.7,-0.3 -0.1,-0.9 -0.7,-2.2 2.2,-1.1 0.2,-2.9 -1.3,-1.3 0.2,-1.2 1.9,-3.1 V 193 l 2.5,-3.1 5.6,2.5 6.4,1.9 2.5,1.2 0.1,1.8 -0.5,2.7 0.4,4.5 -2.1,1.9 -1.1,1 0.5,0.5 2.7,-0.3 1.1,-0.8 1.6,3.4 0.2,9.4 0.6,1.1 -1.1,5.5 -3.1,6.5 -2.7,4 -0.8,4.8 -2.1,2.4 h -0.8 l -0.3,-2.7 0.8,-1 -0.2,-1.5 -4,-0.6 -4.8,-2.3 -3.2,-2.9 -1,-2 z" />
<path
id="NM"
d="m 270.2,429.4 -16.7,-2.6 -1.2,9.6 -15.8,-2 6,-39.7 7,-53.2 4.4,-30.9 34,3.9 37.4,4.4 32,2.8 -0.3,10.8 -1.4,-0.1 -7.4,97.7 -28.4,-1.8 -38.1,-3.7 0.7,6.3 z" />
<path
id="NV"
d="m 123.1,173.6 38.7,8.5 26,5.2 -10.6,53.1 -5.4,29.8 -3.3,15.5 -2.1,11.1 -2.6,16.4 -1.7,3.1 -1.6,-0.1 -1.2,-2.6 -2.8,-0.5 -1.3,-1.1 -1.8,0.1 -0.9,0.8 -1.8,1.3 -0.3,7.3 -0.3,1.5 -0.5,12.4 -1.1,1.8 -16.7,-25.5 -42.1,-62.1 -12.43,-19 8.55,-32.6 8.01,-31.3 z" />
<path
id="NY"
d="m 843.4,200 0.5,-2.7 -0.2,-2.4 -3,-1.5 -6.5,-2 -6,-2.6 -0.6,-0.4 -2.7,-0.3 -2,-1.5 -2.1,-5.9 -3.3,-0.5 -2.4,-2.4 -38.4,8.1 -31.6,6 -0.5,-6.5 1.6,-1.2 1.3,-1.1 1,-1.6 1.8,-1.1 1.9,-1.8 0.5,-1.6 2.1,-2.7 1.1,-1 -0.2,-1 -1.3,-3.1 -1.8,-0.2 -1.9,-6.1 2.9,-1.8 4.4,-1.5 4,-1.3 3.2,-0.5 6.3,-0.2 1.9,1.3 1.6,0.2 2.1,-1.3 2.6,-1.1 5.2,-0.5 2.1,-1.8 1.8,-3.2 1.6,-1.9 h 2.1 l 1.9,-1.1 0.2,-2.3 -1.5,-2.1 -0.3,-1.5 1.1,-2.1 v -1.5 h -1.8 l -1.8,-0.8 -0.8,-1.1 -0.2,-2.6 5.8,-5.5 0.6,-0.8 1.5,-2.9 2.9,-4.5 2.7,-3.7 2.1,-2.4 2.4,-1.8 3.1,-1.2 5.5,-1.3 3.2,0.2 4.5,-1.5 7.4,-2.2 0.7,4.9 2.4,6.5 0.8,5 -1,4.2 2.6,4.5 0.8,2 -0.9,3.2 3.7,1.7 2.7,10.2 v 5.8 l -0.6,10.9 0.8,5.4 0.7,3.6 1.5,7.3 v 8.1 l -1.1,2.3 2.1,2.7 0.5,0.9 -1.9,1.8 0.3,1.3 1.3,-0.3 1.5,-1.3 2.3,-2.6 1.1,-0.6 1.6,0.6 2.3,0.2 7.9,-3.9 2.9,-2.7 1.3,-1.5 4.2,1.6 -3.4,3.6 -3.9,2.9 -7.1,5.3 -2.6,1 -5.8,1.9 -4,1.1 -1,-0.4 z" />
<path
id="OH"
d="m 663.8,211.2 1.7,15.5 4.8,41.1 3.9,-0.2 2.3,-0.8 3.6,1.8 1.7,4.2 5.4,0.1 1.8,2 h 1.7 l 2.4,-1.4 3.1,0.5 1.5,1.3 1.8,-2 2.3,-1.4 2.4,-0.4 0.6,2.7 1.6,1 2.6,2 0.8,0.2 2,-0.1 1.2,-0.6 v -2.1 l 1.7,-1.5 0.1,-4.8 1.1,-4.2 1.9,-1.3 1,0.7 1,1.1 0.7,0.2 0.4,-0.4 -0.9,-2.7 v -2.2 l 1.1,-1.4 2.5,-3.6 1.3,-1.5 2.2,0.5 2.1,-1.5 3,-3.3 2.2,-3.7 0.2,-5.4 0.5,-5 V 230 l -1.2,-3.2 1.2,-1.8 1.3,-1.2 -0.6,-2.8 -4.3,-25.6 -6.2,3.7 -3.9,2.3 -3.4,3.7 -4,3.9 -3.2,0.8 -2.9,0.5 -5.5,2.6 -2.1,0.2 -3.4,-3.1 -5.2,0.6 -2.6,-1.5 -2.2,-1.3 z" />
<path
id="OK"
d="m 411.9,334.9 -1.8,24.3 -0.9,18 0.2,1.6 4,3.6 1.7,0.9 h 0.9 l 0.9,-2.1 1.5,1.9 1.6,0.1 0.3,-0.2 0.2,-1.1 2.8,1.4 -0.4,3.5 3.8,0.5 2.5,1 4.2,0.6 2.3,1.6 2.5,-1.7 3.5,0.7 2.2,3.1 1.2,0.1 v 2.3 l 2.1,0.7 2.5,-2.1 1.8,0.6 2.7,0.1 0.7,2.3 4.4,1.8 1.7,-0.3 1.9,-4.2 h 1.3 l 1.1,2.1 4.2,0.8 3.4,1.3 3,0.8 1.6,-0.7 0.7,-2.7 h 4.5 l 1.9,0.9 2.7,-1.9 h 1.4 l 0.6,1.4 h 3.6 l 2,-1.8 2.3,0.6 1.7,2.2 3,1.7 3.4,0.9 1.9,1.2 -0.3,-37.6 -1.4,-10.9 -0.1,-8.6 -1.5,-6.6 -0.6,-6.8 0.1,-4.3 -12.6,0.3 -46.3,-0.5 -44.7,-2.1 -41.5,-1.8 -0.4,10.7 z" />
<path
id="OR"
d="m 67.44,158.9 28.24,7.2 27.52,6.5 17,3.7 8.8,-35.1 1.2,-4.4 2.4,-5.5 -0.7,-1.3 -2.5,0.1 -1.3,-1.8 0.6,-1.5 0.4,-3.3 4.7,-5.7 1.9,-0.9 0.9,-0.8 0.7,-2.7 0.8,-1.1 3.9,-5.7 3.7,-4 0.2,-3.26 -3.4,-2.49 -1.2,-4.55 -13.1,-3.83 -15.3,-3.47 -14.8,0.37 -1.1,-1.31 -5.1,1.84 -4.5,-0.48 -2.4,-1.58 -1.3,0.54 -4.68,-0.29 -1.96,-1.43 -4.84,-1.77 -1.1,-0.07 -4.45,-1.27 -1.76,1.52 -6.26,-0.24 -5.31,-3.85 0.21,-9.28 -2.05,-3.5 -4.1,-0.6 -0.7,-2.5 -2.4,-0.5 -5.8,2.1 -2.3,6.5 -3.2,10 -3.2,6.5 -5,14.1 -6.5,13.6 -8.1,12.6 -1.9,2.9 -0.8,8.6 -1.3,6 2.71,3.5 z" />
<path
id="PA"
d="m 736.6,192.2 1.3,-0.5 5.7,-5.5 0.7,6.9 33.5,-6.5 36.9,-7.8 2.3,2.3 3.1,0.4 2,5.6 2.4,1.9 2.8,0.4 0.1,0.1 -2.6,3.2 v 3.1 l -1.9,3.1 -0.2,1.9 1.3,1.3 -0.2,1.9 -2.4,1.1 1,3.4 0.2,1.1 2.8,0.3 0.9,2.5 5.9,3.9 v 0.4 l -3.1,3 -1.5,2.2 -1.7,2.8 -2.7,1.2 -1.4,0.3 -2.1,1.3 -1.6,1.4 -22.4,4.3 -38.7,7.8 -11.3,1.4 -3.9,0.7 -5.1,-22.4 -4.3,-25.9 z" />
<path
id="RI"
d="m 873.6,175.7 -0.8,-4.4 -1.6,-6 5.7,-1.5 1.5,1.3 3.4,4.3 2.8,4.4 -2.8,1.4 -1.3,-0.2 -1.1,1.8 -2.4,1.9 -2.8,1.1 z" />
<path
id="SC"
d="m 759,413.6 -2.1,-1 -1.9,-5.6 -2.5,-2.3 -2.5,-0.5 -1.5,-4.6 -3,-6.5 -4.2,-1.8 -1.9,-1.8 -1.2,-2.6 -2.4,-2 -2.3,-1.3 -2.2,-2.9 -3.2,-2.4 -4.4,-1.7 -0.4,-1.4 -2.3,-2.8 -0.5,-1.5 -3.8,-5.4 -3.4,0.1 -3.9,-2.5 -1.2,-1.2 -0.2,-1.4 0.6,-1.6 2.7,-1.3 -0.8,-2 6.4,-2.7 9.2,-4.5 7.1,-0.9 16.4,-0.5 2.3,1.9 1.8,3.5 4.6,-0.8 12.6,-1.5 2.7,0.8 12.5,7.4 10.1,8.3 -5.3,5.4 -2.6,6.1 -0.5,6.3 -1.6,0.8 -1.1,2.7 -2.4,0.6 -2.1,3.6 -2.7,2.7 -2.3,3.4 -1.6,0.8 -3.6,3.4 -2.9,0.2 1,3.2 -5,5.3 -2.3,1.6 z" />
<path
id="SD"
d="m 471,181.1 -0.9,3.2 0.4,3 2.6,2 -1.2,5.4 -1.8,4.1 1.5,3.3 0.7,1.1 -1.3,0.1 -0.7,-1.6 -0.6,-2 -3.3,-1.8 -4.8,-1.5 -2.5,-1.3 -2.9,0.1 -3.9,0.4 -3.8,1.2 -5.3,-3.8 -2.7,-2.4 -10.9,0.8 -41.5,-2.4 -35.6,-2.2 1.5,-24.8 2.8,-34 0.4,-5 56.9,3.9 56.9,1.7 v 2.7 l -1.3,1.5 -2,1.5 -0.1,2.2 1.1,2.2 4.1,3.4 0.5,2.7 v 35.9 z" />
<path
id="TN"
d="m 670.8,359.6 -13.1,1.2 -23.3,2.2 -37.6,2.7 -11.8,0.4 0.9,-0.6 0.9,-4.5 -1.2,-3.6 3.9,-2.3 0.4,-2.5 1.2,-4.3 3,-9.5 0.5,-5.6 0.3,-0.2 12.3,-0.2 13.6,-0.8 0.1,-3.9 3.5,-0.1 30.4,-3.3 54,-5.2 10.3,-1.5 7.6,-0.2 2.4,-1.9 1.3,0.3 -0.1,3.3 -0.4,1.6 -2.4,2.2 -1.6,3.6 -2,-0.4 -2.4,0.9 -2.2,3.3 -1.4,-0.2 -0.8,-1.2 -1.1,0.4 -4.3,4 -0.8,3.1 -4.2,2.2 -4.3,3.6 -3.8,1.5 -4.4,2.8 -0.6,3.6 -2.5,0.5 -2,1.7 -0.2,4.8 z" />
<path
id="TX"
d="m 282.8,425.6 37,3.6 29.3,1.9 7.4,-97.7 54.4,2.4 -1.7,23.3 -1,18 0.2,2 4.4,4.1 2,1.1 h 1.8 l 0.5,-1.2 0.7,0.9 2.4,0.2 1.1,-0.6 v -0.2 l 1,0.5 -0.4,3.7 4.5,0.7 2.4,0.9 4.2,0.7 2.6,1.8 2.8,-1.9 2.7,0.6 2.2,3.1 0.8,0.1 v 2.1 l 3.3,1.1 2.5,-2.1 1.5,0.5 2.1,0.1 0.6,2.1 5.2,2 2.3,-0.5 1.9,-4 h 0.1 l 1.1,1.9 4.6,0.9 3.4,1.3 3.2,1 2.4,-1.2 0.7,-2.3 h 3.6 l 2.1,1 3,-2 h 0.4 l 0.5,1.4 h 4.7 l 1.9,-1.8 1.3,0.4 1.7,2.1 3.3,1.9 3.4,1 2.5,1.4 2.7,2 3.1,-1.2 2.1,0.8 0.7,20 0.7,9.5 0.6,4.1 2.6,4.4 0.9,4.5 4.2,5.9 0.3,3.1 0.6,0.8 -0.7,7.7 -2.9,4.8 1.3,2.6 -0.5,2.4 -0.8,7.2 -1.3,3 0.3,4.2 -5.6,1.6 -9.9,4.5 -1,1.9 -2.6,1.9 -2.1,1.5 -1.3,0.8 -5.7,5.3 -2.7,2.1 -5.3,3.2 -5.7,2.4 -6.3,3.4 -1.8,1.5 -5.8,3.6 -3.4,0.6 -3.9,5.5 -4,0.3 -1,1.9 2.3,1.9 -1.5,5.5 -1.3,4.5 -1.1,3.9 -0.8,4.5 0.8,2.4 1.8,7 1,6.1 1.8,2.7 -1,1.5 -3.1,1.9 -5.7,-3.9 -5.5,-1.1 -1.3,0.5 -3.2,-0.6 -4.2,-3.1 -5.2,-1.1 -7.6,-3.4 -2.1,-3.9 -1.3,-6.5 -3.2,-1.9 -0.6,-2.3 0.6,-0.6 0.3,-3.4 -1.3,-0.6 -0.6,-1 1.3,-4.4 -1.6,-2.3 -3.2,-1.3 -3.4,-4.4 -3.6,-6.6 -4.2,-2.6 0.2,-1.9 -5.3,-12.3 -0.8,-4.2 -1.8,-1.9 -0.2,-1.5 -6,-5.3 -2.6,-3.1 v -1.1 l -2.6,-2.1 -6.8,-1.1 -7.4,-0.6 -3.1,-2.3 -4.5,1.8 -3.6,1.5 -2.3,3.2 -1,3.7 -4.4,6.1 -2.4,2.4 -2.6,-1 -1.8,-1.1 -1.9,-0.6 -3.9,-2.3 v -0.6 l -1.8,-1.9 -5.2,-2.1 -7.4,-7.8 -2.3,-4.7 v -8.1 l -3.2,-6.5 -0.5,-2.7 -1.6,-1 -1.1,-2.1 -5,-2.1 -1.3,-1.6 -7.1,-7.9 -1.3,-3.2 -4.7,-2.3 -1.5,-4.4 -2.6,-2.9 -1.7,-0.5 z m 174.4,141.7 -0.6,-7.1 -2.7,-7.2 -0.6,-7 1.5,-8.2 3.3,-6.9 3.5,-5.4 3.2,-3.6 0.6,0.2 -4.8,6.6 -4.4,6.5 -2,6.6 -0.3,5.2 0.9,6.1 2.6,7.2 0.5,5.2 0.2,1.5 z" />
<path
id="UT"
d="m 228.4,305.9 24.6,3.6 1.9,-13.7 7,-50.5 2.3,-22 -32.2,-3.5 2.2,-13.1 1.8,-10.6 -34.7,-6.1 -12.5,-2.5 -10.6,52.9 -5.4,30 -3.3,15.4 -1.7,9.2 z" />
<path
id="VA"
d="m 834.7,265.2 -0.2,2.8 -2.9,3.8 -0.4,4.6 0.5,3.4 -1.8,5 -2.2,1.9 -1.5,-4.6 0.4,-5.4 1.6,-4.2 0.7,-3.3 -0.1,-1.7 z m -60.3,44.6 -38.6,5.6 -4.8,-0.1 -2.2,-0.3 -2.5,1.9 -7.3,0.1 -10.3,1.6 -6.7,0.6 4.1,-2.6 4.1,-2.3 v -2.1 l 5.7,-7.3 4.1,-3.7 2.2,-2.5 3.6,4.3 3.8,0.9 2.7,-1 2,-1.5 2.4,1.2 4.6,-1.3 1.7,-4.4 2.4,0.7 3.2,-2.3 1.6,0.4 2.8,-3.2 0.2,-2.7 -0.8,-1.2 4.8,-10.5 1.8,-5.2 0.5,-4.7 0.7,-0.2 1.1,1.7 1.5,1.2 3.9,-0.2 1.7,-8.1 3,-0.6 0.8,-2.6 2.8,-2.2 1.1,-2.1 1.8,-4.3 0.1,-4.6 3.6,1.4 6.6,3.1 0.3,-5.2 3.4,1.2 -0.6,2.9 8.6,3.1 1.4,1.8 -0.8,3.3 -1.3,1.3 -0.5,1.7 0.5,2.4 2,1.3 3.9,1.4 2.9,1 4.9,0.9 2.2,2.1 3.2,0.4 0.9,1.2 -0.4,4.7 1.4,1.1 -0.5,1.9 1.2,0.8 -0.2,1.4 -2.7,-0.1 0.1,1.6 2.3,1.5 0.1,1.4 1.8,1.8 0.5,2.5 -2.6,1.4 1.6,1.5 5.8,-1.7 3.7,6.2 z" />
<path
id="VT"
d="m 832.7,111.3 2.4,6.5 0.8,5.3 -1,3.9 2.5,4.4 0.9,2.3 -0.7,2.6 3.3,1.5 2.9,10.8 v 5.3 l 11.5,-2.1 -1,-1.1 0.6,-1.9 0.2,-4.3 -1,-1.4 0.2,-4.7 0.8,-9.3 v -8.5 l -1.1,-1.8 v -1.6 l 2.8,-1.1 3.5,-4.4 v -3.6 l -1.9,-2.7 -0.3,-5.79 -26.1,6.79 z" />
<path
id="WA"
d="m 74.5,67.7 -2.3,-4.3 -4.1,-0.7 -0.4,-2.4 -2.5,-0.6 -2.9,-0.5 -1.8,1 -2.3,-2.9 0.3,-2.9 2.7,-0.3 1.6,-4 L 60.2,49 60.4,45.3 64.8,44.7 62.1,42 60.6,34.9 61.2,32 v -7.9 l -1.8,-3.2 2.3,-9.4 2.1,0.5 2.4,2.9 2.7,2.6 3.2,1.9 4.5,2.1 3.1,0.6 2.9,1.5 3.4,1 2.3,-0.2 V 22 l 1.3,-1.1 2.1,-1.3 0.3,1.1 0.3,1.8 -2.3,0.5 -0.3,2.1 1.8,1.5 1.1,2.4 0.6,1.9 1.5,-0.2 0.2,-1.3 -1,-1.3 -0.5,-3.2 0.8,-1.8 -0.6,-1.5 V 19 L 95.4,15.4 94.3,12.8 91.9,8 92.2,7.2 93.6,6.4 98,7.9 l 9.7,2.7 8.6,1.9 20,5.7 23,5.7 15,3.49 -4.8,17.56 -4.5,20.83 -3.4,16.25 -0.4,9.18 -12.9,-3.72 -15.3,-3.47 -14.5,0.32 -1.1,-1.53 -5.7,2.09 -3.9,-0.42 -2.6,-1.79 -1.7,0.65 -4.15,-0.25 -1.72,-1.32 -5.16,-1.82 -1.18,-0.16 -4.8,-1.39 -1.92,1.65 -5.65,-0.25 -4.61,-3.35 z m 9.6,-55.4 2,-0.2 0.5,1.4 1.5,-1.6 h 2.3 l 0.8,1.5 -1.5,1.7 0.6,0.8 -0.7,2 -1.4,0.4 c 0,0 -0.9,0.1 -0.9,-0.2 0,-0.3 1.5,-2.6 1.5,-2.6 l -1.7,-0.6 -0.3,1.5 -0.7,0.6 -1.5,-2.3 z" />
<path
id="WI"
d="m 541.4,109.9 2.9,0.5 2.9,-0.6 7.4,-3.2 2.9,-1.9 2.1,-0.8 1.9,1.5 -1.1,1.1 -1.9,3.1 -0.6,1.9 1,0.6 1.8,-1 1.1,-0.2 2.7,0.8 0.6,1.1 1.1,0.2 0.6,-1.1 4,5.3 8.2,1.2 8.2,2.2 2.6,1.1 12.3,2.6 1.6,2.3 3.6,1.2 1.7,10.2 1.6,1.4 1.5,0.9 -1.1,2.3 -1.8,1.6 -2.1,4.7 -1.3,2.4 0.2,1.8 1.5,0.3 1.1,-1.9 1.5,-0.8 0.8,-2.3 1.9,-1.8 2.7,-4 4.2,-6.3 0.8,-0.5 0.3,1 -0.2,2.3 -2.9,6.8 -2.7,5.7 -0.5,3.2 -0.6,2.6 0.8,1.3 -0.2,2.7 -1.9,2.4 -0.5,1.8 0.6,3.6 0.6,3.4 -1.5,2.6 -0.8,2.9 -1,3.1 1.1,2.4 0.6,6.1 1.6,4.5 -0.2,3 -15.9,1.8 -17.5,1 H 567 l -0.7,-1.5 -2.9,-0.4 -2.6,-1.3 -2.3,-3.7 -0.3,-3.6 2,-2.9 -0.5,-1.4 -2.1,-2.2 -0.8,-3.3 -0.6,-6.8 -2.1,-2.5 -7,-4.5 -3.8,-5.4 -3.4,-1 -2.2,-2.8 h -3.2 l -2.9,-3.3 -0.5,-6.5 0.1,-3.8 1.5,-3.1 -0.8,-3.2 -2.5,-2.8 1.8,-5.4 5.2,-3.8 1.6,-1.9 -0.2,-8.1 0.2,-2.8 2.4,-2.8 z" />
<path
id="WV"
d="m 758.9,254.3 5.8,-6 2.6,-0.8 1.6,-1.5 1.5,-2.2 1.1,0.3 3.1,-0.2 4.6,-3.6 1.5,-0.5 1.3,1 2.6,1.2 3,3 -0.4,4.3 -5.4,-2.6 -4.8,-1.8 -0.1,5.9 -2.6,5.7 -2.9,2.4 -0.8,2.3 -3,0.5 -1.7,8.1 -2.8,0.2 -1.1,-1 -1.2,-2 -2.2,0.5 -0.5,5.1 -1.8,5.1 -5,11 0.9,1.4 -0.1,2 -2.2,2.5 -1.6,-0.4 -3.1,2.3 -2.8,-0.8 -1.8,4.9 -3.8,1 -2.5,-1.3 -2.5,1.9 -2.3,0.7 -3.2,-0.8 -3.8,-4.5 -3.5,-2.2 -2.5,-2.5 -2.9,-3.7 -0.5,-2.3 -2.8,-1.7 -0.6,-1.3 -0.2,-5.6 0.3,0.1 2.4,-0.2 1.8,-1 V 275 l 1.7,-1.5 0.1,-5.2 0.9,-3.6 1.1,-0.7 0.4,0.3 1,1.1 1.7,0.5 1.1,-1.3 -1,-3.1 v -1.6 l 3.1,-4.6 1.2,-1.3 2,0.5 2.6,-1.8 3.1,-3.4 2.4,-4.1 0.2,-5.6 0.5,-4.8 v -4.9 l -1.1,-3 0.9,-1.3 0.8,-0.7 4.3,19.3 4.3,-0.8 11.2,-1.3 z" />
<path
id="WY"
d="m 353,161.9 -1.5,25.4 -4.4,44 -2.7,-0.3 -83.3,-9.1 -27.9,-3 2,-12 6.9,-41 3.8,-24.2 1.3,-11.2 48.2,7 59.1,6.5 z" />
</g>
<g
id="text-2"
font-family="'Helvetica Neue'"
font-weight="bold"
transform="translate(-14.56658,-3.8115192)"
style="fill:#ffffff">
<g
font-size="28px"
id="g2-8"
style="fill:#ffffff">
<text
id="WAn-8"
x="117.53755"
y="49.386745"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan38"
x="117.53755"
y="49.386745"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WA</tspan><tspan
sodipodi:role="line"
id="tspan39"
x="117.53755"
y="66.053368"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">8</tspan></text>
<text
id="ORn-0"
x="95.010078"
y="122.48579"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan36"
x="95.010078"
y="122.48579"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">OR</tspan><tspan
sodipodi:role="line"
id="tspan37"
x="95.010078"
y="139.1524"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">5</tspan></text>
<text
id="CAn-2"
x="69.726158"
y="279.08011"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan34"
x="69.726158"
y="279.08011"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">CA</tspan><tspan
sodipodi:role="line"
id="tspan35"
x="69.726158"
y="295.74673"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">22</tspan></text>
<text
id="NVn-7"
x="133.35632"
y="232.08958"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan32"
x="133.35632"
y="232.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">NV</tspan><tspan
sodipodi:role="line"
id="tspan33"
x="133.35632"
y="248.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="AZn-2"
x="197.08659"
y="358.99054"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan27"
x="197.08659"
y="358.99054"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">AZ</tspan><tspan
sodipodi:role="line"
id="tspan28"
x="197.08659"
y="375.65717"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="UTn-6"
x="219.70537"
y="251.48579"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan25"
x="219.70537"
y="251.48579"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">UT</tspan><tspan
sodipodi:role="line"
id="tspan26"
x="219.70537"
y="268.1524"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">4</tspan></text>
<text
id="IDn-7"
x="194.15645"
y="151.80695"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan21"
x="194.15645"
y="151.80695"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">ID</tspan><tspan
sodipodi:role="line"
x="194.15645"
y="168.47357"
id="tspan22"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">4</tspan></text>
<text
id="MTn-8"
x="279.21573"
y="85.347488"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan15"
x="279.21573"
y="85.347488"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MT</tspan><tspan
sodipodi:role="line"
id="tspan16"
x="279.21573"
y="102.01411"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">4</tspan></text>
<text
id="WYn-0"
x="298.39981"
y="182.08109"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan18"
x="298.39981"
y="182.08109"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WY</tspan><tspan
sodipodi:role="line"
x="298.39981"
y="198.74771"
id="tspan19"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="COn-6"
x="319.78827"
y="270.08292"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan23"
x="319.78827"
y="270.08292"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">CO</tspan><tspan
sodipodi:role="line"
id="tspan24"
x="319.78827"
y="286.74954"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">6</tspan></text>
<text
id="NMn-5"
x="302.97266"
y="369.28769"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan29"
x="302.97266"
y="369.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">NM</tspan><tspan
sodipodi:role="line"
x="302.97266"
y="385.95432"
id="tspan31"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">3</tspan></text>
<text
id="TXn-4"
x="424.32278"
y="451.69336"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan1"
x="424.32278"
y="451.69336"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">TX</tspan><tspan
sodipodi:role="line"
id="tspan2"
x="424.32278"
y="468.35999"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">23</tspan></text>
<text
id="OKn-6"
x="461.73621"
y="358.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"><tspan
sodipodi:role="line"
id="tspan3"
x="461.73621"
y="358.28769">OK</tspan><tspan
sodipodi:role="line"
id="tspan6"
x="461.73621"
y="374.95432">11</tspan></text>
<text
id="KSn-2"
x="441.22095"
y="289.62161"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1"><tspan
sodipodi:role="line"
id="tspan7"
x="441.22095"
y="289.62161">KS</tspan><tspan
sodipodi:role="line"
id="tspan8"
x="441.22095"
y="306.28824">9</tspan></text>
<text
id="NEn-3"
x="418.48505"
y="222.94185"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan9"
x="418.48505"
y="222.94185"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NE</tspan><tspan
sodipodi:role="line"
id="tspan10"
x="418.48505"
y="239.60847"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">7</tspan></text>
<text
id="SDn-7"
x="415.85419"
y="157.25868"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan11"
x="415.85419"
y="157.25868"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">SD</tspan><tspan
sodipodi:role="line"
id="tspan12"
x="415.85419"
y="173.92531"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">4</tspan></text>
<text
id="NDn-4"
x="417.25748"
y="91.851349"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan13"
x="417.25748"
y="91.851349"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">ND</tspan><tspan
sodipodi:role="line"
id="tspan14"
x="417.25748"
y="108.51797"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">4</tspan></text>
<text
id="MNn-1"
x="504.72253"
y="124.94574"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan30"
x="504.72253"
y="124.94574"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MN</tspan><tspan
sodipodi:role="line"
id="tspan42"
x="504.72253"
y="141.61237"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">11</tspan></text>
<text
id="WIn-5"
x="579.54468"
y="159.84668"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan71"
x="579.54468"
y="159.84668"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">WI</tspan><tspan
sodipodi:role="line"
id="tspan72"
x="579.54468"
y="176.51331"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">12</tspan></text>
<text
id="ILn-9"
x="596.69891"
y="249.73816"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan73"
x="596.69891"
y="249.73816"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">IL</tspan><tspan
sodipodi:role="line"
id="tspan74"
x="596.69891"
y="266.40479"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">29</tspan></text>
<text
id="IAn-6"
x="521.78705"
y="212.28769"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan43"
x="521.78705"
y="212.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">IA</tspan><tspan
sodipodi:role="line"
id="tspan44"
x="521.78705"
y="228.95432"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">11</tspan></text>
<text
id="MOn-4"
x="540.95941"
y="292.93628"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan45"
x="540.95941"
y="292.93628"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MO</tspan><tspan
sodipodi:role="line"
id="tspan46"
x="540.95941"
y="309.60291"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">15</tspan></text>
<text
id="ARn-6"
x="547.24762"
y="374.0896"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan51"
x="547.24762"
y="374.0896"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">AR</tspan><tspan
sodipodi:role="line"
id="tspan52"
x="547.24762"
y="390.75623"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">9</tspan></text>
<text
id="LAn-8"
x="545.79749"
y="450.64859"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan53"
x="545.79749"
y="450.64859"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">LA</tspan><tspan
sodipodi:role="line"
id="tspan54"
x="545.79749"
y="467.31522"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">10</tspan></text>
<text
id="MSn-5"
x="597.98846"
y="417.18863"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan47"
x="597.98846"
y="417.18863"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">MS</tspan><tspan
sodipodi:role="line"
id="tspan48"
x="597.98846"
y="433.85526"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">9</tspan></text>
<text
id="ALn-7"
x="650.66272"
y="409.38675"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan57"
x="650.66272"
y="409.38675"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">AL</tspan><tspan
sodipodi:role="line"
id="tspan58"
x="650.66272"
y="426.05338"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">11</tspan></text>
<text
id="GAn-4"
x="714.30121"
y="407.73816"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan49"
x="714.30121"
y="407.73816"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">GA</tspan><tspan
sodipodi:role="line"
id="tspan50"
x="714.30121"
y="424.40479"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">12</tspan></text>
<text
id="FLn-7"
x="763.43597"
y="504.54953"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan55"
x="763.43597"
y="504.54953"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">FL</tspan><tspan
sodipodi:role="line"
id="tspan56"
x="763.43597"
y="521.21613"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">7</tspan></text>
<text
id="SCn-2"
x="759.23254"
y="347.11545"
style="fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan59"
x="759.23254"
y="347.11545" /><tspan
sodipodi:role="line"
x="759.23254"
y="382.11545"
id="tspan61"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">SC 8</tspan></text>
<text
id="NCn-8"
x="781.7052"
y="328.48581"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan67"
x="781.7052"
y="328.48581"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NC</tspan><tspan
sodipodi:role="line"
id="tspan68"
x="781.7052"
y="345.15244"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">13</tspan></text>
<text
id="TNn-9"
x="655.9707"
y="340.83722"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan65"
x="655.9707"
y="340.83722"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">TN</tspan><tspan
sodipodi:role="line"
id="tspan66"
x="655.9707"
y="357.50385"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">11</tspan></text>
<text
id="KYn-4"
x="675.10925"
y="299.28769"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan69"
x="675.10925"
y="299.28769"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">KY</tspan><tspan
sodipodi:role="line"
id="tspan70"
x="675.10925"
y="315.95432"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">11</tspan></text>
<text
id="INn-4"
x="644.74738"
y="248.48579"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan77"
x="644.74738"
y="248.48579"
style="text-align:center;text-anchor:middle;fill:#ffffff">IN</tspan><tspan
sodipodi:role="line"
id="tspan78"
x="644.74738"
y="265.1524"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">14</tspan></text>
<text
id="MIn-5"
x="663.32098"
y="183.08958"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan79"
x="663.32098"
y="183.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">MI</tspan><tspan
sodipodi:role="line"
id="tspan80"
x="663.32098"
y="199.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">19</tspan></text>
<text
id="OHn-9"
x="700.31543"
y="235.38675"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan81"
x="700.31543"
y="235.38675"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">OH</tspan><tspan
sodipodi:role="line"
id="tspan82"
x="700.31543"
y="252.05338"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">26</tspan></text>
<text
id="WVn-3"
x="738.71716"
y="272.44101"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan83"
x="738.71716"
y="272.44101"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">WV</tspan><tspan
sodipodi:role="line"
id="tspan84"
x="738.71716"
y="289.10764"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">8</tspan></text>
<text
id="VAn-8"
x="771.05426"
y="282.73816"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan85"
x="771.05426"
y="282.73816"
style="font-size:13.3333px;fill:#ffffff">VA</tspan><tspan
sodipodi:role="line"
id="tspan86"
x="771.05426"
y="299.40479"
style="font-size:13.3333px;fill:#ffffff">11</tspan></text>
<text
id="PAn-6"
x="779.22137"
y="210.08958"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan87"
x="779.22137"
y="210.08958"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">PA</tspan><tspan
sodipodi:role="line"
id="tspan88"
x="779.22137"
y="226.75621"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">36</tspan></text>
<text
id="NYn-4"
x="811.52887"
y="153.03532"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan89"
x="811.52887"
y="153.03532"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">NY</tspan><tspan
sodipodi:role="line"
x="811.52887"
y="169.70195"
id="tspan91"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff;fill-opacity:1">47</tspan></text>
<text
id="MEn-2"
x="893.95428"
y="77.998077"
style="font-size:13.3333px;fill:#ffffff"><tspan
sodipodi:role="line"
id="tspan60"
x="893.95428"
y="77.998077"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">ME</tspan><tspan
sodipodi:role="line"
id="tspan62"
x="893.95428"
y="94.664703"
style="font-size:13.3333px;text-align:center;text-anchor:middle;fill:#ffffff">5</tspan></text>
<text
id="DemL"
x="855"
y="425"
style="fill:#ffffff" />
<text
id="RepL"
x="855"
y="458"
style="fill:#ffffff" />
</g>
<g
font-size="22px"
id="g3"
style="fill:#ffffff">
<text
id="NHn-8"
x="817.56848"
y="56.648579"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan92">NH 4</tspan></text>
<text
id="VTn-3"
x="802.61328"
y="81.54953"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan93">VT 3</tspan></text>
<text
id="MAn-7"
x="927"
y="164"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan94">MA 17</tspan></text>
<text
id="RIn-0"
x="925"
y="199"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan95">RI 4</tspan></text>
<text
id="CTn-4"
x="918"
y="228"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan96">CT 8</tspan></text>
<text
id="NJn-5"
x="898"
y="260"
style="font-size:16px;fill:#ffffff"><tspan
style="fill:#ffffff"
id="tspan97">NJ 16</tspan></text>
<text
id="DEn-6"
x="891"
y="284"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan98">DE 3</tspan></text>
<text
id="MDn-5"
x="883"
y="305"
style="font-size:16px;fill:#ffffff"><tspan
style="font-size:16px;fill:#ffffff"
id="tspan99">MD 8</tspan></text>
</g>
</g>
<path
id="lines"
d="m 830,58 13,29 m -25,-5 8,17 m 49,50 34,3 m -41,22 41,12 m -57,-6 51,33 m -72,13 50,22 m -58,-2 51,26 m -55,-15 46,33"
stroke="#ffffff"
stroke-width="1.6"
sodipodi:nodetypes="cccccccccccccccc" />
</svg>

After

Width:  |  Height:  |  Size: 53 KiB

112
assets/ROC2024.svg Normal file
View file

@ -0,0 +1,112 @@
<?xml version="1.0"?>
<!--********* Copyright (c) 2024 Pareto Softare, LLC DBA Simplemaps.com ***************************************
************* Free for Commercial Use, full terms at https://simplemaps.com/resources/svg-license ************
************* Attribution is appreciated! https://simplemaps.com *******************************************-->
<svg baseprofile="tiny" height="1000" stroke="#ffffff" stroke-linecap="round" stroke-linejoin="round" stroke-width=".5" version="1.2" viewbox="0 0 1000 1000" width="1000" xmlns="http://www.w3.org/2000/svg">
<g id="features">
<path d="M181.2 423.5l0 0.1-1.1-0.4-0.3-0.4 0.2-0.4 0.4-0.8-1.3-0.9-0.2-0.3-0.1-0.1-2.5-1.9-1.8-1.9-2.7 1-1.3 1.6 0.2 0.7-0.1 0.6-0.3 0.2-0.3-0.1-0.4 2.4-5 5.9-11.4-4.1 0.2 1-0.2 1-0.3 0.1 1.1 1.1-0.4 8.2-3.3 2.6 2.5 2.7-1.4-0.6-1.9-0.2-1.7-0.7-0.9-1.5 0.3-0.6 1.6-1.9 0.5-1 0.1-1.4 0-1.8-0.6-3.1-1.2-3-0.2-1.6 1.1-0.6 5.5-2.7 7.2 4.7 5-0.6 0.8-6.3 1.7-3.9 5.3-1.1 5.2 4.7 2 5.3z m0.2 10.5l0.3-2.1 0.3 0-0.2 1.7-0.4 0.4z m0.9-5l-1-3 0.1-0.7 0.3-0.4 0.8 2.4-0.2 1.7z" id="TWKIN" name="Kinmen">
</path>
<path d="M406.3 605.4l3.4 6.2 0.9 2.9-0.4 2.2-1.4-1.4-1.9-1.3-2-0.4-2.8 1.6-2.1 0.3-1 0.5-0.5 1.1-0.8 2.9-0.5 0.9-3.4 2-3.4 0.5-3.5-1.4-3.5-3.5 0.9-1.8 1.9 2.3 2.9 0.6 3.1-0.8 2.6-2.1-1.8-0.7-1.4-0.8-1.1-1.2-1-1.6-0.4 0.7 0 0.2-0.2 0.2-0.7 0.4-0.2-2.9 0.2-2.9 1.3 0 1.5 0.4 5.3-3.4 3.4-1.1-0.9 3.2-0.4 0.9 2.9-0.9 2.2 0.3 1.6-0.2 1.2-1.9z" id="TWPEN" name="Penghu">
</path>
<path d="M471.2 47.6l0.1 0.6-0.3 0-0.7 0.1-0.5 0.1-0.1-0.9 0.3-0.4 0.1-0.1-0.1-0.3-0.1 0-0.1-0.1 0.4-0.5 0.2-0.1 0.4-0.2 0.2-0.3 0.6 1.3-0.6 0.7 0.2 0.1z m-12.4 22.5l-0.1-0.3-0.2 0.5 0.2 0.7 0.3 0.3 0.3 0.1 0.4 0.1 0.3 0 0.5 0.1 0.3 0.2 0.1 0.5 0.2-0.3 0.6-0.1 0.4-0.3 0.3-0.2 0-0.5 0.1-0.5 0.6-0.7 0.1 0 0.2-0.1 0.6 0.1 0.5 0 0.3 0.1 0.1 0 0.5 0 0.7 0.1 0.8-0.5 0 0.3-0.3 0.3-0.2 0.4-0.3 0-0.2 0.2-0.2 0.4 0 0.5-0.1 0.3 0 0.1-0.3 0.4-0.3 0.5-0.1 0.1-0.3 0.2-0.2-0.4-0.2 0-0.7 0.1-0.2 0.3-0.4 0.6-1 1-0.2 0-0.4-0.3-0.7-0.1-0.6 0.1-0.2 1.2-0.2 0.1-0.7 0.1-0.1-0.3-0.4-0.5-0.2-0.2-0.5 0.1-0.6 0.1-0.9-0.3-0.3-1 0.3-0.6 0.4-0.3 0.4-0.4 0.3-0.7-0.7-0.5 0.4-0.5 0.4 0 0.2 0 0.1-0.5-0.5-0.8 0-0.8 0.3-0.4 0.4 0 0.3 0.4 0.3 0.1 0.1 0 0.1 0 0.5 0.3-0.3 0.9-0.1 0.2z m12.6-10.9l-0.4 0-0.6 0-1.1-0.3-0.4 0.7-0.4 0.1-0.2 0.2-0.3 0.4 0 0.7 0.2 0.7 0 0.6-0.2 0.9 0.1 0.4 0.3 0.1 0.1 0.3-0.5 0.2-0.9-0.2-0.5 0.2 0-1 0.1-1.5 0.3-1.4 0.3-0.5-0.2-0.4 0-0.6 0.1-0.2 1.1-0.1 0.5-0.6 0.5-0.2 0.6-0.3 1-0.9 0.3-1 0.5-0.3 0.6-0.1 0.4-0.3 0.6 0.1 0.1 0.5 0.3 0.4 0.1 0 0.3 0 0 0.9 0 0.9 0.7-0.7 0.2 0 0.6 0 0.1 0.1 0 0.3 0 0.9-0.7 0.2 0.1 0.5 0.3 0.2 0 0.3 0 0.7-0.5-0.7-0.2-0.7-0.5-0.7-0.7 0-0.5 0-0.3 0.2-0.4 0.3-0.5 0.1-0.4 0.6z m2.1-5.6l-0.4 0.2-0.3 0-0.7 0 0.1-0.7 0.7-0.2 0.1-0.4 0.7-0.1 0.7-0.2-0.9 1.4z" id="TWLIE" name="Matsu Islands">
</path>
<path d="M657.2 325.1l6.4-10.3 5-5.9 5.2-4.4 13.2-4.4 3.1-1.9 2.7-2.4 3.3-1.8 6.4-2.3 14.5-2.6 3 3.3 4.6 2.2 3.4 2.2 2.3 2.1 2.9 0.7 3.1 1.6 3.7 5.4 0.3 2.9-0.7 3-2.4 2.5-9.4 2.8-2.7 2.9 0.2 4.5-0.8 4.1 0.8 3.7 3.8 3.7 0.8 3.7-1 4.8 3.7 2.1 5.3-0.3 3.7 1.4 6 8.9-1 3.8-2.3 2.7 0.6 3.7 1 4.1 6.4 6 1.8 4-2.2 0.6-3.9 2.8 2.3 9-1.6 2.7-2.5 1-2.3-0.5-2.9 1.1-0.3 1.1-3.5-1.5-5.2-3-2.9-2.1-4-0.7-4.5-2.6-3.7-2.9-0.4-3.1 3.3-4.7 1.4-5.6-1.2-5.2-0.2-3.6-2.5-1.9-3.1-1.6-1.9-3.3-2.4-2.5-2.8 0.2-2.8-0.5-2.2-2.2-3-2.2-4.8-1.5-2.4-2.7 0.8-4.2-2.6-3-4.9-1.6-3-1.4-3.1-0.9-3.6-1.4-2.9-6.3-3.3-2.2-9.8 0.7-2.3-0.8z" id="TWTAO" name="Taoyuan">
</path>
<path d="M646.3 345.6l0.1-0.1 1.1-1.6 0.4-2.7 0.6-2.1 1.5-2.1 1.9-1.6 1.8-0.6-0.1-0.9 0.5-2.1 1.6-4.4 1.5-2.3 2.3 0.8 9.8-0.7 3.3 2.2 2.9 6.3 3.6 1.4 3.1 0.9 3 1.4 4.9 1.6 2.6 3-0.8 4.2 2.4 2.7 4.8 1.5 3 2.2 2.2 2.2 2.8 0.5 2.8-0.2 2.4 2.5 1.9 3.3 3.1 1.6 2.5 1.9 0.2 3.6 1.2 5.2-1.4 5.6-3.3 4.7 0.4 3.1 3.7 2.9 4.5 2.6 4 0.7 2.9 2.1 5.2 3 3.5 1.5-1.7 4.7-1 3.4 0.4 3.2-2.7 4.2-10.1 10.2-3.1 7.5-2-0.5-7.7 0.7-0.5 0.4-0.5-3.5-3.3-5.6-2.3-2.4-1-3.1-3.6-2.9-9.1 2.3-3.4-0.4-4.9 0.4-5.5 1.5-3-0.7 0.7-3.7 0.9-3.3-0.7-2.9-0.7-2.1 0.7-2.3 0.5-2.4 0.3-2.8-0.6-3.8-2.7-2.4-8.8-4.2-4.3-3.2-2.8-3.2-3.2-8 1.8-2.2 1.6-4.1 2.5-3.1 4.2-1.7 3.7-0.6 1.7-1 0.7-2.7-1.3-2.6-2.8-2.8-3.9-2-10.9-3.5-6-2.6z" id="TWHSQ" name="Hsinchu">
</path>
<path d="M638.4 367.7l0.8-3 4-8.2 1.6-2.1 0.5-1.2 0-1.2-0.5-1.3-0.8-1.6 1.1-2.2 1.2-1.3 6 2.6 10.9 3.5 3.9 2 2.8 2.8 1.3 2.6-0.7 2.7-1.7 1-3.7 0.6-4.2 1.7-2.5 3.1-1.6 4.1-1.8 2.2-0.2 0.2-3.3 0.8-3.1-1.3-2-2.7-3-1.9-5-1.9z" id="TWHSZ" name="Hsinchu City">
</path>
<path d="M590.8 428.5l5.2-5.8 1.3-2.9 0.7-4.8 1.5-4 4.3-7.5 1.2-4.5 1.1-2 4.8-1.4 1.4-1.5 0.8-1.9 1-1.8 3-3.2 3.4-2.4 4-1.1 5.2 1-0.7-3.9 1.9-2.7 2.7-2.7 1.3-4.2 0.6-1.3 2.6-1.3 0.3-0.9 5 1.9 3 1.9 2 2.7 3.1 1.3 3.3-0.8 0.2-0.2 3.2 8 2.8 3.2 4.3 3.2 8.8 4.2 2.7 2.4 0.6 3.8-0.3 2.8-0.5 2.4-0.7 2.3 0.7 2.1 0.7 2.9-0.9 3.3-0.7 3.7 3 0.7 5.5-1.5 4.9-0.4 3.4 0.4 9.1-2.3 3.6 2.9 1 3.1 2.3 2.4 3.3 5.6 0.5 3.5-2.7 1.9-1.3 4-3.5 1.5-3.9-0.1-3 2.2-3.3 3.1-4.2 2.4-8.4 6.6-4.9 2-6.4 3.5-3.9-1.6-3.6-4-4.4-1.7-7.1-0.6-4 2.4-0.6 5.3-3.7 2-8.8 0.5-8.4-4.8-4.7-0.9-5.3-2.6-10.9-8-4.5-3.9-3.4-3.6-6.6-10.3z" id="TWMIA" name="Miaoli">
</path>
<path d="M563.1 480.3l0.5-0.6 0.5-2.4 2.4-1.9 1.6-4.7 1.9-8.8 6.7-11.7 2.1-7.1 2.4-4 9.6-10.6 6.6 10.3 3.4 3.6 4.5 3.9 10.9 8 5.3 2.6 4.7 0.9 8.4 4.8 8.8-0.5 3.7-2 0.6-5.3 4-2.4 7.1 0.6 4.4 1.7 3.6 4 3.9 1.6 6.4-3.5 4.9-2 8.4-6.6 4.2-2.4 3.3-3.1 3-2.2 3.9 0.1 3.5-1.5 1.3-4 2.7-1.9 0.5-0.4 7.7-0.7 2 0.5 2.6 0.8-0.5 4 1.1 2.6 3.5 0.8 3.2 1.9 2.7 1.8 2.8-0.4 3.4-1.7 3.6 0 4.2 3.4-3.4 3.5-0.3 3-1.7 4.5-5.4 3.4-2.2 3.6-0.9 3.7-2.2 2.7-2.5 1.3-0.9 1.4-2 1.5-9.6-0.9-3.4-0.8-3.4 0.2-8 3.2-4.5 0.7-4.4 0.2-6.4 3.3-3.2 0.6-3.6 2.1-5.7 5.5-3.6 1.4-4.8-0.1-3.4 2.8-1.9 3.9-2.5 0.7-6.4-4.8-2.2 1.4-4.2 5.5-4.3 0.2-7.3-1.1-4.6 2.2-2.7 6.1-5.4 10.4-3.6 3.4-3 0.5-13-1.8-3-0.1-0.1-1-3.9-2.6-3.1-0.5-0.9-2.5 0-2.8-1.4-2.9-2.3-3.6-3.2-2.6-8.5-2.5-3.3-3.9-0.7-5.5-1.9-4.6-2.9-2.5-4.2-1.3z" id="TWTXG" name="Taichung City">
</path>
<path d="M519.2 556.7l0.6-1 1.1-5.1 0.9-2.1 5.1-4.9 1.5-2.1 1.9-5.6 3-5.6 4.2-11.6 1.9-3.3 2.2-2.2 1.8-1.2 1.5-0.8 1.2-1 0.4-2.2 0.9-2 3.7-2.9 0.8-2.2 0.4-7.2 0.7-2 1.9-1.9 8.2-9.5 4.2 1.3 2.9 2.5 1.9 4.6 0.7 5.5 3.3 3.9 8.5 2.5 3.2 2.6 2.3 3.6 1.4 2.9 0 2.8 0.9 2.5 3.1 0.5 3.9 2.6 0.1 1 0 2.6-3.1 1.1-0.9 2.1 0.4 2.9-1.4 3.3-1.2 3.9-0.1 4.1-0.8 4.7-0.7 9.7 1.5 4.5 2.6 2.4 2.8 1 4.1 2.1-0.7 2.5-2.8 1.1-1.8 1.7-1.7 1.1-0.7 0.5-8.7-1.7-4.2 0.1-8.7-4.4-14.2-1.6-8.4-3.2-4.8-1.3-5.4-0.3-15.9 1.9-5.5-3.2z" id="TWCHA" name="Changhua">
</path>
<path d="M496.5 622.6l3.4-3.7-0.2-11.8 0.5-8.9 2-7 3.2-5.6 0.9-7.2 1.7-6.3 0.9-2.2 4.4-5.8 0.7-2 0.6-1.1 4-3.1 0.6-1.2 5.5 3.2 15.9-1.9 5.4 0.3 4.8 1.3 8.4 3.2 14.2 1.6 8.7 4.4 4.2-0.1 8.7 1.7 0.7-0.5 1.4 5.2-1.5 3.4-0.7 5.2 0.7 5.5-1.3 3.7-0.7 4.2 2.8 3.4 4.2 1.8 4.9-1.5 6-0.6 1.9 2.5-0.4 0-0.3 3.6 0 2.5-2.8 0.9-8.4 1.7-4.6 0.5-1.7-2.9-3.4-2.4-6 1.7-2.7 0.4-9.1-3.3-3.6-4.2-3.8-3.4-4.9 0.3-9.1 1.7-5.2 1.4-11.8 6.8-2.7 2.7-3.2 1.7-5 4.1-3.9 0.6-1.4 2.2-1.3 3.5-2.8 2.3-4.4-0.1-6-3.3-7.6 0.8-0.1 0.1-0.7 0z" id="TWYUN" name="Yunlin">
</path>
<path d="M495.1 664.4l2.8-0.2 2.3-1 1 0.3-0.6-2.3-1.6 1.2-1.3-0.4-1.8-0.1 0-2.3 1.8-4.1 2.6-0.2 3.9 0-2.6-7.5-3.1-5.8 1.4-2.6 0-1.4-2.2-1.1 0.3-1.2 1.3-1.5 0.6-1.9 3-3.8-6.2 0.4-0.2-6.3 0.7 0 0.1-0.1 7.6-0.8 6 3.3 4.4 0.1 2.8-2.3 1.3-3.5 1.4-2.2 3.9-0.6 5-4.1 3.2-1.7 2.7-2.7 11.8-6.8 5.2-1.4 9.1-1.7 4.9-0.3 3.8 3.4 3.6 4.2 9.1 3.3 2.7-0.4 6-1.7 3.4 2.4 1.7 2.9 4.6-0.5 8.4-1.7 2.8-0.9 0-2.5 0.3-3.6 0.4 0 4.4 0.5 4.8 1.9 3 0.8 3.7 2.1-0.3 3.8-2.1 3.7 0.9 3.4 1.9 4.7 0.3 4.2 0.8 2.8 5.5 1 18.4 0.1 0.6 0.2-13.3 6.8-6.1 4.8-2.5 4.9-3.1 3.7-5.5 3.1-5.8 4.4-3.2 3.8-8.9 5.3-4.2 0.4-4.9-0.5-2.6 2.6-0.1 3.5 1 3.3 0.7 4.8-6-0.7-2.7-0.8-3.6 0.5-3.8 1.7-2.7 0-3.3-2.5-1.1-3.3 1.2-10.3-0.7-5.4-7.1-7.3-1.3-3.6-1.5-3.1-2.9-1.7-5.1-1.7-6.1 0.3-11 2.1-5.6 2.5-4.4 3.3-3.4 3.4-4.8 3.7-4.1 2.6-1.8 3.6-4.5 2-5.3-1.3-6.3-1-3.8-1.4z m64.1-26.3l4.9-2 3.2-0.4 2.2-1.6-1.9-4.9-1.7-2.9-3-1.6-4-1.5-5.7 0.5-6.7 1.2-2.7 2.9 0.6 4.1 4.4 1.7 5.1 3.3 5.3 1.2z" id="TWCYQ" name="Chiayi">
</path>
<path d="M504.7 743.9l-0.7-4.5-1.3-2.6-2.8-2.8 3.5-2.5 1.9-4.3-0.8-3.8-4.6-0.7-0.8 1.4-0.8 2.4-1.3 1.9-2.4-0.1-0.9-1.6 0.3-5-0.5-1.8-3-1.3-1.6 1.5-1.4 2.1-1.9 0.5-2.1-1.8-0.6-2.5 0.5-2.4 0.9-1.7 2.1-1.1 2.7-0.4 2.2-0.7 0.7-2.2-1-1.1-6.7-1.7 0-1.4 5.6 0-0.5-1.9-3.1-2.7-2-2.3 0.5-2.9 1.8-1 1.9-0.7 1-1.8-0.6-2.8-1-2.3 0.7-2.2 1-2.6 1.6-1.9-0.3-1.7 0.3-1.6 2.4-6.5 1.2-1.2 1.8-0.5-2.7-1.8 1.2-2.9 3.8 1.4 6.3 1 5.3 1.3 4.5-2 1.8-3.6 4.1-2.6 4.8-3.7 3.4-3.4 4.4-3.3 5.6-2.5 11-2.1 6.1-0.3 5.1 1.7 2.9 1.7 1.5 3.1 1.3 3.6 7.1 7.3 0.7 5.4-1.2 10.3 1.1 3.3 3.3 2.5 2.7 0 3.8-1.7 3.6-0.5 2.7 0.8 6 0.7-1.6 4.8-7.5 10.9-7.2 12.2-4.7 6-5.4 5.3-4.6 3.9-4.5 4.6-3.8 5.1-2.1 3.7-1.7 4-4.6 3.2-4.6 1.9-2.6 1.8-3 1.1-6.1-0.7-5.9 0.6-11.3-1.6-3.5-1.8-2.8-6.2-0.1-0.3-4.5 2.6z" id="TWTNN" name="Tainan City">
</path>
<path d="M551.1 836.2l-1.9-0.8-1.1 0-1.4 0.5-1.5 0.1-9.4-7.4-8.8-12.4 9.2 11.1-1-5.2-1.6-2.9-1.2-2.3-3.8-4.4-6.5-6-2.5-3.1-1.2-3.4 1.6-3.3 0.8-3-1.1-4.1-1.9-4.1-3.6-5.5-3.3-7.4-0.7-3.3 0-2.1 1.1-2.6 0.3-1.7-0.4-0.9-1-0.7-0.9-0.9-0.4-1.7-2.1-3.5-0.5-1.4-1.6-9.9 4.5-2.6 0.1 0.3 2.8 6.2 3.5 1.8 11.3 1.6 5.9-0.6 6.1 0.7 3-1.1 2.6-1.8 4.6-1.9 4.6-3.2 1.7-4 2.1-3.7 3.8-5.1 4.5-4.6 4.6-3.9 5.4-5.3 4.7-6 7.2-12.2 7.5-10.9 1.6-4.8-0.7-4.8-1-3.3 0.1-3.5 2.6-2.6 4.9 0.5 4.2-0.4 8.9-5.3 3.2-3.8 5.8-4.4 5.5-3.1 3.1-3.7 2.5-4.9 6.1-4.8 13.3-6.8 3.2 0.7 4.2 1.6 3 4.2 0.5 1.5 1.4 4.2-2.2 3.5-4 1.8-1 2.3 0.7 2.9 4 2.6 4.6 3.7 2 5.5 0.2 1.8-11.2 2.8-4.7 2.9-2.9 2.8-5.6 3.7-0.6 4.1 1.6 4.3-1.9 3.5-5.3 2.9-0.7 5 1.6 7.1-2.2 9.5 0 8.1-3.1 4.2-6.2 5.3-1.7 7 1 5.9 2.2 3.3 4.4 4.6 0.9 3.5-2.8 0.4-3.8-0.7-3.1 0.2-6.1 4.8-4.3-4-5.4-6.4-5.2 1.3-4.8 4.3-9.4-4.8-6.8 3.2-4.6 5.1-5.7 2.1-12.9-0.8-1.3 3.5-0.9 5.2-1.9 5.7 0.4 5-0.1 6.9-4 15.3-0.2 5.1 2 5.4 0.3 5.9-5.8 14.8z" id="TWKHH" name="Kaohsiung City">
</path>
<path d="M639 886.4l0.6 37.2-1.1 5.3-1.8 4.3-2.4 1.8-2.9 2.7 0.1 6 1 6.6-0.2 4.2-3.3-4.9-4.9-3.7-5.7-2.5-5.7-1.4-0.2 4.7-1.7 1.7-2.4-0.6-2.7-2.2-0.1-1.7 0.9-5-4-6.7-0.3-1.8 0-1.4 0.3-2.4 0-7.7 0.4-2.3 1.8-2.5 0.4-2.2-14.4-37.2-1.1-2.1-4-4.9-3.2-7.1-1.4-2.1-5.9-4.6-2.3-1.3-0.8-0.3-0.8-0.6-0.7-2.6-0.5-1-3.1-2.1-7.3-3.4-3.2-2.3-3.5-3-1.6-1-0.2-0.1 5.8-14.8-0.3-5.9-2-5.4 0.2-5.1 4-15.3 0.1-6.9-0.4-5 1.9-5.7 0.9-5.2 1.3-3.5 12.9 0.8 5.7-2.1 4.6-5.1 6.8-3.2 9.4 4.8 4.8-4.3 5.2-1.3 5.4 6.4 4.3 4 6.1-4.8 3.1-0.2 3.8 0.7 2.5 4.7 0.5 3.5 3.9 1 4 2.6-2 9.9-0.1 3.8-1.5 3.5-7 3-3.5 2-5.5 1.2-3.9 3.2-1.7 4.7-2.6 4.8-2.2 5.4-0.6 10.6 0.9 4.7 1.4 4.4 0.8 5.1 0 3.8 1.9 3.7 3.3 4-1.8 2.7-3.8 2.3-1.5 2.8-0.4 3.3 2 2.8 2.4 1.2 2.3 3.2-0.1 4.1 0.4 4.4 2.3 4.3 3.3 3.5 7.4 3.4 3.2-0.3z" id="TWPIF" name="Pingtung">
</path>
<path d="M753.4 640.2l-3.3 19-1.6 3.5-5.1 6.8-1.9 3.5-1.5 4.4-1 8.3 0.1 7.3-0.8 6.9-3.5 7.2-1.5 1.6-3.4 2.5-1.5 1.6-0.8 1.6-1.2 4.2-3.5 6.1-2.1 9.4-1.5 4.2-7.4 10.7-0.9 2-10 8.4-2.4 2.8-0.4 1.9 0.5 4.5-0.1 2-0.9 2.3-1.6 2.6-3.4 4.3-3.4 3.2-11.6 7.8-7.8 8.5-1.9 1-1.5 2-3.8 9.7-1.8 3.6-5.8 7.3-2.4 4.3-1.3 8.8-3.5 12.1-6.9 12.1-1 4.1-1.2 11.6 0.2 10.5-3.2 0.3-7.4-3.4-3.3-3.5-2.3-4.3-0.4-4.4 0.1-4.1-2.3-3.2-2.4-1.2-2-2.8 0.4-3.3 1.5-2.8 3.8-2.3 1.8-2.7-3.3-4-1.9-3.7 0-3.8-0.8-5.1-1.4-4.4-0.9-4.7 0.6-10.6 2.2-5.4 2.6-4.8 1.7-4.7 3.9-3.2 5.5-1.2 3.5-2 7-3 1.5-3.5 0.1-3.8 2-9.9-4-2.6-3.9-1-0.5-3.5-2.5-4.7 2.8-0.4-0.9-3.5-4.4-4.6-2.2-3.3-1-5.9 1.7-7 6.2-5.3 3.1-4.2 0-8.1 2.2-9.5-1.6-7.1 0.7-5 5.3-2.9 1.9-3.5-1.6-4.3 0.6-4.1 5.6-3.7 2.9-2.8 4.7-2.9 11.2-2.8 0.8 5.3 3.7 5.9 5.6 2 4.4 2.1 3.6 3.4 4.5 0.7 4.1 1.1 6.6 11.5 8.5 7 5.9 0.8 4.7-2.7 0.6-4.4 0-4.9 2.2-4.3 3.5-9.6 2.6-5.5 1.8-6.1 1.9-4.8 2.5-3.7 2.6-5-0.4-4.9-1.3-5 2.8-3.9 7.8-3.8 2.5 0.8z" id="TWTTT" name="Taitung">
</path>
<path d="M807.2 455.6l0.5 0.5 0.6 1.1 0.5 1.1 0.2 0.7-1 1.7-4.2 4.1-4.6 6.3-3.3 2.7-1 1.4 0.5 1.5-0.6 1.1-4.9 3.6-1.8 1.8-2 4.3-2 8.8-5.4 7.8-1.1 3.2 0.2 3.4 1.3 3.8 1.1 1.6 0.9 0.7 0.6 1 0.1 2.3-0.8 2.7-2.7 4.1-0.5 2.5-0.3 4.6-2.3 11.7-4.6 12.4-5.8 28.8-3.4 7.1-8 46.2-2.5-0.8-7.8 3.8-2.8 3.9 1.3 5 0.4 4.9-2.6 5-2.5 3.7-1.9 4.8-1.8 6.1-2.6 5.5-3.5 9.6-2.2 4.3 0 4.9-0.6 4.4-4.7 2.7-5.9-0.8-8.5-7-6.6-11.5-4.1-1.1-4.5-0.7-3.6-3.4-4.4-2.1-5.6-2-3.7-5.9-0.8-5.3-0.2-1.8-2-5.5-4.6-3.7-4-2.6-0.7-2.9 1-2.3 4-1.8 2.2-3.5-1.4-4.2 4.3-2.5 2.2-2.1-1.2-4.4 1.1-1.9 1.1-3 3.7-2.7 5.4-1.2 5.3-0.2 3.8-3.4 1-6.2 2.8-3.7 5.5-2 3.3-2.3 1.1-3.6 2.3-9.1 0.9-6-0.7-5.2-0.8-3.9-2.3-2.9-1.5-2.9 4.1-6.8 0.1-2.7 1.8-5.1 2.8-6.1 2.2-6.3 1.1-7.2 0.5-5.4-1.3-3.2-1.5-2.4 1.7-5.5 3.7-7.7 5.8-7.6 0.1-2.7-1-3.3-3.8-2.4-2-2.2-0.2-7.2 2.7-2.1 4.7-1.6 3.8-1.7-0.2-2.6-1-4.5 2-1.5 0.9-1.4 2.5-1.3 2.2-2.7 0.9-3.7 2.2-3.6 5.4-3.4 1.7-4.5 0.3-3 3.4-3.5 1.8 1.5 4.7 2.2 10.8 2.8 6 2.3 4.7 0 3.5-3.3 1.7-4.3 2.7-0.6 13.4 7.9 8 1.3 0.8 0z" id="TWHUA" name="Hualien">
</path>
<path d="M846.8 317.7l-8.6 4.3-4 3.4-13.5 16.4-2.1 3.5-1.7 4.8-1.1 5.6-0.4 5.5 0.2 5.3 2.4 11.2-0.2 2.9-1 2.8 0.2 5.8 2.4 4.5 4.7 2.9 5.5 1.1 0 1.2-2.3-0.2-2.2 0.2-1.9 0.6-1.3 1 1.9 3.6 0.9 4.7-0.6 4.1-4.3 2.4-0.3 1.8 0.6 2.1 1.2 2 0.4 2-1.8 1.7-4.5 2.6-5 5.8-0.2 2.3 0.3 5-0.8 2-1 1.6-0.6 2.3-0.3 4.6-0.4 1.2-0.7 0.9-0.4 1 0.7 1.2 0.2 0.2-0.8 0-8-1.3-13.4-7.9-2.7 0.6-1.7 4.3-3.5 3.3-4.7 0-6-2.3-10.8-2.8-4.7-2.2-1.8-1.5-4.2-3.4-3.6 0-3.4 1.7-2.8 0.4-2.7-1.8-3.2-1.9-3.5-0.8-1.1-2.6 0.5-4-2.6-0.8 3.1-7.5 10.1-10.2 2.7-4.2-0.4-3.2 1-3.4 1.7-4.7 0.3-1.1 2.9-1.1 2.3 0.5 2.5-1 1.6-2.7-2.3-9 3.9-2.8 2.2-0.6 4.2-1.2 3.5-1.3 2.7-2.4 3.6-2.5 4.8-2.3 2.8-2-0.3-1.4-0.7-2.3-0.1-3 1.4-3.6 3.4-2.9 2.7-1.6 9.4-3.8 9.7-5.9 4.5-1.3 3.6-2.6 2.3-3.7 2.3-2.9 2.7-1.4 2.5-0.9 3.3-2.1 1.2-2.8-1.8-2.5 1-2.2 8.1-1.6 2.6-1.8 6-3.2 4.3-0.9 2.4 1.4 0.6 0.8z" id="TWILA" name="Yilan">
</path>
<path d="M806.8 285.1l24.9 6.1 2.4 1.5-1.2 2.6-0.3 2.1 0.5 3.8 1.7 6.2 1.9 3 1.6 0.7 5-0.8 2.6 0.3 3 0.8 2.7 1.3 1.5 1.9-6.3 3.1-0.6-0.8-2.4-1.4-4.3 0.9-6 3.2-2.6 1.8-8.1 1.6-1 2.2 1.8 2.5-1.2 2.8-3.3 2.1-2.5 0.9-2.7 1.4-2.3 2.9-2.3 3.7-3.6 2.6-4.5 1.3-9.7 5.9-9.4 3.8-2.7 1.6-3.4 2.9-1.4 3.6 0.1 3 0.7 2.3 0.3 1.4-2.8 2-4.8 2.3-3.6 2.5-2.7 2.4-3.5 1.3-4.2 1.2-1.8-4-6.4-6-1-4.1-0.6-3.7 2.3-2.7 1-3.8-6-8.9-3.7-1.4-5.3 0.3-3.7-2.1 1-4.8-0.8-3.7-3.8-3.7-0.8-3.7 0.8-4.1-0.2-4.5 2.7-2.9 9.4-2.8 2.4-2.5 0.7-3-0.3-2.9-3.7-5.4-3.1-1.6-2.9-0.7-2.3-2.1-3.4-2.2-4.6-2.2-3-3.3 8.1-1.5 3.4-1.3 4.5-3.7 1.3-0.7 1.6-0.3 2.2 0 2.6 0.8 1.3 1.9 0.9 2 1.1 1.1 2.5-1-2.6-4.1-4.2-4.2-2.2-1.4 0.7-1.9 1.3-1.1 1.3-0.7 0.6-0.6 1.5-3.8 2.3-4.2 4.7-4.3 7-3.5 7.9-1.8 7.8 0.9 3.2 2.5 7.3 10.1 2.5 5.4 0.9-0.3 1.9-0.6 2.3-0.2 1.5 0.4-0.1 0.7-0.7 0.9-0.7 1.3 0 1.5 0.8 0.9 1.6 1.2-3.1 2.1-5.2 2.3-2.3 1.5 0.4 2.1 2.1 2.7 1.2 2.5 2.1 2.5 2.6 2.5 2.2 1.6 7.6 3.1 3.7 0.5 2.9-1.1 1.8-1.3 0.3-1.8-2.7-2.8-0.1-2.2 0.2-8.6z m-30 36l3-1.2 5.5-7 1.4-3-2.7-2.3-3.3-1.9-0.1-3.6 1.1-4.8-1.1-3.2-2.8-2.5-1.8-7.2-1.2-2.6-1.1-2.4-0.3-2.4 0.4-2.6-1.5-1.6-2.8-0.9-2.9 1.4-2.1 1.8-7.8 4.7-2.6 2.9-1.5 3.3-1.3 1.7-1.2 2.1 2.7 3.1 4.2 4 0.8 4.5-1.1 5.3 2.9 4.9 4.1 3.2 2.8 3.2 2.6 2.3 3.5 0.8 4.2 0z" id="TWTPQ" name="New Taipei City">
</path>
<path d="M793.1 279.5l1.1 0.7 0.5 0.8 1.2 1.1 2.8 1.1 8.1 1.9-0.2 8.6 0.1 2.2 2.7 2.8-0.3 1.8-1.8 1.3-2.9 1.1-3.7-0.5-7.6-3.1-2.2-1.6-2.6-2.5-2.1-2.5-1.2-2.5-2.1-2.7-0.4-2.1 2.3-1.5 5.2-2.3 3.1-2.1z" id="TWKEE" name="Keelung City">
</path>
<path d="M406.3 605.4l3.4 6.2 0.9 2.9-0.4 2.2-1.4-1.4-1.9-1.3-2-0.4-2.8 1.6-2.1 0.3-1 0.5-0.5 1.1-0.8 2.9-0.5 0.9-3.4 2-3.4 0.5-3.5-1.4-3.5-3.5 0.9-1.8 1.9 2.3 2.9 0.6 3.1-0.8 2.6-2.1-1.8-0.7-1.4-0.8-1.1-1.2-1-1.6-0.4 0.7 0 0.2-0.2 0.2-0.7 0.4-0.2-2.9 0.2-2.9 1.3 0 1.5 0.4 5.3-3.4 3.4-1.1-0.9 3.2-0.4 0.9 2.9-0.9 2.2 0.3 1.6-0.2 1.2-1.9z" id="TWPEN" name="Penghu">
</path>
<path d="M599.5 519.1l3 0.1 13 1.8 3-0.5 3.6-3.4 5.4-10.4 2.7-6.1 4.6-2.2 7.3 1.1 4.3-0.2 4.2-5.5 2.2-1.4 6.4 4.8 2.5-0.7 1.9-3.9 3.4-2.8 4.8 0.1 3.6-1.4 5.7-5.5 3.6-2.1 3.2-0.6 6.4-3.3 4.4-0.2 4.5-0.7 8-3.2 3.4-0.2 3.4 0.8 9.6 0.9 1 4.5 0.2 2.6-3.8 1.7-4.7 1.6-2.7 2.1 0.2 7.2 2 2.2 3.8 2.4 1 3.3-0.1 2.7-5.8 7.6-3.7 7.7-1.7 5.5 1.5 2.4 1.3 3.2-0.5 5.4-1.1 7.2-2.2 6.3-2.8 6.1-1.8 5.1-0.1 2.7-4.1 6.8 1.5 2.9 2.3 2.9 0.8 3.9 0.7 5.2-0.9 6-2.3 9.1-1.1 3.6-3.3 2.3-5.5 2-2.8 3.7-1 6.2-3.8 3.4-5.3 0.2-5.4 1.2-3.7 2.7-1.1 3-1.1 1.9 1.2 4.4-2.2 2.1-4.3 2.5-0.5-1.5-3-4.2-4.2-1.6-3.2-0.7-0.6-0.2-18.4-0.1-5.5-1-0.8-2.8-0.3-4.2-1.9-4.7-0.9-3.4 2.1-3.7 0.3-3.8-3.7-2.1-3-0.8-4.8-1.9-4.4-0.5-1.9-2.5-6 0.6-4.9 1.5-4.2-1.8-2.8-3.4 0.7-4.2 1.3-3.7-0.7-5.5 0.7-5.2 1.5-3.4-1.4-5.2 1.7-1.1 1.8-1.7 2.8-1.1 0.7-2.5-4.1-2.1-2.8-1-2.6-2.4-1.5-4.5 0.7-9.7 0.8-4.7 0.1-4.1 1.2-3.9 1.4-3.3-0.4-2.9 0.9-2.1 3.1-1.1 0-2.6z" id="TWNAN" name="Nantou">
</path>
<path d="M776.8 321.1l-4.2 0-3.5-0.8-2.6-2.3-2.8-3.2-4.1-3.2-2.9-4.9 1.1-5.3-0.8-4.5-4.2-4-2.7-3.1 1.2-2.1 1.3-1.7 1.5-3.3 2.6-2.9 7.8-4.7 2.1-1.8 2.9-1.4 2.8 0.9 1.5 1.6-0.4 2.6 0.3 2.4 1.1 2.4 1.2 2.6 1.8 7.2 2.8 2.5 1.1 3.2-1.1 4.8 0.1 3.6 3.3 1.9 2.7 2.3-1.4 3-5.5 7-3 1.2z" id="TWTPE" name="Taipei City">
</path>
<path d="M559.2 638.1l-5.3-1.2-5.1-3.3-4.4-1.7-0.6-4.1 2.7-2.9 6.7-1.2 5.7-0.5 4 1.5 3 1.6 1.7 2.9 1.9 4.9-2.2 1.6-3.2 0.4-4.9 2z" id="TWCYI" name="Chiayi City">
</path>
</g>
<g id="points">
<circle class="22.123479637643072|118.46584311825282" cx="182.2" cy="909.8" id="0">
</circle>
<circle class="23.874448427495835|120.32875816495206" cx="535.3" cy="549.3" id="1">
</circle>
<circle class="26.06315941481179|121.81909020231146" cx="817.8" cy="91.7" id="2">
</circle>
</g>
<g id="label_points">
<circle class="Kinmen" cx="153.8" cy="422.9" id="TWKIN">
</circle>
<circle class="Penghu" cx="396" cy="612.1" id="TWPEN">
</circle>
<circle class="Matsu Islands" cx="472.2" cy="56.8" id="TWLIE">
</circle>
<circle class="Taoyuan" cx="703.6" cy="320.4" id="TWTAO">
</circle>
<circle class="Hsinchu" cx="693.7" cy="378.3" id="TWHSQ">
</circle>
<circle class="Hsinchu City" cx="652.4" cy="360.1" id="TWHSZ">
</circle>
<circle class="Miaoli" cx="640.8" cy="418.8" id="TWMIA">
</circle>
<circle class="Taichung City" cx="604.9" cy="482.7" id="TWTXG">
</circle>
<circle class="Changhua" cx="565" cy="532.6" id="TWCHA">
</circle>
<circle class="Yunlin" cx="536" cy="583.2" id="TWYUN">
</circle>
<circle class="Chiayi" cx="598.2" cy="640.2" id="TWCYQ">
</circle>
<circle class="Tainan City" cx="536.2" cy="699.7" id="TWTNN">
</circle>
<circle class="Kaohsiung City" cx="605.1" cy="724.8" id="TWKHH">
</circle>
<circle class="Pingtung" cx="585.8" cy="821.8" id="TWPIF">
</circle>
<circle class="Taitung" cx="675.1" cy="732.1" id="TWTTT">
</circle>
<circle class="Hualien" cx="739" cy="565" id="TWHUA">
</circle>
<circle class="Yilan" cx="783.8" cy="406.8" id="TWILA">
</circle>
<circle class="New Taipei City" cx="763.3" cy="342.8" id="TWTPQ">
</circle>
<circle class="Keelung City" cx="796.7" cy="291.6" id="TWKEE">
</circle>
<circle class="Penghu" cx="396" cy="612.1" id="TWPEN">
</circle>
<circle class="Nantou" cx="658.6" cy="552" id="TWNAN">
</circle>
<circle class="Taipei City" cx="768.5" cy="297.9" id="TWTPE">
</circle>
<circle class="Chiayi City" cx="556.7" cy="630.5" id="TWCYI">
</circle>
</g>
</svg>

After

Width:  |  Height:  |  Size: 18 KiB

54
src/candidateEmojis.ts Normal file
View file

@ -0,0 +1,54 @@
let CandidateEmojis: { [key: string]: string } = {
// Discord Emojis
// Democrats
"Biden": "<:a:1261373557976469626>",
"Harris": "<:a:1261373557976469626>",
"Newsom": "<:a:1261373557976469626>",
"Whitmer": "<:a:1261373557976469626>",
// Republicans
"Trump": "<:a:1261373559159132251>",
// Independents
"Kennedy": ":regional_indicator_i:",
"West": ":regional_indicator_i:",
// Greens
"Stein": "<:a:1261394099731169372>",
// Libertarians
"Oliver": "<:a:1261397002952904825>",
// Disapprove/Approve
"Disapprove": ":x:",
"Approve": ":white_check_mark:",
// Parties - Afghanistan
"Taliban": "<:Taliban:1263010744925032538>",
// Parties - US
"Democratic": "<:a:1261373557976469626>",
"Democratic-Farmer-Labor": "<:a:1261373557976469626>", // minnesota's name for dems
"Republican": "<:a:1261373559159132251>",
"Green": "<:a:1261394099731169372>",
"Libertarian": "<:a:1261397002952904825>",
// Parties - UK
"Labour UK": "<:Labour:1262149539796615209>",
"Conservative UK": "<:Conservative:1262158432941903922>",
"Liberal Democrats": ":yellow_circle:",
"Democratic Unionists": ":red_circle:",
"Plaid Cymru": "<:PlaidCymru:1262160165709418599>",
"Ulster Unionist": ":blue_circle:",
"Bishop": ":white_circle:",
"Nonaffilated": ":regional_indicator_n:",
"Crossbenchers": ":regional_indicator_c:",
"Greens UK": "<:a:1262159187320766474>",
"Speaker": ":green_circle:",
// Generic parties
"Conservative": ":blue_circle:",
"Independent": ":regional_indicator_i:",
};
export default CandidateEmojis;

View file

@ -26,6 +26,18 @@ const commands = [
} }
], ],
}, },
{
name: 'test',
description: "election api test",
options: [
{
name: 'year',
description: 'The year to view',
type: ApplicationCommandOptionType.Number,
required: true
}
],
},
{ {
name: 'simulate', name: 'simulate',
description: "Simulate an election", description: "Simulate an election",

View file

@ -17,60 +17,70 @@ const Presidential_1789 = {
], ],
states: { states: {
"CT": { "CT": {
population: 0,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"DE": { "DE": {
population: 522,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"GA": { "GA": {
population: 0,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"MD": { "MD": {
population: 15829,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"MA": { "MA": {
population: 3880,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"NH": { "NH": {
population: 1764,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"NJ": { "NJ": {
population: 0,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"PA": { "PA": {
population: 7383,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"SC": { "SC": {
population: 0,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Independent": 1, "Independent": 1,
} }
}, },
"VA": { "VA": {
population: 668,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Independent": 1, "Independent": 1,

View file

@ -27,6 +27,7 @@ const Presidential_1848 = {
], ],
states: { states: {
"AL": { "AL": {
population: 61655,
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Whig": 0.45, "Whig": 0.45,
@ -35,6 +36,7 @@ const Presidential_1848 = {
} }
}, },
"AR": { "AR": {
population: 16888,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Whig": 0.05, "Whig": 0.05,
@ -43,6 +45,7 @@ const Presidential_1848 = {
} }
}, },
"CT": { "CT": {
population: 62398,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Whig": 0.9, "Whig": 0.9,
@ -51,6 +54,7 @@ const Presidential_1848 = {
} }
}, },
"DE": { "DE": {
population: 12423,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Whig": 0.7, "Whig": 0.7,
@ -59,6 +63,7 @@ const Presidential_1848 = {
} }
}, },
"FL": { "FL": {
population: 7203,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Whig": 0.9, "Whig": 0.9,
@ -67,6 +72,7 @@ const Presidential_1848 = {
} }
}, },
"GA": { "GA": {
population: 92317,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Whig": 0.8, "Whig": 0.8,
@ -75,6 +81,7 @@ const Presidential_1848 = {
} }
}, },
"IL": { "IL": {
population: 124596,
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Whig": 0.4, "Whig": 0.4,
@ -83,6 +90,7 @@ const Presidential_1848 = {
} }
}, },
"IN": { "IN": {
population: 152752,
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Whig": 0.3, "Whig": 0.3,
@ -91,6 +99,7 @@ const Presidential_1848 = {
} }
}, },
"IA": { "IA": {
population: 22271,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Whig": 0.25, "Whig": 0.25,
@ -99,6 +108,7 @@ const Presidential_1848 = {
} }
}, },
"KY": { "KY": {
population: 116865,
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Whig": 0.9, "Whig": 0.9,
@ -107,6 +117,7 @@ const Presidential_1848 = {
} }
}, },
"LA": { "LA": {
population: 33866,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Whig": 0.9, "Whig": 0.9,
@ -115,6 +126,7 @@ const Presidential_1848 = {
} }
}, },
"ME": { "ME": {
population: 87625,
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Whig": 0.3, "Whig": 0.3,
@ -123,6 +135,7 @@ const Presidential_1848 = {
} }
}, },
"MD": { "MD": {
population: 72359,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Whig": 0.6, "Whig": 0.6,
@ -131,6 +144,7 @@ const Presidential_1848 = {
} }
}, },
"MA": { "MA": {
population: 134748,
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Whig": 0.92, "Whig": 0.92,
@ -139,6 +153,7 @@ const Presidential_1848 = {
} }
}, },
"MI": { "MI": {
population: 65082,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"Whig": 0.2, "Whig": 0.2,
@ -147,6 +162,7 @@ const Presidential_1848 = {
} }
}, },
"MS": { "MS": {
population: 52456,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Whig": 0.48, "Whig": 0.48,
@ -155,6 +171,7 @@ const Presidential_1848 = {
} }
}, },
"MO": { "MO": {
population: 72748,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Whig": 0.1, "Whig": 0.1,
@ -163,6 +180,7 @@ const Presidential_1848 = {
} }
}, },
"NH": { "NH": {
population: 50104,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Whig": 0.05, "Whig": 0.05,
@ -171,6 +189,7 @@ const Presidential_1848 = {
} }
}, },
"NJ": { "NJ": {
population: 77735,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Whig": 0.8, "Whig": 0.8,
@ -179,6 +198,7 @@ const Presidential_1848 = {
} }
}, },
"NY": { "NY": {
population: 455944,
electoralVotes: 36, electoralVotes: 36,
odds: { odds: {
"Whig": 0.8, "Whig": 0.8,
@ -187,6 +207,7 @@ const Presidential_1848 = {
} }
}, },
"NC": { "NC": {
population: 79826,
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"Whig": 0.9, "Whig": 0.9,
@ -195,6 +216,7 @@ const Presidential_1848 = {
} }
}, },
"OH": { "OH": {
population: 328479,
electoralVotes: 23, electoralVotes: 23,
odds: { odds: {
"Whig": 0.3, "Whig": 0.3,
@ -203,6 +225,7 @@ const Presidential_1848 = {
} }
}, },
"PA": { "PA": {
population: 368552,
electoralVotes: 26, electoralVotes: 26,
odds: { odds: {
"Whig": 0.7, "Whig": 0.7,
@ -211,6 +234,7 @@ const Presidential_1848 = {
} }
}, },
"RI": { "RI": {
population: 11155,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Whig": 0.98, "Whig": 0.98,
@ -219,6 +243,7 @@ const Presidential_1848 = {
} }
}, },
"SC": { "SC": {
population: 0,
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Whig": 0, "Whig": 0,
@ -227,6 +252,7 @@ const Presidential_1848 = {
} }
}, },
"TN": { "TN": {
population: 122463,
electoralVotes: 13, electoralVotes: 13,
odds: { odds: {
"Whig": 0.7, "Whig": 0.7,
@ -235,6 +261,7 @@ const Presidential_1848 = {
} }
}, },
"TX": { "TX": {
population: 15177,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Whig": 0.02, "Whig": 0.02,
@ -243,6 +270,7 @@ const Presidential_1848 = {
} }
}, },
"VT": { "VT": {
population: 47922,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Whig": 0.9, "Whig": 0.9,
@ -251,6 +279,7 @@ const Presidential_1848 = {
} }
}, },
"VA": { "VA": {
population: 92004,
electoralVotes: 17, electoralVotes: 17,
odds: { odds: {
"Whig": 0.45, "Whig": 0.45,
@ -259,6 +288,7 @@ const Presidential_1848 = {
} }
}, },
"WI": { "WI": {
population: 39166,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Whig": 0.4, "Whig": 0.4,

367
src/elections/1860.ts Normal file
View file

@ -0,0 +1,367 @@
import { readFile } from "node:fs/promises";
import Election from "../election.js";
import VoteType from "../VoteType.js";
const Presidential_1860 = {
title: "1860 United States Presidential Election Simulator",
shortname: "1860",
description: "The CalubViem Press has rewritten history and called the 1860 United States Presidential Election for $WINNER!",
voteType: VoteType.Electoral,
svg: await readFile("assets/ElectoralCollege1860.svg", "utf-8"),
candidates: [
{
name: "Abraham Lincoln",
party: "Republican",
color: "#BF1D29",
},
{
name: "Stephen A. Douglas",
party: "Democratic",
color: "#1C408C",
},
{
name: "John C. Breckinridge",
party: "Southern Democratic",
color: "#4F990C",
},
{
name: "John Bell",
party: "Constitutional Union",
color: "#F59100",
},
],
states: {
"AL": {
population: 90122,
electoralVotes: 9,
odds: {
"Republican": 0,
"Democratic": 0.02,
"Southern Democratic": 0.94,
"Constitutional Union": 0.04,
}
},
"AR": {
population: 54152,
electoralVotes: 4,
odds: {
"Republican": 0,
"Democratic": 0.01,
"Southern Democratic": 0.94,
"Constitutional Union": 0.06,
}
},
"CA": {
population: 119827,
electoralVotes: 4,
odds: {
"Republican": 0.39,
"Democratic": 0.3,
"Southern Democratic": 0.3,
"Constitutional Union": 0.01,
}
},
"CT": {
population: 80745,
electoralVotes: 6,
odds: {
"Republican": 0.8,
"Democratic": 0.1,
"Southern Democratic": 0.1,
"Constitutional Union": 0,
}
},
"DE": {
population: 16115,
electoralVotes: 3,
odds: {
"Republican": 0.09,
"Democratic": 0.01,
"Southern Democratic": 0.7,
"Constitutional Union": 0.2,
}
},
"FL": {
population: 13301,
electoralVotes: 3,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.95,
"Constitutional Union": 0.05,
}
},
"GA": {
population: 106717,
electoralVotes: 10,
odds: {
"Republican": 0,
"Democratic": 0.01,
"Southern Democratic": 0.6,
"Constitutional Union": 0.39,
}
},
"IA": {
population: 128739,
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"IL": {
population: 339666,
electoralVotes: 11,
odds: {
"Republican": 0.75,
"Democratic": 0.25,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"IN": {
population: 272143,
electoralVotes: 13,
odds: {
"Republican": 0.75,
"Democratic": 0.25,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"KY": {
population: 146216,
electoralVotes: 12,
odds: {
"Republican": 0,
"Democratic": 0.01,
"Southern Democratic": 0.19,
"Constitutional Union": 0.8,
}
},
"LA": {
population: 50510,
electoralVotes: 6,
odds: {
"Republican": 0,
"Democratic": 0.02,
"Southern Democratic": 0.55,
"Constitutional Union": 0.43,
}
},
"MA": {
population: 169876,
electoralVotes: 13,
odds: {
"Republican": 0.99,
"Democratic": 0.01,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"MD": {
population: 92502,
electoralVotes: 8,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.50,
"Constitutional Union": 0.50,
}
},
"ME": {
population: 100918,
electoralVotes: 8,
odds: {
"Republican": 0.97,
"Democratic": 0.02,
"Southern Democratic": 0,
"Constitutional Union": 0.01,
}
},
"MI": {
population: 154549,
electoralVotes: 6,
odds: {
"Republican": 0.97,
"Democratic": 0.03,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"MN": {
population: 34787,
electoralVotes: 4,
odds: {
"Republican": 0.99,
"Democratic": 0.01,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"MO": {
population: 165563,
electoralVotes: 9,
odds: {
"Republican": 0.02,
"Democratic": 0.47,
"Southern Democratic": 0.02,
"Constitutional Union": 0.49,
}
},
"MS": {
population: 69095,
electoralVotes: 7,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.98,
"Constitutional Union": 0.02,
}
},
"NH": {
population: 65943,
electoralVotes: 5,
odds: {
"Republican": 0.98,
"Democratic": 0.02,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"NJ": {
population: 121215,
electoralVotes: 7,
odds: {
"Republican": 0.60,
"Democratic": 0.40,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"NY": {
population: 675156,
electoralVotes: 35,
odds: {
"Republican": 0.80,
"Democratic": 0.20,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"NC": {
population: 96712,
electoralVotes: 10,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.65,
"Constitutional Union": 0.35,
}
},
"OH": {
population: 432862,
electoralVotes: 23,
odds: {
"Republican": 0.75,
"Democratic": 0.25,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"OR": {
population: 14761,
electoralVotes: 3,
odds: {
"Republican": 0.55,
"Democratic": 0.15,
"Southern Democratic": 0.3,
"Constitutional Union": 0,
}
},
"PA": {
population: 476442,
electoralVotes: 27,
odds: {
"Republican": 0.95,
"Democratic": 0.05,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"RI": {
population: 19951,
electoralVotes: 4,
odds: {
"Republican": 0.98,
"Democratic": 0.02,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"SC": {
population: 0,
electoralVotes: 8,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 1,
"Constitutional Union": 0,
}
},
"TN": {
population: 146106,
electoralVotes: 12,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.3,
"Constitutional Union": 0.7,
}
},
"TX": {
population: 63004,
electoralVotes: 4,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.99,
"Constitutional Union": 0.01,
}
},
"VA": {
population: 166891,
electoralVotes: 15,
odds: {
"Republican": 0,
"Democratic": 0,
"Southern Democratic": 0.5,
"Constitutional Union": 0.5,
}
},
"VT": {
population: 44566,
electoralVotes: 5,
odds: {
"Republican": 0.99,
"Democratic": 0.01,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
"WI": {
population: 152179,
electoralVotes: 5,
odds: {
"Republican": 0.97,
"Democratic": 0.03,
"Southern Democratic": 0,
"Constitutional Union": 0,
}
},
}
}
export default Presidential_1860 as Election;

View file

@ -22,6 +22,7 @@ const Presidential_1864 = {
], ],
states: { states: {
"CA": { "CA": {
population: 105890,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"National Union": 0.7, "National Union": 0.7,
@ -29,6 +30,7 @@ const Presidential_1864 = {
} }
}, },
"CT": { "CT": {
population: 86981,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"National Union": 0.6, "National Union": 0.6,
@ -36,6 +38,7 @@ const Presidential_1864 = {
} }
}, },
"DE": { "DE": {
population: 16922,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"National Union": 0.5, "National Union": 0.5,
@ -43,20 +46,23 @@ const Presidential_1864 = {
} }
}, },
"IA": { "IA": {
population: 138025,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"National Union": 0.95, "National Union": 0.9,
"Democratic": 0.05, "Democratic": 0.1,
} }
}, },
"IL": { "IL": {
population: 348236,
electoralVotes: 16, electoralVotes: 16,
odds: { odds: {
"National Union": 0.8, "National Union": 0.8,
"Democratic": 0.2, "Democratic": 0.3,
} }
}, },
"IN": { "IN": {
population: 280655,
electoralVotes: 13, electoralVotes: 13,
odds: { odds: {
"National Union": 0.6, "National Union": 0.6,
@ -64,69 +70,79 @@ const Presidential_1864 = {
} }
}, },
"KS": { "KS": {
population: 21580,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"National Union": 1, "National Union": 1,
"Democratic": 0, "Democratic": 0.15,
} }
}, },
"KY": { "KY": {
population: 92088,
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"National Union": 0.2, "National Union": 0.1,
"Democratic": 0.8, "Democratic": 0.9,
} }
}, },
"LA": { "LA": {
electoralVotes: 7, population: 0,
odds: { electoralVotes: 0,
"National Union": 0.2,
"Democratic": 0.8,
}
},
"MA": {
electoralVotes: 12,
odds: { odds: {
"National Union": 1, "National Union": 1,
"Democratic": 0, "Democratic": 0,
} }
}, },
"MA": {
population: 175490,
electoralVotes: 12,
odds: {
"National Union": 1,
"Democratic": 0.4,
}
},
"MD": { "MD": {
population: 72892,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"National Union": 0.7, "National Union": 0.7,
"Democratic": 0.3, "Democratic": 0.4,
} }
}, },
"ME": { "ME": {
population: 114797,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"National Union": 0.9, "National Union": 0.9,
"Democratic": 0.1, "Democratic": 0.2,
} }
}, },
"MI": { "MI": {
population: 147662,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"National Union": 0.7, "National Union": 0.7,
"Democratic": 0.3, "Democratic": 0.4,
} }
}, },
"MN": { "MN": {
population: 42422,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"National Union": 0.8, "National Union": 0.9,
"Democratic": 0.2, "Democratic": 0.2,
} }
}, },
"MO": { "MO": {
population: 104346,
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"National Union": 0.99, "National Union": 1,
"Democratic": 0.01, "Democratic": 0.3,
} }
}, },
"NH": { "NH": {
population: 69630,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"National Union": 0.6, "National Union": 0.6,
@ -134,20 +150,23 @@ const Presidential_1864 = {
} }
}, },
"NV": { "NV": {
population: 16420,
electoralVotes: 2, electoralVotes: 2,
odds: { odds: {
"National Union": 0.9, "National Union": 0.8,
"Democratic": 0.1, "Democratic": 0.3,
} }
}, },
"NJ": { "NJ": {
population: 128747,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"National Union": 0.4, "National Union": 0.2,
"Democratic": 0.6, "Democratic": 0.8,
} }
}, },
"NY": { "NY": {
population: 730721,
electoralVotes: 33, electoralVotes: 33,
odds: { odds: {
"National Union": 0.55, "National Union": 0.55,
@ -155,59 +174,67 @@ const Presidential_1864 = {
} }
}, },
"OH": { "OH": {
population: 471253,
electoralVotes: 21, electoralVotes: 21,
odds: { odds: {
"National Union": 0.7, "National Union": 0.8,
"Democratic": 0.3, "Democratic": 0.3,
} }
}, },
"OR": { "OR": {
population: 18345,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"National Union": 0.7, "National Union": 0.8,
"Democratic": 0.3, "Democratic": 0.3,
} }
}, },
"PA": { "PA": {
population: 572707,
electoralVotes: 26, electoralVotes: 26,
odds: { odds: {
"National Union": 0.6, "National Union": 0.8,
"Democratic": 0.4, "Democratic": 0.3,
} }
}, },
"RI": { "RI": {
population: 22432,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"National Union": 0.95, "National Union": 1,
"Democratic": 0.05, "Democratic": 0.3,
} }
}, },
"TN": { "TN": {
electoralVotes: 10, population: 0,
electoralVotes: 0,
odds: { odds: {
"National Union": 1, "National Union": 1,
"Democratic": 0, "Democratic": 0,
} }
}, },
"VT": { "VT": {
population: 55742,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"National Union": 1, "National Union": 1,
"Democratic": 0,
}
},
"WI": {
electoralVotes: 8,
odds: {
"National Union": 0.7,
"Democratic": 0.3, "Democratic": 0.3,
} }
}, },
"WI": {
population: 34877,
electoralVotes: 8,
odds: {
"National Union": 0.9,
"Democratic": 0.2,
}
},
"WV": { "WV": {
population: 149342,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"National Union": 0.99, "National Union": 1,
"Democratic": 0.01, "Democratic": 0.2,
} }
}, },
} }

View file

@ -2,191 +2,164 @@ import { readFile } from "node:fs/promises";
import Election from "../election.js"; import Election from "../election.js";
import VoteType from "../VoteType.js"; import VoteType from "../VoteType.js";
const Presidential_1968 = { const Presidential_1940 = {
title: "1968 United States Presidential Election Simulator", title: "1940 United States Presidential Election Simulator",
shortname: "1968", shortname: "1940",
description: "The CalubViem Press has rewritten history and called the 1968 United States Presidential Election for $WINNER!", description: "The CalubViem Press has rewritten history and called the 1940 United States Presidential Election for $WINNER!",
voteType: VoteType.Electoral, voteType: VoteType.Electoral,
svg: await readFile("assets/ElectoralCollege1968.svg", "utf-8"), svg: await readFile("assets/ElectoralCollege1940.svg", "utf-8"),
candidates: [ candidates: [
{ {
name: "Hubert Humphrey", name: "Franklin D. Roosevelt",
party: "Democratic", party: "Democratic",
color: "#1C408C", color: "#1C408C",
}, },
{ {
name: "Richard Nixon", name: "Wendell Wilkie",
party: "Republican", party: "Republican",
color: "#BF1D29", color: "#BF1D29",
},
{
name: "George Wallace",
party: "American Independent",
color: "#ffa400",
} }
], ],
states: { states: {
"AL": { "AL": {
electoralVotes: 10, population: 294219,
electoralVotes: 11,
odds: { odds: {
"Republican": 0.1, "Republican": 0.2,
"Democratic": 0.1, "Democratic": 1
"American Independent": 0.8,
}
},
"AK": {
electoralVotes: 3,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
} }
}, },
"AZ": { "AZ": {
electoralVotes: 5, population: 150039,
electoralVotes: 3,
odds: { odds: {
"Republican": 0.6, "Republican": 0.2,
"Democratic": 0.4, "Democratic": 0.95,
"American Independent": 0,
} }
}, },
"AR": { "AR": {
electoralVotes: 6, population: 200743,
electoralVotes: 9,
odds: { odds: {
"Republican": 0.2, "Republican": 0.2,
"Democratic": 0.2, "Democratic": 1
"American Independent": 0.6,
} }
}, },
"CA": { "CA": {
electoralVotes: 40, population: 3268791,
electoralVotes: 22,
odds: { odds: {
"Republican": 0.6, "Republican": 0.3,
"Democratic": 0.4, "Democratic": 1,
"American Independent": 0,
} }
}, },
"CO": { "CO": {
population: 549004,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 0.6, "Republican": 0.8,
"Democratic": 0.4, "Democratic": 0.2,
"American Independent": 0,
} }
}, },
"CT": { "CT": {
population: 781502,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 0, "Republican": 0.4,
"Democratic": 1, "Democratic": 0.7,
"American Independent": 0,
} }
}, },
"DE": { "DE": {
population: 136374,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 0.4,
"Democratic": 0, "Democratic": 0.7,
"American Independent": 0,
}
},
"DC": {
electoralVotes: 3,
odds: {
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
} }
}, },
"FL": { "FL": {
electoralVotes: 14, population: 485492,
electoralVotes: 7,
odds: { odds: {
"Republican": 0.6, "Republican": 0.2,
"Democratic": 0.4, "Democratic": 1,
} }
}, },
"GA": { "GA": {
population: 312551,
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Republican": 0.2, "Republican": 0.2,
"Democratic": 0.2, "Democratic": 1,
"American Independent": 0.6,
}
},
"HI": {
electoralVotes: 4,
odds: {
"Republican": 0.2,
"Democratic": 0.8,
"American Independent": 0,
}
},
"ID": {
electoralVotes: 4,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
}
},
"IL": {
electoralVotes: 26,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0,
}
},
"IN": {
electoralVotes: 13,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
} }
}, },
"IA": { "IA": {
population: 1215430,
electoralVotes: 11,
odds: {
"Republican": 0.7,
"Democratic": 0.3,
}
},
"ID": {
population: 235168,
electoralVotes: 4,
odds: {
"Republican": 0.3,
"Democratic": 0.7,
}
},
"IL": {
population: 4217935,
electoralVotes: 29,
odds: {
"Republican": 0.4,
"Democratic": 1,
}
},
"IN": {
population: 1782747,
electoralVotes: 14,
odds: {
"Republican": 0.5,
"Democratic": 0.5,
}
},
"KS": {
population: 860297,
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Republican": 0.8, "Republican": 0.8,
"Democratic": 0.2, "Democratic": 0.2,
"American Independent": 0,
}
},
"KS": {
electoralVotes: 7,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
} }
}, },
"KY": { "KY": {
electoralVotes: 9, population: 970063,
electoralVotes: 11,
odds: { odds: {
"Republican": 1, "Republican": 0.2,
"Democratic": 0, "Democratic": 0.8,
"American Independent": 0,
} }
}, },
"LA": { "LA": {
population: 372305,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 0.1, "Republican": 0.1,
"Democratic": 0.1, "Democratic": 1,
"American Independent": 0.8,
} }
}, },
"ME": { "ME": {
electoralVotes: 4, population: 320840,
electoralVotes: 5,
odds: { odds: {
"Republican": 0.4, "Republican": 0.55,
"Democratic": 0.6, "Democratic": 0.45,
"American Independent": 0,
} }
}, },
"MD": { "MD": {
electoralVotes: 10, population: 660117,
electoralVotes: 8,
odds: { odds: {
"Republican": 0.45, "Republican": 0.45,
"Democratic": 0.55, "Democratic": 0.55,
@ -194,246 +167,247 @@ const Presidential_1968 = {
} }
}, },
"MA": { "MA": {
electoralVotes: 14, population: 2026993,
odds: { electoralVotes: 17,
"Republican": 0,
"Democratic": 1,
"American Independent": 0,
}
},
"MI": {
electoralVotes: 21,
odds: {
"Republican": 0.5,
"Democratic": 0.5,
"American Independent": 0,
}
},
"MN": {
electoralVotes: 10,
odds: { odds: {
"Republican": 0.4, "Republican": 0.4,
"Democratic": 0.6, "Democratic": 0.6,
"American Independent": 0, }
},
"MI": {
population: 2085929,
electoralVotes: 19,
odds: {
"Republican": 0.5,
"Democratic": 0.5,
}
},
"MN": {
population: 1251188,
electoralVotes: 11,
odds: {
"Republican": 0.3,
"Democratic": 0.7,
} }
}, },
"MS": { "MS": {
electoralVotes: 7, population: 175824,
electoralVotes: 9,
odds: { odds: {
"Republican": 0.1, "Republican": 0.05,
"Democratic": 0.1, "Democratic": 0.95,
"American Independent": 0.8,
} }
}, },
"MO": { "MO": {
electoralVotes: 12, population: 1833729,
electoralVotes: 15,
odds: { odds: {
"Republican": 0.55, "Republican": 0.35,
"Democratic": 0.45, "Democratic": 0.75,
"American Independent": 0,
} }
}, },
"MT": { "MT": {
population: 247873,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.8, "Republican": 0.2,
"Democratic": 0.2, "Democratic": 1,
"American Independent": 0,
} }
}, },
"NE": { "NE": {
electoralVotes: 5, population: 615878,
electoralVotes: 7,
odds: { odds: {
"Republican": 1, "Republican": 0.7,
"Democratic": 0, "Democratic": 0.4,
"American Independent": 0,
} }
}, },
"NV": { "NV": {
population: 53174,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 0.8, "Republican": 0.3,
"Democratic": 0.2, "Democratic": 0.9,
"American Independent": 0,
} }
}, },
"NH": { "NH": {
population: 235419,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.8, "Republican": 0.4,
"Democratic": 0.2, "Democratic": 0.6,
"American Independent": 0,
} }
}, },
"NJ": { "NJ": {
population: 1974214,
electoralVotes: 17, electoralVotes: 17,
odds: { odds: {
"Republican": 0.55, "Republican": 0.4,
"Democratic": 0.45, "Democratic": 0.6,
"American Independent": 0,
} }
}, },
"NM": { "NM": {
electoralVotes: 4, population: 183258,
electoralVotes: 3,
odds: { odds: {
"Republican": 0.6, "Republican": 0.3,
"Democratic": 0.4, "Democratic": 0.7,
"American Independent": 0,
} }
}, },
"NY": { "NY": {
electoralVotes: 43, population: 6301596,
electoralVotes: 47,
odds: { odds: {
"Republican": 0.45, "Republican": 0.44,
"Democratic": 0.55, "Democratic": 0.56,
"American Independent": 0,
} }
}, },
"NC": { "NC": {
population: 822648,
electoralVotes: 13, electoralVotes: 13,
odds: { odds: {
"Republican": 0.43, "Republican": 0.2,
"Democratic": 0.33, "Democratic": 0.8,
"American Independent": 0.23,
} }
}, },
"ND": { "ND": {
population: 280775,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 1, "Republican": 0.8,
"Democratic": 0, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0,
} }
}, },
"OH": { "OH": {
population: 3319912,
electoralVotes: 26, electoralVotes: 26,
odds: { odds: {
"Republican": 0.6, "Republican": 0.35,
"Democratic": 0.4, "Democratic": 0.8,
"American Independent": 0,
} }
}, },
"OK": { "OK": {
electoralVotes: 8, population: 826212,
electoralVotes: 11,
odds: { odds: {
"Republican": 0.8, "Republican": 0.35,
"Democratic": 0.2, "Democratic": 0.8,
"American Independent": 0,
} }
}, },
"OR": { "OR": {
electoralVotes: 6, population: 481240,
electoralVotes: 5,
odds: { odds: {
"Republican": 0.6, "Republican": 0.4,
"Democratic": 0.4, "Democratic": 0.7,
"American Independent": 0,
} }
}, },
"PA": { "PA": {
electoralVotes: 29, population: 4078714,
electoralVotes: 36,
odds: { odds: {
"Republican": 0.45, "Republican": 0.4,
"Democratic": 0.55, "Democratic": 0.7,
"American Independent": 0,
} }
}, },
"RI": { "RI": {
population: 321148,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 0.7,
"American Independent": 0,
} }
}, },
"SC": { "SC": {
population: 99832,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 0.43, "Republican": 0.1,
"Democratic": 0.33, "Democratic": 1,
"American Independent": 0.23,
} }
}, },
"SD": { "SD": {
population: 308427,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.8, "Republican": 0.7,
"Democratic": 0.2, "Democratic": 0.4,
"American Independent": 0,
} }
}, },
"TN": { "TN": {
population: 522823,
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"Republican": 0.43, "Republican": 0.3,
"Democratic": 0.23, "Democratic": 0.7,
"American Independent": 0.33,
} }
}, },
"TX": { "TX": {
electoralVotes: 25, population: 1124531,
electoralVotes: 23,
odds: { odds: {
"Republican": 0.4, "Republican": 0.3,
"Democratic": 0.6, "Democratic": 0.8,
"American Independent": 0,
} }
}, },
"UT": { "UT": {
population: 247819,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.8, "Republican": 0.2,
"Democratic": 0.2, "Democratic": 0.8,
"American Independent": 0,
} }
}, },
"VT": { "VT": {
population: 143062,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 0.6, "Republican": 0.9,
"Democratic": 0.4, "Democratic": 0.3,
"American Independent": 0,
} }
}, },
"VA": { "VA": {
electoralVotes: 12, population: 346607,
electoralVotes: 11,
odds: { odds: {
"Republican": 0.4, "Republican": 0.3,
"Democratic": 0.3, "Democratic": 0.8,
"American Independent": 0.3,
} }
}, },
"WA": { "WA": {
electoralVotes: 9, population: 793833,
electoralVotes: 8,
odds: { odds: {
"Republican": 0.45, "Republican": 0.3,
"Democratic": 0.55, "Democratic": 0.8,
"American Independent": 0,
} }
}, },
"WV": { "WV": {
electoralVotes: 7, population: 868076,
electoralVotes: 8,
odds: { odds: {
"Republican": 0.45, "Republican": 0.3,
"Democratic": 0.55, "Democratic": 0.9,
"American Independent": 0,
} }
}, },
"WI": { "WI": {
population: 1405522,
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Republican": 0.55, "Republican": 0.45,
"Democratic": 0.45, "Democratic": 0.55,
"American Independent": 0,
} }
}, },
"WY": { "WY": {
electoralVotes: 3, electoralVotes: 3,
population: 112240,
odds: { odds: {
"Republican": 1, "Republican": 0.5,
"Democratic": 0, "Democratic": 0.5,
"American Independent": 0,
} }
} }
} }
} }
export default Presidential_1968 as Election; export default Presidential_1940 as Election;

View file

@ -27,325 +27,367 @@ const Presidential_1968 = {
], ],
states: { states: {
"AL": { "AL": {
population: 1049917,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 0.1, "Republican": 0.3,
"Democratic": 0.1, "Democratic": 0.3,
"American Independent": 0.8, "American Independent": 1,
} }
}, },
"AK": { "AK": {
population: 83035,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 0.5,
"Democratic": 0, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"AZ": { "AZ": {
population: 486936,
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"Republican": 0.6, "Republican": 0.6,
"Democratic": 0.4, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.3,
} }
}, },
"AR": { "AR": {
population: 609590,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 0.2, "Republican": 0.3,
"Democratic": 0.2, "Democratic": 0.3,
"American Independent": 0.6, "American Independent": 0.4,
} }
}, },
"CA": { "CA": {
population: 7251587,
electoralVotes: 40, electoralVotes: 40,
odds: { odds: {
"Republican": 0.6, "Republican": 0.55,
"Democratic": 0.4, "Democratic": 0.45,
"American Independent": 0, "American Independent": 0.07,
} }
}, },
"CO": { "CO": {
population: 811199,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 0.6, "Republican": 0.7,
"Democratic": 0.4, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"CT": { "CT": {
population: 1256232,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 0, "Republican": 0.4,
"Democratic": 1, "Democratic": 0.6,
"American Independent": 0, "American Independent": 0.2,
} }
}, },
"DE": { "DE": {
population: 214367,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 0.55,
"Democratic": 0, "Democratic": 0.45,
"American Independent": 0, "American Independent": 0.06,
} }
}, },
"DC": { "DC": {
population: 170578,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 0, "Republican": 0.2,
"Democratic": 1, "Democratic": 0.7,
"American Independent": 0, "American Independent": 0,
} }
}, },
"FL": { "FL": {
population: 2187805,
electoralVotes: 14, electoralVotes: 14,
odds: { odds: {
"Republican": 0.6, "Republican": 0.55,
"Democratic": 0.4, "Democratic": 0.45,
"American Independent": 0.25,
} }
}, },
"GA": { "GA": {
population: 1250266,
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Republican": 0.2, "Republican": 0.4,
"Democratic": 0.2, "Democratic": 0.3,
"American Independent": 0.6, "American Independent": 0.6,
} }
}, },
"HI": { "HI": {
population: 236218,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.2, "Republican": 0.3,
"Democratic": 0.8, "Democratic": 0.7,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"ID": { "ID": {
population: 291183,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.2,
} }
}, },
"IL": { "IL": {
population: 4619749,
electoralVotes: 26, electoralVotes: 26,
odds: { odds: {
"Republican": 0.6, "Republican": 0.55,
"Democratic": 0.4, "Democratic": 0.45,
"American Independent": 0, "American Independent": 0.2,
} }
}, },
"IN": { "IN": {
population: 2123597,
electoralVotes: 13, electoralVotes: 13,
odds: { odds: {
"Republican": 1, "Republican": 0.7,
"Democratic": 0, "Democratic": 0.45,
"American Independent": 0, "American Independent": 0.3,
} }
}, },
"IA": { "IA": {
population: 1167931,
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Republican": 0.8, "Republican": 0.7,
"Democratic": 0.2, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.05,
} }
}, },
"KS": { "KS": {
population: 872783,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Republican": 1, "Republican": 0.7,
"Democratic": 0, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"KY": { "KY": {
population: 1055893,
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Republican": 1, "Republican": 0.7,
"Democratic": 0, "Democratic": 0.3,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"LA": { "LA": {
population: 1097450,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 0.1, "Republican": 0.3,
"Democratic": 0.1, "Democratic": 0.3,
"American Independent": 0.8, "American Independent": 0.6,
} }
}, },
"ME": { "ME": {
population: 392936,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.4, "Republican": 0.3,
"Democratic": 0.6, "Democratic": 0.7,
"American Independent": 0, "American Independent": 0.08,
} }
}, },
"MD": { "MD": {
population: 1235039,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 0.45, "Republican": 0.45,
"Democratic": 0.55, "Democratic": 0.55,
"American Independent": 0, "American Independent": 0.07,
} }
}, },
"MA": { "MA": {
population: 2331752,
electoralVotes: 14, electoralVotes: 14,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 0.7,
"American Independent": 0, "American Independent": 0.05,
} }
}, },
"MI": { "MI": {
population: 3306250,
electoralVotes: 21, electoralVotes: 21,
odds: { odds: {
"Republican": 0.5, "Republican": 0.45,
"Democratic": 0.5, "Democratic": 0.6,
"American Independent": 0, "American Independent": 0.05,
} }
}, },
"MN": { "MN": {
population: 1588510,
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 0.4, "Republican": 0.42,
"Democratic": 0.6, "Democratic": 0.6,
"American Independent": 0, "American Independent": 0.05,
} }
}, },
"MS": { "MS": {
population: 654509,
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Republican": 0.1, "Republican": 0.2,
"Democratic": 0.1, "Democratic": 0.45,
"American Independent": 0.8, "American Independent": 0.6,
} }
}, },
"MO": { "MO": {
population: 1809502,
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Republican": 0.55, "Republican": 0.65,
"Democratic": 0.45, "Democratic": 0.35,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"MT": { "MT": {
electoralVotes: 4, population: 274404,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
}
},
"NE": {
electoralVotes: 5,
odds: {
"Republican": 1,
"Democratic": 0,
"American Independent": 0,
}
},
"NV": {
electoralVotes: 3,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
}
},
"NH": {
electoralVotes: 4,
odds: {
"Republican": 0.8,
"Democratic": 0.2,
"American Independent": 0,
}
},
"NJ": {
electoralVotes: 17,
odds: {
"Republican": 0.55,
"Democratic": 0.45,
"American Independent": 0,
}
},
"NM": {
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.6, "Republican": 0.6,
"Democratic": 0.4, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.09,
}
},
"NE": {
population: 536851,
electoralVotes: 5,
odds: {
"Republican": 0.6,
"Democratic": 0.3,
"American Independent": 0.09,
}
},
"NV": {
population: 154218,
electoralVotes: 3,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0.1,
}
},
"NH": {
population: 297298,
electoralVotes: 4,
odds: {
"Republican": 0.7,
"Democratic": 0.4,
"American Independent": 0.04,
}
},
"NJ": {
population: 2875395,
electoralVotes: 17,
odds: {
"Republican": 0.55,
"Democratic": 0.4,
"American Independent": 0.05,
}
},
"NM": {
population: 327281,
electoralVotes: 4,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0.05,
} }
}, },
"NY": { "NY": {
population: 6790066,
electoralVotes: 43, electoralVotes: 43,
odds: { odds: {
"Republican": 0.45, "Republican": 0.45,
"Democratic": 0.55, "Democratic": 0.55,
"American Independent": 0, "American Independent": 0.06,
} }
}, },
"NC": { "NC": {
population: 1587493,
electoralVotes: 13, electoralVotes: 13,
odds: { odds: {
"Republican": 0.43, "Republican": 0.5,
"Democratic": 0.33, "Democratic": 0.3,
"American Independent": 0.23, "American Independent": 0.3,
} }
}, },
"ND": { "ND": {
population: 247882,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 1, "Republican": 0.7,
"Democratic": 0, "Democratic": 0.3,
"American Independent": 0, "American Independent": 0.04,
} }
}, },
"OH": { "OH": {
population: 3959698,
electoralVotes: 26, electoralVotes: 26,
odds: { odds: {
"Republican": 0.6, "Republican": 0.6,
"Democratic": 0.4, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"OK": { "OK": {
population: 943086,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 0.8, "Republican": 0.7,
"Democratic": 0.2, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.18,
} }
}, },
"OR": { "OR": {
population: 819622,
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 0.6, "Republican": 0.6,
"Democratic": 0.4, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.03,
} }
}, },
"PA": { "PA": {
population: 4747928,
electoralVotes: 29, electoralVotes: 29,
odds: { odds: {
"Republican": 0.45, "Republican": 0.45,
"Democratic": 0.55, "Democratic": 0.55,
"American Independent": 0, "American Independent": 0.05,
} }
}, },
"RI": { "RI": {
population: 385000,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 0.6,
"American Independent": 0, "American Independent": 0.04,
} }
}, },
"SC": { "SC": {
population: 666982,
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 0.43, "Republican": 0.43,
@ -354,83 +396,93 @@ const Presidential_1968 = {
} }
}, },
"SD": { "SD": {
population: 281264,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.8, "Republican": 0.7,
"Democratic": 0.2, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.04,
} }
}, },
"TN": { "TN": {
population: 1248617,
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"Republican": 0.43, "Republican": 0.4,
"Democratic": 0.23, "Democratic": 0.2,
"American Independent": 0.33, "American Independent": 0.3,
} }
}, },
"TX": { "TX": {
population: 3079406,
electoralVotes: 25, electoralVotes: 25,
odds: { odds: {
"Republican": 0.4, "Republican": 0.45,
"Democratic": 0.6, "Democratic": 0.55,
"American Independent": 0, "American Independent": 0.1,
} }
}, },
"UT": { "UT": {
population: 422568,
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0.8, "Republican": 0.6,
"Democratic": 0.2, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.09,
} }
}, },
"VT": { "VT": {
population: 161404,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 0.6, "Republican": 0.6,
"Democratic": 0.4, "Democratic": 0.4,
"American Independent": 0, "American Independent": 0.02,
} }
}, },
"VA": { "VA": {
electoralVotes: 12, population: 1361491,
odds: {
"Republican": 0.4,
"Democratic": 0.3,
"American Independent": 0.3,
}
},
"WA": {
electoralVotes: 9,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
}
},
"WV": {
electoralVotes: 7,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0,
}
},
"WI": {
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Republican": 0.55, "Republican": 0.55,
"Democratic": 0.45, "Democratic": 0.45,
"American Independent": 0, "American Independent": 0.2,
}
},
"WA": {
population: 1304281,
electoralVotes: 9,
odds: {
"Republican": 0.45,
"Democratic": 0.55,
"American Independent": 0.07,
}
},
"WV": {
population: 754206,
electoralVotes: 7,
odds: {
"Republican": 0.45,
"Democratic": 0.6,
"American Independent": 0.04,
}
},
"WI": {
population: 1691538,
electoralVotes: 12,
odds: {
"Republican": 0.6,
"Democratic": 0.4,
"American Independent": 0.07,
} }
}, },
"WY": { "WY": {
population: 127205,
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 0.6,
"Democratic": 0, "Democratic": 0.3,
"American Independent": 0, "American Independent": 0.04,
} }
} }
} }

View file

@ -10,7 +10,7 @@ const Presidential_2024 = {
svg: await readFile("assets/ElectoralCollege2024.svg", "utf-8"), svg: await readFile("assets/ElectoralCollege2024.svg", "utf-8"),
candidates: [ candidates: [
{ {
name: "Joseph R. Biden Jr.", name: "Kamala Harris",
party: "Democratic", party: "Democratic",
color: "#1C408C", color: "#1C408C",
}, },
@ -25,7 +25,7 @@ const Presidential_2024 = {
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 2323282 population: 2323282
}, },
@ -33,7 +33,7 @@ const Presidential_2024 = {
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 359530 population: 359530
}, },
@ -49,14 +49,14 @@ const Presidential_2024 = {
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 1219069 population: 1219069
}, },
"CA": { "CA": {
electoralVotes: 54, electoralVotes: 54,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 17501380 population: 17501380
@ -64,7 +64,7 @@ const Presidential_2024 = {
"CO": { "CO": {
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 3256980 population: 3256980
@ -72,7 +72,7 @@ const Presidential_2024 = {
"CT": { "CT": {
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 3256980 population: 3256980
@ -80,7 +80,7 @@ const Presidential_2024 = {
"DE": { "DE": {
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 504346 population: 504346
@ -88,7 +88,7 @@ const Presidential_2024 = {
"DC": { "DC": {
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 344356 population: 344356
@ -112,7 +112,7 @@ const Presidential_2024 = {
"HI": { "HI": {
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 574469 population: 574469
@ -121,14 +121,14 @@ const Presidential_2024 = {
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 867934 population: 867934
}, },
"IL": { "IL": {
electoralVotes: 19, electoralVotes: 19,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 6033744 population: 6033744
@ -137,7 +137,7 @@ const Presidential_2024 = {
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 3033210 population: 3033210
}, },
@ -153,7 +153,7 @@ const Presidential_2024 = {
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 1373986 population: 1373986
}, },
@ -161,7 +161,7 @@ const Presidential_2024 = {
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 1373986 population: 1373986
}, },
@ -169,7 +169,7 @@ const Presidential_2024 = {
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 2148062 population: 2148062
}, },
@ -184,7 +184,7 @@ const Presidential_2024 = {
"ME-01": { "ME-01": {
electoralVotes: 1, electoralVotes: 1,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 443286 population: 443286
@ -200,7 +200,7 @@ const Presidential_2024 = {
"MD": { "MD": {
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 3037030 population: 3037030
@ -208,7 +208,7 @@ const Presidential_2024 = {
"MA": { "MA": {
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 3631402 population: 3631402
@ -233,7 +233,7 @@ const Presidential_2024 = {
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
popultion: 1313759 popultion: 1313759
}, },
@ -241,7 +241,7 @@ const Presidential_2024 = {
electoralVotes: 10, electoralVotes: 10,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 3025962 population: 3025962
}, },
@ -249,7 +249,7 @@ const Presidential_2024 = {
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 603674 population: 603674
}, },
@ -257,7 +257,7 @@ const Presidential_2024 = {
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 956383 population: 956383
}, },
@ -288,7 +288,7 @@ const Presidential_2024 = {
"NJ": { "NJ": {
electoralVotes: 14, electoralVotes: 14,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 4549457 population: 4549457
@ -296,7 +296,7 @@ const Presidential_2024 = {
"NM": { "NM": {
electoralVotes: 5, electoralVotes: 5,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 923965 population: 923965
@ -304,7 +304,7 @@ const Presidential_2024 = {
"NY": { "NY": {
electoralVotes: 28, electoralVotes: 28,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 8616861 population: 8616861
@ -321,7 +321,7 @@ const Presidential_2024 = {
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 362024 population: 362024
}, },
@ -337,14 +337,14 @@ const Presidential_2024 = {
electoralVotes: 7, electoralVotes: 7,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 1560699 population: 1560699
}, },
"OR": { "OR": {
electoralVotes: 8, electoralVotes: 8,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 2374321 population: 2374321
@ -360,7 +360,7 @@ const Presidential_2024 = {
"RI": { "RI": {
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 517757 population: 517757
@ -369,7 +369,7 @@ const Presidential_2024 = {
electoralVotes: 9, electoralVotes: 9,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 2513329 population: 2513329
}, },
@ -377,7 +377,7 @@ const Presidential_2024 = {
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 422609 population: 422609
}, },
@ -385,7 +385,7 @@ const Presidential_2024 = {
electoralVotes: 11, electoralVotes: 11,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 3053851 population: 3053851
}, },
@ -401,14 +401,14 @@ const Presidential_2024 = {
electoralVotes: 6, electoralVotes: 6,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 1488289 population: 1488289
}, },
"VT": { "VT": {
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 367428 population: 367428
@ -424,7 +424,7 @@ const Presidential_2024 = {
"WA": { "WA": {
electoralVotes: 12, electoralVotes: 12,
odds: { odds: {
"Republican": 0, "Republican": 0.3,
"Democratic": 1, "Democratic": 1,
}, },
population: 4087631 population: 4087631
@ -433,7 +433,7 @@ const Presidential_2024 = {
electoralVotes: 4, electoralVotes: 4,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 794731 population: 794731
}, },
@ -449,7 +449,7 @@ const Presidential_2024 = {
electoralVotes: 3, electoralVotes: 3,
odds: { odds: {
"Republican": 1, "Republican": 1,
"Democratic": 0, "Democratic": 0.3,
}, },
population: 276765 population: 276765
} }

View file

@ -12,7 +12,7 @@ const NK_2019 = {
{ {
name: "Kim Jong-Un", name: "Kim Jong-Un",
party: "Democratic Front FTRF", party: "Democratic Front FTRF",
color: "#FF0000", color: "#DE0000",
}, },
], ],
states: { states: {

200
src/elections/ROC2024.ts Normal file
View file

@ -0,0 +1,200 @@
import { readFile } from "fs/promises";
import VoteType from "../VoteType.js";
import Election from "../election.js"
const ROC_2024 = {
title: "2024 Taiwanese presidential election",
shortname: "tw2024",
description: "The CalubViem Press has called the 2024 Taiwanese presidential election for $WINNER!",
voteType: VoteType.Popular,
svg: await readFile("assets/ROC2024.svg", "utf-8"),
candidates: [
{
name: "Lai Ching-te",
party: "DPP",
color: "#1B9431",
},
{
name: "Hou Yu-ih",
party: "KMT",
color: "#000099",
},
{
name: "Ko Wen-je",
party: "TPP",
color: "#28C7C7",
},
],
states: {
"TWTPE": {
population: 1542011,
odds: {
"DPP": 0.5,
"KMT": 0.5,
"TPP": 0.2,
}
},
"TWTPQ": {
population: 2458480,
odds: {
"DPP": 0.55,
"KMT": 0.48,
"TPP": 0.2,
}
},
"TWTAO": {
population: 1350792,
odds: {
"DPP": 0.52,
"KMT": 0.46,
"TPP": 0.3,
}
},
"TWTXG": {
population: 1707203,
odds: {
"DPP": 0.55,
"KMT": 0.45,
"TPP": 0.2,
}
},
"TWTNN": {
population: 1120238,
odds: {
"DPP": 0.6,
"KMT": 0.3,
"TPP": 0.2,
}
},
"TWKHH": {
population: 1636962,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWKEE": {
population: 216726,
odds: {
"DPP": 0.4,
"KMT": 0.6,
"TPP": 0.2,
}
},
"TWHSZ": {
population: 266389,
odds: {
"DPP": 0.5,
"KMT": 0.4,
"TPP": 0.4,
}
},
"TWHSQ": {
population: 339283,
odds: {
"DPP": 0.2,
"KMT": 0.7,
"TPP": 0.3,
}
},
"TWMIA": {
population: 318665,
odds: {
"DPP": 0.2,
"KMT": 0.7,
"TPP": 0.3,
}
},
"TWCHA": {
population: 741368,
odds: {
"DPP": 0.6,
"KMT": 0.3,
"TPP": 0.2,
}
},
"TWNAN": {
population: 287296,
odds: {
"DPP": 0.4,
"KMT": 0.6,
"TPP": 0.2,
}
},
"TWYUN": {
population: 380619,
odds: {
"DPP": 0.6,
"KMT": 0.3,
"TPP": 0.2,
}
},
"TWCYI": {
population: 157656,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWCYQ": {
population: 292534,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWPIF": {
population: 474805,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWILA": {
population: 267129,
odds: {
"DPP": 0.6,
"KMT": 0.4,
"TPP": 0.2,
}
},
"TWHUA": {
population: 174157,
odds: {
"DPP": 0.2,
"KMT": 0.8,
"TPP": 0.2,
}
},
"TWTTT": {
population: 109941,
odds: {
"DPP": 0.2,
"KMT": 0.8,
"TPP": 0.2,
}
},
"TWPEN": {
population: 49277,
odds: {
"DPP": 0.5,
"KMT": 0.5,
"TPP": 0.2,
}
},
"TWKIN": {
population: 51771,
odds: {
"DPP": 0.1,
"KMT": 0.9,
"TPP": 0.2,
}
},
}
}
export default ROC_2024 as Election;

View file

@ -1,28 +1,33 @@
import Election from "../election.js"; import Election from "../election.js";
import Presidential_1789 from "./1789.js"; import Presidential_1789 from "./1789.js";
import Presidential_1848 from "./1848.js"; import Presidential_1848 from "./1848.js";
import Presidential_1860 from "./1860.js";
import Presidential_1864 from "./1864.js"; import Presidential_1864 from "./1864.js";
import Presidential_1940 from "./1940.js";
import Presidential_1968 from "./1968.js"; import Presidential_1968 from "./1968.js";
import Presidential_1992 from "./1992.js"; import Presidential_1992 from "./1992.js";
import Presidential_2000 from "./2000.js";
import Presidential_2004 from "./2004.js";
import Presidential_2008 from "./2008.js";
import Presidential_2024 from "./2024.js"; import Presidential_2024 from "./2024.js";
import NK_2019 from "./NK2019.js"; import NK_2019 from "./NK2019.js";
import ROC_2024 from "./ROC2024.js";
const Elections = { const Elections = {
// US // US
"1789": Presidential_1789, "1789": Presidential_1789,
"1848": Presidential_1848, "1848": Presidential_1848,
"1860": Presidential_1860,
"1864": Presidential_1864, "1864": Presidential_1864,
"1940": Presidential_1940,
"1968": Presidential_1968, "1968": Presidential_1968,
/*
"1992": Presidential_1992, "1992": Presidential_1992,
"2000": Presidential_2000, "2000": Presidential_2000,
"2004": Presidential_2004, "2004": Presidential_2004,
"2008": Presidential_2008, "2008": Presidential_2008,
*/
"2024": Presidential_2024, "2024": Presidential_2024,
// Other // Other
"nk2019": NK_2019, "nk2019": NK_2019,
"roc2024": ROC_2024,
} }
export default (Elections as {[key : string] : Election}) export default (Elections as {[key : string] : Election})

View file

@ -3,7 +3,7 @@ import * as fs from "node:fs";
import commands from "./commands.js"; import commands from "./commands.js";
import {MakePrediction} from "./predictor.js"; import {MakePrediction} from "./predictor.js";
import Election from "./election.js"; import Election from "./election.js";
import Presidential_2024 from "./elections/2024.js"; import CandidateEmojis from "./candidateEmojis.js";
import Elections from "./elections/elections.js"; import Elections from "./elections/elections.js";
import VoteType from "./VoteType.js"; import VoteType from "./VoteType.js";
@ -28,6 +28,7 @@ if (!config.token) {
await i.deferReply(); await i.deferReply();
switch (i.commandName) { switch (i.commandName) {
case "approval": case "approval":
// TODO: Replace this with API!
let poll_data = JSON.parse(fs.readFileSync('data/approval_rating.json', "utf-8")); let poll_data = JSON.parse(fs.readFileSync('data/approval_rating.json', "utf-8"));
let polls = ""; let polls = "";
var source = i.options.get('source')?.value as string var source = i.options.get('source')?.value as string
@ -56,6 +57,43 @@ if (!config.token) {
} }
await i.editReply(`${polls}`); await i.editReply(`${polls}`);
break; break;
case "test":
var year = Number(i.options.get('year')?.value)
let query = await fetch(`http://127.0.0.1:3000/api/v1/us/governor/${year}/mn`); // temp test url
let results = await query.json();
if (query.ok) {
if(results[year] != undefined) {
const map = await fetch(`http://127.0.0.1:3000/api/v1/us/governor/${year}/mn/map`); // temp test url
if (!map.ok) {
throw new Error('Failed to fetch map');
}
const arrayBuffer = await map.arrayBuffer();
const buffer = Buffer.from(arrayBuffer);
var embed = new EmbedBuilder()
.setTitle(` ${results[year][0].election_name}`)
.setDescription("API test")
.addFields(Object.values(results[year][0].candidates).map((candidate: any) => ({
name: `${candidate.winner ? ":white_check_mark:" : ""} ${CandidateEmojis[candidate.party] ?? ""} ${candidate.name} ${candidate.incumbent ? "(I)" : ""} (${candidate.party})`,
value: `${candidate.votes.toLocaleString()} votes (${candidate.percent}%)`,
inline: true
})))
.setImage("attachment://map.png")
.setTimestamp();
await i.editReply({embeds: [embed], files: [{attachment: buffer, name: "map.png"}]});
break;
} else {
await i.editReply("Election not found");
break;
}
} else {
await i.editReply("An error occurred fetching the data");
break;
}
break;
case "simulate": case "simulate":
var electionname = (i.options as CommandInteractionOptionResolver).getSubcommand(); var electionname = (i.options as CommandInteractionOptionResolver).getSubcommand();
@ -101,7 +139,7 @@ if (!config.token) {
.addFields(result.candidates.map(c => { .addFields(result.candidates.map(c => {
return { return {
name: `${(result.winner === c.name ? ":white_check_mark:" : "")} ${c.name} (${c.party})`, name: `${(result.winner === c.name ? ":white_check_mark:" : "")} ${c.name} (${c.party})`,
value: `${election.voteType === VoteType.Electoral ? `${c.electoralVotes} Electoral Votes, ` : ""}${c.votes} votes (${((c.votes / result.totalVotes) * 100).toFixed(2)}%)`, value: `${election.voteType === VoteType.Electoral ? `${c.electoralVotes} electoral votes\n` : ""}${c.votes} votes (${((c.votes / result.totalVotes) * 100).toFixed(2)}%)`,
inline: true inline: true
} }
})) }))