/*!
 * Copyright (c) 2009 Simo Kinnunen.
 * Licensed under the MIT license.
 */

var Cufon = (function() {
	
	var api = function() {	
		return api.replace.apply(null, arguments);
	};
	
	var DOM = api.DOM = {
			
		ready: (function() {
		
			var complete = false, readyStatus = { loaded: 1, complete: 1 };
		
			var queue = [], perform = function() {
				if (complete) return;
				complete = true;
				for (var fn; fn = queue.shift(); fn());
			};
			
			// Gecko, Opera, WebKit r26101+
			
			if (document.addEventListener) {
				document.addEventListener('DOMContentLoaded', perform, false);
				window.addEventListener('pageshow', perform, false); // For cached Gecko pages
			}
			
			// Old WebKit, Internet Explorer
			
			if (!window.opera && document.readyState) (function() {
				readyStatus[document.readyState] ? perform() : setTimeout(arguments.callee, 10);
			})();
			
			// Internet Explorer
			
			if (document.readyState && document.createStyleSheet) (function() {
				try {
					document.body.doScroll('left');
					perform();
				}
				catch (e) {
					setTimeout(arguments.callee, 1);
				}
			})();
			
			addEvent(window, 'load', perform); // Fallback
			
			return function(listener) {
				if (!arguments.length) perform();
				else complete ? listener() : queue.push(listener);
			};
			
		})()
		
	};

	var CSS = api.CSS = {
	
		Size: function(value, base) {
		
			this.value = parseFloat(value);
			this.unit = String(value).match(/[a-z%]*$/)[0] || 'px';
		
			this.convert = function(value) {
				return value / base * this.value;
			};
			
			this.convertFrom = function(value) {
				return value / this.value * base;
			};
			
			this.toString = function() {
				return this.value + this.unit;
			};

		},
		
		color: cached(function(value) {
			var parsed = {};
			parsed.color = value.replace(/^rgba\((.*?),\s*([\d.]+)\)/, function($0, $1, $2) {
				parsed.opacity = parseFloat($2);
				return 'rgb(' + $1 + ')';
			});
			return parsed;
		}),
	
		getStyle: function(el) {
			var view = document.defaultView;
			if (view && view.getComputedStyle) return new Style(view.getComputedStyle(el, null));
			if (el.currentStyle) return new Style(el.currentStyle);
			return new Style(el.style);
		},
		
		gradient: cached(function(value) {
			var gradient = {
				id: value,
				type: value.match(/^-([a-z]+)-gradient\(/)[1],
				stops: []
			}, colors = value.substr(value.indexOf('(')).match(/([\d.]+=)?(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)/ig);
			for (var i = 0, l = colors.length, stop; i < l; ++i) {
				stop = colors[i].split('=', 2).reverse();
				gradient.stops.push([ stop[1] || i / (l - 1), stop[0] ]);
			}
			return gradient;
		}),
		
		quotedList: cached(function(value) {
			// doesn't work properly with empty quoted strings (""), but
			// it's not worth the extra code.
			var list = [], re = /\s*((["'])([\s\S]*?[^\\])\2|[^,]+)\s*/g, match;
			while (match = re.exec(value)) list.push(match[3] || match[1]);
			return list;
		}),
		
		recognizesMedia: cached(function(media) {
			var el = document.createElement('style'), container, supported;
			el.type = 'text/css';
			el.media = media;
			container = elementsByTagName('head')[0];
			container.insertBefore(el, container.firstChild);
			supported = !!(el.sheet || el.styleSheet);
			container.removeChild(el);
			return supported;
		}),

		supports: function(property, value) {
			var checker = document.createElement('span').style;
			if (checker[property] === undefined) return false;
			checker[property] = value;
			return checker[property] === value;
		},
		
		textAlign: function(word, style, position, wordCount) {
			if (style.get('textAlign') == 'right') {
				if (position > 0) word = ' ' + word;
			}
			else if (position < wordCount - 1) word += ' ';
			return word;
		},
		
		textDecoration: function(el, style) {
			if (!style) style = this.getStyle(el);
			var types = {
				underline: null,
				overline: null,
				'line-through': null
			};
			for (var search = el; search.parentNode && search.parentNode.nodeType == 1; ) {
				var foundAll = true;
				for (var type in types) {
					if (!hasOwnProperty(types, type) || types[type]) continue;
					if (style.get('textDecoration').indexOf(type) != -1) types[type] = style.get('color');
					foundAll = false;
				}
				if (foundAll) break; // this is rather unlikely to happen
				style = this.getStyle(search = search.parentNode);
			}
			return types;
		},
		
		textShadow: cached(function(value) {
			if (value == 'none') return null;
			var shadows = [], currentShadow = {}, result, offCount = 0;
			var re = /(#[a-f0-9]+|[a-z]+\(.*?\)|[a-z]+)|(-?[\d.]+[a-z%]*)|,/ig;
			while (result = re.exec(value)) {
				if (result[0] == ',') {
					shadows.push(currentShadow);
					currentShadow = {}, offCount = 0;
				}
				else if (result[1]) {
					currentShadow.color = result[1];
				}
				else {
					currentShadow[[ 'offX', 'offY', 'blur' ][offCount++]] = result[2];
				}
			}
			shadows.push(currentShadow);
			return shadows;
		}),
		
		textTransform: function(text, style) {
			return text[{
				uppercase: 'toUpperCase',
				lowercase: 'toLowerCase'
			}[style.get('textTransform')] || 'toString']();
		},
		
		whiteSpace: (function() {
			var ignore = {
				inline: 1,
				'inline-block': 1,
				'run-in': 1
			};
			return function(text, style, node) {
				if (ignore[style.get('display')]) return text;
				if (!node.previousSibling) text = text.replace(/^\s+/, '');
				if (!node.nextSibling) text = text.replace(/\s+$/, '');
				return text;
			};
		})()
		
	};
	
	CSS.ready = (function() {
		
		// don't do anything in Safari 2 (it doesn't recognize any media type)
		var complete = !CSS.recognizesMedia('all'), hasLayout = false;
		
		var queue = [], perform = function() {
			complete = true;
			for (var fn; fn = queue.shift(); fn());
		};
		
		var linkElements = elementsByTagName('link'), watch = {
			stylesheet: 1
		};
		
		function allStylesLoaded() {
			var sheet, i, link;
			for (i = 0; link = linkElements[i]; ++i) {
				if (link.disabled || !watch[link.rel.toLowerCase()] || !CSS.recognizesMedia(link.media || 'screen')) continue;
				sheet = link.sheet || link.styleSheet;
				// in Opera sheet.disabled is true when it's still loading,
				// even though link.disabled is false. they stay in sync if
				// set manually.
				if (!sheet || sheet.disabled) return false;
			}
			return true;
		}
		
		DOM.ready(function() {
			// getComputedStyle returns null in Gecko if used in an iframe with display: none
			if (!hasLayout) hasLayout = CSS.getStyle(document.body).isUsable();
			if (complete || (hasLayout && allStylesLoaded())) perform();
			else setTimeout(arguments.callee, 10);
		});
		
		return function(listener) {
			if (complete) listener();
			else queue.push(listener);
		};
		
	})();
	
	function Font(data) {
		
		var face = this.face = data.face;
		this.glyphs = data.glyphs;
		this.w = data.w;
		this.baseSize = parseInt(face['units-per-em'], 10);
		
		this.family = face['font-family'].toLowerCase();
		this.weight = face['font-weight'];
		this.style = face['font-style'] || 'normal';
		
		this.viewBox = (function () {
			var parts = face.bbox.split(/\s+/);
			var box = {
				minX: parseInt(parts[0], 10),
				minY: parseInt(parts[1], 10),
				maxX: parseInt(parts[2], 10),
				maxY: parseInt(parts[3], 10)
			};
			box.width = box.maxX - box.minX,
			box.height = box.maxY - box.minY;
			box.toString = function() {
				return [ this.minX, this.minY, this.width, this.height ].join(' ');
			};
			return box;
		})();
		
		this.ascent = -parseInt(face.ascent, 10);
		this.descent = -parseInt(face.descent, 10);
		
		this.height = -this.ascent + this.descent;
		
	}
	
	function FontFamily() {

		var styles = {}, mapping = {
			oblique: 'italic',
			italic: 'oblique'
		};
		
		this.add = function(font) {
			(styles[font.style] || (styles[font.style] = {}))[font.weight] = font;
		};
		
		this.get = function(style, weight) {
			var weights = styles[style] || styles[mapping[style]]
				|| styles.normal || styles.italic || styles.oblique;
			if (!weights) return null;
			// we don't have to worry about "bolder" and "lighter"
			// because IE's currentStyle returns a numeric value for it,
			// and other browsers use the computed value anyway
			weight = {
				normal: 400,
				bold: 700
			}[weight] || parseInt(weight, 10);
			if (weights[weight]) return weights[weight];
			// http://www.w3.org/TR/CSS21/fonts.html#propdef-font-weight
			// Gecko uses x99/x01 for lighter/bolder
			var up = {
				1: 1,
				99: 0
			}[weight % 100], alts = [], min, max;
			if (up === undefined) up = weight > 400;
			if (weight == 500) weight = 400;
			for (var alt in weights) {
				if (!hasOwnProperty(weights, alt)) continue;
				alt = parseInt(alt, 10);
				if (!min || alt < min) min = alt;
				if (!max || alt > max) max = alt;
				alts.push(alt);
			}
			if (weight < min) weight = min;
			if (weight > max) weight = max;
			alts.sort(function(a, b) {
				return (up
					? (a > weight && b > weight) ? a < b : a > b
					: (a < weight && b < weight) ? a > b : a < b) ? -1 : 1;
			});
			return weights[alts[0]];
		};
	
	}
	
	function HoverHandler() {
		
		function contains(node, anotherNode) {
			if (node.contains) return node.contains(anotherNode);
			return node.compareDocumentPosition(anotherNode) & 16;
		}
		
		function onOverOut(e) {
			var related = e.relatedTarget;
			if (!related || contains(this, related)) return;
			trigger(this);
		}
		
		function onEnterLeave(e) {
			trigger(this);
		}

		function trigger(el) {
			// A timeout is needed so that the event can actually "happen"
			// before replace is triggered. This ensures that styles are up
			// to date.
			setTimeout(function() {
				api.replace(el, sharedStorage.get(el).options, true);
			}, 10);
		}
		
		this.attach = function(el) {
			if (el.onmouseenter === undefined) {
				addEvent(el, 'mouseover', onOverOut);
				addEvent(el, 'mouseout', onOverOut);
			}
			else {
				addEvent(el, 'mouseenter', onEnterLeave);
				addEvent(el, 'mouseleave', onEnterLeave);
			}
		};
		
	}
	
	function ReplaceHistory() {
		
		var list = [], map = {};
		
		function filter(keys) {
			var values = [], key;
			for (var i = 0; key = keys[i]; ++i) values[i] = list[map[key]];
			return values;
		}
		
		this.add = function(key, args) {
			map[key] = list.push(args) - 1;
		};
		
		this.repeat = function() {
			var snapshot = arguments.length ? filter(arguments) : list, args;
			for (var i = 0; args = snapshot[i++];) api.replace(args[0], args[1], true);
		};
		
	}
	
	function Storage() {
		
		var map = {}, at = 0;
		
		function identify(el) {
			return el.cufid || (el.cufid = ++at);
		}
		
		this.get = function(el) {
			var id = identify(el);
			return map[id] || (map[id] = {});
		};
		
	}
	
	function Style(style) {
		
		var custom = {}, sizes = {};
		
		this.extend = function(styles) {
			for (var property in styles) {
				if (hasOwnProperty(styles, property)) custom[property] = styles[property];
			}
			return this;
		};
		
		this.get = function(property) {
			return custom[property] != undefined ? custom[property] : style[property];
		};
		
		this.getSize = function(property, base) {
			return sizes[property] || (sizes[property] = new CSS.Size(this.get(property), base));
		};
		
		this.isUsable = function() {
			return !!style;
		};
		
	}
	
	function addEvent(el, type, listener) {
		if (el.addEventListener) {
			el.addEventListener(type, listener, false);
		}
		else if (el.attachEvent) {
			el.attachEvent('on' + type, function() {
				return listener.call(el, window.event);
			});
		}
	}
	
	function attach(el, options) {
		var storage = sharedStorage.get(el);
		if (storage.options) return el;
		if (options.hover && options.hoverables[el.nodeName.toLowerCase()]) {
			hoverHandler.attach(el);
		}
		storage.options = options;
		return el;
	}
	
	function cached(fun) {
		var cache = {};
		return function(key) {
			if (!hasOwnProperty(cache, key)) cache[key] = fun.apply(null, arguments);
			return cache[key];
		};	
	}
	
	function getFont(el, style) {
		if (!style) style = CSS.getStyle(el);
		var families = CSS.quotedList(style.get('fontFamily').toLowerCase()), family;
		for (var i = 0, l = families.length; i < l; ++i) {
			family = families[i];
			if (fonts[family]) return fonts[family].get(style.get('fontStyle'), style.get('fontWeight'));
		}
		return null;
	}
	
	function elementsByTagName(query) {
		return document.getElementsByTagName(query);
	}
	
	function hasOwnProperty(obj, property) {
		return obj.hasOwnProperty(property);
	}
	
	function merge() {
		var merged = {}, args, key;
		for (var i = 0, l = arguments.length; args = arguments[i], i < l; ++i) {
			for (key in args) {
				if (hasOwnProperty(args, key)) merged[key] = args[key];
			}
		}
		return merged;
	}
	
	function process(font, text, style, options, node, el) {
		var separate = options.separate;
		if (separate == 'none') return engines[options.engine].apply(null, arguments);
		var fragment = document.createDocumentFragment(), processed;
		var parts = text.split(separators[separate]), needsAligning = (separate == 'words');
		if (needsAligning && HAS_BROKEN_REGEXP) {
			// @todo figure out a better way to do this
			if (/^\s/.test(text)) parts.unshift('');
			if (/\s$/.test(text)) parts.push('');
		}
		for (var i = 0, l = parts.length; i < l; ++i) {
			processed = engines[options.engine](font,
				needsAligning ? CSS.textAlign(parts[i], style, i, l) : parts[i],
				style, options, node, el, i < l - 1);
			if (processed) fragment.appendChild(processed);
		}
		return fragment;
	}
	
	function replaceElement(el, options) {
		var font, style, node, nodeType, nextNode, redraw;
		for (node = attach(el, options).firstChild; node; node = nextNode) {
			nodeType = node.nodeType;
			nextNode = node.nextSibling;
			redraw = false;
			if (nodeType == 1) {
				if (!node.firstChild) continue;
				if (!/cufon/.test(node.className)) {
					arguments.callee(node, options);
					continue;
				}
				else redraw = true;
			}
			else if (nodeType != 3) continue;
			if (!style) style = CSS.getStyle(el).extend(options);
			if (!font) font = getFont(el, style);
			if (!font) continue;
			if (redraw) {
				engines[options.engine](font, null, style, options, node, el);
				continue;
			}
			var text = CSS.whiteSpace(node.data, style, node);
			if (text === '') continue;
			var processed = process(font, text, style, options, node, el);
			if (processed) node.parentNode.replaceChild(processed, node);
			else node.parentNode.removeChild(node);
		}
	}
	
	var HAS_BROKEN_REGEXP = ' '.split(/\s+/).length == 0;
	
	var sharedStorage = new Storage();
	var hoverHandler = new HoverHandler();
	var replaceHistory = new ReplaceHistory();
	
	var engines = {}, fonts = {}, defaultOptions = {
		enableTextDecoration: false,
		engine: null,
		//fontScale: 1,
		//fontScaling: false,
		hover: false,
		hoverables: {
			a: true
		},
		printable: true,
		//rotation: 0,
		//selectable: false,
		selector: (
				window.Sizzle
			||	(window.jQuery && function(query) { return jQuery(query); }) // avoid noConflict issues
			||	(window.dojo && dojo.query)
			||	(window.$$ && function(query) { return $$(query); })
			||	(window.$ && function(query) { return $(query); })
			||	(document.querySelectorAll && function(query) { return document.querySelectorAll(query); })
			||	elementsByTagName
		),
		separate: 'words', // 'none' and 'characters' are also accepted
		textShadow: 'none'
	};
	
	var separators = {
		words: /[^\S\u00a0]+/,
		characters: ''
	};
	
	api.now = function() {
		DOM.ready();
		return api;
	};
	
	api.refresh = function() {
		replaceHistory.repeat.apply(replaceHistory, arguments);
		return api;
	};
	
	api.registerEngine = function(id, engine) {
		if (!engine) return api;
		engines[id] = engine;
		return api.set('engine', id);
	};
	
	api.registerFont = function(data) {
		var font = new Font(data), family = font.family;
		if (!fonts[family]) fonts[family] = new FontFamily();
		fonts[family].add(font);
		return api.set('fontFamily', '"' + family + '"');
	};
	
	api.replace = function(elements, options, ignoreHistory) {
		options = merge(defaultOptions, options);
		if (!options.engine) return api; // there's no browser support so we'll just stop here
		if (typeof options.textShadow == 'string')
			options.textShadow = CSS.textShadow(options.textShadow);
		if (typeof options.color == 'string' && /^-/.test(options.color))
			options.textGradient = CSS.gradient(options.color);
		if (!ignoreHistory) replaceHistory.add(elements, arguments);
		if (elements.nodeType || typeof elements == 'string') elements = [ elements ];
		CSS.ready(function() {
			for (var i = 0, l = elements.length; i < l; ++i) {
				var el = elements[i];
				if (typeof el == 'string') api.replace(options.selector(el), options, true);
				else replaceElement(el, options);
			}
		});
		return api;
	};
	
	api.set = function(option, value) {
		defaultOptions[option] = value;
		return api;
	};
	
	return api;
	
})();

Cufon.registerEngine('canvas', (function() {

	// Safari 2 doesn't support .apply() on native methods
	
	var check = document.createElement('canvas');
	if (!check || !check.getContext || !check.getContext.apply) return;
	check = null;
	
	var HAS_INLINE_BLOCK = Cufon.CSS.supports('display', 'inline-block');
	
	// Firefox 2 w/ non-strict doctype (almost standards mode)
	var HAS_BROKEN_LINEHEIGHT = !HAS_INLINE_BLOCK && (document.compatMode == 'BackCompat' || /frameset|transitional/i.test(document.doctype.publicId));
	
	var styleSheet = document.createElement('style');
	styleSheet.type = 'text/css';
	styleSheet.appendChild(document.createTextNode((
		'.cufon-canvas{text-indent:0;}' +
		'@media screen,projection{' +
			'.cufon-canvas{display:inline;display:inline-block;position:relative;vertical-align:middle;' + 
			(HAS_BROKEN_LINEHEIGHT
				? ''
				: 'font-size:1px;line-height:1px;') +
			'}.cufon-canvas .cufon-alt{display:-moz-inline-box;display:inline-block;width:0;height:0;overflow:hidden;}' +
			(HAS_INLINE_BLOCK
				? '.cufon-canvas canvas{position:relative;}'
				: '.cufon-canvas canvas{position:absolute;}') +
		'}' +
		'@media print{' +
			'.cufon-canvas{padding:0;}' +
			'.cufon-canvas canvas{display:none;}' +
			'.cufon-canvas .cufon-alt{display:inline;}' +
		'}'
	).replace(/;/g, '!important;')));
	document.getElementsByTagName('head')[0].appendChild(styleSheet);

	function generateFromVML(path, context) {
		var atX = 0, atY = 0;
		var code = [], re = /([mrvxe])([^a-z]*)/g, match;
		generate: for (var i = 0; match = re.exec(path); ++i) {
			var c = match[2].split(',');
			switch (match[1]) {
				case 'v':
					code[i] = { m: 'bezierCurveTo', a: [ atX + ~~c[0], atY + ~~c[1], atX + ~~c[2], atY + ~~c[3], atX += ~~c[4], atY += ~~c[5] ] };
					break;
				case 'r':
					code[i] = { m: 'lineTo', a: [ atX += ~~c[0], atY += ~~c[1] ] };
					break;
				case 'm':
					code[i] = { m: 'moveTo', a: [ atX = ~~c[0], atY = ~~c[1] ] };
					break;
				case 'x':
					code[i] = { m: 'closePath' };
					break;
				case 'e':
					break generate;
			}
			context[code[i].m].apply(context, code[i].a);
		}
		return code;
	}
	
	function interpret(code, context) {
		for (var i = 0, l = code.length; i < l; ++i) {
			var line = code[i];
			context[line.m].apply(context, line.a);
		}
	}
	
	return function(font, text, style, options, node, el) {
		
		var redraw = (text === null);
		
		if (redraw) text = node.alt;
		
		var viewBox = font.viewBox;
		
		var size = style.getSize('fontSize', font.baseSize);
		
		var letterSpacing = style.get('letterSpacing');
		letterSpacing = (letterSpacing == 'normal') ? 0 : size.convertFrom(parseInt(letterSpacing, 10));
		
		var expandTop = 0, expandRight = 0, expandBottom = 0, expandLeft = 0;
		var shadows = options.textShadow, shadowOffsets = [];
		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				var x = size.convertFrom(parseFloat(shadow.offX));
				var y = size.convertFrom(parseFloat(shadow.offY));
				shadowOffsets[i] = [ x, y ];
				if (y < expandTop) expandTop = y;
				if (x > expandRight) expandRight = x;
				if (y > expandBottom) expandBottom = y;
				if (x < expandLeft) expandLeft = x;
			}
		}
		
		var chars = Cufon.CSS.textTransform(text, style).split(''), chr;
		
		var glyphs = font.glyphs, glyph, kerning, k;
		var width = 0, advance, jumps = [];
		
		for (var i = 0, j = 0, l = chars.length; i < l; ++i) {
			glyph = glyphs[chr = chars[i]] || font.missingGlyph;
			if (!glyph) continue;
			if (kerning) {
				width -= k = kerning[chr] || 0;
				jumps[j - 1] -= k;
			}
			width += advance = jumps[j++] = ~~(glyph.w || font.w) + letterSpacing;
			kerning = glyph.k;
		}
		
		if (advance === undefined) return null; // there's nothing to render
		
		expandRight += viewBox.width - advance;
		expandLeft += viewBox.minX;
		
		var wrapper, canvas;
		
		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('span');
			wrapper.className = 'cufon cufon-canvas';
			wrapper.alt = text;
			
			canvas = document.createElement('canvas');
			wrapper.appendChild(canvas);
			
			if (options.printable) {
				var print = document.createElement('span');
				print.className = 'cufon-alt';
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}
		}
		
		var wStyle = wrapper.style;
		var cStyle = canvas.style;
		
		var height = size.convert(viewBox.height);
		var roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		
		canvas.width = Math.ceil(size.convert(width * roundingFactor + expandRight - expandLeft));
		canvas.height = Math.ceil(size.convert(viewBox.height - expandTop + expandBottom));
		
		// minY has no part in canvas.height
		expandTop += viewBox.minY;
		
		cStyle.top = Math.round(size.convert(expandTop - font.ascent)) + 'px';
		cStyle.left = Math.round(size.convert(expandLeft)) + 'px';
		
		var wrapperWidth = Math.ceil(size.convert(width * roundingFactor)) + 'px';
		
		if (HAS_INLINE_BLOCK) {
			wStyle.width = wrapperWidth;
			wStyle.height = size.convert(font.height) + 'px';
		}
		else {
			wStyle.paddingLeft = wrapperWidth;
			wStyle.paddingBottom = (size.convert(font.height) - 1) + 'px';
		}
		
		var g = canvas.getContext('2d'), scale = height / viewBox.height;
		
		// proper horizontal scaling is performed later
		g.scale(scale, scale * roundingFactor);
		g.translate(-expandLeft, -expandTop);
		
		g.lineWidth = font.face['underline-thickness'];
		
		g.save();
		
		function line(y, color) {
			g.strokeStyle = color;
			
			g.beginPath();
			
			g.moveTo(0, y);
			g.lineTo(width, y);
			
			g.stroke();
		}
		
		var textDecoration = options.enableTextDecoration ? Cufon.CSS.textDecoration(el, style) : {};
		
		if (textDecoration.underline) line(-font.face['underline-position'], textDecoration.underline);
		if (textDecoration.overline) line(font.ascent, textDecoration.overline);
		
		function renderText() {
			g.scale(roundingFactor, 1);
			for (var i = 0, j = 0, l = chars.length; i < l; ++i) {
				var glyph = glyphs[chars[i]] || font.missingGlyph;
				if (!glyph) continue;
				if (glyph.d) {
					g.beginPath();
					if (glyph.code) interpret(glyph.code, g);
					else glyph.code = generateFromVML('m' + glyph.d, g);
					g.fill();
				}
				g.translate(jumps[j++], 0);
			}
			g.restore();
		}
		
		if (shadows) {
			for (var i = shadows.length; i--;) {
				var shadow = shadows[i];
				g.save();
				g.fillStyle = shadow.color;
				g.translate.apply(g, shadowOffsets[i]);
				renderText();
			}
		}
		
		var gradient = options.textGradient;
		if (gradient) {
			var stops = gradient.stops, fill = g.createLinearGradient(0, viewBox.minY, 0, viewBox.maxY);
			for (var i = 0, l = stops.length; i < l; ++i) {
				fill.addColorStop.apply(fill, stops[i]);
			}
			g.fillStyle = fill;
		}
		else g.fillStyle = style.get('color');
		
		renderText();
		
		if (textDecoration['line-through']) line(-font.descent, textDecoration['line-through']);
		
		return wrapper;
			
	};
	
})());

Cufon.registerEngine('vml', (function() {

	if (!document.namespaces) return;
	
	if (document.namespaces.cvml == null) {
		document.namespaces.add('cvml', 'urn:schemas-microsoft-com:vml');
	}
	
	var check = document.createElement('cvml:shape');
	check.style.behavior = 'url(#default#VML)';
	if (!check.coordsize) return; // VML isn't supported
	check = null;
	
	document.write(('<style type="text/css">' +
		'.cufon-vml-canvas{text-indent:0;}' +
		'@media screen{' + 
			'cvml\\:shape,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}' +
			'.cufon-vml-canvas{position:absolute;text-align:left;}' +
			'.cufon-vml{display:inline-block;position:relative;vertical-align:middle;}' +
			'.cufon-vml .cufon-alt{position:absolute;left:-10000in;font-size:1px;}' +
			'a .cufon-vml{cursor:pointer}' + // ignore !important here
		'}' +
		'@media print{' + 
			'.cufon-vml *{display:none;}' +
			'.cufon-vml .cufon-alt{display:inline;}' +
		'}' +
	'</style>').replace(/;/g, '!important;'));

	function getFontSizeInPixels(el, value) {
		return getSizeInPixels(el, /(?:em|ex|%)$/i.test(value) ? '1em' : value);
	}
	
	// Original by Dead Edwards.
	// Combined with getFontSizeInPixels it also works with relative units.
	function getSizeInPixels(el, value) {
		if (/px$/i.test(value)) return parseFloat(value);
		var style = el.style.left, runtimeStyle = el.runtimeStyle.left;
		el.runtimeStyle.left = el.currentStyle.left;
		el.style.left = value;
		var result = el.style.pixelLeft;
		el.style.left = style;
		el.runtimeStyle.left = runtimeStyle;
		return result;
	}
	
	var fills = {};
	
	function gradientFill(gradient) {
		var id = gradient.id;
		if (!fills[id]) {
			var stops = gradient.stops, fill = document.createElement('cvml:fill'), colors = [];
			fill.type = 'gradient';
			fill.angle = 180;
			fill.focus = '0';
			fill.method = 'sigma';
			fill.color = stops[0][1];
			for (var j = 1, k = stops.length - 1; j < k; ++j) {
				colors.push(stops[j][0] * 100 + '% ' + stops[j][1]);
			}
			fill.colors = colors.join(',');
			fill.color2 = stops[k][1];
			fills[id] = fill;
		}
		return fills[id];
	}
	
	return function(font, text, style, options, node, el, hasNext) {
		
		var redraw = (text === null);
		
		if (redraw) text = node.alt;
		
		// @todo word-spacing, text-decoration
	
		var viewBox = font.viewBox;
		
		var size = style.computedFontSize || (style.computedFontSize = new Cufon.CSS.Size(getFontSizeInPixels(el, style.get('fontSize')) + 'px', font.baseSize));
		
		var letterSpacing = style.computedLSpacing;
		
		if (letterSpacing == undefined) {
			letterSpacing = style.get('letterSpacing');
			style.computedLSpacing = letterSpacing = (letterSpacing == 'normal') ? 0 : ~~size.convertFrom(getSizeInPixels(el, letterSpacing));
		}
		
		var wrapper, canvas;
		
		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('span');
			wrapper.className = 'cufon cufon-vml';
			wrapper.alt = text;
			
			canvas = document.createElement('span');
			canvas.className = 'cufon-vml-canvas';
			wrapper.appendChild(canvas);
			
			if (options.printable) {
				var print = document.createElement('span');
				print.className = 'cufon-alt';
				print.appendChild(document.createTextNode(text));
				wrapper.appendChild(print);
			}
			
			// ie6, for some reason, has trouble rendering the last VML element in the document.
			// we can work around this by injecting a dummy element where needed.
			// @todo find a better solution
			if (!hasNext) wrapper.appendChild(document.createElement('cvml:shape'));
		}
		
		var wStyle = wrapper.style;
		var cStyle = canvas.style;
		
		var height = size.convert(viewBox.height), roundedHeight = Math.ceil(height);
		var roundingFactor = roundedHeight / height;
		var minX = viewBox.minX, minY = viewBox.minY;
		
		cStyle.height = roundedHeight;
		cStyle.top = Math.round(size.convert(minY - font.ascent));
		cStyle.left = Math.round(size.convert(minX));
		
		wStyle.height = size.convert(font.height) + 'px';
		
		var textDecoration = options.enableTextDecoration ? Cufon.CSS.textDecoration(el, style) : {};
		
		var color = style.get('color');
		var chars = Cufon.CSS.textTransform(text, style).split(''), chr;
		
		var glyphs = font.glyphs, glyph, kerning, k;
		var width = 0, jumps = [], offsetX = 0, advance;
		
		var shape, shadows = options.textShadow;
		
		// pre-calculate width
		for (var i = 0, j = 0, l = chars.length; i < l; ++i) {
			glyph = glyphs[chr = chars[i]] || font.missingGlyph;
			if (!glyph) continue;
			if (kerning) {
				width -= k = kerning[chr] || 0;
				jumps[j - 1] -= k;
			}
			width += advance = jumps[j++] = ~~(glyph.w || font.w) + letterSpacing;
			kerning = glyph.k;
		}
		
		if (advance === undefined) return null;
		
		var fullWidth = -minX + width + (viewBox.width - advance);
	
		var shapeWidth = size.convert(fullWidth * roundingFactor), roundedShapeWidth = Math.round(shapeWidth);
		
		var coordSize = fullWidth + ',' + viewBox.height, coordOrigin;
		var stretch = 'r' + coordSize + 'ns';
		
		var fill = options.textGradient && gradientFill(options.textGradient);
		
		for (i = 0, j = 0; i < l; ++i) {
			
			glyph = glyphs[chars[i]] || font.missingGlyph;
			if (!glyph) continue;
			
			if (redraw) {
				// some glyphs may be missing so we can't use i
				shape = canvas.childNodes[j];
				while (shape.firstChild) shape.removeChild(shape.firstChild); // shadow, fill
			}
			else { 
				shape = document.createElement('cvml:shape');
				canvas.appendChild(shape);
			}
			
			shape.stroked = 'f';
			shape.coordsize = coordSize;
			shape.coordorigin = coordOrigin = (minX - offsetX) + ',' + minY;
			shape.path = (glyph.d ? 'm' + glyph.d + 'xe' : '') + 'm' + coordOrigin + stretch;
			shape.fillcolor = color;
			
			if (fill) shape.appendChild(fill.cloneNode(false));
			
			// it's important to not set top/left or IE8 will grind to a halt
			var sStyle = shape.style;
			sStyle.width = roundedShapeWidth;
			sStyle.height = roundedHeight;
			
			if (shadows) {
				// due to the limitations of the VML shadow element there
				// can only be two visible shadows. opacity is shared
				// for all shadows.
				var shadow1 = shadows[0], shadow2 = shadows[1];
				var color1 = Cufon.CSS.color(shadow1.color), color2;
				var shadow = document.createElement('cvml:shadow');
				shadow.on = 't';
				shadow.color = color1.color;
				shadow.offset = shadow1.offX + ',' + shadow1.offY;
				if (shadow2) {
					color2 = Cufon.CSS.color(shadow2.color);
					shadow.type = 'double';
					shadow.color2 = color2.color;
					shadow.offset2 = shadow2.offX + ',' + shadow2.offY;
				}
				shadow.opacity = color1.opacity || (color2 && color2.opacity) || 1;
				shape.appendChild(shadow);
			}
			
			offsetX += jumps[j++];
		}
		
		wStyle.width = Math.max(Math.ceil(size.convert(width * roundingFactor)), 0);
		
		return wrapper;
		
	};
	
})());


Cufon.registerFont({"w":200,"face":{"font-family":"Glypha LT Std","font-weight":900,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 10 3 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"6","bbox":"-16 -292 661 724","underline-thickness":"18","underline-position":"-36","stemh":"40","stemv":"67","unicode-range":"U+0020-U+03BC"},"glyphs":{" ":{"w":100},"!":{"d":"39,0r0,-60r63,0r0,60r-63,0xm46,-83r-13,-175r74,0r-12,175r-49,0","w":140},"\"":{"d":"34,-148r0,-110r49,0r0,110r-49,0xm117,-148r0,-110r49,0r0,110r-49,0"},"#":{"d":"112,-108r6,-42r-30,0r-6,42r30,0xm123,-185r10,-73r38,0r-10,73r27,0r0,35r-31,0r-7,42r29,0r0,35r-33,0r-10,73r-38,0r10,-73r-31,0r-10,73r-38,0r10,-73r-27,0r0,-35r32,0r6,-42r-29,0r0,-35r33,0r10,-73r38,0r-10,73r31,0"},"$":{"d":"58,-89v0,30,10,53,43,52v18,0,31,-11,31,-29v0,-19,-11,-25,-65,-45v-33,-11,-65,-27,-65,-78v0,-41,24,-69,69,-73r0,-30r47,0r0,34v10,4,17,13,23,20r0,-20r51,0r0,83r-53,0v0,-20,-7,-45,-38,-45v-20,0,-34,8,-34,23v0,19,10,23,66,45v43,17,66,34,66,80v0,51,-31,75,-81,76r0,31r-47,0r0,-39v-6,-3,-10,-11,-17,-17r0,21r-53,0r0,-89r57,0"},"%":{"d":"229,-24v17,0,19,-17,19,-40v0,-22,-2,-41,-19,-41v-17,0,-19,19,-19,41v0,23,2,40,19,40xm229,4v-42,0,-59,-27,-59,-67v0,-40,17,-68,59,-68v42,0,59,28,59,68v0,40,-17,67,-59,67xm78,-155v17,0,19,-17,19,-40v0,-22,-2,-41,-19,-41v-18,0,-20,19,-20,41v0,23,2,40,20,40xm78,-127v-42,0,-59,-27,-59,-67v0,-40,17,-68,59,-68v42,0,59,28,59,68v0,40,-17,67,-59,67xm48,9r171,-276r34,0r-171,276r-34,0","w":306},"&":{"d":"180,-118r0,-37r87,0r0,37r-24,0v-4,26,-11,42,-26,63r13,15r37,0r0,40r-77,0r-14,-15v-21,15,-47,19,-73,19v-114,0,-112,-116,-41,-149v-14,-16,-27,-34,-27,-54v0,-44,37,-63,77,-63v91,-1,87,96,31,125r41,46v4,-3,10,-21,11,-27r-15,0xm131,-207v0,-13,-8,-21,-21,-21v-32,0,-24,33,-2,53v12,-11,23,-19,23,-32xm147,-48r-48,-56v-31,16,-27,69,15,69v17,0,28,-8,33,-13","w":280},"(":{"d":"69,-267r48,0v-56,98,-55,224,-1,322r-48,0v-62,-98,-60,-223,1,-322","w":119},")":{"d":"51,55r-48,0v56,-97,55,-224,1,-322r47,0v64,98,60,223,0,322","w":119},"*":{"d":"85,-214r-7,-44r44,0r-7,44r37,-20r14,45r-39,7r27,31r-35,28r-19,-38r-19,38r-35,-28r27,-31r-39,-7r14,-45"},"+":{"d":"85,-114r0,-68r46,0r0,68r68,0r0,46r-68,0r0,68r-46,0r0,-68r-68,0r0,-46r68,0","w":216},",":{"d":"40,0r-21,0r0,-60r62,0r0,60r-18,50r-44,0","w":100},"-":{"d":"14,-81r0,-47r91,0r0,47r-91,0","w":119},".":{"d":"19,0r0,-60r62,0r0,60r-62,0","w":100},"\/":{"d":"0,4r94,-266r46,0r-94,266r-46,0","w":140},"0":{"d":"100,-37v27,0,27,-59,27,-97v0,-65,-9,-86,-27,-86v-18,0,-27,21,-27,86v0,38,0,97,27,97xm100,-262v72,0,92,64,92,128v0,62,-14,138,-92,138v-78,0,-91,-76,-91,-138v0,-64,19,-128,91,-128"},"1":{"d":"82,-42r0,-154v-17,18,-38,33,-58,48r0,-63v20,-11,44,-30,65,-47r63,0r0,216r27,0r0,42r-129,0r0,-42r32,0"},"2":{"d":"188,-189v0,68,-72,102,-106,147r54,0r0,-32r56,0r0,74r-182,0r0,-54v33,-39,94,-83,109,-138v0,-15,-5,-28,-22,-28v-19,0,-24,20,-24,41r-64,0v0,-57,36,-83,91,-83v42,0,88,16,88,73"},"3":{"d":"9,-182v0,-55,37,-80,91,-80v43,0,88,16,88,73v0,34,-20,49,-51,57v32,2,55,23,55,61v0,55,-42,75,-94,75v-41,0,-90,-14,-92,-76r67,0v0,15,5,35,24,35v27,0,28,-31,28,-36v0,-28,-16,-41,-45,-39r0,-39v42,11,57,-69,19,-69v-20,0,-23,17,-23,38r-67,0"},"4":{"d":"111,-106r-1,-96r-58,96r59,0xm111,-40r0,-26r-106,0r0,-51r89,-141r79,0r0,152r20,0r0,40r-20,0r0,26r18,0r0,40r-112,0r0,-40r32,0"},"5":{"d":"78,-68v2,15,4,31,22,31v33,-1,38,-88,0,-90v-12,0,-20,9,-22,25r-62,0r0,-156r164,0r0,44r-102,0r0,64v43,-42,114,-12,114,60v0,62,-33,94,-93,94v-46,0,-87,-21,-87,-72r66,0"},"6":{"d":"125,-195v0,-14,-5,-27,-20,-27v-29,0,-34,51,-33,85v7,-23,26,-35,50,-35v43,0,70,33,70,85v0,59,-38,91,-92,91v-85,0,-91,-82,-91,-129v0,-70,22,-137,102,-137v58,0,78,32,79,67r-65,0xm99,-35v27,0,28,-39,28,-48v0,-17,-3,-47,-25,-47v-42,0,-36,95,-3,95"},"7":{"d":"8,-174r0,-84r184,0r0,48v-32,70,-58,138,-83,210r-72,0v23,-66,55,-145,90,-216r-64,0r0,42r-55,0"},"8":{"d":"100,-116v-41,2,-41,79,0,81v42,-2,40,-78,0,-81xm100,4v-60,0,-91,-29,-91,-71v-1,-35,22,-61,54,-68v-33,-4,-51,-26,-51,-56v0,-39,24,-71,88,-71v65,0,88,32,88,71v0,31,-20,50,-50,57v33,4,54,33,54,67v0,42,-32,71,-92,71xm100,-222v-19,0,-25,13,-25,31v0,18,6,35,25,35v20,0,26,-17,26,-35v0,-18,-6,-31,-26,-31"},"9":{"d":"75,-63v0,13,5,28,20,28v29,0,34,-52,33,-86v-7,23,-26,35,-50,35v-43,0,-69,-33,-69,-85v0,-58,37,-91,91,-91v85,0,92,82,92,129v0,71,-22,137,-102,137v-59,0,-79,-32,-80,-67r65,0xm102,-222v-28,0,-29,38,-29,47v0,18,3,48,26,48v40,0,36,-95,3,-95"},":":{"d":"19,0r0,-60r62,0r0,60r-62,0xm19,-131r0,-61r62,0r0,61r-62,0","w":100},";":{"d":"19,0r0,-60r62,0r0,60r-18,50r-44,0r21,-50r-21,0xm19,-131r0,-61r62,0r0,61r-62,0","w":100},"<":{"d":"17,-74r0,-34r182,-77r0,47r-115,47r115,47r0,47","w":216},"=":{"d":"17,-106r0,-47r182,0r0,47r-182,0xm17,-29r0,-47r182,0r0,47r-182,0","w":216},">":{"d":"132,-91r-115,-47r0,-47r182,77r0,34r-182,77r0,-47","w":216},"?":{"d":"5,-190v2,-49,32,-72,83,-72v45,0,83,22,83,69v0,68,-66,77,-61,114r-57,0v-10,-65,49,-73,51,-118v0,-11,-2,-25,-17,-25v-18,0,-19,21,-19,32r-63,0xm50,0r0,-60r63,0r0,60r-63,0","w":180},"@":{"d":"102,-113v0,19,12,33,29,33v28,0,48,-34,48,-60v0,-18,-12,-32,-29,-32v-28,0,-48,33,-48,59xm190,-176r7,-21r28,0r-28,111v0,5,4,8,9,8v20,0,43,-31,43,-69v0,-56,-45,-87,-100,-87v-59,0,-106,45,-106,105v0,98,132,137,192,74r29,0v-63,104,-253,61,-253,-74v0,-79,65,-133,142,-133v66,0,124,44,124,109v0,70,-60,103,-88,103v-13,0,-23,-7,-24,-21v-28,41,-97,16,-97,-38v0,-64,82,-131,122,-67","w":288},"A":{"d":"188,-42r-11,-32r-84,0r-11,32r27,0r0,42r-103,0r0,-42r15,0r80,-216r80,0r79,216r14,0r0,42r-113,0r0,-42r27,0xm162,-113r-27,-91r-27,91r54,0","w":280},"B":{"d":"30,-42r0,-174r-24,0r0,-42v87,8,214,-32,217,63v1,34,-19,56,-51,64v36,2,56,26,56,61v-1,100,-131,63,-222,70r0,-42r24,0xm94,-151v35,1,62,2,62,-36v0,-35,-30,-31,-62,-31r0,67xm94,-40v35,1,67,1,67,-35v0,-38,-30,-39,-67,-37r0,72","w":240},"C":{"d":"185,-163v0,-33,-15,-57,-48,-57v-44,0,-52,58,-52,95v0,34,6,88,52,88v37,0,42,-32,43,-48r67,0v-2,62,-51,89,-106,89v-96,0,-128,-62,-128,-135v0,-72,35,-131,112,-131v41,0,58,20,65,29r0,-25r56,0r0,95r-61,0","w":259},"D":{"d":"102,-42v49,-1,87,10,93,-91v4,-61,-26,-89,-93,-83r0,174xm33,-42r0,-174r-24,0r0,-42r138,0v81,0,120,52,120,130v0,84,-45,128,-129,128r-129,0r0,-42r24,0","w":280},"E":{"d":"119,-151r0,-28r42,0r0,95r-42,0r0,-28r-25,0r0,70r81,0r0,-43r53,0r0,85r-222,0r0,-42r24,0r0,-174r-24,0r0,-42r222,0r0,81r-53,0r0,-39r-81,0r0,65r25,0","w":240},"F":{"d":"125,-144r0,-28r42,0r0,98r-42,0r0,-31r-25,0r0,63r34,0r0,42r-122,0r0,-42r24,0r0,-174r-24,0r0,-42r220,0r0,85r-51,0r0,-43r-81,0r0,72r25,0","w":240},"G":{"d":"194,-166v-2,-24,-17,-52,-51,-52v-48,0,-58,57,-58,95v0,37,11,83,58,83v39,0,53,-28,53,-50r-27,0r0,-42r106,0r0,42r-19,0r0,90r-55,0v-1,-8,2,-20,-1,-26v-13,26,-44,30,-70,30v-74,0,-117,-47,-117,-136v0,-71,32,-130,113,-130v28,0,53,7,73,29r0,-25r55,0r0,92r-60,0","w":280},"H":{"d":"181,-151r0,-65r-25,0r0,-42r118,0r0,42r-23,0r0,174r23,0r0,42r-118,0r0,-42r25,0r0,-67r-82,0r0,67r26,0r0,42r-119,0r0,-42r24,0r0,-174r-24,0r0,-42r119,0r0,42r-26,0r0,65r82,0","w":280},"I":{"d":"36,-42r0,-174r-26,0r0,-42r121,0r0,42r-26,0r0,174r26,0r0,42r-121,0r0,-42r26,0","w":140},"J":{"d":"106,-71r0,-145r-33,0r0,-42r121,0r0,42r-19,0v-5,97,30,220,-84,220v-59,0,-88,-28,-83,-93r67,0v1,21,-4,52,15,52v13,0,16,-9,16,-34"},"K":{"d":"94,-141r66,-75r-17,0r0,-42r108,0r0,42r-19,0r-70,77r78,97r16,0r0,42r-113,0r0,-42r19,0r-68,-88r0,88r24,0r0,42r-112,0r0,-42r24,0r0,-174r-24,0r0,-42r112,0r0,42r-24,0r0,75","w":259},"L":{"d":"155,-42r0,-55r58,0r0,97r-207,0r0,-42r24,0r0,-174r-24,0r0,-42r128,0r0,42r-35,0r0,174r56,0","w":219},"M":{"d":"170,-72v17,-59,28,-125,43,-186r121,0r0,42r-21,0r0,174r21,0r0,42r-105,0r0,-42r23,0r0,-170r-55,212r-63,0r-56,-216r0,174r24,0r0,42r-97,0r0,-42r22,0r0,-174r-22,0r0,-42r124,0","w":339},"N":{"d":"199,-64v4,-47,0,-102,1,-152r-28,0r0,-42r102,0r0,42r-21,0r0,216r-86,0r-84,-199r0,157r28,0r0,42r-105,0r0,-42r24,0r0,-174r-24,0r0,-42r115,0","w":280},"O":{"d":"195,-129v0,-34,-7,-91,-55,-91v-48,0,-55,57,-55,91v0,35,7,92,55,92v48,0,55,-57,55,-92xm267,-129v0,78,-43,133,-127,133v-84,0,-127,-55,-127,-133v0,-77,43,-133,127,-133v84,0,127,56,127,133","w":280},"P":{"d":"33,-42r0,-174r-24,0r0,-42r137,0v51,0,82,32,82,82v1,74,-54,86,-128,82r0,52r32,0r0,42r-123,0r0,-42r24,0xm100,-136v38,2,58,-5,58,-43v0,-36,-23,-38,-58,-37r0,80","w":240},"Q":{"d":"275,0r-135,4v-84,0,-127,-55,-127,-133v0,-77,43,-133,127,-133v125,0,169,158,81,222v18,-1,36,-2,54,-2r0,42xm140,-37v48,0,55,-57,55,-92v0,-34,-7,-91,-55,-91v-48,0,-55,57,-55,91v0,35,7,92,55,92","w":280},"R":{"d":"171,0r-25,-78v-6,-23,-17,-29,-46,-27r0,63r25,0r0,42r-116,0r0,-42r24,0r0,-174r-24,0r0,-42v88,6,219,-29,219,68v0,42,-23,57,-59,66v48,-2,46,47,59,82r21,0r0,42r-78,0xm100,-144v30,-2,55,10,61,-39v4,-34,-28,-34,-61,-33r0,72","w":259},"S":{"d":"69,-89v0,30,12,53,44,52v17,0,31,-11,31,-29v0,-19,-10,-25,-66,-45v-33,-11,-66,-27,-66,-69v0,-55,29,-82,84,-82v20,-1,47,7,58,24r0,-20r53,0r0,83r-55,0v0,-20,-7,-45,-39,-45v-19,0,-34,8,-34,23v0,19,10,23,67,45v44,17,67,31,67,77v0,56,-34,79,-89,79v-25,0,-44,-3,-58,-25r0,21r-56,0r0,-89r59,0","w":219},"T":{"d":"183,-166r0,-50r-29,0r0,174r29,0r0,42r-126,0r0,-42r28,0r0,-174r-28,0r0,50r-56,0r0,-92r238,0r0,92r-56,0","w":239},"U":{"d":"152,-216r0,-42r102,0r0,42r-20,0r0,127v0,67,-42,93,-105,93v-142,0,-98,-105,-105,-220r-18,0r0,-42r113,0r0,42r-25,0r0,125v0,28,8,54,41,54v69,0,34,-113,42,-179r-25,0","w":259},"V":{"d":"144,-58v19,-50,33,-106,51,-158r-27,0r0,-42r106,0r0,42r-16,0r-81,216r-75,0r-79,-216r-17,0r0,-42r117,0r0,42r-28,0","w":280},"W":{"d":"256,-55v12,-51,18,-108,29,-161r-26,0r0,-42r95,0r0,42r-13,0r-50,216r-79,0r-29,-199r-2,0r-34,199r-79,0r-48,-216r-14,0r0,-42r105,0r0,42r-26,0r27,161r38,-203r72,0","w":360},"X":{"d":"146,-162r39,-54r-24,0r0,-42r109,0r0,42r-18,0r-70,85r74,89r18,0r0,42r-121,0r0,-42r25,0r-46,-57r-42,57r27,0r0,42r-111,0r0,-42r17,0r75,-89r-71,-85r-16,0r0,-42r119,0r0,42r-25,0","w":280},"Y":{"d":"135,-145r39,-71r-23,0r0,-42r103,0r0,42r-15,0r-74,123r0,51r30,0r0,42r-130,0r0,-42r30,0r0,-51r-75,-123r-14,0r0,-42r115,0r0,42r-25,0","w":259},"Z":{"d":"174,-42r0,-46r55,0r0,88r-218,0r0,-51r136,-165r-77,0r0,44r-55,0r0,-86r212,0r0,52r-138,164r85,0","w":240},"[":{"d":"23,55r0,-322r84,0r0,40r-28,0r0,242r28,0r0,40r-84,0","w":119},"\\":{"d":"46,-262r94,266r-46,0r-94,-266r46,0","w":140},"]":{"d":"41,15r0,-242r-28,0r0,-40r83,0r0,322r-83,0r0,-40r28,0","w":119},"^":{"d":"26,-126r63,-132r38,0r63,132r-42,0r-40,-90r-40,90r-42,0","w":216},"_":{"d":"180,45r-180,0r0,-18r180,0r0,18","w":180},"a":{"d":"136,0v-1,-8,2,-21,-1,-27v-16,27,-30,33,-61,33v-57,0,-65,-43,-65,-57v2,-69,62,-73,123,-69v0,-20,0,-47,-26,-47v-20,0,-23,14,-26,34r-62,0v3,-53,39,-69,87,-69v117,0,83,73,89,162r18,0r0,40r-76,0xm133,-89v-31,-1,-60,1,-61,32v0,13,7,23,22,23v28,0,39,-30,39,-55","w":219},"b":{"d":"29,-40r0,-187r-20,0r0,-40r87,0r0,98v6,-19,29,-33,60,-33v74,0,74,81,74,104v0,52,-19,104,-77,104v-30,1,-48,-12,-62,-37r0,31r-82,0r0,-40r20,0xm94,-98v0,22,5,62,35,62v28,0,32,-27,32,-62v0,-38,-4,-62,-32,-62v-31,0,-35,38,-35,62","w":240},"c":{"d":"145,-175v3,-4,0,-15,1,-21r51,0r0,74r-56,0v0,-17,-4,-38,-27,-38v-30,0,-31,37,-31,66v0,29,6,60,31,60v24,0,27,-25,27,-33r56,0v-4,51,-34,73,-84,73v-69,0,-99,-43,-99,-109v0,-53,26,-99,84,-99v20,0,38,7,47,27"},"d":{"d":"112,-160v-28,0,-33,24,-33,62v0,35,5,62,33,62v29,0,35,-40,35,-62v0,-24,-5,-62,-35,-62xm144,-227r-22,0r0,-40r89,0r0,227r20,0r0,40r-82,0v-1,-10,2,-23,-1,-31v-12,27,-32,37,-61,37v-58,0,-77,-52,-77,-104v0,-50,13,-104,79,-104v23,0,47,8,55,33r0,-58","w":240},"e":{"d":"73,-117r60,0v0,-13,-1,-45,-28,-45v-30,0,-32,37,-32,45xm135,-55r63,0v-8,46,-49,61,-91,61v-72,0,-101,-43,-101,-105v0,-61,38,-103,100,-103v71,0,98,51,93,120r-126,0v0,21,4,48,34,48v22,0,28,-15,28,-21"},"f":{"d":"32,-40r0,-117r-23,0r0,-39r23,0v-6,-70,45,-87,111,-73r0,42v-21,-5,-53,-1,-44,31r33,0r0,39r-33,0r0,117r29,0r0,40r-118,0r0,-40r22,0","w":140},"g":{"d":"89,8v0,13,12,15,28,16v30,3,32,-31,28,-58v-9,21,-33,31,-58,31v-62,0,-77,-54,-77,-98v0,-100,96,-131,139,-68r0,-27r82,0r0,39r-20,0r0,144v0,58,-46,74,-97,74v-47,0,-87,-7,-92,-53r67,0xm111,-45v50,1,46,-114,2,-115v-29,0,-34,33,-34,53v0,20,1,62,32,62","w":240},"h":{"d":"148,-40r0,-81v0,-16,0,-37,-24,-37v-40,-1,-26,76,-28,118r18,0r0,40r-105,0r0,-40r20,0r0,-187r-20,0r0,-40r87,0r0,100v11,-23,30,-35,58,-35v27,0,61,10,61,54r0,108r18,0r0,40r-103,0r0,-40r18,0","w":240},"i":{"d":"29,-40r0,-117r-20,0r0,-39r87,0r0,156r18,0r0,40r-105,0r0,-40r20,0xm29,-215r0,-56r67,0r0,56r-67,0","w":119},"j":{"d":"29,1r0,-158r-20,0r0,-39r87,0r0,199v10,62,-47,62,-94,55r0,-39v18,2,31,-5,27,-18xm29,-215r0,-56r67,0r0,56r-67,0","w":119},"k":{"d":"96,-114r56,-48r-27,0r0,-34r106,0r0,37v-35,-2,-42,24,-64,35r48,84r16,0r0,40r-100,0r0,-40r17,0r-26,-47r-26,21r0,26r13,0r0,40r-100,0r0,-40r20,0r0,-187r-20,0r0,-40r87,0r0,153","w":240},"l":{"d":"29,-40r0,-187r-20,0r0,-40r87,0r0,227r18,0r0,40r-105,0r0,-40r20,0","w":119},"m":{"d":"266,-40r0,-86v0,-17,-4,-32,-24,-32v-41,1,-25,76,-28,118r17,0r0,40r-101,0r0,-40r17,0r0,-86v0,-17,-3,-32,-23,-32v-42,1,-25,76,-28,118r17,0r0,40r-104,0r0,-40r20,0r0,-117r-20,0r0,-39r83,0v1,10,-2,25,1,33v12,-52,104,-51,116,-5v12,-26,35,-34,64,-34v27,0,60,10,60,54r0,108r18,0r0,40r-103,0r0,-40r18,0","w":360},"n":{"d":"148,-40r0,-81v0,-16,0,-37,-24,-37v-40,-1,-26,76,-28,118r18,0r0,40r-105,0r0,-40r20,0r0,-117r-20,0r0,-39r83,0v1,10,-2,25,1,33v9,-29,33,-39,61,-39v27,0,61,10,61,54r0,108r18,0r0,40r-103,0r0,-40r18,0","w":240},"o":{"d":"10,-98v0,-61,38,-104,100,-104v62,0,100,43,100,104v0,60,-39,104,-100,104v-61,0,-100,-44,-100,-104xm110,-160v-20,0,-31,17,-31,62v0,45,11,62,31,62v20,0,31,-17,31,-62v0,-45,-11,-62,-31,-62","w":219},"p":{"d":"29,19r0,-176r-20,0r0,-39r82,0v1,10,-2,24,1,32v12,-27,35,-38,61,-38v61,0,77,51,77,103v0,54,-16,105,-78,105v-26,0,-45,-12,-56,-32r0,45r24,0r0,39r-111,0r0,-39r20,0xm94,-98v0,22,5,62,35,62v28,0,32,-27,32,-62v0,-38,-4,-62,-32,-62v-31,0,-35,38,-35,62","w":240},"q":{"d":"144,19r0,-45v-6,17,-28,32,-56,32v-62,0,-78,-51,-78,-105v0,-52,16,-103,82,-103v23,-1,46,13,57,33r0,-27r82,0r0,39r-20,0r0,176r20,0r0,39r-111,0r0,-39r24,0xm147,-98v0,-24,-5,-62,-35,-62v-28,0,-33,24,-33,62v0,35,5,62,33,62v29,0,35,-40,35,-62","w":240},"r":{"d":"29,-40r0,-117r-20,0r0,-39r82,0v1,12,-2,29,1,39v6,-29,34,-54,67,-42r0,61v-51,-18,-70,37,-63,98r25,0r0,40r-112,0r0,-40r20,0","w":159},"s":{"d":"63,-67v-10,40,55,47,58,17v2,-18,-42,-25,-58,-31v-33,-13,-54,-24,-54,-61v0,-60,86,-80,122,-38r0,-16r47,0r0,62r-51,0v0,-20,-9,-31,-31,-31v-30,-1,-37,27,-10,35v43,13,95,19,95,73v0,41,-29,63,-69,63v-36,0,-47,-15,-53,-26r0,20r-49,0r0,-67r53,0","w":193},"t":{"d":"107,-34v14,-1,9,-22,10,-36r36,0v5,49,-14,76,-59,76v-93,0,-58,-88,-65,-163r-23,0r0,-39r23,0r0,-29r67,-23r0,52r44,0r0,39r-44,0r0,103v0,12,1,20,11,20","w":159},"u":{"d":"20,-60r0,-97r-20,0r0,-39r87,0r0,127v0,16,6,28,23,28v41,0,20,-75,25,-116r-19,0r0,-39r88,0r0,156r18,0r0,40r-81,0v-1,-9,2,-23,-1,-30v-8,25,-36,36,-63,36v-57,0,-57,-45,-57,-66","w":226},"v":{"d":"114,-53v13,-32,19,-70,30,-104r-17,0r0,-39r89,0r0,39r-10,0r-56,157r-79,0r-55,-157r-12,0r0,-39r100,0r0,39r-18,0","w":219},"w":{"d":"240,-47v10,-34,14,-74,23,-110r-19,0r0,-39r89,0r0,39r-13,0r-43,157r-82,0r-24,-140r-28,140r-82,0r-42,-157r-13,0r0,-39r98,0r0,39r-19,0r22,110r29,-149r76,0","w":339},"x":{"d":"3,0r0,-40r12,0r51,-62r-45,-55r-15,0r0,-39r100,0r0,39r-18,0r28,34r27,-34r-18,0r0,-39r89,0r0,39r-13,0r-47,55r49,62r14,0r0,40r-100,0r0,-40r18,0r-30,-39r-32,39r19,0r0,40r-89,0","w":219},"y":{"d":"4,-157r0,-39r102,0r0,39r-19,0r30,85r27,-85r-17,0r0,-39r89,0r0,39r-11,0r-72,171v-6,37,-55,57,-98,44r0,-45v14,6,45,5,46,-12r-63,-158r-14,0","w":219},"z":{"d":"135,-37r0,-25r51,0r0,62r-172,0r0,-48r102,-114r-49,0r0,24r-51,0r0,-58r167,0r0,47r-102,112r54,0"},"{":{"d":"12,-86r0,-40v21,1,22,-5,22,-42v0,-63,1,-111,74,-99r0,40v-28,-4,-19,41,-19,67v0,29,-8,46,-37,55v47,7,35,52,37,99v0,15,6,22,19,21r0,40v-48,2,-74,-6,-74,-55v0,-30,11,-96,-22,-86","w":119},"|":{"d":"17,90r0,-360r46,0r0,360r-46,0","w":79},"}":{"d":"12,15v30,2,19,-42,19,-67v0,-29,8,-46,37,-54v-47,-9,-36,-52,-37,-99v0,-16,-5,-23,-19,-22r0,-40v48,-3,74,7,74,55v0,30,-11,96,22,86r0,40v-21,-1,-22,5,-22,42v0,63,-1,112,-74,99r0,-40","w":119},"~":{"d":"38,-57r-13,-35v9,-21,25,-33,45,-33v26,0,60,26,77,26v11,0,18,-7,31,-27r13,36v-9,21,-25,33,-45,33v-26,0,-60,-27,-77,-27v-11,0,-18,8,-31,27","w":216},"'":{"d":"26,-148r0,-110r49,0r0,110r-49,0","w":100},"`":{"d":"40,-225r-56,-53r65,0r35,53r-44,0","w":100},"\u03bc":{"d":"322,435r0,110r245,0r0,-435r51,0r0,-110r-227,0r0,84r-2,0v-22,-74,-114,-100,-147,-100r0,-146r-186,0r0,597r-56,0r0,110r242,0r0,-353v0,-46,15,-78,63,-78v48,0,70,45,70,93r0,228r-53,0","w":630},"\u03a9":{"d":"161,120r0,3v-56,57,-115,152,-115,277v0,171,120,324,304,324v199,0,297,-176,297,-316v0,-125,-58,-227,-117,-285r0,-3r131,0r0,-120r-270,0r0,88v54,37,106,124,106,287v0,123,-51,225,-148,225v-93,0,-153,-96,-153,-231v0,-147,51,-246,107,-281r0,-88r-271,0r0,120r129,0","w":696},"\u00a0":{"w":100}}});

Cufon.registerFont({"w":173,"face":{"font-family":"Annabelle JF","font-weight":400,"font-stretch":"normal","units-per-em":"360","panose-1":"0 0 4 0 0 0 0 0 0 0","ascent":"288","descent":"-72","x-height":"5","cap-height":"24","bbox":"-152.51 -327 738.705 143","underline-thickness":"7.2","underline-position":"-44.28","unicode-range":"U+0020-U+007E"},"glyphs":{" ":{"w":131},"!":{"d":"209,-262r-147,221r-11,0r132,-221r26,0xm59,-19v2,14,-26,28,-28,7v-2,-13,27,-29,28,-7","w":185},"\"":{"d":"126,-289v10,0,15,6,15,16v0,20,-34,50,-56,42v8,-1,40,-13,42,-25v-6,-5,-21,-7,-17,-18v0,-7,9,-16,16,-15xm67,-274v3,-18,31,-21,31,1v0,21,-34,51,-56,42v8,-1,42,-12,42,-25v-5,-5,-19,-6,-17,-18","w":141},"#":{"d":"212,-250r-38,66r32,0r-8,12r-32,0r-31,52r32,0r-7,13r-32,0r-44,75r-12,0r43,-75r-39,0r-44,75r-12,0r43,-75r-33,0r7,-13r34,0r30,-52r-33,0r8,-12r33,0r38,-66r13,0r-38,66r39,0r38,-66r13,0xm153,-172r-39,0r-30,52r39,0","w":216},"$":{"d":"21,-76v0,-42,70,-59,127,-55r25,-35v-12,-38,14,-60,48,-67v10,-12,19,-30,31,-39v10,11,-14,26,-18,37v27,2,25,-29,42,-37v10,12,-15,27,-20,39v21,3,12,22,-1,26v-9,2,-11,-6,-4,-7v10,-1,11,-11,1,-12v-16,26,-41,51,-53,77v56,59,-28,116,-89,120v-7,6,-16,33,-26,21r14,-20v-21,-6,-19,20,-33,24v-4,1,-7,-4,-3,-6r14,-20v-32,-8,-55,-16,-55,-46xm241,-228v-4,0,-9,1,-13,2r-42,58v2,2,3,6,6,9xm214,-223v-23,9,-36,20,-32,45xm158,-130v18,5,29,-17,19,-26xm116,-38v53,-7,118,-49,73,-101r-10,14v3,2,2,4,-4,5xm165,-121r-13,0r-60,84r12,0xm141,-121v-39,2,-101,22,-102,53v0,16,14,26,43,30","w":249},"%":{"d":"167,-231v0,57,-54,122,-109,122v-20,0,-31,-11,-31,-34v0,-59,53,-122,109,-122v20,0,31,11,31,34xm272,-267r-234,263r-17,0r234,-263r17,0xm264,-121v0,59,-54,122,-108,122v-21,0,-31,-11,-31,-33v0,-59,54,-122,109,-122v20,0,30,11,30,33xm67,-122v43,0,89,-60,89,-106v0,-14,-5,-21,-17,-21v-43,0,-88,59,-88,106v0,14,5,21,16,21xm165,-11v43,0,89,-59,89,-106v0,-15,-6,-22,-17,-22v-44,0,-89,60,-89,107v0,14,6,21,17,21","w":287},"&":{"d":"329,-112v0,-13,-33,2,-15,-22v13,-7,25,3,23,20v-4,43,-59,45,-98,32v18,69,-67,92,-132,92v-52,0,-86,-17,-86,-60v0,-50,65,-86,115,-107v-43,-44,-6,-78,52,-108v28,-14,57,-21,88,-21v30,1,47,5,48,30v1,19,-22,49,-44,49v-19,0,-25,-28,-13,-37v4,9,-3,30,14,29v15,0,36,-24,35,-41v-1,-19,-16,-23,-37,-23v-59,1,-151,44,-122,114v26,-8,75,-20,83,4v0,31,-74,27,-96,9v-35,14,-88,62,-88,102v0,84,173,52,178,-13v3,-27,-40,-31,-62,-21v-17,7,-31,18,-32,38v4,-5,22,-12,22,3v0,8,-5,12,-14,12v-9,0,-16,-7,-16,-17v0,-33,47,-60,88,-58v38,2,96,40,109,-6xm225,-151v10,-9,5,-18,-14,-17v-18,0,-29,3,-47,10v13,10,42,16,61,7","w":346},"'":{"d":"122,-287v11,0,15,6,15,17v0,20,-37,52,-56,41v10,0,42,-14,42,-25v-5,-4,-21,-5,-17,-17v0,-8,9,-16,16,-16","w":121,"k":{"t":42,"s":18,"r":42,"l":54}},"(":{"d":"269,-272v-113,58,-194,153,-228,292r-8,0v23,-162,107,-239,232,-298","w":169,"k":{"T":-40}},")":{"d":"255,-275v-35,165,-95,226,-236,294r-5,-7v93,-40,157,-118,204,-203v12,-22,21,-51,30,-85","w":203},"*":{"d":"147,-249v8,-2,14,-19,21,-6v15,15,-26,8,-11,18v13,-3,18,15,4,18v-4,-2,-8,-12,-14,-13v3,13,4,29,-13,19v1,-6,4,-11,3,-19v-6,3,-8,8,-16,12v-5,-1,-14,-15,-1,-16v9,0,15,-4,7,-7v-11,2,-19,-14,-5,-18v5,2,9,11,15,12v2,-10,-10,-21,5,-21v16,0,3,10,5,21","w":186},"+":{"d":"168,-127r-6,12r-70,0r-39,70r-14,0r40,-70r-70,0r7,-12r69,0r40,-70r13,0r-39,70r69,0","w":198},",":{"d":"51,-29v10,0,15,6,15,16v0,22,-32,45,-54,45v-1,-9,12,-3,24,-12v9,-7,15,-11,16,-16v-5,-4,-21,-6,-17,-17v0,-9,8,-16,16,-16","w":88},"-":{"d":"152,-103r-8,12r-104,0r7,-12r105,0","w":159},"\u2010":{"d":"152,-103r-8,12r-104,0r7,-12r105,0","w":159},".":{"d":"35,-25v8,-10,23,-3,19,11v1,11,-15,21,-23,11v-5,-7,-1,-18,4,-22","w":82},"\/":{"d":"271,-289r-227,306r-21,0r227,-306r21,0","w":198},"0":{"d":"216,-278v71,0,57,89,28,142v-33,61,-103,143,-177,143v-71,0,-57,-89,-28,-143v32,-59,105,-142,177,-142xm83,-9v87,0,177,-116,177,-211v0,-31,-13,-47,-39,-47v-87,0,-177,117,-177,212v0,31,13,46,39,46","w":273,"k":{":":54,".":45}},"1":{"d":"205,-275v10,0,8,10,4,15r-33,46v-48,64,-81,136,-126,209v0,2,-28,13,-45,11v5,-8,15,-12,23,-25r78,-120v25,-40,61,-86,91,-126v-42,16,-92,62,-129,66v0,-6,8,-9,12,-12v5,-1,40,-20,103,-57v9,-5,16,-7,22,-7","w":179,"k":{":":45,".":39}},"2":{"d":"141,-247v56,-44,170,-26,145,57v-10,33,-34,56,-69,74v-24,12,-180,45,-203,76v45,-23,110,20,150,23v29,1,37,-16,43,-36v2,0,3,1,3,4v-3,33,-26,50,-69,50v-23,0,-89,-25,-111,-25v-22,0,-35,15,-45,27v-3,0,-4,-2,-4,-4v4,-44,78,-84,126,-96v100,-26,155,-66,159,-118v4,-59,-82,-54,-121,-24v-27,21,-51,54,-29,83v42,30,93,-14,99,-55v1,-4,9,-4,7,1v-1,47,-70,98,-114,62v-26,-35,0,-73,33,-99","w":293,"k":{":":39,".":42}},"3":{"d":"134,-256v43,-30,124,-19,119,37v-3,41,-45,66,-86,76v20,7,36,28,35,54v-4,69,-109,112,-177,75v-31,-17,-30,-77,5,-77v10,0,14,2,14,12v0,22,-27,4,-28,24v-2,30,27,46,60,46v67,0,136,-82,74,-131v-13,3,-24,6,-28,-2v4,-9,24,-10,34,-5v40,-15,93,-59,62,-105v-39,-36,-131,17,-99,65v23,19,66,-4,68,-30v0,-3,2,-4,4,-4v12,31,-53,71,-81,40v-23,-25,-2,-57,24,-75","w":259,"k":{":":42,".":42}},"4":{"d":"5,-71v-1,-11,25,-22,39,-19v50,-53,75,-90,124,-163v7,-10,20,-14,33,-20v2,0,2,2,0,7v-58,85,-107,144,-150,177v5,1,28,5,69,12v65,-85,91,-133,105,-125r-81,128v25,6,40,-10,57,-21v-3,23,-33,34,-63,31v-36,54,-17,57,-78,67v-6,0,-8,0,-8,-3v17,-11,31,-24,61,-68v-10,-3,-33,-7,-69,-13v-11,11,-21,17,-31,17v-6,0,-9,-2,-8,-7","w":244,"k":{":":48,".":39}},"5":{"d":"172,-273v22,30,101,19,130,4v-18,41,-86,39,-150,34r-45,58v49,-17,92,24,90,70v-4,74,-108,144,-176,94v-25,-19,-21,-73,12,-76v9,0,14,2,14,12v0,11,-12,19,-23,13v-16,25,11,59,42,59v69,0,128,-85,91,-147v-16,-27,-55,-19,-75,-7r-3,-4r85,-108v2,-3,4,-3,8,-2","w":251,"k":{":":39,".":42}},"6":{"d":"176,-33v-45,51,-161,50,-156,-34v6,-106,123,-195,227,-208v24,-2,57,16,56,38v0,10,-4,15,-11,15v-9,-19,-10,-47,-48,-43v-94,11,-188,111,-200,202v-9,68,81,69,113,19v16,-25,34,-51,34,-87v0,-42,-50,-42,-77,-19v-17,14,-20,31,-29,45v-3,0,-5,0,-5,-3v0,-36,47,-71,83,-70v79,4,62,109,13,145","w":273,"k":{":":48,".":48}},"7":{"d":"142,-272v31,-2,97,45,114,2v1,-4,7,-2,6,1v-31,63,-137,156,-181,222v-28,42,-29,39,-78,50v-5,0,-8,-6,-1,-7v74,-57,150,-168,229,-231v-44,19,-109,-35,-147,7v-6,3,-23,30,-25,16v15,-25,49,-58,83,-60","w":219,"k":{":":54,".":57}},"8":{"d":"140,-257v32,-31,118,-26,111,30v-5,45,-39,62,-88,76v44,68,-9,153,-82,153v-39,0,-69,-22,-66,-60v3,-44,42,-75,114,-93v-26,-44,-19,-77,11,-106xm239,-223v7,-48,-51,-53,-81,-30v-31,24,-15,67,1,93v48,-13,75,-34,80,-63xm41,-21v48,35,116,3,113,-66v0,-17,-7,-36,-21,-56v-67,15,-102,43,-106,84v-1,16,3,29,14,38","w":252,"k":{":":45,".":51}},"9":{"d":"104,-240v46,-51,160,-50,155,34v-6,107,-121,195,-226,208v-24,2,-57,-16,-57,-38v0,-15,16,-23,16,-3v0,21,16,31,43,31v98,0,186,-108,200,-202v4,-32,-17,-58,-49,-56v-54,3,-93,62,-98,122v-1,20,15,37,33,37v30,0,69,-28,69,-57v0,-1,4,-3,7,-3v2,0,3,1,3,3v-2,34,-47,71,-84,69v-79,-4,-62,-110,-12,-145","w":264,"k":{":":45,".":45}},":":{"d":"96,-109v-19,-3,-8,-31,6,-31v6,0,11,7,10,16v-2,7,-7,16,-16,15xm35,-25v8,-10,23,-3,19,11v1,11,-15,21,-23,11v-5,-7,-1,-18,4,-22","w":124},";":{"d":"96,-109v-19,-3,-8,-31,6,-31v6,0,11,7,10,16v-2,7,-7,16,-16,15xm51,-29v10,0,15,6,15,16v0,22,-32,45,-54,45v-1,-9,12,-3,24,-12v9,-7,15,-11,16,-16v-5,-4,-21,-6,-17,-17v0,-9,8,-16,16,-16","w":123},"<":{"d":"188,-184r-151,61r118,59r-8,10r-127,-64r3,-14r161,-65","w":206},"=":{"d":"158,-145r-4,12r-130,0r3,-12r131,0xm147,-109r-4,12r-130,0r5,-12r129,0"},">":{"d":"195,-124r-2,13r-157,65r-3,-12r145,-60r-124,-60r7,-11","w":214},"?":{"d":"139,-249v41,-37,119,-17,112,44v-6,48,-33,68,-76,88v-35,15,-54,24,-57,25v-20,12,-31,25,-20,41v12,8,31,3,30,-15v0,-1,1,-2,3,-2v9,13,-5,34,-23,30v-44,-9,-24,-51,15,-71v40,-21,108,-64,108,-109v0,-45,-59,-49,-87,-25v-17,15,-30,42,-15,61v15,19,58,2,55,-24v0,-3,1,-4,3,-4v15,19,-21,45,-40,45v-48,0,-42,-64,-8,-84xm104,-21v3,15,-27,34,-28,9v-3,-15,26,-31,28,-9","w":247},"@":{"d":"222,-251v62,-2,107,34,106,94v0,64,-43,120,-99,123v-29,2,-40,-17,-35,-44v-19,28,-35,43,-49,43v-19,0,-28,-12,-28,-36v0,-43,51,-108,95,-104v12,0,18,6,19,18v6,-10,19,-22,36,-15v-13,14,-57,91,-57,113v0,11,6,17,19,17v46,3,85,-67,85,-115v0,-53,-38,-86,-92,-86v-81,0,-162,99,-162,181v0,58,37,101,93,100v41,0,86,-29,97,-59r7,4v-6,35,-67,65,-110,65v-61,0,-104,-45,-102,-106v4,-102,78,-189,177,-193xm145,-44v29,0,75,-82,77,-110v0,-9,-3,-13,-9,-13v-20,-6,-83,94,-79,113v0,7,4,10,11,10","w":320},"A":{"d":"483,-279v-21,42,-50,76,-76,126v9,5,20,8,18,18v-9,4,-12,-7,-23,-10v-16,30,-51,94,-49,122v2,34,41,16,53,4v-7,37,-81,29,-76,-12v6,-51,22,-70,55,-122v-17,-7,-33,-13,-49,-17v-71,70,-123,172,-244,179v-46,3,-86,-22,-81,-66v11,-103,190,-151,319,-123v58,-56,93,-88,105,-96v14,-9,25,-13,34,-13v9,0,14,3,14,10xm473,-273v4,-5,2,-10,-4,-9v-49,13,-55,38,-126,105v17,4,32,9,47,16xm322,-173v-93,-16,-189,3,-247,41v-39,26,-56,43,-54,77v3,40,60,43,100,31v82,-24,140,-92,201,-149","w":427,"k":{"r":10}},"B":{"d":"354,-237v-3,47,-31,72,-66,97v49,90,-62,156,-159,162v-60,3,-69,-46,-34,-70v6,-4,11,-1,5,6v-14,31,13,49,49,47v74,-6,144,-40,144,-107v0,-13,-5,-25,-14,-34v-21,12,-41,18,-59,18v-18,0,-42,-8,-40,-25v5,-36,77,-29,98,-7v22,-21,42,-43,46,-80v-9,-71,-101,-38,-143,-6v-25,62,-74,157,-108,199v-21,26,-36,39,-49,39v-10,0,-16,-7,-16,-22v0,-99,89,-166,164,-222v12,-26,10,-40,22,-51v13,9,2,15,-5,40v40,-25,77,-35,112,-35v30,0,55,22,53,51xm197,-143v13,25,53,17,74,-1v-16,-15,-66,-27,-74,1xm164,-224v-60,48,-124,113,-143,197v0,10,3,14,10,14v31,-4,108,-144,133,-211","w":318,"k":{"l":9}},"C":{"d":"282,-286v27,-1,44,9,45,30v7,0,11,2,11,4v-1,4,-7,2,-12,2v-3,22,-20,41,-43,42v-11,0,-16,-4,-16,-12v-2,-19,27,-34,51,-35v-7,-36,-62,-23,-95,-10v-82,35,-188,95,-188,194v0,96,156,71,209,32v23,-9,32,-34,52,-37v-37,54,-100,84,-185,84v-66,0,-110,-23,-110,-83v0,-113,157,-202,281,-211xm317,-249v-20,3,-37,12,-40,28v12,15,40,-11,40,-28","w":267},"D":{"d":"354,-232v0,130,-112,251,-234,251v-23,0,-48,-3,-48,-25v10,-49,94,-79,155,-60v6,2,8,5,5,6v-54,-11,-136,4,-150,52v6,27,62,17,89,8v85,-30,145,-117,152,-217v3,-39,-15,-54,-50,-54v-27,0,-57,11,-92,34v-32,80,-119,242,-155,240v-12,0,-17,-8,-17,-24v0,-97,92,-170,163,-221v5,-15,11,-28,16,-46v1,-4,4,-6,8,-5v8,10,-1,20,-8,41v42,-26,77,-38,105,-37v41,2,61,21,61,57xm165,-225v-53,41,-94,88,-125,143v-13,24,-19,42,-19,56v0,9,3,13,9,13v24,4,113,-147,135,-212","w":318},"E":{"d":"261,-287v30,1,47,6,49,31v9,-1,14,5,6,6r-7,0v-3,20,-23,43,-44,42v-10,0,-15,-4,-15,-13v4,-20,26,-34,51,-34v-2,-18,-14,-24,-37,-24v-59,-1,-153,48,-121,114v27,-8,75,-20,83,4v1,31,-76,27,-96,9v-36,14,-89,61,-89,102v0,64,94,53,148,31v41,-16,61,-38,88,-58v-25,49,-114,88,-187,87v-50,-1,-84,-17,-84,-60v0,-51,65,-86,116,-107v-44,-44,-6,-80,50,-109v29,-14,58,-21,89,-21xm300,-249v-18,2,-39,14,-40,27v12,17,38,-10,40,-27xm211,-151v10,-9,5,-18,-14,-17v-19,0,-30,3,-48,10v13,11,44,16,62,7","w":250},"F":{"d":"225,-307v50,0,78,15,80,61v2,40,-30,86,-57,113v15,2,25,12,21,23v-4,-9,-11,-15,-30,-15v-30,39,-126,83,-123,152v-6,3,-7,-2,-7,-13v0,-17,4,-31,12,-43v10,-15,39,-45,86,-91v-17,4,-34,11,-50,20v-8,5,-12,5,-13,2v-1,-3,1,-6,5,-9v23,-13,46,-22,71,-25v36,-33,71,-82,71,-124v0,-65,-104,-41,-150,-17v-44,23,-98,63,-104,111v8,55,76,33,116,10v32,-18,61,-51,75,-86v1,-5,4,-8,7,-7v7,17,-9,32,-19,48v-25,42,-94,80,-149,81v-34,0,-58,-16,-58,-50v0,-85,123,-141,216,-141","w":253,"k":{"u":6,"o":9,"e":6,"a":9}},"G":{"d":"313,-294v91,0,16,120,-11,147v-33,33,-70,67,-121,67v-16,0,-24,-6,-24,-19v0,-12,30,-80,42,-68v-5,13,-22,33,-22,49v0,10,7,15,20,15v76,0,138,-76,151,-151v-8,-52,-69,-34,-106,-8v-60,40,-143,115,-143,210v0,77,113,24,145,1v16,-11,27,-23,35,-37v6,-2,12,-7,18,-5r-93,137v16,6,23,11,21,15v-9,4,-13,-3,-26,-8v-37,47,-76,83,-151,83v-32,0,-48,-9,-49,-27v14,-61,120,-86,195,-66v10,-14,24,-39,43,-74v-14,12,-76,33,-104,32v-41,-2,-70,-26,-67,-63v8,-100,135,-230,247,-230xm18,100v4,27,52,25,77,16v38,-13,70,-36,93,-68v-64,-17,-154,4,-170,52","w":303},"H":{"d":"225,-295v56,-22,142,-21,140,49v0,27,-10,58,-28,93v26,3,52,9,76,15v43,-69,78,-129,154,-156v3,-1,4,0,4,3v-10,13,-26,13,-46,29v-44,35,-71,79,-97,128v6,4,43,8,32,21v-13,-1,-11,-5,-36,-12v-33,50,-41,147,-124,132v51,-28,71,-80,108,-137v-25,-6,-50,-11,-75,-15v-50,85,-127,176,-251,176v-46,0,-75,-16,-77,-55v-2,-44,60,-92,98,-108v-17,-86,55,-138,122,-163xm355,-245v0,-33,-20,-53,-54,-51v-93,7,-169,60,-174,155v41,-13,87,-19,138,-18v12,-11,11,-39,24,-42v1,16,-5,27,-13,42v15,0,31,2,49,4v20,-35,30,-65,30,-90xm258,-150v-48,0,-91,6,-128,19v26,47,109,12,128,-19xm18,-30v2,27,22,35,54,35v113,0,203,-69,248,-152v-17,-2,-33,-3,-50,-3v-26,44,-119,77,-161,27v-39,18,-85,50,-91,93","w":441},"I":{"d":"22,-56v-18,23,-4,54,30,54v22,0,50,-7,85,-22v-17,-112,39,-207,114,-251v33,-20,64,-32,95,-14v9,5,11,18,11,34v0,120,-102,219,-203,256v-1,4,12,21,2,23v-9,-4,-5,-8,-11,-20v-48,14,-140,22,-140,-35v0,-23,17,-52,39,-54v7,0,11,3,11,10v0,20,-26,4,-33,19xm347,-259v0,-49,-59,-29,-94,-7v-68,43,-121,126,-107,238v76,-34,133,-87,174,-154v18,-31,27,-57,27,-77","w":298},"J":{"d":"204,-276v52,-21,134,-30,134,37v0,116,-142,278,-233,331v-45,26,-84,41,-117,41v-38,-1,-69,-20,-67,-60v1,-36,21,-79,55,-83v23,-2,22,31,3,35v-11,3,-15,-7,-17,-15v-37,16,-39,104,24,94v138,-19,228,-112,295,-217v32,-51,48,-92,48,-122v0,-61,-74,-51,-120,-25v-62,36,-124,99,-135,179v5,58,69,37,106,9v22,-17,50,-49,59,-78v2,-6,5,-9,7,-9v3,0,4,3,2,7v-15,54,-73,119,-145,119v-72,0,-65,-78,-33,-127v31,-47,77,-93,134,-116","w":287},"K":{"d":"575,-260v-14,-31,-62,-23,-86,7v-36,45,-52,108,-122,120v18,6,27,16,29,38v2,20,-24,47,-23,70v0,12,5,20,17,20v24,2,52,-40,36,-61v-11,-5,-20,17,-32,24v-8,-11,16,-33,29,-33v11,0,16,8,16,20v0,32,-29,64,-65,65v-18,0,-29,-15,-31,-31v-3,-26,44,-63,42,-80v-3,-30,-49,-33,-71,-16v-55,82,-125,149,-230,149v-41,0,-79,-15,-79,-56v0,-27,14,-56,40,-58v16,-2,20,13,13,22v-6,9,-22,4,-23,-5v-12,1,-17,20,-17,33v0,28,19,39,54,39v146,0,263,-116,284,-252v-11,-95,-151,-37,-181,2v-22,19,-48,55,-48,91v0,58,72,50,110,22v18,-13,39,-38,44,-63v1,-8,10,-11,9,-1v-6,47,-61,95,-123,95v-41,0,-68,-19,-68,-58v0,-92,92,-149,191,-149v45,0,74,17,75,59v1,25,-15,70,-35,104v127,18,116,-149,218,-156v20,0,37,23,27,39","w":459,"k":{"n":-11}},"L":{"d":"110,-145v59,5,83,28,120,64v37,-34,36,-37,75,-94v-12,3,-35,-5,-14,-10v7,1,14,1,21,0v41,-54,66,-100,123,-113v30,7,13,33,-3,55v-25,36,-62,59,-107,66v-30,53,-45,75,-80,111v50,47,106,67,163,39v-5,24,-39,34,-67,33v-31,0,-66,-22,-104,-64v-62,54,-136,89,-205,44v-67,-44,3,-137,78,-131xm331,-187v52,-9,96,-44,107,-91v0,-6,-4,-9,-11,-9v-44,12,-69,58,-96,100xm19,-68v1,35,42,51,84,45v45,-6,84,-23,119,-51v-41,-41,-62,-61,-112,-62v-43,-1,-93,27,-91,68","w":420},"M":{"d":"446,-134v-5,8,-18,-9,-26,-12v-25,53,-38,91,-38,114v0,16,7,23,20,23v27,0,73,-31,139,-93v24,-48,60,-111,94,-147v21,-22,36,-35,45,-35v5,0,7,3,7,8v-12,46,-82,124,-121,160v-31,58,-46,97,-46,117v0,7,3,10,8,10v8,3,27,-21,30,-20v1,12,-20,27,-33,27v-13,0,-17,-7,-18,-22v0,-17,8,-43,24,-78v-60,55,-104,83,-131,83v-19,0,-29,-11,-29,-31v0,-21,10,-52,29,-94v-90,90,-145,148,-274,148v-65,0,-117,-24,-117,-84v0,-146,285,-167,408,-99v20,-40,43,-83,61,-107v18,-23,27,-40,35,-25v-1,31,-77,122,-88,138v14,9,21,15,21,19xm579,-139v16,-19,97,-107,94,-131v-13,0,-44,43,-94,131xm22,-65v0,57,80,65,142,54v89,-15,200,-79,248,-139v-110,-65,-390,-45,-390,85","w":597},"N":{"d":"446,-134v-5,8,-18,-9,-26,-12v-19,41,-29,74,-29,100v0,19,6,29,17,29v10,0,25,-14,46,-42r76,-100v56,-70,100,-137,175,-137v17,0,42,23,31,40v-32,-39,-79,-19,-123,21v-48,44,-108,131,-152,189v-24,32,-45,47,-59,47v-20,-1,-26,-15,-27,-37v0,-23,9,-53,25,-88v-90,90,-145,148,-274,148v-65,0,-117,-24,-117,-84v0,-146,285,-167,408,-99v20,-40,43,-83,61,-107v18,-23,27,-40,35,-25v-1,31,-77,122,-88,138v14,9,21,15,21,19xm22,-65v0,57,80,65,142,54v89,-15,200,-79,248,-139v-110,-65,-390,-45,-390,85","w":518,"k":{"O":-125}},"O":{"d":"231,-293v38,-3,51,35,51,74v0,111,-95,234,-205,234v-100,0,-81,-134,-28,-197v45,-53,76,-91,125,-99v3,2,1,3,-6,6v-65,30,-135,106,-136,195v0,49,20,74,64,77v73,4,181,-127,176,-216v-2,-33,-8,-66,-42,-65v-33,-6,-95,68,-95,114v0,15,6,23,19,23v16,0,31,-11,45,-32v4,-6,7,-8,9,-7v4,24,-36,50,-60,50v-21,0,-33,-16,-32,-40v4,-62,57,-113,115,-117","w":246},"P":{"d":"188,-252v42,-30,169,-70,169,15v0,73,-73,125,-148,125v-23,0,-56,-8,-55,-29v2,-34,66,-46,92,-24v1,2,1,3,0,3v-25,-5,-79,-13,-81,23v3,13,24,18,42,18v61,-2,125,-39,125,-100v0,-73,-116,-42,-151,-16v-32,80,-119,242,-155,240v-12,0,-17,-8,-17,-24v0,-97,92,-170,163,-221v5,-15,11,-28,16,-46v1,-4,4,-6,8,-5v8,10,-1,20,-8,41xm165,-225v-53,41,-94,88,-125,143v-13,24,-19,42,-19,56v0,9,3,13,9,13v24,4,113,-147,135,-212","w":274,"k":{"t":-16,"o":14,"e":13,"a":23}},"Q":{"d":"282,-221v0,108,-92,213,-190,235v45,18,118,60,165,18v3,-5,5,-6,7,-4v-2,24,-35,42,-61,43v-44,2,-112,-65,-157,-58v-12,-3,-41,12,-62,10v9,-13,38,-14,56,-17v-24,-12,-35,-35,-35,-69v1,-91,98,-209,169,-218v3,2,1,3,-6,6v-65,30,-136,106,-136,195v0,48,19,74,63,76v74,4,183,-129,178,-217v-2,-33,-10,-63,-42,-63v-34,0,-96,68,-96,114v0,15,6,23,19,23v16,0,31,-11,45,-32v4,-6,7,-8,9,-7v4,24,-36,50,-60,50v-22,0,-35,-17,-33,-41v4,-62,61,-116,117,-116v37,0,50,33,50,72","w":246},"R":{"d":"300,-289v32,0,58,19,56,47v-4,54,-51,97,-101,109v22,40,-15,73,-27,114v0,9,5,14,15,14v13,0,23,-8,32,-25v3,-6,6,-8,8,-7v4,23,-26,43,-50,44v-19,0,-37,-13,-35,-32v4,-39,63,-62,42,-104v-33,5,-80,0,-85,-23v13,-34,80,-13,94,11v38,-10,77,-44,81,-85v-7,-69,-116,-34,-149,-11v-32,80,-119,242,-155,240v-12,0,-17,-8,-17,-24v0,-97,92,-170,163,-221v5,-15,11,-28,16,-46v1,-4,4,-6,8,-5v8,10,-1,20,-8,41v28,-17,73,-37,112,-37xm169,-151v5,18,44,19,66,13v-10,-16,-25,-24,-46,-24v-13,0,-19,4,-20,11xm165,-225v-53,41,-94,88,-125,143v-13,24,-19,42,-19,56v0,9,3,13,9,13v24,4,113,-147,135,-212","w":301},"S":{"d":"126,-1v79,0,149,-39,157,-106v-5,-42,-66,-75,-49,-128v13,-40,68,-65,123,-55v28,5,17,33,-2,35v-7,5,-16,-6,-5,-7v9,-1,13,-6,13,-12v0,-9,-10,-9,-29,-10v-65,0,-114,47,-73,101v15,19,43,46,39,75v-11,72,-89,117,-176,117v-55,0,-112,-16,-112,-69v0,-70,137,-92,222,-75v8,1,11,3,10,6v-7,7,-22,1,-35,1v-62,0,-173,30,-173,80v0,37,49,47,90,47","w":305},"T":{"d":"29,-135v4,68,119,52,153,15v19,-13,21,-27,35,-32v3,15,-16,25,-28,38v-47,49,-190,53,-181,-35v15,-152,343,-184,466,-93v3,5,4,8,3,11v-1,2,-3,2,-6,-1v-111,-94,-422,-35,-442,97xm371,-248v-10,12,-28,12,-47,28v-59,49,-70,82,-115,176v-21,44,-38,54,-83,51v95,-59,119,-222,241,-258v3,-1,4,0,4,3","w":354,"k":{"y":78,"w":74,"u":58,"r":71,"o":62,"i":56,"e":71,"a":79}},"U":{"d":"426,-279v13,-3,26,-12,40,-9v1,2,-16,26,-48,73v-38,53,-58,80,-59,81v-18,31,-61,85,-66,116v6,25,38,-3,48,-4v0,22,-67,43,-66,3v0,-17,12,-45,36,-83v-48,46,-143,114,-173,106v-20,0,-32,-12,-32,-30v0,-89,159,-119,159,-216v0,-30,-23,-44,-54,-43v-81,3,-187,71,-187,150v0,61,96,29,121,8v24,-20,41,-42,50,-69v1,-6,5,-10,9,-5v-13,66,-66,104,-139,110v-60,5,-70,-72,-42,-116v29,-47,103,-92,170,-90v49,1,81,14,81,57v0,92,-137,144,-137,218v0,9,4,14,13,14v67,-17,159,-91,193,-144","w":382,"k":{"x":20,"v":13,"s":12,"r":12,"q":16,"l":12,"g":16,"e":12,"d":16,"c":16,"a":8}},"V":{"d":"274,-240v0,92,-137,144,-137,218v0,9,4,14,13,14v123,-34,202,-191,288,-256v39,-30,78,-47,110,-19v9,8,14,19,7,27v-9,-9,-21,-26,-40,-22v-145,27,-213,282,-377,282v-20,0,-32,-12,-32,-30v0,-89,159,-119,159,-216v0,-29,-23,-44,-54,-43v-84,2,-175,74,-187,151v5,60,96,28,121,7v24,-20,41,-42,50,-69v1,-6,5,-10,9,-5v-13,66,-67,103,-139,110v-37,3,-59,-27,-57,-62v4,-90,99,-143,186,-143v48,0,80,13,80,56","w":318,"k":{"t":-23,"l":-97}},"W":{"d":"472,-287v62,79,-27,198,-82,246v-32,28,-59,43,-80,43v-38,0,-40,-43,-35,-84v-27,28,-100,86,-141,86v-20,0,-33,-12,-31,-30v9,-89,158,-119,158,-216v0,-29,-21,-46,-52,-45v-81,2,-188,73,-188,153v0,61,96,27,120,7v24,-20,43,-42,50,-69v2,-7,6,-9,10,-5v-14,66,-66,103,-139,110v-39,4,-58,-28,-58,-62v0,-89,101,-145,186,-145v49,0,80,16,80,60v0,93,-137,140,-137,216v0,10,5,14,14,14v31,0,109,-66,131,-89v14,-54,30,-115,79,-132v7,0,10,4,10,10v-6,40,-52,95,-80,125v-9,35,-8,93,26,86v99,-20,171,-158,159,-279xm291,-111v23,-25,55,-66,63,-97v0,-4,-2,-5,-6,-5v-21,6,-49,66,-57,102","w":447},"X":{"d":"470,-283v41,-6,41,69,17,82v1,-21,10,-66,-27,-63v-40,3,-58,24,-87,52v-20,19,-37,41,-51,65r34,0v-3,13,-24,8,-39,9v-26,44,-39,78,-39,104v0,37,37,43,63,23v6,-6,13,1,6,6v-20,26,-84,41,-84,-18v0,-14,2,-29,7,-45v-43,57,-120,108,-200,108v-42,0,-79,-16,-79,-57v0,-26,15,-58,40,-58v10,0,16,4,17,11v2,19,-24,21,-27,7v-12,1,-17,21,-17,33v0,29,21,39,55,39v115,0,192,-61,244,-153r-32,0v3,-13,24,-8,39,-9v15,-21,33,-59,33,-90v1,-34,-27,-52,-60,-52v-85,0,-170,63,-170,145v0,58,73,50,110,22v19,-13,39,-37,44,-63v1,-5,3,-7,6,-7v3,0,4,2,3,6v-5,47,-61,95,-123,95v-42,0,-68,-20,-68,-58v0,-91,93,-143,191,-149v66,-4,90,47,66,106v46,-54,73,-83,128,-91","w":371},"Y":{"d":"270,-238v0,93,-137,140,-137,216v0,9,5,14,13,14v74,-21,148,-103,199,-153v13,-12,36,-10,33,12v-16,117,-108,209,-200,262v-35,20,-63,30,-84,30v-16,-1,-30,-6,-31,-22v22,-57,117,-93,198,-81v42,-38,107,-120,107,-182v0,-10,-3,-14,-8,-14v-22,7,-62,57,-83,76v-36,33,-96,84,-143,84v-20,0,-33,-12,-31,-30v9,-89,155,-117,157,-216v0,-29,-21,-46,-52,-45v-81,2,-187,74,-187,153v0,61,96,27,120,7v24,-20,43,-42,50,-69v2,-7,6,-9,10,-5v-14,66,-66,103,-139,110v-39,4,-58,-28,-58,-62v0,-89,101,-145,186,-145v49,0,80,16,80,60xm253,46v-75,-6,-149,21,-168,72v0,9,5,13,15,13v56,0,114,-47,153,-85","w":378},"Z":{"d":"199,-298v40,-1,79,13,79,47v0,52,-43,89,-81,119v15,6,22,17,22,36v-1,48,-50,111,-81,143v10,7,25,8,20,20v-12,4,-14,-10,-28,-12v-48,42,-87,80,-165,80v-34,0,-52,-10,-49,-28v9,-55,136,-88,208,-65v29,-35,92,-111,42,-154v-38,21,-70,32,-97,32v-13,0,-19,-4,-19,-14v2,-33,88,-57,136,-42v36,-25,81,-69,81,-114v0,-23,-19,-34,-55,-34v-70,0,-144,35,-155,91v6,50,85,19,108,3v12,-9,16,-1,6,6v-34,23,-135,51,-135,-15v0,-64,90,-98,163,-99xm155,-118v-29,-11,-85,-4,-91,22v25,12,52,-5,91,-22xm118,50v-69,-18,-160,1,-181,50v-2,27,47,25,72,18v39,-11,75,-33,109,-68","w":237},"[":{"d":"275,-297r-8,12r-29,0r-216,338r29,0r-6,10r-50,0r231,-360r49,0","w":179},"\\":{"d":"125,27r-12,0r-90,-331r12,0","w":146},"]":{"d":"246,-297r-230,361r-49,0r7,-12r30,0r214,-338r-29,0r7,-11r50,0","w":205},"^":{"d":"180,-147r-13,0r-5,-123r-114,123r-17,0r129,-140r14,0","w":191},"_":{"d":"189,50r-182,0r0,-17r182,0r0,17","w":214},"`":{"d":"44,-327v19,10,27,30,40,42v0,1,0,2,-2,2v-25,-17,-40,-17,-47,-35v1,-6,4,-9,9,-9","w":75},"a":{"d":"147,-130v10,-8,9,-12,21,-11v-12,30,-66,89,-67,118v-1,7,1,11,6,11v21,1,85,-61,98,-72v3,0,5,1,5,3v-13,25,-92,83,-117,81v-17,-1,-24,-16,-18,-32v-20,22,-36,33,-51,32v-14,0,-22,-9,-22,-27v0,-57,69,-119,127,-119v12,0,19,5,18,16xm128,-138v-47,6,-101,79,-103,116v6,25,20,8,38,-8v28,-25,43,-54,71,-84v7,-7,7,-26,-6,-24","k":{"*":71}},"b":{"d":"105,-25v41,1,69,-44,90,-60v11,8,0,14,-15,27v-22,19,-47,49,-82,40v-17,15,-33,22,-48,22v-50,0,-33,-62,-15,-107v24,-58,71,-121,108,-160v22,-22,39,-33,51,-33v5,0,8,3,8,8v-21,71,-113,171,-161,210v-8,22,-12,55,14,55v6,0,13,-2,21,-6v-38,-36,21,-109,56,-109v14,0,21,10,21,24v-1,32,-26,73,-48,89xm48,-96v34,-26,141,-157,140,-178v-10,-9,-20,4,-38,22v-33,33,-83,107,-102,156xm85,-35v23,-14,56,-54,56,-85v0,-7,-3,-10,-10,-10v-34,0,-76,64,-46,95","w":164,"k":{"*":52}},"c":{"d":"112,-135v-37,7,-76,58,-76,98v0,51,51,26,82,2v23,-17,40,-33,52,-47v2,-3,5,-4,7,-2v3,2,2,4,0,8v-17,21,-87,81,-126,79v-24,-2,-45,-13,-43,-37v4,-51,57,-105,107,-109v28,-2,23,36,4,48v-4,0,-13,-5,-14,-8v5,-6,29,-28,7,-32","w":143,"k":{"*":52}},"d":{"d":"2,-27v6,-54,73,-124,138,-117v27,-39,89,-152,118,-152v9,0,14,5,14,14v-18,69,-81,132,-148,203v-15,28,-23,48,-23,58v0,6,2,9,6,9v22,0,82,-59,98,-72v3,0,4,1,4,4v-16,27,-87,78,-114,80v-17,1,-24,-13,-21,-28v-22,19,-38,29,-49,29v-13,-1,-25,-12,-23,-28xm145,-114v53,-61,92,-94,116,-164v0,-3,-1,-5,-4,-5v-29,18,-84,129,-112,169xm127,-138v-43,9,-99,72,-103,115v0,9,3,13,9,13v8,0,23,-12,48,-38r54,-87v-2,-2,-5,-3,-8,-3"},"e":{"d":"38,-54v-8,23,-1,46,24,45v39,-1,89,-46,110,-71v4,-4,7,-6,9,-4v2,2,2,5,-2,9v-21,26,-92,80,-137,80v-22,0,-37,-13,-37,-35v2,-52,68,-110,123,-116v28,3,15,21,0,38v-23,26,-55,46,-90,54xm42,-64v36,-9,79,-39,94,-70v-35,-9,-78,37,-94,70","w":146,"k":{"*":78}},"f":{"d":"150,-84v9,10,-10,17,-22,31v-37,29,-80,75,-125,41r-70,132v-10,3,-27,13,-41,9v2,-8,12,-11,18,-21v60,-99,230,-403,282,-407v9,0,14,5,14,16v1,47,-132,213,-183,233v-12,15,-5,40,18,40v32,0,91,-61,109,-74xm34,-71v58,-41,133,-130,157,-204v0,-4,-2,-6,-6,-6v-37,14,-119,144,-151,210","w":118},"g":{"d":"147,-130v10,-8,9,-12,21,-11v2,9,-31,47,-83,135v49,-18,82,-48,108,-78v2,-2,11,1,6,6v-18,21,-77,72,-122,85v-39,55,-61,111,-131,125v-26,-2,-18,-27,-6,-44v26,-40,65,-64,120,-84v8,-14,13,-27,18,-36v-21,22,-39,33,-53,32v-15,0,-22,-9,-22,-27v0,-57,69,-119,127,-119v10,0,20,6,17,16xm129,-138v-47,6,-103,78,-104,116v7,24,20,8,38,-8v28,-26,44,-53,72,-84v6,-7,6,-25,-6,-24xm55,15v-51,22,-95,42,-108,96v4,19,22,8,36,-2v33,-25,48,-50,72,-94","w":164,"k":{"*":70}},"h":{"d":"-16,1v-3,1,-14,-3,-13,-5v11,-22,93,-132,119,-170v27,-41,51,-72,69,-95v14,-18,26,-27,38,-27v25,9,7,32,-5,55v-22,37,-61,74,-96,89r-25,35v22,-17,40,-26,55,-26v14,0,21,6,21,18v-3,38,-78,89,-63,111v34,4,78,-52,104,-71v2,0,3,1,4,3v-12,27,-91,81,-112,82v-14,0,-26,-9,-28,-22v-4,-30,90,-91,81,-106v-9,-16,-24,-4,-42,8v-52,33,-71,76,-107,121xm107,-169v32,-18,81,-63,90,-107v0,-3,-1,-5,-4,-5v-12,-4,-67,85,-86,112","w":156,"k":{"*":29}},"i":{"d":"96,-162v-13,-10,15,-44,23,-41v11,12,-16,44,-23,41xm130,-81v-13,27,-91,84,-117,81v-16,-1,-22,-14,-18,-30v5,-25,61,-90,83,-110v3,0,11,-4,12,1v-20,29,-63,86,-68,116v-2,7,0,11,6,11v21,1,85,-61,98,-72v3,0,4,1,4,3","w":94,"k":{"*":45}},"j":{"d":"90,-162v-11,-12,20,-55,27,-36v-1,13,-19,39,-27,36xm117,-84v2,20,-24,29,-54,55v-18,16,-42,26,-68,36v-38,55,-61,111,-131,125v-25,-2,-17,-27,-6,-44v26,-40,66,-64,120,-84v32,-62,56,-106,98,-144r10,-1v2,9,-31,47,-83,135v49,-18,82,-48,108,-78v1,-1,3,-1,6,0xm-27,15v-50,21,-95,43,-108,96v5,19,22,9,37,-2v32,-24,49,-51,71,-94","w":82,"k":{"*":35}},"k":{"d":"88,-64v29,2,14,30,8,46v0,4,3,6,8,5v27,3,86,-61,103,-71v2,0,3,1,3,3v-8,23,-95,85,-120,82v-12,-1,-20,-7,-20,-19v0,-18,35,-33,5,-40v-12,6,-27,13,-31,-1v0,-6,13,-8,23,-7v25,-6,75,-47,75,-63v0,-4,-2,-5,-6,-5v-63,16,-115,87,-152,135v-3,1,-14,-3,-13,-5v11,-22,93,-132,119,-170v27,-41,51,-72,69,-95v14,-18,26,-27,38,-27v25,9,7,32,-5,55v-22,37,-61,74,-96,89r-40,56v22,-21,61,-49,95,-50v11,0,17,4,17,11v4,18,-51,59,-80,71xm107,-169v32,-18,81,-63,90,-107v0,-3,-1,-5,-4,-5v-12,-4,-67,85,-86,112","w":174,"k":{"*":42}},"l":{"d":"4,-22v0,-48,168,-293,207,-274v8,0,12,3,12,11v0,32,-138,191,-179,210v-9,19,-13,34,-13,44v0,13,5,19,16,19v24,-1,77,-46,97,-68v2,-4,9,-6,10,-1v3,10,-99,93,-125,85v-16,-1,-25,-9,-25,-26xm51,-90v42,-29,157,-154,157,-185v0,-3,-1,-5,-4,-6v-60,25,-120,125,-153,191","w":118},"m":{"d":"278,-82v-11,28,-90,81,-112,82v-42,-7,-29,-45,3,-70v35,-27,51,-47,51,-57v-8,-17,-25,-4,-42,7v-28,18,-82,84,-108,119v-4,2,-24,9,-29,4r80,-103v9,-11,13,-20,13,-26v0,-5,-3,-8,-10,-8v-61,17,-104,88,-140,135v-3,1,-14,-3,-13,-5v0,-4,15,-30,51,-73v40,-47,31,-68,64,-64v-3,5,-3,5,-18,27v31,-22,44,-32,69,-29v16,2,14,24,6,36v31,-24,55,-36,69,-36v14,0,21,6,21,18v0,35,-72,91,-65,106v0,4,4,8,9,6v29,-6,74,-53,98,-72v1,0,2,1,3,3","w":242,"k":{"*":68}},"n":{"d":"192,-82v-12,27,-91,82,-112,82v-13,0,-27,-9,-27,-22v-8,-30,90,-90,81,-105v-10,-16,-24,-5,-43,7v-52,33,-71,76,-107,121v-3,1,-14,-3,-13,-5v0,-4,15,-30,51,-73v40,-47,31,-68,64,-64v1,2,-4,9,-15,24v22,-17,40,-26,55,-26v14,0,21,6,21,18v-3,38,-78,89,-63,111v34,4,78,-52,104,-71v2,0,3,1,4,3","w":156,"k":{"*":63}},"o":{"d":"202,-81v-25,37,-52,56,-94,41v-21,22,-50,45,-84,45v-17,0,-26,-8,-26,-26v0,-58,71,-117,128,-124v56,7,12,77,-10,97v38,17,53,-14,82,-36v3,0,4,1,4,3xm100,-45v-21,-13,-5,-40,17,-39v4,0,8,1,11,3v9,-15,13,-27,13,-38v0,-11,-5,-16,-15,-16v-45,0,-100,63,-100,109v0,11,5,16,15,16v16,0,36,-11,59,-35","w":167,"k":{"*":72}},"p":{"d":"206,-80v-26,31,-80,81,-131,85v-36,3,-52,-12,-58,-41v-34,47,-93,155,-137,171v-5,0,-8,-4,-8,-10v-7,-25,122,-170,165,-219v30,-35,14,-53,47,-45v-1,1,-3,4,-8,12v16,-12,29,-17,41,-17v17,0,24,9,24,28v-3,45,-30,92,-59,109v51,-4,95,-59,120,-77v2,0,4,1,4,4xm43,-13v27,0,81,-78,81,-109v0,-9,-3,-13,-10,-13v-10,0,-28,11,-55,33v-10,25,-42,42,-31,76v3,9,8,13,15,13xm19,-63v-39,53,-104,119,-132,176v18,8,91,-107,105,-128v8,-13,8,-13,27,-48","w":170,"k":{"*":75}},"q":{"d":"147,-130v10,-8,9,-12,21,-11v-26,49,-36,54,-77,113v6,1,10,7,10,16v33,-3,86,-56,104,-72v7,0,6,5,2,8v-21,23,-64,64,-105,73v-8,50,-70,134,-104,135v-25,-7,-12,-39,2,-61v8,-14,34,-47,78,-100v-22,20,-39,29,-54,29v-14,0,-22,-9,-22,-27v0,-57,69,-119,127,-119v12,0,19,5,18,16xm128,-138v-47,6,-101,79,-103,116v0,8,2,12,8,12v19,1,79,-78,101,-104v7,-7,7,-26,-6,-24xm90,0v-5,1,-11,0,-20,-1v-20,30,-57,65,-65,103v0,5,2,8,7,8v30,-3,72,-74,78,-110","k":{"*":76}},"r":{"d":"48,-11v46,4,87,-50,118,-73v5,-1,7,5,3,7v-16,19,-88,78,-121,78v-45,0,-30,-36,-4,-56v21,-16,95,-47,42,-68v-3,-1,-5,-3,-8,-6v-20,23,-43,62,-68,72v-2,0,-3,0,-3,-2v3,-16,74,-63,62,-90v3,-8,7,-12,13,-12v22,3,-9,26,10,30v64,36,-42,79,-44,120","w":135,"k":{"*":63}},"s":{"d":"70,-21v27,-16,57,-46,77,-63v5,0,5,6,2,8v-26,28,-95,88,-135,77v-18,-4,-27,-16,-27,-34v0,-14,9,-35,23,-32v23,-25,51,-45,63,-81v4,-12,21,-15,22,-1v1,26,-30,21,-19,57v9,30,8,48,-6,69xm17,-59v7,20,-18,13,-20,31v7,33,42,11,52,-8v9,-17,15,-41,12,-66","w":115,"k":{"*":70}},"t":{"d":"77,-156v38,-41,42,-72,68,-66v-8,10,-24,32,-47,66v10,1,25,-2,32,2v-2,11,-25,6,-38,7v-20,30,-74,111,-70,124v-4,10,5,13,12,9v23,-7,77,-55,88,-68v2,-4,5,-4,8,-1v-10,28,-92,87,-117,83v-35,-6,-16,-49,0,-70r57,-77v-9,-1,-24,2,-30,-2v2,-12,24,-5,37,-7","w":94,"k":{"*":28}},"u":{"d":"202,-81v-13,27,-91,84,-117,81v-12,-1,-19,-9,-19,-23v-12,11,-35,24,-53,23v-13,-1,-19,-9,-19,-23v0,-29,75,-129,94,-117v-19,39,-59,78,-67,116v-2,11,6,15,13,10v34,-12,86,-87,115,-126v2,-2,10,-4,11,0v-16,33,-64,89,-66,117v-2,7,0,11,6,11v21,1,85,-61,98,-72v3,0,4,1,4,3","w":166,"k":{"*":64}},"v":{"d":"173,-138v-2,23,-39,71,-56,88v25,35,68,-17,85,-32v2,-3,4,-3,6,-1v0,18,-19,25,-34,38v-21,19,-49,24,-65,2v-22,21,-49,42,-81,43v-40,-7,-30,-43,-6,-76v10,-14,41,-61,60,-66v3,0,4,1,5,3v-21,36,-57,70,-57,111v0,10,4,15,12,15v15,0,35,-13,63,-39v-9,-45,22,-94,59,-94v6,0,9,3,9,8xm114,-61v12,-13,43,-50,43,-67v0,-3,-1,-4,-4,-4v-13,-2,-45,45,-39,71","w":174,"k":{"*":71}},"w":{"d":"230,-138v-1,25,-38,72,-56,88v24,37,69,-15,85,-31v2,-3,5,-3,7,-1v-10,28,-71,77,-100,40v-22,21,-49,43,-80,43v-13,0,-20,-10,-20,-24v-12,11,-35,24,-53,23v-14,0,-22,-14,-18,-30v6,-29,60,-86,84,-111v2,-1,11,-3,11,1v-12,29,-66,87,-69,116v-1,11,6,15,13,10v34,-12,86,-87,115,-126v2,-2,10,-4,11,0v-19,39,-58,78,-67,115v-1,8,2,12,9,12v13,0,33,-13,60,-38v-7,-47,23,-87,59,-94v6,0,9,2,9,7xm171,-60v13,-13,42,-50,44,-67v-12,-12,-24,6,-36,29v-7,13,-9,25,-8,38","w":232,"k":{"*":76}},"x":{"d":"86,-20v0,10,3,14,13,14v35,0,90,-52,113,-76v2,-3,5,-3,7,-1v-3,21,-27,31,-55,55v-26,22,-49,31,-66,31v-20,1,-25,-18,-18,-36v-22,23,-42,35,-60,35v-12,0,-19,-6,-19,-19v0,-13,11,-25,23,-25v10,0,10,13,4,16v-9,3,-18,-8,-18,9v0,7,3,11,9,11v40,-15,80,-66,80,-117v0,-13,-7,-7,-15,-1v-21,17,-38,39,-60,55v-6,0,-4,-6,-2,-9v21,-18,61,-66,85,-65v13,1,16,28,10,44v23,-30,43,-45,60,-45v23,-1,19,27,8,38v-9,10,-24,12,-24,0v0,-6,2,-8,7,-8v10,9,17,-2,18,-13v0,-6,-3,-8,-9,-8v-22,-9,-88,78,-91,115","w":185,"k":{"*":63}},"y":{"d":"28,-12v49,-2,95,-122,140,-129v2,9,-31,47,-83,135v49,-18,82,-48,108,-78v2,-2,11,1,6,6v-18,21,-77,72,-122,85v-39,55,-61,111,-131,125v-26,-2,-18,-27,-6,-44v26,-40,65,-64,120,-84r19,-39v-17,17,-39,35,-66,35v-13,0,-19,-9,-19,-22v2,-30,75,-129,94,-118v-16,33,-64,89,-66,117v-2,7,0,11,6,11xm55,15v-51,22,-95,42,-108,96v4,19,22,8,36,-2v33,-25,48,-50,72,-94","w":164,"k":{"*":64}},"z":{"d":"147,-125v0,26,-43,81,-62,96v6,4,5,19,1,26v24,-12,72,-56,90,-79v5,-6,11,-1,7,5v-18,27,-75,76,-103,87v-24,41,-89,122,-134,126v-11,0,-17,-4,-17,-13v0,-43,89,-97,143,-119v6,-8,10,-18,4,-26v-22,19,-42,28,-57,28v-10,0,-14,-3,-14,-10v6,-26,45,-39,75,-30v14,-14,40,-48,42,-76v0,-9,-4,-14,-13,-15v-28,5,-63,36,-93,67v-6,6,-15,1,-8,-6v27,-26,86,-80,119,-79v13,0,20,6,20,18xm71,-26v-16,-6,-52,3,-48,17v14,11,28,-3,48,-17xm64,17v-37,22,-93,61,-112,103v14,13,29,-8,58,-35v26,-24,43,-47,54,-68","w":150,"k":{"*":77}},"{":{"d":"1,46v-7,-18,74,-131,68,-146v0,-11,-8,-16,-25,-16r2,-4v106,-3,80,-202,201,-178v-12,11,-32,-4,-45,15v-41,60,-56,144,-134,167v20,12,22,30,11,51v-19,36,-47,71,-58,113v0,12,12,18,37,16v-11,14,-64,4,-57,-18","w":126,"k":{"T":-37}},"|":{"d":"127,39r-9,0r0,-320r9,0r0,320","w":162},"}":{"d":"155,-301v40,-1,39,27,24,55v-20,37,-46,73,-58,116v0,12,9,17,26,17r-2,5v-66,5,-77,76,-108,118v-26,36,-40,69,-89,58v0,-7,11,-3,15,-4v22,-5,25,-17,43,-43v34,-49,51,-116,117,-133v-21,-9,-26,-27,-15,-48v20,-38,49,-74,61,-118v0,-12,-11,-17,-34,-16v0,-8,16,-6,20,-7","w":178},"~":{"d":"23,-125v45,-57,106,33,151,-19r9,10v-50,57,-108,-33,-152,20","w":191},"\u00a0":{"w":131}}});

// Place your application-specific JavaScript functions and classes here
// This file is automatically included by javascript_include_tag :defaults
/*
Cufon( 'h1', {fontFamily: "Glypha LT Std"} )
	 ( 'h2', {fontFamily: "Glypha LT Std"} )
	 ( 'h3', {fontFamily: "Glypha LT Std"} )
	 ( '#nuggets h3', {fontFamily: "Annabelle JF", fontWeight: '700'} )
	 ( 'h4', {fontFamily: "Glypha LT Std"} )
	 ( '#nuggets h4', {fontFamily: "Glypha LT Std"} )
	 ( '#top_nav a', { hover: true, fontFamily: "Glypha LT Std" } )
	 ( '#subnav a', { hover: true, fontFamily: "Glypha LT Std" } )
	 ( '#footer_block a', { hover: true, fontFamily: "Glypha LT Std" } )
	 ( '#footer_block_sub a', { hover: true, fontFamily: "Glypha LT Std" } )
	 ( '#bulletins th', {fontFamily: "Glypha LT Std"})
	 //( '.month_names .current' )
	
// Cufon.now( );
*/

