(function ($, document, window, Raphael, undefined) { // jQuery Plugin Factory "use strict"; function jQueryPluginFactory($, name, methods, getters) { getters = getters instanceof Array ? getters : []; var getters_obj = {}; for (var i = 0; i < getters.length; i++) { getters_obj[getters[i]] = true; } // Create the object var Plugin = function (element) { this.element = element; }; Plugin.prototype = methods; // Assign the plugin $.fn[name] = function () { var args = arguments; var returnValue = this; this.each(function () { var $this = $(this); var plugin = $this.data('plugin-' + name); // Init the plugin if first time if (!plugin) { plugin = new Plugin($this); $this.data('plugin-' + name, plugin); if (plugin._init) { plugin._init.apply(plugin, args); } // call a method } else if (typeof args[0] === 'string' && args[0].charAt(0) !== '_' && typeof plugin[args[0]] === 'function') { var methodArgs = Array.prototype.slice.call(args, 1); var r = plugin[args[0]].apply(plugin, methodArgs); // set the return value if method is a getter if (args[0] in getters_obj) { returnValue = r; } } }); return returnValue; // returning the jQuery object }; } // Some constants var WIDTH = 950; var HEIGHT = 600; var LABELS_WIDTH = 0; // Default options var defaults = { // The styles for the state 'stateStyles': { fill: "#333", stroke: "#666", "stroke-width": 1, "stroke-linejoin": "round", scale: [1, 1] }, // The styles for the hover 'stateHoverStyles': { fill: "silver", stroke: "#000", scale: [1.1, 1.1] }, 'stateInitStyles': { fill: "#333", stroke: "#000", scale: [1.1, 1.1] }, // The time for the animation, set to false to remove the animation 'stateHoverAnimation': false, // The time for the animation, set to false to remove the animation 'stateInitAnimation': false, // State specific styles. 'ST': {} 'stateSpecificStyles': {}, // State specific hover styles 'stateSpecificHoverStyles': {}, // Events 'click': null, 'clickState': {}, 'selectedProgram': null, 'unselectedProgram': null, 'selectedProgramState': {}, 'unselectedProgramState': {}, 'initProgram': null, 'initProgramState': {}, // Labels 'showLabels': false, 'labelWidth': 20, 'labelHeight': 15, 'labelGap': 6, 'labelRadius': 3, 'labelBackingStyles': { fill: "#fe0", stroke: "#666", "stroke-width": 1, "stroke-linejoin": "round", scale: [1, 1] }, // The styles for the hover 'labelBackingHoverStyles': { fill: "#c0c0c0", stroke: "#000" }, 'stateSpecificLabelBackingStyles': {}, 'stateSpecificLabelBackingHoverStyles': {}, 'labelTextStyles': { fill: "#000", 'stroke': 'none', 'font-weight': 300, 'stroke-width': 0, 'font-size': '10px' }, // The styles for the hover 'labelTextHoverStyles': {}, 'stateSpecificLabelTextStyles': {}, 'stateSpecificLabelTextHoverStyles': {} }; // Methods var methods = { /** * The init function */ _init: function (options) { // Save the options this.options = {}; $.extend(this.options, defaults, options); // Save the width and height; var width = this.element.width(); var height = this.element.height(); // Calculate the width and height to match the container while keeping the labels at a fixed size //var xscale = this.element.width()/WIDTH; //var yscale = this.element.height()/HEIGHT; var xscale = WIDTH / this.element.width(); var yscale = HEIGHT / this.element.height(); this.scale = Math.min(xscale, yscale); var scaledLabelSize = Math.ceil(LABELS_WIDTH * this.scale); // The actual width with the labels reversed scaled //console.log("W: "+width+", H: "+height+", Labels: "+scaledLabelSize+", Scale: "+this.scale); // don't scale below actual size if (scaledLabelSize < LABELS_WIDTH) { this.labelAreaWidth = LABELS_WIDTH; } else { this.labelAreaWidth = Math.ceil(LABELS_WIDTH / this.scale); } var paperWidthWithLabels = WIDTH + Math.max(0, this.labelAreaWidth - LABELS_WIDTH); // Create the Raphael instances this.paper = Raphael(this.element.get(0), paperWidthWithLabels, HEIGHT); //this.element.width(), this.element.height()); // Scale to fit this.paper.setSize(width, height); this.paper.setViewBox(0, 0, paperWidthWithLabels, HEIGHT, false); // Keep track of all the states this.stateHitAreas = {}; // transparent for the hit area this.stateShapes = {}; // for the visual shape this.topShape = null; // create all the states this._initCreateStates(); // create the labels for the smaller states this.labelShapes = {}; this.labelTexts = {}; this.labelHitAreas = {}; if (this.options.showLabels) { this._initCreateLabels(); } }, /** * Create the state objects */ _initCreateStates: function () { // TODO: Dynamic attrs var attr = this.options.stateInitStyles; var R = this.paper; // shorter name for usage here // The coords for each state var paths = { US: "", HI: "M400.67,460.75c0,.75-.75,5.25-2.25,6-.75.75-.75,2.25-.75,3h0s1.5,3.75,1.5,5.25a14.8,14.8,0,0,0,1.5,5.25,10.68,10.68,0,0,0,3-1.5l3-3h3a.73.73,0,0,0,.75-.75h0c.75-.75,3-2.25,3-4.5a2.32,2.32,0,0,0-.75-1.5,18.23,18.23,0,0,0-6.75-5.25c-.75-1.5-5.25-3-5.25-3Z, M389.42,450.25h-1.5a17,17,0,0,0,.75,3h0a3.15,3.15,0,0,0,3,3s5.25,0,6-1.5V454c0-.75-.75-2.25-3-3s-1.5-.75-3-.75h-2.25Z, M380.42,445.5a2.76,2.76,0,0,0-2.25.75h-1.5c-.75,0-.75,0-.75.75v.75h0a3.28,3.28,0,0,0,2.25.75h3.75c1.5,0,1.5-.75,2.25-.75V447l-3-1.5Z, M380.67,453l-.75.75v.75c.75,0,.75.75,1.5.75V456h2.25a.73.73,0,0,0,.75-.75v-1.5c-.75-.75-3-.75-3.75-.75Z, M370.67,440.5h-1.5s-3,.75-3,2.25c0,.75,0,.75.75.75a.73.73,0,0,0,.75.75c.75,0,2.25-.75,3-.75,1.5,0,1.5,0,1.5-1.5h0c.75-1.5-.75-1.5-1.5-1.5Z, M349.67,431.5h-.75c-.75.75-1.5.75-3,1.5-.75.75-.75.75-.75,1.5s.75.75,1.5,1.5v.75c.75,0,1.5.75,2.25.75h2.25c1.5-.75,1.5-1.5,1.5-3v-2.25a7.55,7.55,0,0,0-2.25-.75h-.75Z", AK: "M155.42,370.75h-1.5c-.75,0-5.25,4.5-7.5,6h-4.5c-1.5,0-1.5,0-1.5.75h0a22.88,22.88,0,0,1-6,5.25h0c-.75,0-1.5,0-1.5.75-1.5.75-1.5.75-2.25.75h-.75c-2.25,0-2.25,1.5-3.75,3s-6,11.25-6.75,12.75c0,1.5-2.25,1.5-4.5,1.5s-7.5,0-7.5.75-1.5,3.75-2.25,5.25v.75c0,.75,1.5.75,3,3,3,1.5,4.5,3.75,6,5.25s2.25,9.75,2.25,9.75h6.75c2.25,0,4.5,1.5,4.5,3h0V430c0,.75,2.25,2.25,3,3.75.75.75,3,2.25,3,3.75h-.75c-.75.75-1.5.75-2.25,1.5a10.66,10.66,0,0,1-4.5,1.5h-.75a16.51,16.51,0,0,1-6-.75c-2.25,0-2.25,0-2.25-.75v-3a7.76,7.76,0,0,1,.75-3,33,33,0,0,0-6.75.75,6.41,6.41,0,0,0-4.5,4.5h-.75v-.75h0c-.75,0-1.5-.75-2.25-.75h0c-3,.75-4.5,3-6.75,4.5s-3.75,3-3.75,4.5h0c.75,1.5,2.25,1.5,5.25,2.25,2.25,1.5,3,1.5,3.75,2.25a.73.73,0,0,0,.75.75c0,1.5-2.25,3-3,4.5a.73.73,0,0,0-.75.75c0,1.5,2.25,2.25,3,3s2.25,0,3.75.75c.75.75.75,1.5,1.5,1.5h10.5c3,0,2.25.75,3.75,1.5h0c1.5,0,3-2.25,5.25-3h0c2.25-1.5,3-3,4.5-3h0c.75,0,2.25,2.25,2.25,3.75h0c0,1.5-2.25,1.5-3,3h0c0,1.5,1.5,2.25,1.5,4.5.75,3,.75,2.25.75,3.75h0c0,1.5-1.5,3-1.5,3.75-.75.75-3,.75-4.5.75h-.75c-1.5,0-1.5.75-3,2.25l-3,3h0c-.75.75-.75.75-1.5.75s-2.25-.75-3-.75h0c-.75-.75,0-1.5-.75-3h-.75l-.75-.75c-.75,0-.75.75-1.5.75s-.75,1.5-1.5,3h-.75a2.32,2.32,0,0,0-1.5.75h0v.75a3.28,3.28,0,0,0,.75,2.25c0,.75.75,1.5.75,2.25v.75h-.75v.75a2.62,2.62,0,0,1-1.5-.75c-.75,0-3,1.5-4.5,3-.75,1.5-1.5,4.5-2.25,6,0,.75-.75,1.5-.75,2.25v1.5l2.25,4.5h0c.75,0,.75.75,1.5.75a5.8,5.8,0,0,1,.75-2.25h.75v1.5h0V508c.75,1.5.75,1.5,2.25,2.25h0l.75.75h3a2.76,2.76,0,0,1,2.25.75c.75,0,.75.75,1.5,1.5h0V514c0,1.5-2.25,1.5-3.75,1.5-2.25,0-1.5-2.25-3-3.75-.75,0-.75,0-.75-.75h-.75l-.75.75-.75.75c-1.5,0-2.25.75-3,3h-.75c0,2.25,3,3,4.5,4.5,2.25,1.5,3,2.25,3.75,3.75s0,1.5,1.5,2.25h0c0,.75,0,.75.75.75h3c3,0,2.25,0,4.5-1.5h0c.75-.75,2.25-3,3-3a.73.73,0,0,1,.75.75h0a2.76,2.76,0,0,1,.75,2.25V526c0,.75,2.25,2.25,2.25,3.75h0c0,1.5-.75,2.25-.75,3a3.9,3.9,0,0,0-1.5,3c0,1.5.75.75,1.5,2.25,0,.75.75.75.75,1.5s-.75,1.5-.75,2.25v.75a2.76,2.76,0,0,0,.75,2.25h0a5.6,5.6,0,0,1,2.25-2.25c1.5-1.5,2.25-2.25,3.75-2.25.75,0,1.5-2.25,3-2.25h.75c.75,0-.75.75,0,.75,0,.75,2.25.75,3.75,1.5,1.5,0,1.5.75,2.25,2.25l3.75,3.75h.75c.75,0,1.5,0,1.5-.75h0a13.13,13.13,0,0,0-.75-3.75V541a1.61,1.61,0,0,1,1.5-1.5s.75-1.5,1.5-1.5h0c0-.75,0-.75.75-.75h0a1.61,1.61,0,0,1,1.5,1.5h0a.75.75,0,1,1,0,1.5l-2.25.75a2.77,2.77,0,0,0,2.25,1.5c1.5,0,3-1.5,3.75-3a45.94,45.94,0,0,1,4.5-3h0a29.49,29.49,0,0,1-1.5,4.5c-.75,1.5-1.5,2.25-2.25,3.75v3a10.79,10.79,0,0,0,2.25,1.5h0c0,.75-2.25.75-2.25.75s-.75,6-.75,6.75c0,1.5.75,1.5,1.5,1.5h-3c-2.25,0-4.5,3.75-4.5,3.75-.75.75-1.5,4.5-2.25,5.25,0,.75-1.5.75-3.75,2.25a50.45,50.45,0,0,0-8.25,5.25c-.75.75-1.5,1.5-1.5,2.25s.75,1.5.75,3c.75,2.25,1.5,3,2.25,3,1.5,0,2.25-.75,6.75-3,3.75-1.5,5.25-1.5,6-3,.75-2.25.75-1.5,3-4.5,3-3,5.25-3.75,7.5-6,2.25-3,3.75-3,3.75-3v-.75h0a5.73,5.73,0,0,1,1.5-3.75c.75-.75,4.5-3,6.75-5.25,2.25-3,5.25-3.75,6-6.75.75-2.25.75-3,3.75-6.75a3,3,0,0,0,1.5-3c0-.75-.75-1.5-.75-2.25h0c0-.75-.75-.75-1.5-.75h-3.75c0-1.5,5.25-7.5,6.75-8.25,2.25-1.5,2.25-3,3-5.25,0-1.5,1.5-4.5,3-7.5.75-3,5.25-9,6.75-9.75h0a2.76,2.76,0,0,1,2.25-.75h5.25c0,.75.75.75.75,1.5v1.5c0,.75,0,.75-.75.75a27.83,27.83,0,0,0-6.75,1.5c-1.5.75-1.5,2.25-1.5,3.75v3h0c0,3,0,3-.75,4.5-.75,0-.75.75-.75,1.5v3h0c-.75.75-.75,1.5,0,1.5h2.25a.73.73,0,0,1,.75.75c0,.75-1.5,1.5-3,3h0c-2.25,2.25,0,3,1.5,3h.75l.75-.75h0c1.5,0,2.25-2.25,3.75-4.5,2.25-2.25,4.5-3.75,6.75-6,1.5-2.25,4.5-2.25,6.75-3s2.25-3,2.25-5.25v-.75c0-1.5-2.25-3-3-4.5v-1.5c0-1.5.75-3.75,2.25-3.75h.75c1.5,0,2.25,1.5,5.25,1.5h0c3.75,0,2.25-2.25,4.5-3.75h0c.75-.75.75-.75,1.5-.75s.75.75,1.5,1.5v3.75c.75,3,.75,1.5,4.5,3.75a2.32,2.32,0,0,0,1.5.75c1.5,0,.75-1.5,1.5-3a2.76,2.76,0,0,1,.75-2.25h0c.75-.75.75-1.5,1.5-1.5s0,3,.75,5.25c0,2.25,0,1.5,3,3,.75,0,1.5.75,2.25.75s1.5-.75,4.5-.75a3.28,3.28,0,0,0,2.25-.75c0-.75-.75-.75-.75-1.5h.75c.75-.75.75-.75,1.5-.75h2.25a2.32,2.32,0,0,0,1.5.75h1.5c.75-.75.75-.75,1.5-.75s1.5.75,2.25.75h3l.75.75h.75c1.5,0,2.25-.75,3.75-1.5,2.25-1.5,2.25-3.75,3.75-4.5h.75a.73.73,0,0,1,.75.75c.75,0,.75.75,1.5,2.25v3.75c0,1.5,1.5,2.25,7.5,3,5.25,0,3.75.75,7.5,2.25a16.39,16.39,0,0,1,3.75,2.25h3.75q4.5,0,4.5-2.25c0-1.5-3.75-3-4.5-4.5h0v-1.5h0l.75.75h2.25c1.5,0,3,3,4.5,4.5h0a.73.73,0,0,0,.75.75h0c.75,0,1.5-.75,2.25-.75v-.75h0c0-.75-6-12-6-12h0a29.31,29.31,0,0,0,3,3.75c.75.75,4.5,5.25,5.25,6a2.76,2.76,0,0,0,2.25.75h1.5V511c1.5,0,4.5,1.5,6.75,3.75,3,2.25,1.5,3.75,5.25,6.75a1.61,1.61,0,0,0,1.5,1.5c.75.75.75,1.5,1.5,1.5v-.75a.73.73,0,0,0,.75-.75h.75c.75,0,1.5,2.25,3,3.75.75,2.25,2.25,2.25,6.75,3,2.25.75,2.25.75,2.25,1.5s-.75,1.5-.75,2.25a.73.73,0,0,0,.75.75c0,.75,0,.75.75,1.5h.75l.75-.75h0l1.5-1.5h0c.75-.75.75-.75,1.5-.75,0-.75,0-.75.75-.75a2.62,2.62,0,0,0,1.5.75h.75c1.5,1.5,2.25,3.75,3,6s2.25,2.25,3,4.5q1.13,2.25,2.25,2.25c.75,0,.75,0,1.5-.75h0c.75,0,.75-3,.75-5.25h0c0-2.25-2.25-6-3.75-7.5-.75-.75-1.5-4.5-1.5-4.5h-3c0-.75-1.5-.75-3-.75h-3a40.38,40.38,0,0,1-6-.75h0l-3.75-3a20.52,20.52,0,0,1-3-3.75c-1.5-1.5-7.5-5.25-8.25-6,0-.75-6-4.5-7.5-6-2.25-2.25-3-2.25-4.5-2.25a4,4,0,0,1-3-2.25c-.75-1.5-4.5-1.5-6-2.25s-.75-.75-1.5-2.25h0a.73.73,0,0,0-.75-.75c-.75-.75-.75-.75-1.5-.75h-.75a19.88,19.88,0,0,0-4.5,3.75,5.67,5.67,0,0,0-.75,3V505h0c0,2.25-2.25,4.5-3.75,5.25h-2.25a1.61,1.61,0,0,0-1.5-1.5c-.75-1.5-9-6-9.75-6a2.62,2.62,0,0,0-1.5-.75c-1.5-.75-1.5-1.5-1.5-2.25-.75-.75-.75-1.5-1.5-2.25h-.75c-.75,0-.75,0-1.5.75h0a5.77,5.77,0,0,0-1.5,2.25h-2.25a2.32,2.32,0,0,1-1.5.75h0c-.75.75-.75.75-1.5.75h-.75l-2.25-1.5L228.17,379.75l-2.25-.75a62.82,62.82,0,0,1-7.5-1.5h0a2.32,2.32,0,0,0-1.5-.75c-.75,0-.75,0-1.5.75a5.8,5.8,0,0,0-2.25.75h0c-2.25,0-3,.75-4.5.75-.75,0-.75,0-1.5-.75h-1.5c-.75,0-2.25.75-4.5.75h-9c-3-.75-3.75-2.25-4.5-2.25h0c-.75.75-7.5,1.5-9.75,1.5h-.75c-2.25,0-2.25,0-4.5-3h0c0-.75,0-1.5-.75-1.5,0-.75,0-1.5-.75-1.5h-.75a14.24,14.24,0,0,1-6.75,2.25h0l-.75-.75h0c0-.75,0-2.25-.75-2.25h-.75c-1.5,0-3,2.25-3.75,2.25h0c-.75,0-.75,0-.75-.75a2.62,2.62,0,0,0,.75-1.5h0a2.76,2.76,0,0,0-2.25-.75Z, M68.42,467.5s-2.25.75-3,2.25h-.75c0,1.5,1.5,2.25,2.25,3.75h0a2.76,2.76,0,0,0,2.25.75h3c3,0,3,2.25,5.25,3.75h0c.75,0,1.5.75,2.25.75l.75-.75c.75,0,1.5-.75,2.25-.75.75-.75.75-.75.75-1.5s-2.25-2.25-3.75-3c-.75-1.5-2.25-2.25-6.75-3-3.75,0-4.5-2.25-4.5-2.25Z, M192.17,550c-.75,0-.75.75-2.25,1.5h0c-3,0-2.25.75-3.75,2.25h0c-1.5,1.5-2.25,2.25-3,2.25h-.75c0-.75-1.5-.75-1.5-.75-.75,0-1.5,0-1.5.75h0c-.75.75-1.5,3.75-1.5,4.5s3.75,2.25,3.75,2.25h0v3h0a.73.73,0,0,0,.75.75h.75a2.32,2.32,0,0,1,1.5-.75h0a38,38,0,0,1,5.25-4.5c2.25-2.25,3-3.75,5.25-6a2.32,2.32,0,0,0,.75-1.5c0-1.5-1.5-1.5-3-3h0l-.75-.75Z, M128.42,580h-1.5a34.62,34.62,0,0,0-7.5,5.25,9.28,9.28,0,0,1-1.5,2.25c0,.75.75.75.75,1.5,0,1.5,0,3,1.5,3.75h0c.75,0,1.5-1.5,3-3.75s2.25-3.75,3.75-4.5h0c.75,0,1.5,1.5,1.5,2.25v.75h.75c.75,0,2.25,0,3-.75h0c.75-.75,1.5-.75,1.5-1.5,0-1.5-.75-3-1.5-3l-.75-1.5a.73.73,0,0,0-.75-.75Z, M108.17,591.25c-1.5,0-3.75,1.5-3.75,1.5h0s-3.75,3-4.5,3.75v3c.75,0,.75.75,1.5.75,1.5,0,3.75-1.5,4.5-2.25,2.25-1.5,4.5-1.5,6-2.25h0a6.85,6.85,0,0,0-2.25-3.75h0l-.75-.75Z, M116.42,598.75l-1.5.75a1.61,1.61,0,0,0,1.5,1.5h0a3.28,3.28,0,0,0,2.25-.75Z, M93.92,600.25a2.62,2.62,0,0,1-1.5.75.73.73,0,0,1-.75.75,7.55,7.55,0,0,0-2.25.75,2.62,2.62,0,0,0,1.5.75.73.73,0,0,0,.75.75h.75v-2.25a7.55,7.55,0,0,0,2.25.75.73.73,0,0,0,.75-.75l-1.5-1.5Z, M97.67,517.75h-.75a40.38,40.38,0,0,1-6,.75h0c-3,0-2.25,2.25-2.25,3h0c0,.75,1.5.75,3,1.5,2.25.75,2.25,3,5.25,3h0c3,0,3-3,3.75-5.25h0a3.15,3.15,0,0,0-3-3Z, M306.67,519l-1.5.75a7.76,7.76,0,0,0-.75,3,2.76,2.76,0,0,0,.75,2.25c2.25,1.5,4.5,3,4.5,3.75h0c.75,0,.75-.75.75-1.5a2.62,2.62,0,0,1,.75-1.5c0-.75.75-.75.75-1.5h0c0-1.5-2.25-1.5-3.75-3a9.28,9.28,0,0,0-1.5-2.25Z, M314.92,526.5c0,.75-1.5,1.5-1.5,2.25v1.5c2.25,2.25,3,3.75,4.5,4.5.75,1.5,4.5,5.25,4.5,5.25h.75c.75,0,3.75-.75,2.25-3-.75-2.25-3-3.75-4.5-5.25s-4.5-3-4.5-3.75-1.5-1.5-1.5-1.5Z, M317.42,514c-.75,0-.75,1.5-.75,2.25a2.76,2.76,0,0,0,.75,2.25,20.52,20.52,0,0,0,3,3.75h0c.75.75,1.5,1.5,1.5,2.25.75,0,.75.75,1.5.75v-.75c.75-.75,1.5-.75,1.5-2.25v-.75c-.75-1.5-.75-2.25-2.25-3s-3-1.5-3-2.25a5.6,5.6,0,0,0-2.25-2.25Z, M325.67,529h0a2.76,2.76,0,0,0-.75,2.25.73.73,0,0,0,.75.75l1.5,1.5v-.75a2.32,2.32,0,0,0,.75-1.5c0-.75,0-.75-.75-1.5h-.75l-.75-.75Z, M333.17,527.5s-2.25,0-2.25,1.5v.75c.75,1.5.75,3.75,2.25,4.5h0c1.5,0,2.25.75,3,.75s.75,0,.75-.75h0v-1.5c0-.75,0-.75-.75-1.5a5.6,5.6,0,0,1-2.25-2.25,2.62,2.62,0,0,0-.75-1.5Z, M339.17,538.5c-.75,0-.75,0-.75.75h0v4.5c.75,1.5.75,3,3,4.5,2.25.75,6,1.5,7.5,2.25h0l.75.75c.75.75.75,1.5,1.5,1.5h0v.75h0c.75,0,.75,0,.75-.75h0c0-.75.75-1.5.75-2.25s-.75-1.5-1.5-2.25a12.73,12.73,0,0,0-4.5-4.5c-1.5-.75-5.25-4.5-5.25-4.5h-.75c0-.75-1.5-.75-1.5-.75Z, M351.92,534.25a.73.73,0,0,0-.75.75v1.5c.75.75.75.75.75,1.5.75.75.75,1.5,1.5,1.5h0c0-.75,1.5-2.25,1.5-3.75a.73.73,0,0,1-.75-.75,7.55,7.55,0,0,1-2.25-.75Z", FL: "M791.42,382h-7.5l1.5,4.5h0v.75h0c-1.5,2.25-2.25,3-3,3a16.65,16.65,0,0,0-3-3.75h0l-42.75,3h0l-.75-.75h0l-1.5-3-17.25,1.5s-18,1.5-21.75,1.5a1.61,1.61,0,0,0-1.5,1.5.73.73,0,0,0,.75.75h0l3,3,.75.75.75,3.75h1.5c1.5-.75,2.25-2.25,3-2.25h0V397c.75.75.75,1.5,1.5,1.5h.75c1.5,0,3-.75,4.5-.75a.73.73,0,0,1,.75-.75h.75a.73.73,0,0,1,.75-.75,3.9,3.9,0,0,1,3,1.5c.75,0,.75,0,.75.75h0c2.25,1.5,4.5.75,6.75,1.5s6,3.75,6.75,5.25c1.5,1.5,2.25,3,4.5,4.5h1.5c1.5,0,3-.75,5.25-3l6.75-6.75h.75a3.9,3.9,0,0,1,3-1.5h.75c.75,0,1.5.75,3,.75,3.75.75,3.75,3.75,7.5,7.5,3.75,3,9.75,6,11.25,7.5s3.75,4.5,3.75,7.5h0V433c0,3.75,0,4.5,1.5,6.75h0q1.13,0,2.25-2.25l2.25-2.25h0c.75,0,1.5,0,1.5,1.5a4,4,0,0,1-2.25,3,5.8,5.8,0,0,0-.75,2.25v2.25c0,2.25,3,4.5,4.5,7.5,2.25,2.25,3,3,3.75,3h0c.75,0,1.5-.75,2.25-.75a.73.73,0,0,1,.75.75h0v4.5h0V460h.75a.73.73,0,0,0,.75-.75c.75-.75.75-1.5,1.5-2.25h.75v1.5a2.62,2.62,0,0,1-.75,1.5c0,.75.75.75.75,1.5,1.5.75.75,3.75,2.25,6s3,3,5.25,3c3,0,3,.75,3.75,2.25,1.5,1.5,7.5,7.5,9.75,9h.75a5.69,5.69,0,0,0,3-1.5,2.76,2.76,0,0,1,2.25-.75c3-.75,2.25-5.25,2.25-9,0-3,1.5-9,1.5-12v-.75c0-3,0-9-2.25-12-2.25-2.25-4.5-6.75-6-9.75s-6.75-9.75-8.25-12c-1.5-3-.75-6-1.5-7.5s-5.25-6.75-7.5-9c-1.5-2.25-3.75-7.5-5.25-11.25-.75-3-5.25-12-6-13.5h0V382Z", SC: "M775.67,298.75h-4.5a51.67,51.67,0,0,0-6,2.25h0a47.82,47.82,0,0,1-10.5,6l-2.25,4.5a29.9,29.9,0,0,1,2.25,3c1.5.75,6,0,6,.75l6.75,9,9,6.75h0l3,6,5.25,1.5h.75l2.25,6.75,5.25,7.5,3.75,1.5a2.76,2.76,0,0,0,.75-2.25h0v-.75h0c0-2.25.75-3,3-3.75,3,0,3.75-.75,6-3s4.5-3.75,7.5-6.75c3-3.75,2.25-3,3.75-6.75s1.5-5.25,3-9h.75v-.75h0c1.5-2.25,3.75-3,5.25-4.5l-20.25-15-16.5,3h0a.73.73,0,0,0-.75-.75h0l-5.25-4.5h0c-.75,0-1.5-.75-3-.75Z", GA: "M752.42,307l-15,3-4.5.75h-8.25l-7.5.75,12,39.75,4.5,6.75v.75l-.75,3s-1.5,5.25-1.5,6a31.27,31.27,0,0,0,1.5,4.5h0l.75,7.5,3.75,8.25,42.75-3h0a.73.73,0,0,1,.75.75c.75.75,1.5,1.5,1.5,2.25h0l.75-1.5a42.29,42.29,0,0,0-.75-5.25c0-.75,0-1.5.75-1.5h8.25V373h0c.75-3,.75-3.75,1.5-8.25,1.5-4.5,2.25-3,2.25-4.5h0a.73.73,0,0,1,.75-.75,6.76,6.76,0,0,1,.75-3.75l-4.5-1.5-.75-.75-5.25-7.5-2.25-6-5.25-1.5-.75-.75-3-5.25-9-7.5-6-8.25c-1.5,0-5.25,0-6-1.5-.75,0-3-3-3-3.75v-.75Z", AL: "M715.67,312.25l-30.75,3-5.25.75c0,2.25-.75,21.75-.75,30.75v4.5c.75.75.75,3,.75,5.25,0,6.75-.75,17.25-.75,18l.75,9.75,3,14.25V403h1.5c.75-.75.75-.75.75-1.5h0c1.5-2.25,1.5-5.25,2.25-5.25h0c1.5,1.5,3,4.5,3.75,5.25h0c0,.75,0,.75.75.75,1.5,0,3.75-.75,4.5-2.25h0c.75,0,.75-.75,1.5-.75l-1.5-4.5c-2.25-1.5-3.75-2.25-3.75-4.5h0a2.75,2.75,0,0,1,3-3c3-.75,21-1.5,21-1.5l17.25-1.5-1.5-3.75v-.75l-.75-6.75c0-.75-1.5-4.5-1.5-5.25h0V367c.75-2.25.75-3.75,1.5-6l.75-2.25-4.5-6.75h0Z", NC: "M855.92,258.25c-12,3-33,7.5-44.25,9-16.5,3-25.5,5.25-25.5,5.25L771.92,274l-1.5,5.25h0L768.17,283c-1.5,1.5-2.25,1.5-3,1.5h-1.5l-3,3h-3.75c-.75,1.5-1.5,3.75-3,4.5-3,1.5-5.25,3.75-7.5,5.25h0l-4.5,1.5c-.75,0-2.25,5.25-3,5.25l-2.25.75v3l17.25-2.25c3.75-1.5,6.75-3.75,10.5-6,2.25-2.25,7.5-2.25,11.25-2.25.75,0,8.25,0,9,.75l5.25,4.5,16.5-2.25h.75l21,15.75h0a.73.73,0,0,1,.75-.75c2.25-2.25,3.75-2.25,6-3,1.5-.75,2.25-6,3-7.5a17.25,17.25,0,0,1,5.25-6c3-3,4.5-2.25,6.75-4.5s3-1.5,4.5-3a.73.73,0,0,0,.75-.75c0-.75-.75-2.25-1.5-2.25-1.5,0-2.25-2.25-2.25-4.5s-2.25-1.5-2.25-2.25a.73.73,0,0,1-.75-.75h6.75a4.85,4.85,0,0,0,3.75-1.5c.75,0,.75,0,.75-.75v-.75h0v-1.5a4.13,4.13,0,0,0,1.5-3.75c0-1.5-.75-3-2.25-3-.75,0-2.25,1.5-2.25,5.25v.75c-.75,0-.75-2.25-.75-4.5h0a2.62,2.62,0,0,0-.75-1.5c0-.75,0-.75-.75-.75h-.75c-.75,0-1.5,0-1.5-.75h0a.73.73,0,0,1,.75-.75,8,8,0,0,1,4.5-1.5c2.25,0,2.25.75,3.75,2.25,1.5.75,3,3.75,3.75,6.75a2.76,2.76,0,0,1,.75,2.25h0c0,1.5-.75,3-.75,4.5h0v.75a.73.73,0,0,0,.75-.75l.75-.75a2.32,2.32,0,0,0,.75-1.5h0v-.75a17.91,17.91,0,0,0-1.5-6.75c-.75-1.5-3-3.75-5.25-6-3-2.25-3-6-4.5-6.75h0v-.75Z", TN: "M769.67,274l-6.75.75-38.25,6-47.25,3.75v3h0c0,.75,0,.75-.75.75l-18.75,1.5h-.75c-.75.75-1.5.75-2.25,2.25-1.5,1.5-.75,6-1.5,7.5,0,1.5.75,2.25.75,3s-.75.75-2.25,3.75c-.75,2.25-1.5,3.75-1.5,5.25,0,.75-1.5,3-3,5.25l18-.75,12.75-2.25,6.75-.75,39.75-3.75,7.5-.75h2.25v-3.75c0-1.5.75-1.5,3.75-2.25,0-.75,2.25-5.25,3-5.25a31.27,31.27,0,0,1,4.5-1.5c2.25-1.5,4.5-3.75,6.75-5.25l3-4.5h0a.73.73,0,0,0,.75-.75h.75a7.76,7.76,0,0,1,3,.75l2.25-3h.75c0-.75,0-.75.75-.75a2.62,2.62,0,0,1,1.5.75h0l1.5-1.5,2.25-3Z", RI: "M891.92,143.5l-3,.75,3.75,11.25c.75,0,.75-.75.75-1.5a25.83,25.83,0,0,0-.75-6.75v-1.5a.73.73,0,0,0,.75-.75h0c.75,0,1.5,2.25,2.25,3h0a.73.73,0,0,0,.75.75h.75a.73.73,0,0,1,.75-.75Z", CT: "M887.42,144.25l-21,5.25,3,14.25h0l-.75.75-1.5,1.5,2.25,1.5c.75,0,1.5-.75,2.25-1.5a48.52,48.52,0,0,1,6.75-6h.75c2.25-1.5,8.25-3,11.25-3.75Z", MA: "M896.42,127a33.24,33.24,0,0,1-4.5,3.75l-25.5,6V148l25.5-6.75h0c.75,0,.75,0,.75.75l6.75,5.25h.75v-.75h.75c2.25-2.25,3.75-3.75,3.75-4.5v-.75c0-.75-5.25-5.25-7.5-5.25v-.75h0a6.48,6.48,0,0,1,2.25-4.5V130c0-.75-1.5-2.25-3-3Z", ME: "M906.92,34.75h0c-1.5,0-1.5,2.25-3.75,3.75h0c-2.25.75-3,1.5-3.75,1.5s-1.5-.75-3-1.5h0c-.75-.75-1.5-1.5-2.25-1.5h-.75c-1.5,0-.75,3-1.5,5.25,0,2.25-1.5,4.5-2.25,6.75-1.5,2.25-1.5,6.75-2.25,9v7.5h0v6c0,2.25-.75,3-1.5,4.5,0,1.5-1.5,4.5-3,5.25a.73.73,0,0,1-.75.75h-.75l11.25,30.75,5.25,6.75c.75-2.25,0-6,.75-7.5h.75c1.5-1.5,1.5-4.5,2.25-6h0c0-.75.75-.75,1.5-.75h.75c.75,0,1.5,0,1.5-.75h0c2.25-.75,1.5-2.25,3.75-4.5,1.5-1.5,3-.75,3-5.25h0c0-3.75,0-6,1.5-6h.75c2.25,0,4.5,1.5,5.25,1.5s3.75-2.25,4.5-3,12-10.5,12-10.5,0-1.5-2.25-3.75h0c-.75-.75-.75-1.5-1.5-1.5v-.75h-.75c-.75,0-1.5-.75-2.25-.75h-.75c-1.5,0-3-2.25-3-3.75s0-2.25-3.75-2.25c-3-.75-2.25-4.5-3-7.5-.75-3.75-3-7.5-3-11.25s-4.5-6.75-7.5-9c-.75-1.5-1.5-1.5-1.5-1.5Z", NH: "M879.92,82.75h-.75a.73.73,0,0,1-.75.75h0c-.75.75-.75.75-.75,1.5h-.75c0,1.5-.75,2.25-1.5,3.75l2.25,6,2.25,3h0c0,1.5-.75,3-1.5,3l-2.25,1.5-1.5,1.5v9.75h0l-.75,3.75c0,.75.75,6,.75,6l.75,9.75,15.75-3.75,4.5-3.75v-.75h0a12.67,12.67,0,0,1,1.5-3.75l-6-7.5h-.75Z", VT: "M873.92,89.5c-2.25,1.5-6,2.25-10.5,3h0c-3,.75-6.75,1.5-9.75,3l6,23.25h.75c2.25,3,1.5,1.5,3,6l2.25,9.75,8.25-1.5-.75-9v-3a8.15,8.15,0,0,1-.75-3.75h0V115l.75-1.5v-9.75h0c0-.75,1.5-3,1.5-3l3-1.5v-1.5l-1.5-2.25-.75-.75Z", NY: "M852.17,95.5a6.76,6.76,0,0,1-3.75.75c-4.5,1.5-9.75,3.75-13.5,4.5-4.5,0-6,3.75-7.5,6-1.5,3-5.25,9-7.5,10.5-.75,0-.75,1.5-.75,2.25V121a20.52,20.52,0,0,1,3,3.75v1.5h0a11.15,11.15,0,0,1-.75,4.5,42.87,42.87,0,0,1-5.25,6c-.75.75-2.25,1.5-5.25,1.5h0c-.75.75-2.25.75-3,.75-1.5,0-2.25-.75-3.75-.75h0c-2.25,0-6.75.75-9.75.75-3.75,0-4.5,1.5-6.75,3a2.32,2.32,0,0,0-.75,1.5c0,1.5.75,2.25.75,3.75a13.9,13.9,0,0,1,1.5,5.25h0c0,1.5-3,4.5-5.25,6.75-.75,1.5-2.25,2.25-3.75,3.75l.75,3.75,59.25-11.25h0a.73.73,0,0,1,.75.75l6,6.75,4.5,2.25L862.67,163s1.5,6.75,2.25,11.25l1.5-2.25c-.75,0-.75,0-.75-.75a.73.73,0,0,1,.75-.75h0l1.5-1.5-.75-1.5a9.28,9.28,0,0,1-2.25-1.5c0-.75.75-1.5,2.25-3l-2.25-13.5v-.75L864.17,136c0-.75-.75-2.25-.75-3.75l-3-10.5h0c-3.75-3.75-2.25-2.25-4.5-10.5Z, M881.42,166.75h-1.5c-3,1.5-5.25,3-8.25,4.5a3.7,3.7,0,0,0-2.25.75h0c-.75,0-.75,0-.75.75-.75.75,0,2.25,0,2.25a.73.73,0,0,1,.75.75c3-1.5,7.5-3.75,11.25-6l3.75-2.25a7.76,7.76,0,0,0-3-.75Z", NJ: "M861.17,165.25l-9.75,1.5-3,11.25,8.25,9v.75c0,1.5-6,5.25-6.75,6l-1.5,2.25,3.75,9v.75h.75a10.75,10.75,0,0,0,5.25,1.5l1.5,4.5a31.33,31.33,0,0,1,2.25-6.75c.75-2.25,2.25-3.75,3-6.75,1.5-2.25,2.25-11.25,2.25-13.5s-3-3.75-5.25-5.25h0a.73.73,0,0,1-.75-.75h0c-.75-.75.75-2.25,2.25-2.25-.75-4.5-2.25-11.25-2.25-11.25Z", PA: "M840.17,157.75l-60,11.25h0c-.75,0-.75-.75-1.5-1.5v-3h0l-.75.75h0c-.75,1.5-2.25,2.25-3.75,3a10.35,10.35,0,0,0-3,2.25c.75,6,2.25,13.5,3,19.5v2.25l3.75,19.5c4.5-.75,23.25-3.75,33-6,9-1.5,28.5-6,32.25-6.75v-.75l5.25-6,6-4.5-7.5-9V178h0l3-12-3.75-1.5-.75-.75Z", DE: "M846.92,197.5l-1.5,1.5,5.25,22.5h8.25v-2.25h0a5.73,5.73,0,0,0-1.5-3.75c-.75-3-6-3.75-6-5.25,0-.75-2.25-6-1.5-6h0Z", MD: "M843.92,200.5c-3.75.75-23.25,5.25-33,6.75-4.5,1.5-11.25,2.25-18,3.75l1.5,6,6.75-6.75h5.25l3.75-2.25h.75c0-.75,1.5-.75,3-.75h.75c1.5,0,3.75,2.25,4.5,3.75.75,0,.75,0,1.5.75,4.5,1.5,3,6,9,6.75a46.6,46.6,0,0,1,7.5,2.25V217l.75-.75c0-1.5-.75-2.25-2.25-3.75v-.75h0c0-1.5.75-2.25.75-3.75,1.5-3,3.75-4.5,5.25-4.5h1.5a5.8,5.8,0,0,1-.75,2.25h0c0,2.25-.75,1.5-2.25,3.75v2.25c0,.75,0,.75.75,2.25.75,2.25,1.5,3,1.5,5.25V220h0v4.5a2.32,2.32,0,0,0,1.5.75c.75.75.75.75,1.5.75a.73.73,0,0,0,.75-.75h.75c.75,0,1.5.75,3.75,2.25h0a3.3,3.3,0,0,1,.75,3.75h0v3l1.5-.75c.75,0,2.25-.75,3.75-.75V230.5c.75-1.5.75-3,1.5-5.25h0v-.75h.75V223h-9.75Z", WV: "M774.92,202.75a94.35,94.35,0,0,1-.75,12c0,.75-6.75,6-7.5,6a10.35,10.35,0,0,0-3,2.25c-1.5,2.25-1.5,6-1.5,6.75h0c0,.75-.75.75-1.5.75h-1.5c-.75,0-1.5,0-1.5.75h0c-.75.75-.75,2.25-.75,4.5v1.5h0c0,.75-2.25,3.75-3,4.5v.75c0,2.25,2.25,9,3.75,9.75,2.25,2.25,4.5,4.5,8.25,5.25.75,0,1.5.75,2.25,1.5h0c2.25,0,10.5-2.25,11.25-3h0c3.75-.75,8.25-5.25,9-9,0-3.75,3.75-9,4.5-13.5h0c0-.75.75-1.5,1.5-2.25h3c.75,0,3.75-2.25,3.75-4.5h0c.75-3.75,7.5-6.75,7.5-10.5l-.75-.75c0-1.5-.75-3,.75-3.75h1.5a51.67,51.67,0,0,1,6,2.25c.75-1.5.75-2.25,1.5-2.25h0c-.75-1.5-1.5-1.5-1.5-2.25-.75,0-1.5-.75-3-.75-.75,0-1.5.75-2.25.75l-4.5,2.25h-4.5l-7.5,7.5V220h-.75l-.75-.75h0l-1.5-8.25c-7.5,1.5-13.5,2.25-13.5,2.25V214c-.75,0-.75-.75-1.5-.75h0Z", KY: "M723.92,232c-1.5,0-3,2.25-4.5,3.75h0v1.5h0c-1.5,3-3,5.25-6.75,5.25h-.75c0,.75-1.5,4.5-1.5,5.25,0,1.5-3,3-3.75,3.75-.75,1.5-2.25,4.5-3.75,4.5h-1.5c-.75-.75-.75-1.5-1.5-1.5h-.75c-1.5.75-3,6-4.5,6a2.62,2.62,0,0,1-1.5-.75h-.75c0-.75-.75-.75-1.5-.75s-1.5,0-1.5.75a.73.73,0,0,0-.75.75h0c0,.75,0,.75-.75.75a.73.73,0,0,1-.75-.75h-3c-2.25,0-3.75,1.5-6,1.5h-2.25c0,.75,0,.75-.75.75v1.5a8.1,8.1,0,0,1-2.25,5.25l-3,3h0v2.25c0,1.5,0,3-.75,3h-.75c-.75-.75-4.5-1.5-4.5-2.25h-.75c-.75,0-2.25.75-2.25,1.5v.75h0c0,1.5.75,3,.75,3.75,0,1.5-.75,3-1.5,5.25h0l-.75.75,16.5-.75v-3h0a.73.73,0,0,1,.75-.75l48-3.75,18-3,10.5-9,9-9a32.62,32.62,0,0,1-5.25-4.5c-2.25-1.5-4.5-8.25-4.5-11.25s-3-3.75-4.5-5.25h-.75c-.75,0-1.5,0-1.5.75a2.62,2.62,0,0,0-1.5.75.73.73,0,0,1-.75.75h0a3.9,3.9,0,0,1-3,1.5c-2.25,0-5.25-1.5-6.75-1.5h-.75c-5.25-.75-5.25-6-7.5-6.75,0-.75-.75-.75-1.5-.75Z", OH: "M769.67,172h-.75v.75h-.75c-1.5.75-3,.75-5.25,1.5-3,1.5-6,4.5-6,7.5a1.61,1.61,0,0,1-1.5,1.5h-4.5a49.94,49.94,0,0,0-5.25,2.25,29,29,0,0,0-7.5-2.25c-4.5-.75-6-.75-6.75-1.5h0c-5.25.75-12,2.25-18,3l5.25,49.5h0c1.5-2.25,3.75-3.75,6-3.75a4,4,0,0,1,3,2.25h0c1.5,2.25,2.25,4.5,5.25,4.5a23.18,23.18,0,0,0,6,1.5h0c.75,0,.75,0,.75.75h.75c2.25,0,2.25-2.25,4.5-3.75h3c.75,0,1.5.75,2.25,1.5h0a10.35,10.35,0,0,1,3,2.25l.75-.75c.75,0,.75-.75,1.5-1.5,0-3-.75-8.25,3.75-8.25h.75c.75-5.25,1.5-7.5,6-9.75a41.22,41.22,0,0,0,6.75-5.25c0-.75.75-6,.75-12,0-4.5-.75-8.25-.75-12-.75-5.25-2.25-12.75-3-18Z", MI: "M704.42,109a8,8,0,0,0-4.5,1.5c-.75.75-.75.75-.75,1.5s.75,2.25.75,4.5V118h-.75v-.75h-.75c-.75,0-.75,0-1.5.75h0a.73.73,0,0,0-.75.75c0,1.5.75,2.25.75,5.25h0c0,1.5,0,2.25-.75,2.25-.75.75-1.5,1.5-2.25,1.5l-.75-.75h0a3,3,0,0,0-1.5-3h0c-1.5,0-4.5,3.75-4.5,4.5h0a2.76,2.76,0,0,0-.75,2.25c0,1.5.75,3.75.75,5.25h0c0,3-1.5,4.5-2.25,6.75a2.76,2.76,0,0,0-.75,2.25c0,.75.75.75.75,2.25h0v1.5a14.64,14.64,0,0,0,.75,5.25c.75,2.25,3.75,6,4.5,9.75v3h0c0,3.75-.75,6.75-1.5,11.25h0c0,2.25-1.5,4.5-3,6.75h.75c1.5,0,3.75.75,6.75.75a9.51,9.51,0,0,0,4.5-.75h3c8.25-.75,21.75-3,30.75-4.5.75-.75.75-1.5,1.5-2.25h0c.75-2.25,0-4.5,1.5-9,.75-4.5,1.5-1.5,3-4.5.75-2.25,2.25-2.25,3.75-4.5v-1.5a9.51,9.51,0,0,0-.75-4.5c0-1.5-3.75-9-4.5-11.25h0c0-1.5-1.5-3-2.25-3.75-.75,0-1.5-.75-2.25-.75h-.75a7.68,7.68,0,0,0-4.5,3.75c0,2.25-3,4.5-4.5,4.5h-1.5c-.75,0-.75-.75-.75-1.5h0v-.75h0c0-1.5.75-1.5.75-3,.75-2.25.75-2.25,2.25-3.75,1.5-.75,1.5,0,1.5-1.5a6.76,6.76,0,0,1,.75-3.75v-6c0-1.5-1.5-2.25-1.5-4.5h0v-1.5a5.51,5.51,0,0,0-1.5-4.5c-1.5-2.25-7.5-3-9-3s-6.75-2.25-7.5-3.75Z, M713.42,99.25c-.75-1.5-1.5-1.5-3-2.25h-5.25a43.85,43.85,0,0,1-7.5-.75l-1.5-4.5L691.67,94h-6.75l-.75.75c-2.25.75-6.75,4.5-9,4.5h-1.5c0-.75,0-.75-.75-.75h-2.25c-1.5,0-2.25,0-3-.75-.75,0-1.5-.75-2.25-1.5-.75-2.25-4.5-3.75-6.75-3.75h0c-.75,0-2.25.75-3,.75-.75.75-1.5,1.5-2.25,1.5h0l-.75-.75q0-1.12,2.25-4.5c.75-3,6-6,5.25-7.5h0a2.62,2.62,0,0,0-1.5-.75c-.75,0-2.25.75-3,.75-1.5.75-3,.75-3,1.5-1.5,1.5-5.25,5.25-6.75,8.25s-9.75,5.25-12,6.75c-1.5,1.5-3,1.5-5.25,2.25,0,2.25,1.5,4.5,2.25,6.75,1.5,3,3,4.5,5.25,5.25,5.25.75,12.75,3,21,6.75,5.25,3,8.25,6.75,9,9h.75c1.5-1.5,0-2.25,1.5-5.25,2.25-3,5.25-12.75,6-12.75,0,0,0,2.25.75,3h.75c.75,0,1.5-2.25,3-3h0v2.25c0,.75-.75,1.5,0,1.5h0c.75,0,2.25-3.75,4.5-6h0a.73.73,0,0,0,.75-.75h.75c0-.75,0-.75.75-.75h5.25c3.75,0,1.5-2.25,4.5-2.25s6.75,3,6.75,3a35.31,35.31,0,0,1,1.5-3.75h1.5c2.25,0,6,.75,8.25.75,1.5,0,1.5-.75,1.5-.75,0-1.5-1.5-3-1.5-4.5Z", WY: "M 358.67 122.5 351.92 164.5 351.17 172 349.67 177.25 349.67 178 347.42 195.25 444.17 204.25 448.67 131.5 406.67 127.75 358.67 122.5 358.67 122.5 z", MT: "M307.67,37.75l-4.5,16.5,3,5.25v6.75l2.25,2.25,3.75,4.5h0l3,6.75L317.42,82c2.25,2.25,3,2.25,3,3s-.75,1.5-1.5,3.75v4.5c0,.75-3.75,4.5-3.75,6.75v3l1.5.75h0c.75,0,.75-.75,1.5-.75,1.5-1.5,2.25-2.25,3-2.25l2.25,2.25c.75.75.75,3.75.75,3.75.75,3,2.25,6,2.25,9.75h0v2.25h0c.75,1.5,3.75,1.5,3.75,2.25l.75,6,4.5-1.5h0l6,1.5h9c1.5-1.5,2.25-3,3-3h0a8,8,0,0,1,2.25,3.75h0l1.5-6h0c0-.75,0-.75.75-.75h0l48.75,5.25L449.42,130l5.25-72a49.78,49.78,0,0,0-9.75-.75h-.75c-14.25,0-71.25-7.5-94.5-11.25h-.75c-8.25-1.5-18-3-29.25-5.25-3.75-.75-8.25-1.5-12-3Z", ID: "M294.92,35.5c-.75,5.25-1.5,12.75-3,18.75a233.69,233.69,0,0,0-5.25,23.25c-.75,6-1.5,12-1.5,13.5,0,2.25,4.5,3.75,4.5,4.5v.75l-.75,3.75-.75.75s-1.5,2.25-3.75,5.25c0,.75-3.75,6-4.5,6.75-1.5.75-4.5,3.75-4.5,5.25,0,.75,0,.75.75.75v.75a4,4,0,0,1,2.25,3c0,1.5-1.5,3-1.5,5.25a29.39,29.39,0,0,0-3,6.75c-.75,6.75-4.5,22.5-4.5,22.5l-.75,4.5c22.5,4.5,50.25,10.5,60.75,12.75,12,1.5,17.25,2.25,18.75,2.25l1.5-4.5.75-8.25,5.25-33-3-4.5-1.5,2.25h-9.75l-6-1.5c-3,1.5-4.5,2.25-5.25,2.25h-.75c-.75-1.5-.75-3-.75-7.5h0c-4.5-1.5-3.75-1.5-3.75-5.25s-2.25-6-2.25-9.75a7.55,7.55,0,0,0-.75-2.25l-.75-1.5h0c-3,1.5-3.75,3-4.5,3s-1.5-.75-3-2.25h0c-.75,0-.75-.75-.75-1.5,0-1.5.75-3.75.75-4.5a19.88,19.88,0,0,1,3.75-4.5v-4.5h0a7.92,7.92,0,0,1,1.5-3.75l-2.25-1.5-3-2.25V80.5l-3-6.75-3.75-4.5L304.67,67V60.25l-3-5.25v-.75l4.5-16.5L294.92,35.5Z", WA: "M224.42,17.5V19h0a15.52,15.52,0,0,0,1.5,6h0a78.12,78.12,0,0,0-.75,8.25c0,3.75-1.5,3-3,6.75s0,6-1.5,8.25a15.1,15.1,0,0,1-6,6,2.32,2.32,0,0,1-1.5.75h0c-.75-.75,2.25-3,3-4.5.75-.75.75-.75.75-1.5s-.75-1.5-3-3l-.75-.75h0c0-.75,3-2.25,5.25-4.5s3-3,3-3.75v-.75c0-1.5-3-2.25-5.25-3-1.5,0-2.25-1.5-3-3.75h-3c-6,0-11.25-9-11.25-9v9h0c0,3.75-.75,13.5-.75,15.75V46c0,1.5.75,1.5,2.25,3.75,0,.75.75.75.75,1.5h0a7.47,7.47,0,0,0-3,.75h0c0,.75,1.5.75,1.5,2.25V55h0c0,1.5-3,2.25-3,3,0,1.5,0,2.25,1.5,4.5,0,1.5.75,1.5,1.5,2.25,4.5.75,9,2.25,9.75,3.75a2.76,2.76,0,0,1,.75,2.25c0,2.25-.75,3.75-.75,5.25s.75,3,6.75,3.75a191.84,191.84,0,0,1,20.25,3.75,8.15,8.15,0,0,0,3.75.75c4.5,0,19.5.75,21,.75a64.31,64.31,0,0,1,12.75,2.25c4.5.75,8.25,1.5,9.75,2.25a86.61,86.61,0,0,1,1.5-12c.75-5.25,3-15.75,4.5-24a165.85,165.85,0,0,0,3.75-18.75c-4.5-.75-8.25-1.5-12-2.25-5.25-1.5-9.75-2.25-12.75-3h-1.5c-8.25-1.5-39-12-42-12Z", TX: "M454.67,292.75l-5.25,81.75a.73.73,0,0,1-.75.75h0l-56.25-3.75-.75,2.25c.75,0,1.5.75,2.25,1.5,3,1.5,2.25,3,6,8.25,3.75,4.5,10.5,12,12.75,15s5.25,6,6,10.5.75,6,3,9c3,3,5.25,4.5,8.25,7.5,3,2.25,7.5,2.25,10.5,4.5.75,0,.75,0,.75.75h.75c.75,0,.75-.75,1.5-.75.75-.75,2.25-3.75,5.25-6.75,4.5-5.25,3-6,6.75-6h16.5c2.25.75,3,5.25,7.5,8.25,5.25,3.75,2.25,4.5,5.25,10.5,3,6.75,3.75,6,5.25,9.75s3,3.75,6,7.5c2.25,3.75,3.75,3,6.75,6,.75,1.5,1.5,2.25,1.5,3.75h0c0,.75-.75,2.25-.75,3.75v1.5c.75,3.75,3,9,5.25,13.5,1.5,1.5,2.25,2.25,3,2.25h4.5c3.75,1.5,2.25,2.25,6,3.75,4.5,1.5,5.25,0,9.75,2.25,4.5,1.5,5.25,1.5,5.25,1.5a1.47,1.47,0,0,0,1.5-1.5v-3.75c0-.75-3-5.25-3-8.25a5.67,5.67,0,0,1-.75-3h0c0-1.5.75-2.25.75-3.75,0-3-4.5-6.75-4.5-6.75h5.25c1.5,0,.75-.75,2.25-2.25h0a2.32,2.32,0,0,0,.75-1.5c0-.75-.75-1.5-.75-2.25-.75,0-.75-.75-.75-1.5h0a2.39,2.39,0,0,1,2.25-2.25h0c1.5,0,1.5.75,1.5.75h.75l5.25-5.25c2.25-1.5,2.25-2.25,4.5-4.5,0-.75.75-.75.75-1.5s-1.5-.75-1.5-2.25h0c0-.75,1.5-1.5,3-1.5h1.5c1.5,0,1.5,1.5,2.25,1.5h.75c1.5-.75,12.75-8.25,13.5-9.75,1.5-2.25,3.75-2.25,4.5-3.75.75-.75.75-.75.75-1.5a12.67,12.67,0,0,0-1.5-3.75v-.75h0c0-.75,1.5-.75,3-2.25v-.75h.75c0,.75,0,.75.75,1.5v.75c.75,1.5,2.25,3,3,3s5.25-3,6-3.75h.75c0-.75.75-.75,1.5-.75h.75a.73.73,0,0,1,.75-.75c0-.75,0-2.25.75-3,0-3.75,0-9,1.5-11.25.75-3.75,1.5-6.75,1.5-9.75V394c0-3.75-3-10.5-5.25-13.5-1.5-3-3.75-6-4.5-9v-.75c0-4.5,1.5-15.75,1.5-16.5,0-2.25,0-4.5-.75-6v-.75a9.51,9.51,0,0,1-4.5-.75c0,.75-1.5.75-2.25.75h-.75c-3.75,0-4.5-2.25-7.5-4.5h0c-.75-.75-1.5-1.5-2.25-1.5l-1.5,1.5h0a2.76,2.76,0,0,1-2.25.75h-.75c-2.25,0-2.25-.75-3.75-.75a2.76,2.76,0,0,0-2.25.75h0a8,8,0,0,0-3.75,2.25h-.75a2.76,2.76,0,0,1-2.25.75c-2.25,0-4.5-2.25-6-3a5.69,5.69,0,0,0-3-1.5h-.75c-1.5,0-1.5,3.75-3,4.5h0a2.76,2.76,0,0,1-2.25-.75,2.62,2.62,0,0,0-1.5-.75h0c-.75-.75-1.5-1.5-2.25-1.5a2.76,2.76,0,0,0-2.25-.75h-3a2.76,2.76,0,0,1-2.25-.75,2.62,2.62,0,0,1-.75-1.5c-1.5-1.5-1.5-2.25-4.5-3h-4.5a9.51,9.51,0,0,1-4.5-.75c-3-1.5-3.75-2.25-6.75-3.75,0-.75-2.25-.75-2.25-.75a8.52,8.52,0,0,1-6-2.25l-1.5-1.5h0l1.5-35.25Z", CA: "M170.42,141.25c0,1.5,0,3-.75,3.75h0a58.71,58.71,0,0,1-2.25,10.5c-.75,3.75-4.5,6.75-5.25,9v2.25c0,1.5.75,3.75,2.25,7.5s1.5,4.5,1.5,6.75h0v1.5c0,4.5-2.25,6-2.25,8.25,0,1.5-1.5,5.25-1.5,7.5v1.5c.75,1.5,3.75,5.25,5.25,8.25a8.15,8.15,0,0,1,.75,3.75h0v3c0,.75,1.5,3,3,4.5l.75.75a1.61,1.61,0,0,0,1.5-1.5l.75-.75h0c0-.75,2.25-2.25,2.25-2.25s4.5,1.5,4.5,3h0c-.75,0-2.25-.75-3.75-.75-.75,0-.75.75-.75,1.5,0,1.5.75,3,.75,4.5h0a3.25,3.25,0,0,1-1.5,3h0c0-.75-.75-3.75-1.5-3.75h-.75c-.75,0-.75,1.5-.75,3v2.25h0v3c0,2.25,1.5,3,3.75,6h0c2.25,2.25,2.25,3,2.25,3.75h0a7.57,7.57,0,0,1-1.5,3.75,4.13,4.13,0,0,0-1.5,3.75v2.25c.75,1.5,1.5,4.5,3,8.25s3.75,6.75,4.5,9.75a30.4,30.4,0,0,0,3.75,6.75v3h0v6.75c0,3,.75,3,3.75,4.5,3,.75,3,0,8.25,3.75s1.5,3,9,6.75,3,1.5,6,4.5,2.25,2.25,3.75,6c.75,3,3.75,3,7.5,6.75,2.25,3,3,3.75,3,6h0v3.75c0,4.5,2.25,9.75,2.25,9.75l34.5,3,6-2.25-1.5-3.75a5.8,5.8,0,0,0-.75-2.25c0-.75-.75-2.25-.75-3h0c0-1.5,4.5-4.5,5.25-5.25,0-1.5,0-6,.75-6.75a41.6,41.6,0,0,0,6-4.5c-.75-1.5-3-9.75-3.75-10.5,0-.75-.75-2.25-.75-4.5l-17.25-24L234.92,239.5l-21.75-30v-.75h0l12.75-54c-17.25-3.75-42-9.75-55.5-13.5Z", AZ: "M292.17,264.25v1.5l-1.5,7.5c-.75,3-1.5,6.75-1.5,6.75a.73.73,0,0,1-.75.75,2.76,2.76,0,0,1-2.25-.75,12.67,12.67,0,0,1-3.75-1.5h0l-3,.75v15h0c0,1.5-1.5,1.5-3,2.25v.75h0c.75,3,5.25,12,5.25,15h0c0,1.5-6,5.25-6.75,5.25,0,1.5,0,6.75-.75,6.75l-2.25,2.25c-.75.75-1.5.75-2.25,2.25a10.66,10.66,0,0,0,1.5,4.5c.75,2.25,2.25,3.75,2.25,5.25l-.75.75-6.75,2.25-.75,3s54.75,30.75,56.25,31.5h0a33,33,0,0,1,6.75.75h.75c6.75.75,15.75,1.5,21.75,2.25l12.75-104.25-35.25-5.25c-16.5-2.25-33-5.25-36-5.25Z", NV: "M227.42,155.5l-12.75,53.25,21,30,24,33.75,15.75,23.25a10.79,10.79,0,0,1,2.25-1.5V278.5h0c0-.75,0-.75.75-.75.75-.75,2.25-.75,3-.75h1.5l4.5,1.5c.75-3,3-12.75,3-12.75,0-.75.75-4.5,1.5-9l1.5-7.5,6-32.25,6.75-36.75,1.5-9c-23.25-4.5-54-11.25-66-13.5-3,0-8.25-1.5-14.25-2.25Z", UT: "M309.17,172l-1.5,8.25L300.92,217l-5.25,32.25s-.75,4.5-1.5,8.25l-1.5,4.5c3.75.75,20.25,3,36,6l35.25,5.25,9-73.5-26.25-3c-.75,0-.75,0-.75-.75h0l2.25-18c-2.25,0-7.5-.75-18.75-2.25-4.5-.75-12-2.25-20.25-3.75Z", CO: "M375.17,199.75l-9.75,73.5,6,.75,61.5,6s16.5.75,17.25.75c1.5.75,15,.75,18.75.75l2.25-72.75Z", NM: "M365.42,274.75,352.67,379c.75,0,1.5.75,2.25.75h2.25a5.67,5.67,0,0,0,3,.75,11.54,11.54,0,0,0,6-1.5h0l.75-6h23.25l.75-3h0a.73.73,0,0,1,.75-.75h0l56.25,4.5L453.17,292v-9h-3c-.75-.75-17.25-1.5-17.25-1.5l-61.5-6c-.75,0-3.75-.75-6-.75Z", OR: "M195.92,65.5c-1.5,0-2.25.75-2.25,1.5h0c0,1.5.75,3,.75,3.75v.75h0a97.83,97.83,0,0,0-2.25,9.75c-.75,3.75-3,6.75-4.5,10.5s-3,6-3.75,8.25-3.75,8.25-5.25,11.25-5.25,6-6.75,9.75v7.5h0v.75h0a66,66,0,0,1-.75,10.5c18.75,4.5,58.5,15,70.5,16.5,5.25.75,15,3,25.5,4.5l.75-4.5s3-15,4.5-21.75a37.68,37.68,0,0,1,3.75-9.75V122.5c0-.75,0-.75-.75-1.5l-.75-.75c-.75-.75-1.5-1.5-1.5-2.25h0c0-1.5,4.5-6.75,6-7.5h0c3-3,5.25-7.5,7.5-10.5l.75-3.75c-.75-.75-3.75-3-3.75-5.25h0c-1.5-.75-6-1.5-10.5-2.25-5.25-.75-10.5-2.25-12-2.25s-16.5-.75-21-.75a37.65,37.65,0,0,1-9-1.5c-4.5-.75-9.75-2.25-15-3-6.75,0-8.25-2.25-8.25-5.25h0c0-1.5.75-3,.75-5.25a2.32,2.32,0,0,0-.75-1.5c-.75-1.5-6-3-11.25-3.75Z", ND: "M456.17,58l-3.75,55.5c3.75,0,24.75.75,38.25,1.5,14.25,0,45,.75,45,.75h12.75V115l-1.5-5.25-2.25-22.5-3.75-9.75h0l-.75-17.25c-9,0-23.25-.75-37.5-.75-15.75-.75-32.25-1.5-43.5-1.5Z", SD: "M451.67,115l-.75,15.75v.75l-2.25,36.75,29.25.75,34.5,1.5h9c1.5,0,2.25.75,6.75,3,.75,0,1.5.75,2.25,1.5l9-2.25h.75l7.5,5.25v-1.5c0-1.5.75-9.75.75-11.25a6.48,6.48,0,0,1,2.25-4.5c0-3.75-1.5-28.5-1.5-31.5,0-1.5-.75-2.25-2.25-3.75l-.75-.75q-2.25-1.12-2.25-2.25h0c0-2.25,3-3.75,4.5-4.5v-.75l-12.75.75s-30.75-1.5-45-1.5c-13.5-.75-35.25-1.5-39-1.5Z", NE: "M447.92,169.75l-1.5,34.5,25.5,2.25c.75,0,.75.75.75,1.5h0l-.75,17.25h.75c4.5.75,28.5,1.5,45.75,1.5h46.5v-1.5c0-1.5-6-9-6-9.75,0,0-.75-9.75-.75-12,0-1.5-2.25-4.5-3-6,0-1.5-4.5-15-5.25-15.75V181l-10.5-6-9,1.5h-.75l-7.5-4.5h-9.75l-34.5-.75Z", IA: "M620.42,160.75,550.67,163v2.25a57.89,57.89,0,0,1-1.5,11.25l2.25,4.5s5.25,14.25,5.25,15.75c.75,2.25,3.75,3.75,3.75,6.75v12l.75.75h4.5a178,178,0,0,0,18-.75h0c15-.75,34.5-2.25,34.5-2.25h.75l2.25,3,1.5-1.5c.75-.75,3.75-6,5.25-7.5l-2.25-4.5h0c-.75-.75-.75-1.5,0-3h0c0-1.5,0-2.25.75-2.25h3l2.25-1.5c.75-.75,2.25-.75,3-1.5,0-.75.75-1.5.75-3a14.13,14.13,0,0,0,1.5-6l-7.5-9.75h-4.5l-2.25-5.25h0l-2.25-9Z", MS: "M678.17,316l-12.75,2.25h-19.5c-.75,1.5-1.5,2.25-1.5,3-.75.75-.75,3.75-1.5,4.5,0,2.25-.75,4.5-3,5.25a7.92,7.92,0,0,0-1.5,3.75c-1.5,3.75-3.75,6.75-3.75,11.25h0a7.76,7.76,0,0,0,.75,3,28.1,28.1,0,0,0,.75,6c.75,5.25,2.25,10.5,2.25,15.75V373c0,3-6,12-7.5,15.75,0,.75,0,2.25-.75,3v1.5l28.5-2.25h0c.75,0,.75.75.75,1.5v5.25h0l6.75,8.25h.75l1.5-1.5h0c1.5-.75,2.25-1.5,3-1.5h3.75c1.5.75,1.5,1.5,2.25,1.5h.75c.75-.75,1.5-.75,3-1.5v-4.5l-3-14.25-.75-9.75h0V346.75c0-9,.75-27.75.75-30.75Z", IN: "M711.92,185.5c-4.5,0-8.25.75-11.25.75-.75.75-2.25.75-3,.75h-9.75a6.76,6.76,0,0,0-3.75-.75c-.75.75-1.5,1.5-1.5,2.25h-.75c-.75.75-1.5.75-2.25,1.5h-2.25v22.5c0,8.25,2.25,15.75,2.25,18.75h0c0,1.5-.75,3-.75,4.5a5.67,5.67,0,0,0,.75,3c0,1.5.75,3,.75,5.25a17.1,17.1,0,0,1-2.25,8.25,15.12,15.12,0,0,0-2.25,8.25c.75,0,1.5-.75,2.25-.75,2.25,0,3.75-.75,6-.75h3a4.12,4.12,0,0,1,3.75-2.25,3.9,3.9,0,0,1,3,1.5h0c1.5-.75,3-3.75,4.5-4.5V253h1.5a2.76,2.76,0,0,1,2.25.75h0a.73.73,0,0,0,.75.75c.75,0,1.5-3.75,2.25-4.5.75,0,3.75-1.5,3.75-2.25,0-1.5,1.5-5.25,2.25-6.75h1.5c3,0,3.75-1.5,4.5-3.75h0Z", IL: "M669.17,175a45.39,45.39,0,0,1-11.25,1.5c-7.5,1.5-20.25,1.5-24,2.25l5.25,6v.75c0,1.5-2.25,7.5-3,9,0,.75,0,1.5-.75,1.5a23.34,23.34,0,0,1-4.5,3h-3.75v3l2.25,5.25h0V208s-4.5,6.75-5.25,7.5c-1.5,2.25-2.25,3.75-2.25,5.25s.75,2.25.75,3.75c0,.75,0,3.75.75,4.5,1.5,1.5,8.25,7.5,9,8.25,2.25.75,9,6,9,9h0c0,2.25-.75,9.75-.75,12l9.75,7.5,3.75,3,.75.75,1.5,7.5,2.25.75h0c0-1.5.75-2.25,1.5-2.25a3.9,3.9,0,0,1,3-1.5h.75s3,1.5,4.5,1.5v-3.75c0-.75,0-.75,3-3,.75-.75,2.25-3,2.25-4.5s0-2.25.75-3h0V259c.75-6,3.75-9,3.75-15a14.64,14.64,0,0,0-.75-5.25v-7.5c0-3-1.5-10.5-1.5-18.75V189.25c-2.25-1.5-3.75-3.75-5.25-4.5-1.5-2.25-1.5-6-1.5-9V175Z", MN: "M567.17,53.5h-.75c0,.75-.75,2.25-.75,3h0v3.75H542.42v16.5l3.75,9.75h0l2.25,22.5,1.5,6h0v3.75h0c0,1.5-4.5,1.5-4.5,3.75,0,0,1.5.75,1.5,1.5l.75.75a5.06,5.06,0,0,1,3,4.5c0,3,1.5,30,1.5,32.25l68.25-2.25-1.5-6.75c-1.5-.75-8.25-6.75-9.75-7.5-.75,0-8.25-4.5-9-5.25a2.62,2.62,0,0,1-.75-1.5,5.73,5.73,0,0,1-1.5-3.75h0a26.61,26.61,0,0,0,.75-5.25v-6c-2.25-1.5-2.25-3-2.25-3.75,0-3,2.25-4.5,5.25-6.75.75,0,1.5-.75,2.25-.75l-.75-9h0l.75-.75,2.25-1.5V100h0c0-.75,4.5-6,6-7.5,2.25-1.5,6.75-7.5,9-9,2.25-2.25,9.75-5.25,12-6.75l1.5-1.5-.75-.75c-1.5,0-1.5-.75-4.5-.75h-6c-1.5-.75-1.5-1.5-3.75-1.5h-.75V71.5c-2.25,0-3.75,3.75-6,3.75h-.75c-.75,0-1.5,0-1.5-.75-1.5-.75-2.25-2.25-3.75-3h-.75c-.75-.75-.75-.75-1.5-.75s-.75.75-2.25,1.5h-.75c-.75,0-1.5-3-2.25-3.75-1.5-1.5-4.5-2.25-7.5-3h0c-.75,0-1.5.75-2.25.75a3.9,3.9,0,0,1-3,1.5h0a.73.73,0,0,1-.75.75h0c-1.5,0-2.25-1.5-4.5-2.25h-.75a2.76,2.76,0,0,0-2.25-.75h-3.75c-2.25,0-2.25-1.5-2.25-3.75h0v-1.5c0-1.5-2.25-4.5-3.75-6.75h-1.5Z", WI: "M673.67,121.75v.75h0c-.75,0-3.75,5.25-5.25,7.5-.75,2.25-5.25,6.75-5.25,6.75v-4.5c0-1.5.75-1.5,1.5-2.25-.75-2.25-3-6-9-8.25-7.5-4.5-14.25-6-20.25-7.5a10,10,0,0,1-6-5.25,36.56,36.56,0,0,1-3-8.25,6.76,6.76,0,0,1-3.75.75h0c-.75,0-.75-.75-.75-1.5V94.75l-.75-.75h0c-2.25,0-7.5,5.25-9,6a2.76,2.76,0,0,1-2.25.75h-1.5l-3,2.25v9c0,.75,0,.75-.75.75a37.64,37.64,0,0,0-6,4.5,2.76,2.76,0,0,0-.75,2.25c0,1.5,1.5,2.25,2.25,3.75v3c0,3-.75,6-.75,8.25a12.67,12.67,0,0,0,2.25,4.5c.75.75,6.75,3.75,8.25,4.5.75,0,10.5,7.5,10.5,8.25l1.5,9,2.25,9,2.25,4.5h3.75l2.25,2.25c2.25,0,16.5-.75,25.5-1.5,4.5-.75,8.25-.75,11.25-1.5a8.15,8.15,0,0,1-.75-3.75V169h-.75a10.66,10.66,0,0,0-1.5-4.5c0-.75-.75-2.25-.75-3,0-3,2.25-6,3-8.25v-7.5a30.76,30.76,0,0,0,.75-8.25c0-2.25,3-9,4.5-11.25a2.76,2.76,0,0,0,.75-2.25v-.75c0-.75,0-1.5-.75-1.5Z", MO: "M617.42,214.75c-2.25,0-19.5,1.5-33.75,2.25h0c-8.25.75-14.25.75-18,.75h-3.75c2.25,2.25,4.5,6.75,4.5,7.5,0,1.5,3.75,4.5,5.25,4.5s1.5,0,1.5.75c0,1.5-1.5,3-1.5,3.75v1.5c0,3,6.75,7.5,6.75,9h0V283l1.5,9.75c4.5,0,29.25-1.5,33.75-1.5,5.25,0,30-1.5,30-1.5h1.5c1.5.75,3.75,1.5,3,3a2.76,2.76,0,0,1-.75,2.25c-.75.75-3,2.25-3,3h0c.75.75,2.25.75,3.75.75h3.75c0-5.25.75-7.5,4.5-10.5.75-.75,1.5-.75,1.5-1.5h0l.75-.75a11.15,11.15,0,0,0,.75-4.5v-2.25c-6-1.5-3.75,0-6-9l-4.5-3L639.17,259v-.75h0s.75-9,.75-12c0-1.5-6.75-6.75-8.25-8.25-1.5,0-8.25-6.75-9-7.5-1.5-1.5-2.25-7.5-2.25-10.5v-1.5Z", AR: "M643.67,291.25c-2.25,0-25.5,1.5-30,1.5s-28.5,1.5-33.75,1.5l1.5,6a62.82,62.82,0,0,1,1.5,7.5v37.5h2.25a13.13,13.13,0,0,0,3.75.75c1.5,0,1.5,3.75,1.5,4.5v3.75h0v3l44.25-1.5h0a61.08,61.08,0,0,1-1.5-6.75v-3h0c0-5.25,2.25-7.5,3.75-12,0-1.5.75-4.5,2.25-5.25.75,0,1.5,0,1.5-1.5,1.5-2.25.75-6,2.25-7.5s5.25-6.75,5.25-8.25c0-2.25,3-7.5,3.75-9.75v-1.5h-6.75c-1.5,0-2.25-.75-2.25-1.5,0-1.5.75-2.25,1.5-3.75.75,0,1.5-.75,2.25-1.5v-.75c0-.75-2.25-1.5-3-1.5Z", OK: "M454.67,283v8.25h44.25l.75.75h0l-.75,36,.75.75h0c3,3,6.75,1.5,8.25,3,3,2.25,5.25,4.5,9,4.5h6a4.12,4.12,0,0,1,3.75,2.25.73.73,0,0,1,.75.75l2.25,2.25h0c.75,0,2.25-.75,3-.75s.75.75,1.5.75c1.5,0,4.5,2.25,6,3.75v-.75c.75-2.25,2.25-4.5,3.75-4.5.75,0,.75.75,1.5.75a2.32,2.32,0,0,1,1.5.75c1.5.75,3,2.25,4.5,3s1.5.75,2.25.75.75,0,1.5-.75h0l4.5-2.25c.75-.75,2.25-.75,3-.75h5.25c1.5-.75,2.25-1.5,3-1.5a2.76,2.76,0,0,1,2.25.75c2.25,1.5,3.75,3.75,5.25,4.5h0c.75.75,1.5.75,3,.75h0l-.75-38.25c0-.75-2.25-11.25-2.25-13.5v-.75h-.75l-.75-9c-3,0-13.5.75-39,.75-30.75,0-68.25-1.5-68.25-1.5-1.5,0-9.75-.75-15-.75Z", KS: "M471.92,227.5l-.75,54.75c5.25,0,39,1.5,66.75,1.5,25.5,0,36-.75,38.25-1.5l.75-37.5c-2.25-1.5-7.5-6-7.5-9h0a5.73,5.73,0,0,1,1.5-3.75l.75-.75c-1.5,0-3.75-1.5-5.25-3-11.25,0-22.5.75-33.75.75-20.25,0-40.5-.75-60.75-1.5Z", LA: "M634.67,357.25l-45,1.5v12h0c0,3.75,2.25,6,3.75,8.25,2.25,3.75,5.25,10.5,5.25,14.25v2.25c0,3,0,6.75-1.5,10.5-1.5,3-1.5,8.25-1.5,13.5l.75-.75a4.13,4.13,0,0,0,3.75-1.5c1.5-.75.75-2.25,1.5-2.25h.75v3h0c1.5.75,3,0,6,1.5,3.75,2.25,4.5,1.5,6.75,2.25h0c1.5.75,1.5.75,2.25.75s1.5-.75,3-1.5h0c2.25-.75,1.5-3,3-3.75h3.75a6.48,6.48,0,0,1,4.5,2.25c1.5,1.5,2.25,1.5,3,1.5a11.53,11.53,0,0,1,3,4.5c0,2.25,1.5.75,3.75,1.5h1.5v.75h1.5a2.76,2.76,0,0,0,2.25-.75h0c2.25,0,1.5-2.25,3.75-2.25s1.5,1.5,3,3l.75.75h0c2.25,0,3.75-3,3.75-4.5h0c0-1.5-1.5-2.25-1.5-3h0v-.75h.75c.75,0,1.5.75,3,2.25h0a19.66,19.66,0,0,0,6.75,3.75,5.67,5.67,0,0,0,3,.75h2.25c0-.75.75-.75.75-1.5a3.28,3.28,0,0,0-.75-2.25s-1.5-.75-5.25-2.25c-1.5,0-2.25,0-2.25-.75h0l.75-.75a.73.73,0,0,0-.75-.75,2.32,2.32,0,0,1-.75-1.5h0v-1.5c.75-.75,3-1.5,3-3h0c0-1.5-1.5-.75-3-3h0c-1.5-1.5-2.25-1.5-2.25-1.5h-.75c-.75,0-3.75,1.5-6.75,2.25h0c-.75.75-.75.75-1.5.75s-.75,0-.75-.75a1.61,1.61,0,0,1-1.5-1.5v-1.5h0c0-.75.75-1.5,1.5-2.25h0a.73.73,0,0,0,.75-.75h.75c.75,0,1.5.75,3,1.5,2.25,1.5,3,0,3.75,1.5h1.5c.75,0,1.5-.75,2.25-.75h.75l-6.75-8.25h-.75l.75-6-28.5,3h-.75a2.62,2.62,0,0,1-.75-1.5h0a47.8,47.8,0,0,0,1.5-5.25c0-1.5,7.5-13.5,7.5-15.75v-2.25a42.47,42.47,0,0,0-2.25-13.5Z", VA: "M819.17,212.5h0v.75h-.75c-.75.75-1.5,3-2.25,3h-.75v-.75c-.75,0-.75,0-1.5-.75s-3-.75-4.5-.75h0a5.67,5.67,0,0,1,.75,3c0,1.5-.75,3-3,4.5-.75,1.5-3.75,3.75-4.5,5.25,0,3-3,6-5.25,6h-.75c-2.25,0-2.25,2.25-3,4.5h0c-1.5,2.25-3.75,7.5-3.75,9.75-.75,4.5-5.25,9.75-9.75,11.25h0c-1.5,0-9.75,2.25-12,2.25h-.75a.73.73,0,0,1-.75-.75,2.32,2.32,0,0,1-1.5-.75h-1.5l-9,9.75-9,7.5,17.25-3,22.5-2.25c1.5,0,10.5-2.25,25.5-5.25,11.25-1.5,32.25-6.75,44.25-9-.75-1.5-.75-2.25-1.5-3.75h0a2.62,2.62,0,0,0-.75-1.5h-.75a2.76,2.76,0,0,0-2.25.75h-.75c-1.5,0-1.5-3-3.75-3.75a2.76,2.76,0,0,1-.75-2.25h0c0-.75.75-1.5,1.5-3.75V241c0-1.5-1.5-.75-1.5-2.25-.75-2.25-.75-5.25-2.25-6h-3.75a2.76,2.76,0,0,1-2.25.75c-1.5,0-2.25-.75-2.25-1.5h0c-.75-3-3-3-4.5-3h0c-1.5,0-1.5-.75-1.5-1.5h0a2.76,2.76,0,0,1,.75-2.25h0v-.75h0v-.75a.73.73,0,0,0,.75-.75c.75,0,.75.75,1.5,1.5,0,1.5,1.5,3,3.75,3.75h.75c.75,0,.75-.75.75-1.5h0a.73.73,0,0,0-.75-.75h0c.75-.75.75-2.25,1.5-3.75a26.65,26.65,0,0,0-7.5-1.5c-8.25-1.5-4.5-6-10.5-8.25Z, M855.92,234.25a13.9,13.9,0,0,1-5.25,1.5v7.5h0V244h0v2.25c.75.75.75.75,1.5.75a.73.73,0,0,0,.75-.75c.75-.75,0-3,1.5-6,.75-3.75,1.5-2.25,1.5-6Z", DC: "", PR: "M829,505.61l.67-1.57,1.28.3,1.27,1,5.47.68,5.47-.3h2.25l2,.67,1.27-1h1.58l3.82.3,3.82,1,1.28,1.27h2.24l.3,1.95-.3,1.28-2.54.3-1.58.67-.67,1.57-1,1.58-1.94,1h-7l-1.57-.67H841.8l-1.57-.68-2.55.68h-3.22l-1.58-1.28-1.94.68-2.55.3-.3-1.58.67-1,.68-1.57-.68-2-2.55-1.95,1-.68Zm35,8.69-1.43.45,2.78.9,3.74-.9.9-1.42-2.32.45Zm6.52-3.22-1.13-.67,1.65-1.13.45,1.13Z" }; // Create the actual objects var stateAttr = {}; for (var state in paths) { if (paths.hasOwnProperty(state)) { stateAttr = {}; if (this.options.stateSpecificStyles[state]) { $.extend(stateAttr, attr, this.options.stateSpecificStyles[state]); } else { stateAttr = attr; } this.stateShapes[state] = R.path(paths[state]).attr(stateAttr); this.topShape = this.stateShapes[state]; this.stateHitAreas[state] = R.path(paths[state]).attr({ fill: "#000", "stroke-width": 0, "opacity": 0.0 }); this.stateHitAreas[state].node.dataState = state; } } // Bind events this._onClickProxy = $.proxy(this, '_onClick'); this._onSelectedProgramProxy = $.proxy(this, '_onSelectedProgram'); this._onUnselectedProgramProxy = $.proxy(this, '_onUnselectedProgram'); this._onInitProgramProxy = $.proxy(this, '_onInitProgram'); for (state in this.stateHitAreas) { if (this.stateHitAreas.hasOwnProperty(state)) { this.stateHitAreas[state].toFront(); $(this.stateHitAreas[state].node).bind('unselectedProgram', this._onUnselectedProgramProxy); $(this.stateHitAreas[state].node).bind('click', this._onClickProxy); $(this.stateHitAreas[state].node).bind('selectedProgram', this._onSelectedProgramProxy); $(this.stateHitAreas[state].node).bind('initProgram', this._onInitProgramProxy); } } }, /** * Create the labels */ _initCreateLabels: function () { var R = this.paper; // shorter name for usage here var neStates = ['VT', 'NH', 'MA', 'RI', 'CT', 'NJ', 'DE', 'MD', 'DC']; // calculate the values for placing items var neBoxX = 860; var neBoxY = 220; var oWidth = this.options.labelWidth; var oHeight = this.options.labelHeight; var oGap = this.options.labelGap; var oRadius = this.options.labelRadius; var shapeWidth = oWidth / this.scale; var shapeHeight = oHeight / this.scale; var colWidth = (oWidth + oGap) / this.scale; var downBy = (oHeight + oGap) / this.scale * 0.5; var shapeRadius = oRadius / this.scale; // Styling information var backingAttr = this.options.labelBackingStyles; var textAttr = this.options.labelTextStyles; var stateAttr = {}; // NE States for (var i = 0, x, y, state; i < neStates.length; ++i) { state = neStates[i]; // position x = ((i + 1) % 2) * colWidth + neBoxX; y = i * downBy + neBoxY; // attributes for styling the backing stateAttr = {}; if (this.options.stateSpecificLabelBackingStyles[state]) { $.extend(stateAttr, backingAttr, this.options.stateSpecificLabelBackingStyles[state]); } else { stateAttr = backingAttr; } // add the backing this.labelShapes[state] = R.rect(x, y, shapeWidth, shapeHeight, shapeRadius).attr(stateAttr); // attributes for styling the text stateAttr = {}; if (this.options.stateSpecificLabelTextStyles[state]) { $.extend(stateAttr, textAttr, this.options.stateSpecificLabelTextStyles[state]); } else { $.extend(stateAttr, textAttr); } // adjust font-size if (stateAttr['font-size']) { stateAttr['font-size'] = (parseInt(stateAttr['font-size']) / this.scale) + 'px'; } // add the text this.labelTexts[state] = R.text(x + (shapeWidth / 2), y + (shapeHeight / 2), state).attr(stateAttr); // Create the hit areas this.labelHitAreas[state] = R.rect(x, y, shapeWidth, shapeHeight, shapeRadius).attr({ fill: "#000", "stroke-width": 0, "opacity": 0.0, 'cursor': 'pointer' }); this.labelHitAreas[state].node.dataState = state; } // Bind events for (state in this.labelHitAreas) { if (this.labelHitAreas.hasOwnProperty(state)) { this.labelHitAreas[state].toFront(); $(this.labelHitAreas[state].node).bind('unselectedProgram', this._onUnselectedProgramProxy); $(this.labelHitAreas[state].node).bind('click', this._onClickProxy); $(this.labelHitAreas[state].node).bind('selectedProgram', this._onSelectedProgramProxy); $(this.labelHitAreas[state].node).bind('initProgram', this._onInitProgramProxy); } } }, /** * Get the state Raphael object */ _getStateFromEvent: function (event) { // first get the state name var stateName = (event.target && event.target.dataState) || (event.dataState); return this._getState(stateName); }, /** * */ _getState: function (stateName) { var stateShape = this.stateShapes[stateName]; var stateHitArea = this.stateHitAreas[stateName]; var labelBacking = this.labelShapes[stateName]; var labelText = this.labelTexts[stateName]; var labelHitArea = this.labelHitAreas[stateName]; return { shape: stateShape, hitArea: stateHitArea, name: stateName, labelBacking: labelBacking, labelText: labelText, labelHitArea: labelHitArea }; }, /** * The unselectedProgram handler */ _onUnselectedProgram: function (event) { var stateData = this._getStateFromEvent(event); // Stop if no state was found if (!stateData.hitArea) { return; } return !this._triggerEvent('unselectedProgram', event, stateData); }, /** * */ _defaultUnselectedProgramAction: function (stateData) { // hover effect // ... state shape var attrs = {}; if (this.options.stateSpecificStyles[stateData.name]) { $.extend(attrs, this.options.stateStyles, this.options.stateSpecificStyles[stateData.name]); } else { attrs = this.options.stateStyles; } stateData.shape.animate(attrs, this.options.stateHoverAnimation); // ... for the label backing if (stateData.labelBacking) { attrs = {}; if (this.options.stateSpecificLabelBackingStyles[stateData.name]) { $.extend(attrs, this.options.labelBackingStyles, this.options.stateSpecificLabelBackingStyles[stateData.name]); } else { attrs = this.options.labelBackingStyles; } stateData.labelBacking.animate(attrs, this.options.stateHoverAnimation); } }, /** * The initProgram handler */ _onInitProgram: function (event) { var stateData = this._getStateFromEvent(event); // Stop if no state was found if (!stateData.hitArea) { return; } return !this._triggerEvent('initProgram', event, stateData); }, /** * */ _defaultInitProgramAction: function (stateData) { // hover effect // ... state shape var attrs = {}; if (this.options.stateSpecificStyles[stateData.name]) { $.extend(attrs, this.options.stateInitStyles, this.options.stateSpecificStyles[stateData.name]); } else { attrs = this.options.stateInitStyles; } stateData.shape.animate(attrs, this.options.stateInitAnimation); // ... for the label backing if (stateData.labelBacking) { attrs = {}; if (this.options.stateSpecificLabelBackingStyles[stateData.name]) { $.extend(attrs, this.options.labelBackingStyles, this.options.stateSpecificLabelBackingStyles[stateData.name]); } else { attrs = this.options.labelBackingStyles; } stateData.labelBacking.animate(attrs, this.options.stateInitAnimation); } }, /** * The click handler */ _onClick: function (event) { var stateData = this._getStateFromEvent(event); // Stop if no state was found if (!stateData.hitArea) { return; } return !this._triggerEvent('click', event, stateData); }, /** * The selectedProgram handler */ _onSelectedProgram: function (event) { var stateData = this._getStateFromEvent(event); // Stop if no state was found if (!stateData.hitArea) { return; } return !this._triggerEvent('selectedProgram', event, stateData); }, /** * The default on hover action for a state */ _defaultSelectedProgramAction: function (stateData) { // hover effect this.bringShapeToFront(stateData.shape); this.paper.safari(); // ... for the state var attrs = {}; if (this.options.stateSpecificHoverStyles[stateData.name]) { $.extend(attrs, this.options.stateHoverStyles, this.options.stateSpecificHoverStyles[stateData.name]); } else { attrs = this.options.stateHoverStyles; } stateData.shape.animate(attrs, this.options.stateHoverAnimation); // ... for the label backing if (stateData.labelBacking) { attrs = {}; if (this.options.stateSpecificLabelBackingHoverStyles[stateData.name]) { $.extend(attrs, this.options.labelBackingHoverStyles, this.options.stateSpecificLabelBackingHoverStyles[stateData.name]); } else { attrs = this.options.labelBackingHoverStyles; } stateData.labelBacking.animate(attrs, this.options.stateHoverAnimation); } }, /** * Trigger events * * @param type string - the type of event * @param event Event object - the original event object * @param stateData object - information about the state * * return boolean - true to continue to default action, false to prevent the default action */ _triggerEvent: function (type, event, stateData) { var name = stateData.name; var defaultPrevented = false; // State specific var sEvent = $.Event('usmap' + type + name); sEvent.originalEvent = event; // Do the one in options first if (this.options[type + 'State'][name]) { defaultPrevented = this.options[type + 'State'][name](sEvent, stateData) === false; } // Then do the bounded ones if (sEvent.isPropagationStopped()) { this.element.trigger(sEvent, [stateData]); defaultPrevented = defaultPrevented || sEvent.isDefaultPrevented(); } // General if (!sEvent.isPropagationStopped()) { var gEvent = $.Event('usmap' + type); gEvent.originalEvent = event; // Options handler first if (this.options[type]) { defaultPrevented = this.options[type](gEvent, stateData) === false || defaultPrevented; } // Bounded options next if (!gEvent.isPropagationStopped()) { this.element.trigger(gEvent, [stateData]); defaultPrevented = defaultPrevented || gEvent.isDefaultPrevented(); } } // Do the default action if (!defaultPrevented) { switch (type) { case 'selectedProgram': this._defaultSelectedProgramAction(stateData); break; case 'unselectedProgram': this._defaultUnselectedProgramAction(stateData); break; case 'initProgram': this._defaultInitProgramAction(stateData); break; } } return !defaultPrevented; }, /** * @param string state - The two letter state abbr */ trigger: function (state, type, event) { type = type.replace('usmap', ''); // remove the usmap if they added it state = state.toUpperCase(this); // ensure state is uppercase to match var stateData = this._getState(state); this._triggerEvent(type, event, stateData); }, /** * Bring a state shape to the top of the state shapes, but not above the hit areas */ bringShapeToFront: function (shape) { if (this.topShape) { shape.insertAfter(this.topShape); } this.topShape = shape; } }; // Getters var getters = []; // Create the plugin jQueryPluginFactory($, 'usmap', methods, getters); })(jQuery, document, window, Raphael); // JavaScript Document