/**
 * jQuery.ScrollTo - Easy element scrolling using jQuery.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 5/25/2009
 * @author Ariel Flesler
 * @version 1.4.2
 *
 * http://flesler.blogspot.com/2007/10/jqueryscrollto.html
 */
;(function(d){var k=d.scrollTo=function(a,i,e){d(window).scrollTo(a,i,e)};k.defaults={axis:'xy',duration:parseFloat(d.fn.jquery)>=1.3?0:1};k.window=function(a){return d(window)._scrollable()};d.fn._scrollable=function(){return this.map(function(){var a=this,i=!a.nodeName||d.inArray(a.nodeName.toLowerCase(),['iframe','#document','html','body'])!=-1;if(!i)return a;var e=(a.contentWindow||a).document||a.ownerDocument||a;return d.browser.safari||e.compatMode=='BackCompat'?e.body:e.documentElement})};d.fn.scrollTo=function(n,j,b){if(typeof j=='object'){b=j;j=0}if(typeof b=='function')b={onAfter:b};if(n=='max')n=9e9;b=d.extend({},k.defaults,b);j=j||b.speed||b.duration;b.queue=b.queue&&b.axis.length>1;if(b.queue)j/=2;b.offset=p(b.offset);b.over=p(b.over);return this._scrollable().each(function(){var q=this,r=d(q),f=n,s,g={},u=r.is('html,body');switch(typeof f){case'number':case'string':if(/^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(f)){f=p(f);break}f=d(f,this);case'object':if(f.is||f.style)s=(f=d(f)).offset()}d.each(b.axis.split(''),function(a,i){var e=i=='x'?'Left':'Top',h=e.toLowerCase(),c='scroll'+e,l=q[c],m=k.max(q,i);if(s){g[c]=s[h]+(u?0:l-r.offset()[h]);if(b.margin){g[c]-=parseInt(f.css('margin'+e))||0;g[c]-=parseInt(f.css('border'+e+'Width'))||0}g[c]+=b.offset[h]||0;if(b.over[h])g[c]+=f[i=='x'?'width':'height']()*b.over[h]}else{var o=f[h];g[c]=o.slice&&o.slice(-1)=='%'?parseFloat(o)/100*m:o}if(/^\d+$/.test(g[c]))g[c]=g[c]<=0?0:Math.min(g[c],m);if(!a&&b.queue){if(l!=g[c])t(b.onAfterFirst);delete g[c]}});t(b.onAfter);function t(a){r.animate(g,j,b.easing,a&&function(){a.call(this,n,b)})}}).end()};k.max=function(a,i){var e=i=='x'?'Width':'Height',h='scroll'+e;if(!d(a).is('html,body'))return a[h]-d(a)[e.toLowerCase()]();var c='client'+e,l=a.ownerDocument.documentElement,m=a.ownerDocument.body;return Math.max(l[h],m[h])-Math.min(l[c],m[c])};function p(a){return typeof a=='object'?a:{top:a,left:a}}})(jQuery);

/**
 * jQuery.LocalScroll - Animated scrolling navigation, using anchors.
 * Copyright (c) 2007-2009 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
 * Dual licensed under MIT and GPL.
 * Date: 3/11/2009
 * @author Ariel Flesler
 * @version 1.2.7
 **/
;(function($){var l=location.href.replace(/#.*/,'');var g=$.localScroll=function(a){$('body').localScroll(a)};g.defaults={duration:1e3,axis:'y',event:'click',stop:true,target:window,reset:true};g.hash=function(a){if(location.hash){a=$.extend({},g.defaults,a);a.hash=false;if(a.reset){var e=a.duration;delete a.duration;$(a.target).scrollTo(0,a);a.duration=e}i(0,location,a)}};$.fn.localScroll=function(b){b=$.extend({},g.defaults,b);return b.lazy?this.bind(b.event,function(a){var e=$([a.target,a.target.parentNode]).filter(d)[0];if(e)i(a,e,b)}):this.find('a,area').filter(d).bind(b.event,function(a){i(a,this,b)}).end().end();function d(){return!!this.href&&!!this.hash&&this.href.replace(this.hash,'')==l&&(!b.filter||$(this).is(b.filter))}};function i(a,e,b){var d=e.hash.slice(1),f=document.getElementById(d)||document.getElementsByName(d)[0];if(!f)return;if(a)a.preventDefault();var h=$(b.target);if(b.lock&&h.is(':animated')||b.onBefore&&b.onBefore.call(b,a,f,h)===false)return;if(b.stop)h.stop(true);if(b.hash){var j=f.id==d?'id':'name',k=$('<a> </a>').attr(j,d).css({position:'absolute',top:$(window).scrollTop(),left:$(window).scrollLeft()});f[j]='';$('body').prepend(k);location=e.hash;k.remove();f[j]=d}h.scrollTo(f,b).trigger('notify.serialScroll',[f])}})(jQuery);

/*!
 * jQuery UI Stars v2.1.1
 * http://plugins.jquery.com/project/Star_Rating_widget
 *
 * Copyright (c) 2009 Orkan (orkans@gmail.com)
 * Dual licensed under the MIT and GPL licenses.
 * http://docs.jquery.com/License
 *
 * $Rev: 114 $
 * $Date:: 2009-06-12 #$
 * $Build: 32 (2009-06-12)
 *
 * Depends:
 *  ui.core.js
 *
 */
(function($) {

$.widget("ui.stars",
{
  _init: function() {
    var self = this, o = this.options, id = 0;

    o.isSelect = o.inputType == "select";
    this.$form = $(this.element).closest("form");
    this.$selec = o.isSelect ? $("select", this.element)  : null;
    this.$rboxs = o.isSelect ? $("option", this.$selec)   : $(":radio", this.element);

    /*
     * Map all inputs from $rboxs array to Stars elements
     */
    this.$stars = this.$rboxs.map(function(i)
    {
      var el = {
        value:      this.value,
        title:      (o.isSelect ? this.text : this.title) || this.value,
        isDefault:  (o.isSelect && this.defaultSelected) || this.defaultChecked
      };

      if(i==0) {
        o.split = typeof o.split != "number" ? 0 : o.split;
        o.val2id = [];
        o.id2val = [];
        o.id2title = [];
        o.name = o.isSelect ? self.$selec.get(0).name : this.name;
        o.disabled = o.disabled || (o.isSelect ? $(self.$selec).attr("disabled") : $(this).attr("disabled"));
      }

      /*
       * Consider it as a Cancel button?
       */
      if(el.value == o.cancelValue) {
        o.cancelTitle = el.title;
        return null;
      }

      o.val2id[el.value] = id;
      o.id2val[id] = el.value;
      o.id2title[id] = el.title;

      if(el.isDefault) {
        o.checked = id;
        o.value = o.defaultValue = el.value;
        o.title = el.title;
      }

      var $s = $("<div/>").addClass(o.starClass);
      var $a = $('<a/>').attr("title", o.showTitles ? el.title : "").text(el.value);

      /*
       * Prepare division settings
       */
      if(o.split) {
        var oddeven = (id % o.split);
        var stwidth = Math.floor(o.starWidth / o.split);
        $s.width(stwidth);
        $a.css("margin-left", "-" + (oddeven * stwidth) + "px");
      }

      id++;
      return $s.append($a).get(0);
    });

    /*
     * How many Stars?
     */
    o.items = id;

    /*
     * Remove old content
     */
    o.isSelect ? this.$selec.remove() : this.$rboxs.remove();

    /*
     * Append Stars interface
     */
    this.$cancel = $("<div/>").addClass(o.cancelClass).append( $("<a/>").attr("title", o.showTitles ? o.cancelTitle : "").text(o.cancelValue) );
    o.cancelShow &= !o.disabled && !o.oneVoteOnly;
    o.cancelShow && this.element.append(this.$cancel);
    this.element.append(this.$stars);

    /*
     * Initial selection
     */
    if(o.checked === undefined) {
      o.checked = -1;
      o.value = o.defaultValue = o.cancelValue;
      o.title = "";
    }

    this.$value = $('<input type="hidden" name="'+o.name+'" value="'+o.value+'" />');
    this.element.append(this.$value);


    /*
     * Attach stars event handler
     */
    this.$stars.bind("click.stars", function(e) {
      if(!o.forceSelect && o.disabled) return false;

      var i = self.$stars.index(this);
      o.checked = i;
      o.value = o.id2val[i];
      o.title = o.id2title[i];
      self.$value.attr({disabled: o.disabled ? "disabled" : "", value: o.value});

      fillTo(i, false);
      self._disableCancel();

      !o.forceSelect && self.callback(e, "star");
    })
    .bind("mouseover.stars", function() {
      if(o.disabled) return false;
      var i = self.$stars.index(this);
      fillTo(i, true);
    })
    .bind("mouseout.stars", function() {
      if(o.disabled) return false;
      fillTo(self.options.checked, false);
    });


    /*
     * Attach cancel event handler
     */
    this.$cancel.bind("click.stars", function(e) {
      if(!o.forceSelect && (o.disabled || o.value == o.cancelValue)) return false;

      o.checked = -1;
      o.value = o.cancelValue;
      o.title = "";
      self.$value.val(o.value).attr({disabled: "disabled"});

      fillNone();
      self._disableCancel();

      !o.forceSelect && self.callback(e, "cancel");
    })
    .bind("mouseover.stars", function() {
      if(self._disableCancel()) return false;
      self.$cancel.addClass(o.cancelHoverClass);
      fillNone();
      self._showCap(o.cancelTitle);
    })
    .bind("mouseout.stars", function() {
      if(self._disableCancel()) return false;
      self.$cancel.removeClass(o.cancelHoverClass);
      self.$stars.triggerHandler("mouseout.stars");
    });


    /*
     * Attach onReset event handler to the parent FORM
     */
    this.$form.bind("reset.stars", function(){
      !o.disabled && self.select(o.defaultValue);
    });


    /*
     * Clean up to avoid memory leaks in certain versions of IE 6
     */
    $(window).unload(function(){
      self.$cancel.unbind(".stars");
      self.$stars.unbind(".stars");
      self.$form.unbind(".stars");
      self.$selec = self.$rboxs = self.$stars = self.$value = self.$cancel = self.$form = null;
    });


    /*
     * Star selection helpers
     */
    function fillTo(index, hover) {
      if(index != -1) {
        var addClass = hover ? o.starHoverClass : o.starOnClass;
        var remClass = hover ? o.starOnClass    : o.starHoverClass;
        self.$stars.eq(index).prevAll("." + o.starClass).andSelf().removeClass(remClass).addClass(addClass);
        self.$stars.eq(index).nextAll("." + o.starClass).removeClass(o.starHoverClass + " " + o.starOnClass);
        self._showCap(o.id2title[index]);
      }
      else fillNone();
    };
    function fillNone() {
      self.$stars.removeClass(o.starOnClass + " " + o.starHoverClass);
      self._showCap("");
    };


    /*
     * Finally, set up the Stars
     */
    this.select(o.value);
    o.disabled && this.disable();

  },

  /*
   * Private functions
   */
  _disableCancel: function() {
    var o = this.options, disabled = o.disabled || o.oneVoteOnly || (o.value == o.cancelValue);
    if(disabled)  this.$cancel.removeClass(o.cancelHoverClass).addClass(o.cancelDisabledClass);
    else          this.$cancel.removeClass(o.cancelDisabledClass);
    this.$cancel.css("opacity", disabled ? 0.5 : 1);
    return disabled;
  },
  _disableAll: function() {
    var o = this.options;
    this._disableCancel();
    if(o.disabled)  this.$stars.filter("div").addClass(o.starDisabledClass);
    else            this.$stars.filter("div").removeClass(o.starDisabledClass);
  },
  _showCap: function(s) {
    var o = this.options;
    if(o.captionEl) o.captionEl.text(s);
  },

  /*
   * Public functions
   */
  value: function() {
    return this.options.value;
  },
  select: function(val) {
    var o = this.options, e = (val == o.cancelValue) ? this.$cancel : this.$stars.eq(o.val2id[val]);
    o.forceSelect = true;
    e.triggerHandler("click.stars");
    o.forceSelect = false;
  },
  selectID: function(id) {
    var o = this.options, e = (id == -1) ? this.$cancel : this.$stars.eq(id);
    o.forceSelect = true;
    e.triggerHandler("click.stars");
    o.forceSelect = false;
  },
  enable: function() {
    this.options.disabled = false;
    this._disableAll();
  },
  disable: function() {
    this.options.disabled = true;
    this._disableAll();
  },
  destroy: function() {
    this.options.isSelect ? this.$selec.appendTo(this.element) : this.$rboxs.appendTo(this.element);
    this.$form.unbind(".stars");
    this.$cancel.unbind(".stars").remove();
    this.$stars.unbind(".stars").remove();
    this.$value.remove();
    this.element.unbind(".stars").removeData("stars");
  },
  callback: function(e, type) {
    var o = this.options;
    o.callback && o.callback(this, type, o.value, e);
    o.oneVoteOnly && !o.disabled && this.disable();
  }
});

$.extend($.ui.stars, {
  version: "2.1.1",
  getter: "value",
  defaults: {
    inputType: "radio", // radio|select
    split: 0,
    disabled: false,
    cancelTitle: "Cancel Rating",
    cancelValue: 0,
    cancelShow: true,
    oneVoteOnly: false,
    showTitles: false,
    captionEl: null,
    callback: null, // function(ui, type, value, event)

    /*
     * CSS classes
     */
    starWidth: 16,
    cancelClass: 'ui-stars-cancel',
    starClass: 'ui-stars-star',
    starOnClass: 'ui-stars-star-on',
    starHoverClass: 'ui-stars-star-hover',
    starDisabledClass: 'ui-stars-star-disabled',
    cancelHoverClass: 'ui-stars-cancel-hover',
    cancelDisabledClass: 'ui-stars-cancel-disabled'
  }
});

})(jQuery);


/*
 * FancyBox - jQuery Plugin
 * Simple and fancy lightbox alternative
 *
 * Copyright (c) 20010 Janis Skarnelis
 * Examples and documentation at: http://fancybox.net
 *
 * Version: 1.3.0 (02/02/2010)
 * Requires: jQuery v1.3+
 *
 * Dual licensed under the MIT and GPL licenses:
 *   http://www.opensource.org/licenses/mit-license.php
 *   http://www.gnu.org/licenses/gpl.html
 */

;(function($) {

	var tmp, loading, overlay, wrap, outer, inner, content, close, nav_left, nav_right;

	var selectedIndex = 0, selectedOpts = {}, selectedArray = [], currentIndex = 0, currentOpts = {}, currentArray = [];

	var ajaxLoader = null, imgPreloader = new Image, imageRegExp = /\.(jpg|gif|png|bmp|jpeg)(.*)?$/i, swfRegExp = /[^\.]\.(swf)\s*$/i;

	var loadingTimer, loadingFrame = 1;

	var start_pos, final_pos, busy = false, shadow = 20, fx = $.extend($('<div/>')[0], { prop: 0 }), titleh = 0, isIE6 = !$.support.opacity && !window.XMLHttpRequest;

	$.fn.fixPNG = function() {
		return this.each(function () {
			var image = $(this).css('backgroundImage');

			if (image.match(/^url\(["']?(.*\.png)["']?\)$/i)) {
				image = RegExp.$1;
				$(this).css({
					'backgroundImage': 'none',
					'filter': "progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true, sizingMethod=" + ($(this).css('backgroundRepeat') == 'no-repeat' ? 'crop' : 'scale') + ", src='" + image + "')"
				}).each(function () {
					var position = $(this).css('position');
					if (position != 'absolute' && position != 'relative')
						$(this).css('position', 'relative');
				}).css('zoom', 1);
			}
		});
	};

	$.fn.fancybox = function(options) {
		$(this).data('fancybox', $.extend({}, options));

		$(this).unbind('click.fb').bind('click.fb', function(e) {
			e.preventDefault();

			if (busy) return;

			busy = true;

			$(this).blur();

			selectedArray	= [];
			selectedIndex	= 0;

			var rel = $(this).attr('rel') || '';

			if (!rel || rel == '' || rel === 'nofollow') {
				selectedArray.push(this);

			} else {
				selectedArray	= $("a[rel=" + rel + "], area[rel=" + rel + "]");
				selectedIndex	= selectedArray.index( this );
			}

			fancybox_start();

			return false;
		});

		return this;
	};

	/*

	Public Methods

	*/

	$.fancybox = function(obj, opts) {
		if (busy) return;

		busy = true;

		selectedArray	= [];
		selectedIndex	= 0;

		if ($.isArray(obj)) {
			for (var i = 0, j = obj.length; i < j; i++) {
				if (typeof obj[i] == 'object') {
					$(obj[i]).data('fancybox', $.extend({}, opts, obj[i]));
				} else {
					obj[i] = $({}).data('fancybox', $.extend({content : obj[i]}, opts));
				}
			}

			selectedArray = jQuery.merge(selectedArray, obj);

		} else {
			if (typeof obj == 'object') {
				$(obj).data('fancybox', $.extend({}, opts, obj));
			} else {
				obj = $({}).data('fancybox', $.extend({content : obj}, opts));
			}

			selectedArray.push(obj);
		}

		fancybox_start();
	};

	$.fancybox.showActivity = function() {
		clearInterval(loadingTimer);

		loading.show();
		loadingTimer = setInterval(fancybox_animate_loading, 66);
	};
	
	$.fancybox.hideActivity = function() {
		loading.hide();
	};

	$.fancybox.next = function() {
		return $.fancybox.pos( currentIndex + 1);
	};
	
	$.fancybox.prev = function() {
		return $.fancybox.pos( currentIndex - 1);
	};

	$.fancybox.pos = function(pos) {
		if (busy) return;

		pos = parseInt(pos);

		if (pos > -1 && currentArray.length > pos) {
			selectedIndex = pos;
			fancybox_start();
		}

		if (currentOpts.cyclic && currentArray.length > 1 && pos < 0) {
			selectedIndex = currentArray.length - 1;
			fancybox_start();
		}

		if (currentOpts.cyclic && currentArray.length > 1 && pos >= currentArray.length) {
			selectedIndex = 0;
			fancybox_start();
		}

		return;
	};

	$.fancybox.cancel = function() {
		if (busy) return;

		busy = true;

		$.event.trigger('fancybox-cancel');

		fancybox_abort();

		if (selectedOpts && $.isFunction(selectedOpts.onCancel)) {
			selectedOpts.onCancel(selectedArray, selectedIndex, selectedOpts);
		};

		busy = false;
	};

	// Note: within an iframe use - parent.$.fancybox.close();
	$.fancybox.close = function() {
		if (busy || wrap.is(':hidden')) return;

		busy = true;

		if (currentOpts && $.isFunction(currentOpts.onCleanup)) {
			if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
				busy = false;
				return;
			}
		};

		fancybox_abort();

		$(close.add( nav_left ).add( nav_right )).hide();

		$('#fancybox-title').remove();

		wrap.add(inner).add(overlay).unbind();

		$(window).unbind("resize.fb scroll.fb");
		$(document).unbind('keydown.fb');

		function _cleanup() {
			overlay.fadeOut('fast');

			wrap.hide();

			$.event.trigger('fancybox-cleanup');

			inner.empty();

			if ($.isFunction(currentOpts.onClosed)) {
				currentOpts.onClosed(currentArray, currentIndex, currentOpts);
			}

			currentArray	= selectedOpts	= [];
			currentIndex	= selectedIndex	= 0;
			currentOpts		= selectedOpts	= {};

			busy = false;
		}

		inner.css('overflow', 'hidden');

		if (currentOpts.transitionOut == 'elastic') {
			start_pos = fancybox_get_zoom_from();

			var pos = wrap.position();

			final_pos = {
				top		:	pos.top ,
				left	:	pos.left,
				width	:	wrap.width(),
				height	:	wrap.height()
			};

			if (currentOpts.opacity) {
				final_pos.opacity = 1;
			}

			fx.prop = 1;

			$(fx).animate({ prop: 0 }, {
				 duration	: currentOpts.speedOut,
				 easing		: currentOpts.easingOut,
				 step		: fancybox_draw,
				 complete	: _cleanup
			});

		} else {
			wrap.fadeOut( currentOpts.transitionOut == 'none' ? 0 : currentOpts.speedOut, _cleanup);
		}
	};

	$.fancybox.resize = function() {
		if (busy || wrap.is(':hidden')) return;

		busy = true;

		var c = inner.wrapInner("<div style='overflow:auto'></div>").children();
		var h = c.height();

		wrap.css({height:	h + (currentOpts.padding * 2) + titleh});
		inner.css({height:	h});

		c.replaceWith(c.children());

		$.fancybox.center();
	};

	$.fancybox.center = function() {
		busy = true;

		var view	= fancybox_get_viewport();
		var margin	= currentOpts.margin;
		var to		= {};

		to.top	= view[3] + ((view[1] - ((wrap.height() - titleh) + (shadow * 2 ))) * 0.5);
		to.left	= view[2] + ((view[0] - (wrap.width() + (shadow * 2 ))) * 0.5);

		to.top	= Math.max(view[3] + margin, to.top);
		to.left	= Math.max(view[2] + margin, to.left);

		wrap.css(to);

		busy = false;
	};

	/*
	
	Inner Methods

	*/

	function fancybox_abort() {
		loading.hide();

		imgPreloader.onerror = imgPreloader.onload = null;
		
		if (ajaxLoader) ajaxLoader.abort();

		tmp.empty();
	};

	function fancybox_error() {
		$.fancybox('<p id="fancybox_error">The requested content cannot be loaded.<br />Please try again later.</p>', {
			'scrolling'		: 'no',
			'padding'		: 20,
			'transitionIn'	: 'none',
			'transitionOut'	: 'none'
		});
	};
	
	function fancybox_start() {
		fancybox_abort();

		var obj	= selectedArray[ selectedIndex ];

		selectedOpts = $.extend({}, $.fn.fancybox.defaults, (typeof $(obj).data('fancybox') == 'undefined' ? selectedOpts : $(obj).data('fancybox')));

		var href, type, title = obj.title || $(obj).title || selectedOpts.title || '';

		if (obj.nodeName && !selectedOpts.orig) {
			selectedOpts.orig = $(obj).children("img:first").length ? $(obj).children("img:first") : $(obj);
		}

		if (title == '' && selectedOpts.orig) title = selectedOpts.orig.attr('alt');

		if (obj.nodeName && (/^(?:javascript|#)/i).test(obj.href)) {
			href = selectedOpts.href || null;
		} else {
			href = selectedOpts.href || obj.href || null;
		}

		if (selectedOpts.type) {
			type = selectedOpts.type;

			if (!href) href = selectedOpts.content;
			
		} else if (selectedOpts.content) {
			type	= 'html';

		} else if (href) {
			if (href.match(imageRegExp)) {
				type = 'image';

			} else if (href.match(swfRegExp)) {
				type = 'swf';

			} else if ($(obj).hasClass("iframe")) {
				type = 'iframe';

			} else if (href.match(/#/)) {
				obj = href.substr(href.indexOf("#"));

				type = $(obj).length > 0 ? 'inline' : 'ajax';
			} else {
				type = 'ajax';
			}
		} else {
			type = 'inline';
		}

		selectedOpts.type	= type;
		selectedOpts.href	= href;
		selectedOpts.title	= title;

		if (selectedOpts.autoDimensions && selectedOpts.type !== 'iframe' && selectedOpts.type !== 'swf') {
			selectedOpts.width		= 'auto';
			selectedOpts.height		= 'auto';
		}

		if (selectedOpts.modal) {
			selectedOpts.overlayShow		= true;
			selectedOpts.hideOnOverlayClick	= false;
			selectedOpts.hideOnContentClick	= false;
			selectedOpts.enableEscapeButton	= false;
			selectedOpts.showCloseButton	= false;
		}

		if ($.isFunction(selectedOpts.onStart)) {
			if (selectedOpts.onStart(selectedArray, selectedIndex, selectedOpts) === false) {
				busy = false;
				return;
			}
		};

		tmp.css('padding', (shadow + selectedOpts.padding + selectedOpts.margin));

		$('.fancybox-inline-tmp').unbind('fancybox-cancel').bind('fancybox-change', function() {
			$(this).replaceWith(inner.children());
		});

		switch (type) {
			case 'html' :
				tmp.html( selectedOpts.content );

				fancybox_process_inline();
			break;

			case 'inline' :
				$('<div class="fancybox-inline-tmp" />').hide().insertBefore( $(obj) ).bind('fancybox-cleanup', function() {
					$(this).replaceWith(inner.children());
				}).bind('fancybox-cancel', function() {
					$(this).replaceWith(tmp.children());
				});

				$(obj).appendTo(tmp);

				fancybox_process_inline();
			break;

			case 'image':
				busy = false;

				$.fancybox.showActivity();

				imgPreloader = new Image;

				imgPreloader.onerror = function() {
					fancybox_error();
				}

				imgPreloader.onload = function() {
					imgPreloader.onerror = null;
					imgPreloader.onload = null;
					fancybox_process_image();
				}

				imgPreloader.src = href;
	
			break;

			case 'swf':
				var str = '';
				var emb = '';

				str += '<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"><param name="movie" value="' + href + '"></param>';

				$.each(selectedOpts.swf, function(name, val) {
					str += '<param name="' + name + '" value="' + val + '"></param>';
					emb += ' ' + name + '="' + val + '"';
				});

				str += '<embed src="' + href + '" type="application/x-shockwave-flash" width="' + selectedOpts.width + '" height="' + selectedOpts.height + '"' + emb + '></embed></object>';

				tmp.html(str);

				fancybox_process_inline();
			break;

			case 'ajax':
				var selector	= href.split('#', 2);
				var data		= selectedOpts.ajax.data || {};

				if (selector.length > 1) {
					href = selector[0];

					typeof data == "string" ? data += '&selector=' + selector[1] : data['selector'] = selector[1];
				}

				busy = false;
				$.fancybox.showActivity();

				ajaxLoader = $.ajax($.extend(selectedOpts.ajax, {
					url		: href,
					data	: data,
					error	: fancybox_error,
					success : function(data, textStatus, XMLHttpRequest) {
						if (ajaxLoader.status == 200) {
							tmp.html( data );
							fancybox_process_inline();
						}
					}
				}));

			break;

			case 'iframe' :
				$('<iframe id="fancybox-frame" name="fancybox-frame' + new Date().getTime() + '" frameborder="0" hspace="0" scrolling="' + selectedOpts.scrolling + '" src="' + selectedOpts.href + '"></iframe>').appendTo(tmp);

				fancybox_show();
			break;
		}
	};

	function fancybox_process_image() {
		busy = true;

		selectedOpts.width	= imgPreloader.width;
		selectedOpts.height	= imgPreloader.height;

		$("<img />").attr({
			'id'	: 'fancybox-img',
			'src'	: imgPreloader.src,
			'alt'	: selectedOpts.title
		}).appendTo( tmp );

		fancybox_show();
	};

	function fancybox_process_inline() {
		tmp.width(	selectedOpts.width );
		tmp.height(	selectedOpts.height );

		if (selectedOpts.width	== 'auto') selectedOpts.width	= tmp.width();
		if (selectedOpts.height	== 'auto') selectedOpts.height	= tmp.height();

		fancybox_show();
	};

	function fancybox_show() {
		loading.hide();

		if (wrap.is(":visible") && $.isFunction(currentOpts.onCleanup)) {
			if (currentOpts.onCleanup(currentArray, currentIndex, currentOpts) === false) {
				$.event.trigger('fancybox-cancel');

				busy = false;
				return;
			}
		};

		currentArray	= selectedArray;
		currentIndex	= selectedIndex;
		currentOpts		= selectedOpts;

		inner.get(0).scrollTop	= 0;
		inner.get(0).scrollLeft	= 0;

		if (currentOpts.overlayShow) {
			if (isIE6) {
				$('select:not(#fancybox-tmp select)').filter(function() {
					return this.style.visibility !== 'hidden';
				}).css({'visibility':'hidden'}).one('fancybox-cleanup', function() {
					this.style.visibility = 'inherit';
				});
			}

			overlay.css({
				'background-color'	: currentOpts.overlayColor,
				'opacity'			: currentOpts.overlayOpacity
			}).unbind().show();
		}

		final_pos = fancybox_get_zoom_to();

		fancybox_process_title();

		if (wrap.is(":visible")) {
			$( close.add( nav_left ).add( nav_right ) ).hide();

			var pos = wrap.position();

			start_pos = {
				top		:	pos.top ,
				left	:	pos.left,
				width	:	wrap.width(),
				height	:	wrap.height()
			};

			var equal = (start_pos.width == final_pos.width && start_pos.height == final_pos.height);

			inner.fadeOut(currentOpts.changeFade, function() {
				$.event.trigger('fancybox-change');

				inner.css({
						top			: currentOpts.padding,
						left		: currentOpts.padding,
						width		: Math.max(start_pos.width	- (currentOpts.padding * 2), 1),
						height		: Math.max(start_pos.height	- (currentOpts.padding * 2), 1)
					})
					.empty()
					.css('overflow', 'hidden');

				function finish_resizing() {
					inner.html( tmp.contents() ).fadeIn(currentOpts.changeFade, _finish);
				}

				fx.prop = 0;

				$(fx).animate({ prop: 1 }, {
					 duration	: equal ? 0 : currentOpts.changeSpeed,
					 easing		: currentOpts.easingChange,
					 step		: fancybox_draw,
					 complete	: finish_resizing
				});
			});

			return;
		}

		wrap.css('opacity', 1);

		if (currentOpts.transitionIn == 'elastic') {
			start_pos = fancybox_get_zoom_from();

			inner.css({
					top			: currentOpts.padding,
					left		: currentOpts.padding,
					width		: Math.max(start_pos.width	- (currentOpts.padding * 2), 1),
					height		: Math.max(start_pos.height	- (currentOpts.padding * 2), 1)
				})
				.html( tmp.contents() );

			wrap.css(start_pos).show();

			if (currentOpts.opacity) final_pos.opacity = 0;

			fx.prop = 0;

			$(fx).animate({ prop: 1 }, {
				 duration	: currentOpts.speedIn,
				 easing		: currentOpts.easingIn,
				 step		: fancybox_draw,
				 complete	: _finish
			});

		} else {
			inner.css({
					top			: currentOpts.padding,
					left		: currentOpts.padding,
					width		: Math.max(final_pos.width	- (currentOpts.padding * 2), 1),
					height		: Math.max(final_pos.height	- (currentOpts.padding * 2) - titleh, 1)
				})
				.html( tmp.contents() );

			wrap.css( final_pos ).fadeIn( currentOpts.transitionIn == 'none' ? 0 : currentOpts.speedIn, _finish );
		}
	};

	function fancybox_draw(pos) {
		var width	= Math.round(start_pos.width	+ (final_pos.width	- start_pos.width)	* pos);
		var height	= Math.round(start_pos.height	+ (final_pos.height	- start_pos.height)	* pos);

		var top		= Math.round(start_pos.top	+ (final_pos.top	- start_pos.top)	* pos);
		var left	= Math.round(start_pos.left	+ (final_pos.left	- start_pos.left)	* pos);

		wrap.css({
			'width'		: width		+ 'px',
			'height'	: height	+ 'px',
			'top'		: top		+ 'px',
			'left'		: left		+ 'px'
		});

		width	= Math.max(width - currentOpts.padding * 2, 0);
		height	= Math.max(height - (currentOpts.padding * 2 + (titleh * pos)), 0);

		inner.css({
			'width'		: width		+ 'px',
			'height'	: height	+ 'px'
		});

		if (typeof final_pos.opacity !== 'undefined') wrap.css('opacity', (pos < 0.5 ? 0.5 : pos));
	};

	function _finish() {
		inner.css('overflow', overflow = (currentOpts.scrolling == 'auto' ? (currentOpts.type == 'image' || currentOpts.type == 'iframe' || currentOpts.type == 'swf' ? 'hidden' : 'auto') : (currentOpts.scrolling == 'yes' ? 'auto' : 'visible')));

		if (!$.support.opacity) {
			inner.get(0).style.removeAttribute('filter');
			wrap.get(0).style.removeAttribute('filter');
		}

		$('#fancybox-title').show();

		if (currentOpts.hideOnContentClick)	inner.one('click',		$.fancybox.close);
		if (currentOpts.hideOnOverlayClick)	overlay.one('click',	$.fancybox.close);

		if (currentOpts.showCloseButton) close.show();

		fancybox_set_navigation();

		$(window).bind("resize.fb", $.fancybox.center);

		currentOpts.centerOnScroll ? $(window).bind("scroll.fb", $.fancybox.center) : $(window).unbind("scroll.fb");

		if ($.isFunction(currentOpts.onComplete)) currentOpts.onComplete(currentArray, currentIndex, currentOpts);

		busy = false;

		fancybox_preload_images();
	};

	function fancybox_get_zoom_to() {
		var view	= fancybox_get_viewport();
		var to		= {};

		var margin = currentOpts.margin;
		var resize = currentOpts.autoScale;

		var horizontal_space	= (shadow + margin) * 2 ;
		var vertical_space		= (shadow + margin) * 2 ;
		var double_padding		= (currentOpts.padding * 2);

		if (currentOpts.width.toString().indexOf('%') > -1) {
			to.width = ((view[0] * parseFloat(currentOpts.width)) / 100) - (shadow * 2) ;
			resize = false;

		} else {
			to.width = currentOpts.width + double_padding;
		}

		if (currentOpts.height.toString().indexOf('%') > -1) {
			to.height = ((view[1] * parseFloat(currentOpts.height)) / 100) - (shadow * 2);
			resize = false;

		} else {
			to.height = currentOpts.height + double_padding;
		}

		if (resize && (to.width > (view[0] - horizontal_space) || to.height > (view[1] - vertical_space))) {
			if (selectedOpts.type == 'image' || selectedOpts.type == 'swf') {
				horizontal_space	+= double_padding;
				vertical_space		+= double_padding;

				var ratio = Math.min(Math.min( view[0] - horizontal_space, currentOpts.width) / currentOpts.width, Math.min( view[1] - vertical_space, currentOpts.height) / currentOpts.height);

				to.width	= Math.round(ratio * (to.width	- double_padding)) + double_padding;
				to.height	= Math.round(ratio * (to.height	- double_padding)) + double_padding;

			} else {
				to.width	= Math.min(to.width,	(view[0] - horizontal_space));
				to.height	= Math.min(to.height,	(view[1] - vertical_space));
			}
		}

		to.top	= view[3] + ((view[1] - (to.height	+ (shadow * 2 ))) * 0.5);
		to.left	= view[2] + ((view[0] - (to.width	+ (shadow * 2 ))) * 0.5);

		if (currentOpts.autoScale == false) {
			to.top	= Math.max(view[3] + margin, to.top);
			to.left	= Math.max(view[2] + margin, to.left);
		}

		return to;
	};

	function fancybox_get_zoom_from() {
		var orig	= selectedOpts.orig ? $(selectedOpts.orig) : false;
		var from 	= {};

		if (orig && orig.length) {
			var pos = fancybox_get_obj_pos(orig);

			from = {
				width	: (pos.width	+ (currentOpts.padding * 2)),
				height	: (pos.height	+ (currentOpts.padding * 2)),
				top		: (pos.top		- currentOpts.padding - shadow),
				left	: (pos.left		- currentOpts.padding - shadow)
			};
			
		} else {
			var view = fancybox_get_viewport();

			from = {
				width	: 1,
				height	: 1,
				top		: view[3] + view[1] * 0.5,
				left	: view[2] + view[0] * 0.5
			};
		}

		return from;
	};

	function fancybox_set_navigation() {
		$(document).unbind('keydown.fb').bind('keydown.fb', function(e) {
			if (e.keyCode == 27 && currentOpts.enableEscapeButton) {
				e.preventDefault();
				$.fancybox.close();

			} else if (e.keyCode == 37) {
				e.preventDefault();
				$.fancybox.prev();

			} else if (e.keyCode == 39) {
				e.preventDefault();
				$.fancybox.next();
			}
		});

		if ($.fn.mousewheel) {
			wrap.unbind('mousewheel.fb');

			if (currentArray.length > 1) {
				wrap.bind('mousewheel.fb', function(e, delta) {
					e.preventDefault();

					if (busy || delta == 0) return;

					delta > 0 ? $.fancybox.prev() : $.fancybox.next();
				});
			}
		}

		if (!currentOpts.showNavArrows) return;

		if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != 0) {
			nav_left.show();
		}

		if ((currentOpts.cyclic && currentArray.length > 1) || currentIndex != (currentArray.length -1)) {
			nav_right.show();
		}
	};

	function fancybox_preload_images() {
		if ((currentArray.length -1) > currentIndex) {
			var href = currentArray[ currentIndex + 1 ].href;

			if (typeof href !== 'undefined' && href.match(imageRegExp)) {
				var objNext = new Image();
				objNext.src = href;
			}
		}

		if (currentIndex > 0) {
			var href = currentArray[ currentIndex - 1 ].href;

			if (typeof href !== 'undefined' && href.match(imageRegExp)) {
				var objNext = new Image();
				objNext.src = href;
			}
		}
	};

	function fancybox_animate_loading() {
		if (!loading.is(':visible')){
			clearInterval(loadingTimer);
			return;
		}

		$('div', loading).css('top', (loadingFrame * -40) + 'px');

		loadingFrame = (loadingFrame + 1) % 12;
	};

	function fancybox_get_viewport() {
		return [ $(window).width(), $(window).height(), $(document).scrollLeft(), $(document).scrollTop() ];
	};

	function fancybox_get_obj_pos(obj) {
		var pos		= obj.offset();

		pos.top		+= parseFloat( obj.css('paddingTop') )	|| 0;
		pos.left	+= parseFloat( obj.css('paddingLeft') )	|| 0;

		pos.top		+= parseFloat( obj.css('border-top-width') )	|| 0;
		pos.left	+= parseFloat( obj.css('border-left-width') )	|| 0;

		pos.width	= obj.width();
		pos.height	= obj.height();

		return pos;
	};

	function fancybox_process_title() {
		$('#fancybox-title').remove();

		titleh = 0;

		if (currentOpts.titleShow == false) return;

		var obj		= currentArray[ currentIndex ];
		var title	= currentOpts.title;

		title = $.isFunction(currentOpts.titleFormat) ? currentOpts.titleFormat(title, currentArray, currentIndex, currentOpts) : fancybox_format_title(title);

		if (!title || title == '') return;

		var width	= final_pos.width - (currentOpts.padding * 2);
		var titlec	= 'fancybox-title-' + currentOpts.titlePosition;

		$('<div id="fancybox-title" class="' + titlec + '" />').css({
			'width'			: width,
			'paddingLeft'	: currentOpts.padding,
			'paddingRight'	: currentOpts.padding
		}).html(title).appendTo('body');

		switch (currentOpts.titlePosition) {
			case 'inside':
				titleh = $("#fancybox-title").outerHeight(true) - currentOpts.padding;
				final_pos.height += titleh;
			break;

			case 'over':
				$('#fancybox-title').css('bottom', currentOpts.padding);
			break;

			default:
				$('#fancybox-title').css('bottom', $("#fancybox-title").outerHeight(true) * -1);
			break;
		}

		$('#fancybox-title').appendTo( outer ).hide();

		if (isIE6) {
			$('#fancybox-title span').fixPNG();
		}
	};

	function fancybox_format_title(title) {
		if (title && title.length) {
			switch (currentOpts.titlePosition) {
				case 'inside':
					return title;
				break;

				case 'over':
					return '<span id="fancybox-title-over">' + title + '</span>';
				break;

				default:
					return '<span id="fancybox-title-wrap"><span id="fancybox-title-left"></span><span id="fancybox-title-main">' + title + '</span><span id="fancybox-title-right"></span></span>';
				break;
			}
		}

		return false;
	};

	function fancybox_init() {
		if ($("#fancybox-wrap").length) return;

		$('body').append(
			tmp			= $('<div id="fancybox-tmp"></div>'),
			loading		= $('<div id="fancybox-loading"><div></div></div>'),
			overlay		= $('<div id="fancybox-overlay"></div>'),
			wrap		= $('<div id="fancybox-wrap"></div>')
		);

		outer = $('<div id="fancybox-outer"></div>')
			.append('<div class="fancy-bg" id="fancy-bg-n"></div><div class="fancy-bg" id="fancy-bg-ne"></div><div class="fancy-bg" id="fancy-bg-e"></div><div class="fancy-bg" id="fancy-bg-se"></div><div class="fancy-bg" id="fancy-bg-s"></div><div class="fancy-bg" id="fancy-bg-sw"></div><div class="fancy-bg" id="fancy-bg-w"></div><div class="fancy-bg" id="fancy-bg-nw"></div>')
			.appendTo( wrap );

		outer.append(
			inner		= $('<div id="fancybox-inner"></div>'),
			close		= $('<a id="fancybox-close"></a>'),

			nav_left	= $('<a href="javascript:;" id="fancybox-left"><span class="fancy-ico" id="fancybox-left-ico"></span></a>'),
			nav_right	= $('<a href="javascript:;" id="fancybox-right"><span class="fancy-ico" id="fancybox-right-ico"></span></a>')
		);
		
		close.click($.fancybox.close);
		loading.click($.fancybox.cancel);

		nav_left.click(function(e) {
			e.preventDefault();
			$.fancybox.prev();
		});

		nav_right.click(function(e) {
			e.preventDefault();
			$.fancybox.next();
		});

		if (!$.support.opacity) {
			outer.find('.fancy-bg').fixPNG();
		}

		if (isIE6) {
			$(close.add('.fancy-ico').add('div', loading)).fixPNG();

			overlay.get(0).style.setExpression('height',	"document.body.scrollHeight > document.body.offsetHeight ? document.body.scrollHeight : document.body.offsetHeight + 'px'");
			loading.get(0).style.setExpression('top',		"(-20 + (document.documentElement.clientHeight ? document.documentElement.clientHeight/2 : document.body.clientHeight/2 ) + ( ignoreMe = document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop )) + 'px'");

			outer.prepend('<iframe id="fancybox-hide-sel-frame" src="javascript:\'\';" scrolling="no" frameborder="0" ></iframe>');
		}
	};

	$.fn.fancybox.defaults = {
		padding				:	10,
		margin				:	20,
		opacity				:	false,
		modal				:	false,
		cyclic				:	false,
		scrolling			:	'auto',	// 'auto', 'yes' or 'no'

		width				:	560,
		height				:	340,

		autoScale			:	true,
		autoDimensions		:	true,
		centerOnScroll		:	false,

		ajax				:	{},
		swf					:	{ wmode: 'transparent' },

		hideOnOverlayClick	:	true,
		hideOnContentClick	:	false,

		overlayShow			:	true,
		overlayOpacity		:	0.3,
		overlayColor		:	'#666',

		titleShow			:	true,
		titlePosition		:	'outside',	// 'outside', 'inside' or 'over'
		titleFormat			:	null,

		transitionIn		:	'fade',	// 'elastic', 'fade' or 'none'
		transitionOut		:	'fade',	// 'elastic', 'fade' or 'none'

		speedIn				:	300,
		speedOut			:	300,

		changeSpeed			:	300,
		changeFade			:	'fast',

		easingIn			:	'swing',
		easingOut			:	'swing',

		showCloseButton		:	true,
		showNavArrows		:	true,
		enableEscapeButton	:	true,

		onStart				:	null,
		onCancel			:	null,
		onComplete			:	null,
		onCleanup			:	null,
		onClosed			:	null
	};

	$(document).ready(function() {
		fancybox_init();
	});

})(jQuery);

/**
 * @author hummel
 */
$.fn.addFavorite = function(){
	var self = this;
	this.live('click', function(){
	  	var $this = $(this);
	    $.ajax({
	        url: this.href,
		    type: 'POST',
	        dataType: "script",
	        beforeSend: function(xhr) {xhr.setRequestHeader("Accept", "text/javascript");}
	    });
		$this.closest('span').replaceWith('<span class="favorite in_favorites">in your favorites!</span>')
	    return false;
	});
};


/**
 * SWFObject v1.5: Flash Player detection and embed - http://blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2007 Geoff Stearns and is released under the MIT License:
 * http://www.opensource.org/licenses/mit-license.php
 *
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

/*!
 * Copyright (c) 2010 Simo Kinnunen.
 * Licensed under the MIT license.
 *
 * @version ${Version}
 */

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);
			};

		})(),

		root: function() {
			return document.documentElement || document.body;
		}

	};

	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;
			};

		},

		addClass: function(el, className) {
			var current = el.className;
			el.className = current + (current && ' ') + className;
			return el;
		},

		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;
		}),

		// has no direct CSS equivalent.
		// @see http://msdn.microsoft.com/en-us/library/system.windows.fontstretches.aspx
		fontStretch: cached(function(value) {
			if (typeof value == 'number') return value;
			if (/%$/.test(value)) return parseFloat(value) / 100;
			return {
				'ultra-condensed': 0.5,
				'extra-condensed': 0.625,
				condensed: 0.75,
				'semi-condensed': 0.875,
				'semi-expanded': 1.125,
				expanded: 1.25,
				'extra-expanded': 1.5,
				'ultra-expanded': 2
			}[value] || 1;
		}),

		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'), sheet, container, supported;
			el.type = 'text/css';
			el.media = media;
			try { // this is cached anyway
				el.appendChild(document.createTextNode('/**/'));
			} catch (e) {}
			container = elementsByTagName('head')[0];
			container.insertBefore(el, container.firstChild);
			sheet = (el.sheet || el.styleSheet);
			supported = sheet && !sheet.disabled;
			container.removeChild(el);
			return supported;
		}),

		removeClass: function(el, className) {
			var re = RegExp('(?:^|\\s+)' + className +  '(?=\\s|$)', 'g');
			el.className = el.className.replace(re, '');
			return el;
		},

		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;
		},

		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() {
			var map = {
				uppercase: function(s) {
					return s.toUpperCase();
				},
				lowercase: function(s) {
					return s.toLowerCase();
				},
				capitalize: function(s) {
					return s.replace(/\b./g, function($0) {
						return $0.toUpperCase();
					});
				}
			};
			return function(text, style) {
				var transform = map[style.get('textTransform')];
				return transform ? transform(text) : text;
			};
		})(),

		whiteSpace: (function() {
			var ignore = {
				inline: 1,
				'inline-block': 1,
				'run-in': 1
			};
			var wsStart = /^\s+/, wsEnd = /\s+$/;
			return function(text, style, node, previousElement, simple) {
				if (simple) return text.replace(wsStart, '').replace(wsEnd, '');
				if (previousElement) {
					if (previousElement.nodeName.toLowerCase() == 'br') {
						text = text.replace(wsStart, '');
					}
				}
				if (ignore[style.get('display')]) return text;
				if (!node.previousSibling) text = text.replace(wsStart, '');
				if (!node.nextSibling) text = text.replace(wsEnd, '');
				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 links = elementsByTagName('link'), styles = elementsByTagName('style');

		function isContainerReady(el) {
			return el.disabled || isSheetReady(el.sheet, el.media || 'screen');
		}

		function isSheetReady(sheet, media) {
			// 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 (!CSS.recognizesMedia(media || 'all')) return true;
			if (!sheet || sheet.disabled) return false;
			try {
				var rules = sheet.cssRules, rule;
				if (rules) {
					// needed for Safari 3 and Chrome 1.0.
					// in standards-conforming browsers cssRules contains @-rules.
					// Chrome 1.0 weirdness: rules[<number larger than .length - 1>]
					// returns the last rule, so a for loop is the only option.
					search: for (var i = 0, l = rules.length; rule = rules[i], i < l; ++i) {
						switch (rule.type) {
							case 2: // @charset
								break;
							case 3: // @import
								if (!isSheetReady(rule.styleSheet, rule.media.mediaText)) return false;
								break;
							default:
								// only @charset can precede @import
								break search;
						}
					}
				}
			}
			catch (e) {} // probably a style sheet from another domain
			return true;
		}

		function allStylesLoaded() {
			// Internet Explorer's style sheet model, there's no need to do anything
			if (document.createStyleSheet) return true;
			// standards-compliant browsers
			var el, i;
			for (i = 0; el = links[i]; ++i) {
				if (el.rel.toLowerCase() == 'stylesheet' && !isContainerReady(el)) return false;
			}
			for (i = 0; el = styles[i]; ++i) {
				if (!isContainerReady(el)) 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, wordSeparators = {
			'\u0020': 1,
			'\u00a0': 1,
			'\u3000': 1
		};

		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;

		this.spacing = function(chars, letterSpacing, wordSpacing) {
			var glyphs = this.glyphs, glyph,
				kerning, k,
				jumps = [],
				width = 0, w,
				i = -1, j = -1, chr;
			while (chr = chars[++i]) {
				glyph = glyphs[chr] || this.missingGlyph;
				if (!glyph) continue;
				if (kerning) {
					width -= k = kerning[chr] || 0;
					jumps[j] -= k;
				}
				w = glyph.w;
				if (isNaN(w)) w = +this.w; // may have been a String in old fonts
				if (w > 0) {
					w += letterSpacing;
					if (wordSeparators[chr]) w += wordSpacing;
				}
				width += jumps[++j] = ~~w; // get rid of decimals
				kerning = glyph.k;
			}
			jumps.total = width;
			return jumps;
		};

	}

	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) {
			try {
				if (node.contains) return node.contains(anotherNode);
				return node.compareDocumentPosition(anotherNode) & 16;
			}
			catch(e) {} // probably a XUL element such as a scrollbar
			return false;
		}

		function onOverOut(e) {
			var related = e.relatedTarget;
			// there might be no relatedTarget if the element is right next
			// to the window frame
			if (related && contains(this, related)) return;
			trigger(this, e.type == 'mouseover');
		}

		function onEnterLeave(e) {
			trigger(this, e.type == 'mouseenter');
		}

		function trigger(el, hoverState) {
			// 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() {
				var options = sharedStorage.get(el).options;
				api.replace(el, hoverState ? merge(options, options.hover) : 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) {
		var families = CSS.quotedList(style.get('fontFamily').toLowerCase()), family;
		for (var i = 0; family = families[i]; ++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 = {}, arg, key;
		for (var i = 0, l = arguments.length; arg = arguments[i], i < l; ++i) {
			for (key in arg) {
				if (hasOwnProperty(arg, key)) merged[key] = arg[key];
			}
		}
		return merged;
	}

	function process(font, text, style, options, node, el) {
		var fragment = document.createDocumentFragment(), processed;
		if (text === '') return fragment;
		var separate = options.separate;
		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 name = el.nodeName.toLowerCase();
		if (options.ignore[name]) return;
		var replace = !options.textless[name], simple = (options.trim === 'simple');
		var style = CSS.getStyle(attach(el, options)).extend(options);
		// may cause issues if the element contains other elements
		// with larger fontSize, however such cases are rare and can
		// be fixed by using a more specific selector
		if (parseFloat(style.get('fontSize')) === 0) return;
		var font = getFont(el, style), node, type, next, anchor, text, lastElement;
		if (!font) return;
		for (node = el.firstChild; node; node = next) {
			type = node.nodeType;
			next = node.nextSibling;
			if (replace && type == 3) {
				// Node.normalize() is broken in IE 6, 7, 8
				if (anchor) {
					anchor.appendData(node.data);
					el.removeChild(node);
				}
				else anchor = node;
				if (next) continue;
			}
			if (anchor) {
				el.replaceChild(process(font,
					CSS.whiteSpace(anchor.data, style, anchor, lastElement, simple),
					style, options, node, el), anchor);
				anchor = null;
			}
			if (type == 1) {
				if (node.firstChild) {
					if (node.nodeName.toLowerCase() == 'cufon') {
						engines[options.engine](font, null, style, options, node, el);
					}
					else arguments.callee(node, options);
				}
				lastElement = node;
			}
		}
	}

	var HAS_BROKEN_REGEXP = ' '.split(/\s+/).length == 0;

	var sharedStorage = new Storage();
	var hoverHandler = new HoverHandler();
	var replaceHistory = new ReplaceHistory();
	var initialized = false;

	var engines = {}, fonts = {}, defaultOptions = {
		autoDetect: false,
		engine: null,
		//fontScale: 1,
		//fontScaling: false,
		forceHitArea: false,
		hover: false,
		hoverables: {
			a: true
		},
		ignore: {
			applet: 1,
			canvas: 1,
			col: 1,
			colgroup: 1,
			head: 1,
			iframe: 1,
			map: 1,
			noscript: 1,
			optgroup: 1,
			option: 1,
			script: 1,
			select: 1,
			style: 1,
			textarea: 1,
			title: 1,
			pre: 1
		},
		printable: true,
		//rotation: 0,
		//selectable: false,
		selector: (
				window.Sizzle
			||	(window.jQuery && function(query) { return jQuery(query); }) // avoid noConflict issues
			||	(window.dojo && dojo.query)
			||	(window.glow && glow.dom && glow.dom.get)
			||	(window.Ext && Ext.query)
			||	(window.YAHOO && YAHOO.util && YAHOO.util.Selector && YAHOO.util.Selector.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
		textless: {
			dl: 1,
			html: 1,
			ol: 1,
			table: 1,
			tbody: 1,
			thead: 1,
			tfoot: 1,
			tr: 1,
			ul: 1
		},
		textShadow: 'none',
		trim: 'simple'
	};

	var separators = {
		// The first pattern may cause unicode characters above
		// code point 255 to be removed in Safari 3.0. Luckily enough
		// Safari 3.0 does not include non-breaking spaces in \s, so
		// we can just use a simple alternative pattern.
		words: /\s/.test('\u00a0') ? /[^\S\u00a0]+/ : /\s+/,
		characters: '',
		none: /^/
	};

	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) {
		if (!data) return api;
		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 (!initialized) {
			CSS.addClass(DOM.root(), 'cufon-active cufon-loading');
			CSS.ready(function() {
				// fires before any replace() calls, but it doesn't really matter
				CSS.addClass(CSS.removeClass(DOM.root(), 'cufon-loading'), 'cufon-ready');
			});
			initialized = true;
		}
		if (options.hover) options.forceHitArea = true;
		if (options.autoDetect) delete options.fontFamily;
		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);
		}
		else delete options.textGradient;
		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{text-indent:0;}' +
		'@media screen,projection{' +
			'cufon{display:inline;display:inline-block;position:relative;vertical-align:middle;' +
			(HAS_BROKEN_LINEHEIGHT
				? ''
				: 'font-size:1px;line-height:1px;') +
			'}cufon cufontext{display:-moz-inline-box;display:inline-block;width:0;height:0;text-indent:-10000in;}' +
			(HAS_INLINE_BLOCK
				? 'cufon canvas{position:relative;}'
				: 'cufon canvas{position:absolute;}') +
		'}' +
		'@media print{' +
			'cufon{padding:0;}' + // Firefox 2
			'cufon canvas{display:none;}' +
		'}'
	).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.getAttribute('alt');

		var viewBox = font.viewBox;

		var size = style.getSize('fontSize', font.baseSize);

		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('');

		var jumps = font.spacing(chars,
			~~size.convertFrom(parseFloat(style.get('letterSpacing')) || 0),
			~~size.convertFrom(parseFloat(style.get('wordSpacing')) || 0)
		);

		if (!jumps.length) return null; // there's nothing to render

		var width = jumps.total;

		expandRight += viewBox.width - jumps[jumps.length - 1];
		expandLeft += viewBox.minX;

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('cufon');
			wrapper.className = 'cufon cufon-canvas';
			wrapper.setAttribute('alt', text);

			canvas = document.createElement('canvas');
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('cufontext');
				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;
		var stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		var stretchedWidth = width * stretchFactor;

		var canvasWidth = Math.ceil(size.convert(stretchedWidth + expandRight - expandLeft));
		var canvasHeight = Math.ceil(size.convert(viewBox.height - expandTop + expandBottom));

		canvas.width = canvasWidth;
		canvas.height = canvasHeight;

		// needed for WebKit and full page zoom
		cStyle.width = canvasWidth + 'px';
		cStyle.height = canvasHeight + 'px';

		// 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.max(Math.ceil(size.convert(stretchedWidth)), 0) + '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.save();

		function renderText() {
			var glyphs = font.glyphs, glyph, i = -1, j = -1, chr;
			g.scale(stretchFactor, 1);
			while (chr = chars[++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();

		return wrapper;

	};

})());

Cufon.registerEngine('vml', (function() {

	var ns = document.namespaces;
	if (!ns) return;
	ns.add('cvml', 'urn:schemas-microsoft-com:vml');
	ns = null;

	var check = document.createElement('cvml:shape');
	check.style.behavior = 'url(#default#VML)';
	if (!check.coordsize) return; // VML isn't supported
	check = null;

	var HAS_BROKEN_LINEHEIGHT = (document.documentMode || 0) < 8;

	document.write(('<style type="text/css">' +
		'cufoncanvas{text-indent:0;}' +
		'@media screen{' +
			'cvml\\:shape,cvml\\:rect,cvml\\:fill,cvml\\:shadow{behavior:url(#default#VML);display:block;antialias:true;position:absolute;}' +
			'cufoncanvas{position:absolute;text-align:left;}' +
			'cufon{display:inline-block;position:relative;vertical-align:' +
			(HAS_BROKEN_LINEHEIGHT
				? 'middle'
				: 'text-bottom') +
			';}' +
			'cufon cufontext{position:absolute;left:-10000in;font-size:1px;}' +
			'a cufon{cursor:pointer}' + // ignore !important here
		'}' +
		'@media print{' +
			'cufon cufoncanvas{display:none;}' +
		'}' +
	'</style>').replace(/;/g, '!important;'));

	function getFontSizeInPixels(el, value) {
		return getSizeInPixels(el, /(?:em|ex|%)$|^[a-z-]+$/i.test(value) ? '1em' : value);
	}

	// Original by Dead Edwards.
	// Combined with getFontSizeInPixels it also works with relative units.
	function getSizeInPixels(el, value) {
		if (!isNaN(value) || /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.replace('%', 'em');
		var result = el.style.pixelLeft;
		el.style.left = style;
		el.runtimeStyle.left = runtimeStyle;
		return result;
	}

	function getSpacingValue(el, style, size, property) {
		var key = 'computed' + property, value = style[key];
		if (isNaN(value)) {
			value = style.get(property);
			style[key] = value = (value == 'normal') ? 0 : ~~size.convertFrom(getSizeInPixels(el, value));
		}
		return value;
	}

	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 = 'none';
			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;

		var viewBox = font.viewBox;

		var size = style.computedFontSize || (style.computedFontSize = new Cufon.CSS.Size(getFontSizeInPixels(el, style.get('fontSize')) + 'px', font.baseSize));

		var wrapper, canvas;

		if (redraw) {
			wrapper = node;
			canvas = node.firstChild;
		}
		else {
			wrapper = document.createElement('cufon');
			wrapper.className = 'cufon cufon-vml';
			wrapper.alt = text;

			canvas = document.createElement('cufoncanvas');
			wrapper.appendChild(canvas);

			if (options.printable) {
				var print = document.createElement('cufontext');
				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 stretchFactor = roundingFactor * Cufon.CSS.fontStretch(style.get('fontStretch'));
		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 color = style.get('color');
		var chars = Cufon.CSS.textTransform(text, style).split('');

		var jumps = font.spacing(chars,
			getSpacingValue(el, style, size, 'letterSpacing'),
			getSpacingValue(el, style, size, 'wordSpacing')
		);

		if (!jumps.length) return null;

		var width = jumps.total;
		var fullWidth = -minX + width + (viewBox.width - jumps[jumps.length - 1]);

		var shapeWidth = size.convert(fullWidth * stretchFactor), roundedShapeWidth = Math.round(shapeWidth);

		var coordSize = fullWidth + ',' + viewBox.height, coordOrigin;
		var stretch = 'r' + coordSize + 'ns';

		var fill = options.textGradient && gradientFill(options.textGradient);

		var glyphs = font.glyphs, offsetX = 0;
		var shadows = options.textShadow;
		var i = -1, j = 0, chr;

		while (chr = chars[++i]) {

			var glyph = glyphs[chars[i]] || font.missingGlyph, shape;
			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++];
		}

		// addresses flickering issues on :hover

		var cover = shape.nextSibling, coverFill, vStyle;

		if (options.forceHitArea) {

			if (!cover) {
				cover = document.createElement('cvml:rect');
				cover.stroked = 'f';
				cover.className = 'cufon-vml-cover';
				coverFill = document.createElement('cvml:fill');
				coverFill.opacity = 0;
				cover.appendChild(coverFill);
				canvas.appendChild(cover);
			}

			vStyle = cover.style;

			vStyle.width = roundedShapeWidth;
			vStyle.height = roundedHeight;

		}
		else if (cover) canvas.removeChild(cover);

		wStyle.width = Math.max(Math.ceil(size.convert(width * stretchFactor)), 0);

		if (HAS_BROKEN_LINEHEIGHT) {

			var yAdjust = style.computedYAdjust;

			if (yAdjust === undefined) {
				var lineHeight = style.get('lineHeight');
				if (lineHeight == 'normal') lineHeight = '1em';
				else if (!isNaN(lineHeight)) lineHeight += 'em'; // no unit
				style.computedYAdjust = yAdjust = 0.5 * (getSizeInPixels(el, lineHeight) - parseFloat(wStyle.height));
			}

			if (yAdjust) {
				wStyle.marginTop = Math.ceil(yAdjust) + 'px';
				wStyle.marginBottom = yAdjust + 'px';
			}

		}

		return wrapper;

	};

})());


/*!
 * The following copyright notice may not be removed under any circumstances.
 * 
 * Trademark:
 * Ubuntu Titling is a trademark of Canonical.
 * 
 * Designer:
 * Betatype
 * 
 * Vendor URL:
 * Betatype.com
 */
Cufon.registerFont({"w":208,"face":{"font-family":"Ubuntu Titling Rg","font-weight":700,"font-stretch":"normal","units-per-em":"360","panose-1":"2 0 0 0 0 0 0 0 0 0","ascent":"270","descent":"-90","x-height":"3","cap-height":"3","bbox":"-22 -326 307 80","underline-thickness":"18","underline-position":"-18","unicode-range":"U+0020-U+2122"},"glyphs":{" ":{"w":92},"!":{"d":"49,-66v-11,0,-22,-6,-21,-17r0,-134v-1,-10,10,-17,21,-17v11,0,21,7,20,17r0,134v1,10,-9,17,-20,17xm49,3v-14,0,-24,-8,-21,-25v-1,-10,10,-17,21,-17v14,0,23,9,20,25v1,10,-9,17,-20,17","w":92},"\"":{"d":"45,-161v-26,0,-12,-38,-17,-59v0,-9,7,-15,17,-14v28,-1,13,39,14,62v0,7,-7,11,-14,11xm98,-161v-26,0,-12,-38,-17,-59v1,-8,7,-15,18,-14v28,0,12,40,13,62v0,7,-7,11,-14,11","w":135},"$":{"d":"23,-165v0,-40,27,-66,67,-67v-1,-16,0,-30,15,-30v15,0,15,17,13,32v24,6,46,15,51,38v-2,34,-38,11,-52,2r-1,63v30,12,61,25,61,67v0,40,-28,61,-65,65v1,15,-1,28,-14,28v-14,0,-15,-14,-14,-30v-26,-6,-55,-14,-59,-42v8,-35,42,-2,60,5r1,-64v-29,-13,-63,-24,-63,-67xm89,-194v-19,1,-32,28,-18,43v4,4,9,9,16,12xm113,-32v30,-2,26,-47,1,-53","w":199},"'":{"d":"40,-151v-26,-2,-13,-44,-18,-67v-2,-10,9,-17,18,-16v32,1,13,46,14,71v0,7,-7,12,-14,12","w":80},"(":{"d":"118,-216v-46,62,-37,184,4,245v-10,32,-43,0,-48,-15v-47,-72,-39,-227,33,-258v13,0,20,17,11,28","w":154},")":{"d":"59,44v-35,-12,6,-50,9,-69v26,-63,11,-149,-20,-191v-12,-17,7,-37,23,-23v68,57,64,225,1,278v-4,4,-9,5,-13,5","w":154},"+":{"d":"90,-177v27,0,14,35,17,58v24,2,61,-8,62,17v0,25,-38,14,-62,16v-2,23,9,59,-17,59v-25,0,-15,-36,-17,-59v-24,-2,-62,9,-62,-16v0,-26,38,-15,62,-17v2,-23,-9,-58,17,-58","w":181},"-":{"d":"30,-105v0,-34,51,-20,81,-20v14,0,21,6,21,20v0,32,-56,13,-85,18v-9,-1,-17,-7,-17,-18","w":160,"k":{"Y":13,"W":8,"V":8,"T":6,"A":11}},".":{"d":"66,-14v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":87,"k":{"1":29}},"\/":{"d":"89,-224v8,-19,47,-8,39,14r-79,203v-8,21,-47,7,-39,-14","w":140},"0":{"d":"109,4v-77,0,-91,-64,-86,-148v3,-55,29,-89,86,-90v80,-1,93,64,88,148v-3,56,-32,90,-88,90xm109,-195v-57,-3,-45,61,-45,113v0,31,13,45,45,47v59,3,46,-61,46,-113v0,-33,-13,-46,-46,-47","w":219,"k":{"7":8,"4":3}},"1":{"d":"11,-211v1,-31,49,-16,78,-19v11,0,20,8,20,17r0,200v-1,21,-41,22,-42,0r0,-179v-24,-1,-56,6,-56,-19","w":135},"2":{"d":"26,-187v15,-60,156,-69,147,17v-7,69,-77,81,-100,134r87,0v10,1,18,8,18,19v0,10,-8,17,-18,17r-115,0v-26,0,-18,-37,-9,-54v21,-40,63,-63,89,-94v23,-29,-11,-65,-47,-44v-12,12,-34,44,-52,16v-1,-4,-1,-7,0,-11","w":195,"k":{"7":9,"4":3}},"3":{"d":"135,-63v2,-31,-26,-36,-59,-36v-11,0,-21,-5,-20,-17v0,-38,79,2,70,-50v0,-20,-14,-31,-35,-31v-24,0,-30,18,-51,17v-8,0,-15,-6,-14,-15v5,-26,34,-39,65,-39v48,0,78,19,77,67v-1,23,-16,41,-34,49v25,8,40,25,42,55v6,81,-137,88,-157,27v10,-40,45,4,71,4v26,0,44,-10,45,-31","w":194,"k":{"7":1,"4":-6}},"4":{"d":"13,-78r75,-148v11,-19,46,-1,35,20r-62,120r63,0v2,-27,-9,-62,21,-62v29,0,20,36,21,62v34,-10,45,37,11,37r-11,0v0,25,4,53,-21,53v-26,0,-21,-28,-21,-53v-41,-6,-123,19,-111,-29","w":209},"5":{"d":"153,-210v-4,29,-55,13,-86,17r-5,50v63,-6,105,13,101,76v-3,46,-30,71,-79,71v-31,0,-61,-11,-65,-39v9,-36,42,2,65,1v26,-1,37,-15,37,-43v0,-45,-62,-23,-93,-35v-4,-3,-6,-9,-5,-17r11,-101r97,0v11,0,24,7,22,20","w":182,"k":{"7":4,"4":-10}},"6":{"d":"183,-79v0,54,-27,83,-80,83v-75,0,-87,-63,-84,-143v3,-59,30,-95,88,-95v32,0,61,11,65,39v-10,35,-39,-1,-65,-1v-36,0,-49,26,-46,67v39,-36,122,-16,122,50xm103,-112v-25,1,-39,18,-41,41v-4,45,78,51,78,5v0,-30,-6,-46,-37,-46","w":201,"k":{"7":7,"4":-8}},"7":{"d":"8,-211v0,-13,8,-19,20,-19r113,0v16,-1,26,15,20,29v-24,57,-56,98,-56,188v0,23,-40,20,-42,0v-7,-81,22,-131,51,-179r-86,0v-11,0,-20,-6,-20,-19","w":177,"k":{",":42,":":11,"7":-9,"6":1,"4":9,".":36}},"8":{"d":"26,-169v0,-47,31,-65,78,-65v47,0,77,19,77,65v-1,24,-16,43,-35,51v26,8,43,24,42,55v-1,48,-33,67,-84,67v-51,-1,-85,-20,-85,-70v0,-29,17,-44,42,-52v-19,-9,-34,-27,-35,-51xm139,-161v2,-25,-11,-37,-35,-37v-25,0,-38,11,-36,37v2,36,70,37,71,0xm61,-69v-2,26,18,38,43,38v26,0,43,-12,42,-38v0,-20,-18,-31,-42,-31v-25,0,-42,11,-43,31","w":207,"k":{"7":9,"4":-10}},"9":{"d":"19,-151v-1,-52,27,-83,79,-83v75,0,90,62,85,143v-3,57,-30,95,-89,95v-30,0,-61,-10,-64,-39v9,-34,41,2,65,1v34,-1,47,-24,46,-62v-15,4,-30,20,-55,18v-43,-3,-67,-28,-67,-73xm61,-159v-8,49,59,62,75,23v12,-29,-7,-62,-37,-60v-24,2,-34,15,-38,37","w":201,"k":{"7":10,"4":2}},":":{"d":"66,-143v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm66,-14v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":87},"=":{"d":"46,-118v-23,0,-19,-36,0,-36r117,0v12,0,20,6,20,18v0,11,-8,18,-20,18r-117,0xm30,-67v0,-11,7,-17,16,-18r117,0v12,0,20,6,20,18v0,11,-8,17,-20,17r-117,0v-8,0,-16,-8,-16,-17"},"?":{"d":"103,-72v0,19,-40,24,-40,0v0,-57,53,-54,59,-97v5,-40,-64,-31,-74,-6v-7,17,-42,8,-34,-14v11,-27,39,-45,79,-45v45,1,70,24,71,67v1,52,-61,41,-61,95xm62,-14v0,-13,10,-18,25,-18v10,0,18,6,18,18v0,14,-11,19,-25,18v-9,-1,-18,-7,-18,-18","w":189},"A":{"d":"200,-20v4,16,-15,27,-32,21v-16,-10,-14,-35,-22,-52r-78,0v-10,20,-6,57,-38,54v-9,-3,-21,-12,-17,-22r71,-200v3,-20,40,-19,47,0xm79,-86r56,0r-28,-89","w":213,"k":{"\u00ab":9,",":-18,"v":15,"u":4,"o":2,"a":2,"Y":24,"W":17,"V":14,"U":10,"T":22,"Q":9,"O":9,"G":5,"C":9,".":-10,"-":-7}},"B":{"d":"108,0v-31,-1,-83,11,-83,-19r0,-194v3,-26,48,-17,76,-17v49,0,81,19,82,66v0,26,-11,39,-32,47v27,8,41,22,40,54v-1,46,-33,65,-83,63xm149,-63v0,-42,-42,-36,-82,-36r0,64v35,-1,82,7,82,-28xm141,-160v0,-39,-37,-34,-74,-34r0,62v33,0,74,4,74,-28","w":209,"k":{"Y":10,"W":3,"V":3,"O":2}},"C":{"d":"107,4v-78,2,-89,-67,-84,-151v3,-53,30,-87,84,-87v32,0,62,10,65,39v-9,35,-40,-1,-65,-1v-52,0,-42,64,-42,115v-1,29,16,46,42,47v25,2,30,-14,51,-15v10,-1,14,6,14,14v-2,30,-35,38,-65,39","w":179,"k":{"K":-8,"O":-2,"H":-8,"A":-6}},"D":{"d":"95,0v-26,-1,-68,8,-68,-17r0,-196v2,-25,42,-16,68,-17v77,-2,100,55,95,137v-3,59,-33,94,-95,93xm148,-89v0,-66,-6,-114,-79,-103r0,154v46,4,79,-7,79,-51","w":213,"k":{"Y":10,"X":8,"W":6,"V":3,"T":9,"J":10,"A":6}},"E":{"d":"150,-230v14,0,20,6,20,19v0,13,-6,19,-20,19r-81,0r0,56v29,3,75,-11,75,20v0,30,-48,14,-75,18r0,60r81,0v14,0,20,6,20,19v0,13,-6,19,-20,19r-101,0v-11,0,-22,-7,-22,-17r0,-196v0,-10,11,-17,22,-17r101,0","w":187},"F":{"d":"27,-213v0,-10,11,-17,22,-17v37,2,84,-6,112,5v11,11,5,33,-15,33r-77,0r0,60v28,3,75,-12,75,19v0,31,-47,15,-75,19v-5,35,16,98,-20,98v-10,0,-22,-7,-22,-17r0,-200","w":177,"k":{"\u00f8":10,",":28,"u":4,"r":11,"o":3,"e":10,"a":6,"O":7,"J":13,"A":18,".":30,"-":-10}},"G":{"d":"149,-84v-20,0,-42,3,-42,-18v0,-28,39,-18,64,-19v36,-1,14,58,20,89v-14,24,-38,36,-77,36v-81,1,-96,-64,-91,-151v3,-55,34,-87,90,-87v31,0,63,9,68,35v-9,34,-42,3,-68,3v-56,0,-48,60,-48,115v0,45,53,59,84,36r0,-39","w":212,"k":{"Y":9,"W":3,"V":6,"T":1,"A":1}},"H":{"d":"201,-13v-1,22,-42,22,-43,0r0,-81r-89,0v-5,35,16,98,-20,98v-10,0,-22,-7,-22,-17r0,-204v0,-10,11,-17,22,-17v37,3,14,67,20,102r89,0v6,-36,-18,-100,22,-102v11,0,21,7,21,17r0,204","w":227},"I":{"d":"49,3v-12,0,-22,-7,-22,-17r0,-203v0,-10,10,-17,22,-17v11,0,20,8,20,17r0,203v0,9,-10,17,-20,17","w":96},"J":{"d":"7,-20v0,-37,63,9,63,-40r0,-157v0,-9,10,-17,20,-17v12,0,22,7,22,17r0,155v0,46,-20,65,-65,65v-20,0,-40,-4,-40,-23","w":138},"L":{"d":"46,0v-11,0,-18,-8,-19,-17r0,-200v0,-10,10,-17,22,-17v11,0,20,8,20,17r0,179v33,5,97,-16,97,19v0,13,-6,19,-20,19r-100,0","w":170,"k":{"u":3,"Y":23,"W":15,"V":23,"U":8,"T":18,"S":-1,"O":8,"G":5,"C":5,"A":-15,"-":-7}},"M":{"d":"238,-13v-1,21,-41,22,-42,0r0,-151v-17,31,-26,70,-49,94v-12,12,-33,0,-38,-10r-40,-84r0,151v0,10,-10,17,-20,17v-10,0,-22,-7,-22,-17r0,-204v0,-22,44,-22,53,-4r52,106r53,-106v5,-17,52,-20,53,4r0,204","w":264},"N":{"d":"49,4v-10,0,-22,-7,-22,-17r0,-204v0,-20,39,-23,42,-3r97,141r0,-138v0,-10,9,-17,21,-17v11,0,21,7,20,17r0,204v0,21,-36,22,-41,4r-97,-140r0,136v0,10,-10,17,-20,17","w":234,"k":{"\u00f8":-1,",":-5,"u":-4,"o":-3,"e":-2,"O":-3,"G":-3,".":-3}},"O":{"d":"114,4v-78,0,-96,-60,-91,-144v4,-58,30,-94,91,-94v79,-1,97,60,92,144v-3,59,-32,94,-92,94xm114,-195v-52,-3,-49,51,-49,105v0,38,16,53,49,55v53,3,49,-51,49,-105v0,-38,-16,-53,-49,-55","w":228,"k":{"Y":8,"X":9,"W":12,"V":8,"T":10,"A":6}},"P":{"d":"68,-13v-1,27,-42,18,-42,-2r0,-198v2,-25,43,-16,69,-17v56,-2,88,25,88,79v0,58,-50,74,-115,70r0,68xm141,-149v3,-42,-30,-48,-73,-45r0,78v37,2,70,0,73,-33","w":200,"k":{"\u00f8":12,",":29,"o":5,"e":7,"a":10,"J":26,"A":20,".":34,"-":-1}},"Q":{"d":"196,57v-43,22,-102,-2,-97,-54v-66,-7,-80,-65,-76,-143v3,-58,30,-94,91,-94v79,-1,97,60,92,144v-3,49,-23,82,-65,91v-4,34,30,27,55,26v9,5,10,25,0,30xm114,-195v-52,-3,-49,51,-49,105v0,38,16,53,49,55v53,3,49,-51,49,-105v0,-38,-16,-53,-49,-55","w":228},"R":{"d":"48,4v-11,1,-22,-9,-22,-18r0,-199v2,-26,46,-17,73,-17v54,0,88,18,87,72v0,29,-14,44,-38,53r40,81v8,14,-8,31,-25,27v-5,-1,-9,-3,-11,-7r-40,-87v-14,1,-29,1,-44,1v-5,33,16,92,-20,94xm144,-154v0,-43,-34,-42,-76,-40r0,69v35,0,76,3,76,-29","w":203,"k":{"o":4,"a":6,"Y":1,"W":3,"V":3,"U":-3,"T":3,"O":-1,"C":6,"-":-5}},"S":{"d":"141,-177v-15,-18,-77,-33,-76,9v14,54,107,29,105,106v-1,41,-31,70,-74,66v-34,-3,-78,-11,-78,-45v0,-11,7,-17,19,-17v21,5,31,26,60,25v19,-1,32,-7,31,-26v-13,-56,-105,-34,-105,-108v0,-80,131,-88,146,-26v4,16,-15,21,-28,16","w":188,"k":{"t":-6,"Y":3,"W":1,"T":-5,"A":3}},"T":{"d":"8,-211v0,-12,9,-19,20,-19r132,0v14,0,21,6,21,19v1,29,-42,16,-68,19r0,179v-1,21,-41,22,-42,0r0,-179v-26,-2,-63,8,-63,-19","w":186,"k":{"\u00f8":13,"\u00ab":20,";":10,",":13,"v":9,"u":15,"r":12,"o":16,"j":-6,"i":-6,"e":15,"c":16,"a":15,"Y":-10,"W":-9,"V":-16,"O":1,"J":14,"G":9,"C":3,"A":15,":":4,".":15,"-":-4}},"U":{"d":"205,-81v-2,54,-32,85,-89,85v-57,0,-90,-30,-90,-85r0,-136v0,-10,11,-17,22,-17v11,0,21,7,20,17r0,136v0,30,17,45,48,45v31,0,46,-15,46,-45r0,-136v0,-10,10,-17,21,-17v11,0,22,7,22,17r0,136","w":234,"k":{",":6,"r":-3,"p":4,"m":-3,"A":8,".":8}},"V":{"d":"129,-12v-4,20,-40,20,-47,0r-70,-199v-4,-16,14,-27,31,-21v5,2,9,6,10,10r52,165r52,-165v6,-19,49,-11,41,11","w":209,"k":{"\u00f8":19,"\u00ab":25,";":5,",":22,"u":5,"r":12,"o":8,"i":-4,"e":13,"a":17,"T":-16,"S":7,"O":5,"A":19,".":27,"-":2}},"W":{"d":"108,-12v-4,20,-42,21,-46,0r-43,-199v-4,-16,15,-27,32,-21v5,2,8,6,9,10r27,163r39,-157v5,-24,38,-24,44,0r40,157r27,-163v6,-22,45,-9,41,11r-43,199v-5,19,-41,21,-47,0r-40,-149","w":296,"k":{"\u00f8":12,"\u00ab":19,";":5,",":22,"r":5,"o":8,"i":-4,"e":14,"a":18,"T":-16,"S":7,"O":5,"G":12,"C":13,"A":19,":":10,".":27,"-":2}},"X":{"d":"99,-147r46,-80v13,-16,48,1,35,22r-56,90r56,89v9,15,-7,31,-23,29v-5,-1,-9,-3,-12,-7r-46,-79r-46,79v-13,18,-48,-1,-35,-22r55,-89r-56,-90v-10,-15,8,-32,24,-28v5,1,9,3,12,6","w":197,"k":{"u":6,"o":7,"e":4,"a":6,"Q":6,"O":3,"-":-12}},"Y":{"d":"99,3v-37,0,-17,-56,-22,-89r-65,-119v-13,-21,20,-38,35,-22r52,102r52,-102v13,-16,47,0,35,22r-67,123v-4,31,14,85,-20,85","w":198,"k":{"\u00f8":18,"\u00ab":24,";":6,",":27,"v":5,"u":4,"p":11,"o":10,"i":-4,"e":18,"a":19,"T":-14,"S":8,"O":6,"G":3,"C":14,"A":21,":":8,".":25,"-":6}},"Z":{"d":"32,0v-16,2,-23,-21,-13,-31r104,-164r-86,0v-10,0,-19,-6,-18,-17v-1,-12,8,-18,18,-18r122,0v16,-2,24,21,13,31r-104,163r94,0v10,0,18,7,18,19v0,11,-8,17,-18,17r-130,0","w":194,"k":{"v":11}},"[":{"d":"54,-239v24,1,58,-6,57,19v0,15,-18,17,-36,16r0,215v33,-10,47,35,14,35v-24,0,-53,5,-53,-20r0,-244v1,-13,7,-18,18,-21","w":126},"\\":{"d":"128,-21v4,17,-13,28,-30,23v-5,-2,-8,-5,-9,-9r-79,-203v-8,-22,31,-33,39,-14","w":140},"]":{"d":"14,-220v-1,-24,33,-19,57,-19v11,3,17,8,18,21r0,244v1,25,-29,20,-53,20v-17,1,-26,-16,-16,-28v4,-7,18,-7,30,-7r0,-215v-18,1,-36,0,-36,-16","w":126},"^":{"d":"25,-140v14,-30,23,-65,42,-90v9,-11,31,0,32,9r35,81v2,12,-13,23,-26,17v-17,-14,-18,-43,-29,-63v-11,24,-17,84,-53,56v-2,-4,-2,-7,-1,-10","w":169},"_":{"d":"24,39v-24,0,-20,-39,0,-39r124,0v13,1,20,7,20,20v0,13,-7,19,-20,19r-124,0","w":173},"`":{"d":"82,-196v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":105},"a":{"d":"182,-12v0,10,-9,17,-21,17v-13,0,-23,-8,-21,-22r-3,-1v-9,13,-24,22,-47,22v-54,-2,-72,-43,-68,-104v3,-51,33,-84,85,-84v47,0,75,24,75,72r0,100xm99,-36v39,1,41,-34,41,-76v0,-24,-11,-32,-33,-32v-39,0,-45,35,-42,77v1,18,15,31,34,31","k":{"v":4,"j":-4}},"b":{"d":"48,-245v33,0,16,49,20,79r3,1v9,-11,23,-19,42,-19v59,2,80,42,77,106v-3,50,-28,82,-80,82v-52,1,-84,-24,-84,-72r0,-160v0,-10,11,-17,22,-17xm147,-77v0,-39,-7,-67,-41,-67v-40,0,-38,38,-38,78v0,23,19,31,42,31v23,0,37,-18,37,-42","w":209,"k":{"v":4}},"c":{"d":"100,4v-62,0,-80,-40,-80,-109v0,-52,29,-79,80,-79v30,0,66,11,55,43v-13,19,-35,-3,-55,-3v-35,0,-40,30,-38,67v1,25,13,41,38,41v25,-1,52,-21,58,8v-2,25,-31,32,-58,32","w":169,"k":{"k":-5,"h":-4}},"d":{"d":"19,-78v-3,-63,15,-105,74,-106v21,-1,34,12,47,20v4,-31,-13,-82,21,-83v12,0,20,7,21,17r0,155v-1,50,-29,79,-79,79v-53,0,-81,-30,-84,-82xm61,-103v0,39,7,67,42,67v36,0,37,-34,37,-72v0,-24,-15,-36,-37,-37v-24,0,-42,16,-42,42"},"e":{"d":"98,-184v47,0,74,28,76,73v4,52,-71,24,-113,31v-10,55,58,55,89,35v9,0,16,6,16,16v-26,58,-147,35,-147,-39v0,-70,18,-116,79,-116xm134,-111v6,-36,-42,-49,-62,-27v-6,7,-10,16,-11,27r73,0","w":193,"k":{"x":4,"v":4,"t":-3}},"f":{"d":"8,-164v0,-14,12,-18,28,-16v-3,-51,18,-72,65,-72v20,0,40,5,40,23v0,41,-76,-16,-63,49v20,0,43,-5,43,16v0,21,-23,17,-43,17r0,134v0,23,-41,20,-42,0r0,-134v-16,2,-28,-3,-28,-17","w":131,"k":{"t":-17,"o":-4,"l":-7,"j":-7,"i":-8,"f":-12,"e":-4,"a":-2}},"g":{"d":"104,-184v47,0,74,22,75,68r0,116v0,51,-30,78,-79,78v-24,0,-52,-3,-52,-23v0,-26,28,-15,52,-15v34,0,44,-29,36,-58v-9,13,-23,22,-46,22v-54,0,-74,-41,-70,-100v3,-53,29,-88,84,-88xm104,-145v-34,2,-42,31,-42,71v0,25,13,38,38,38v41,0,40,-40,38,-81v0,-19,-14,-29,-34,-28","w":204},"h":{"d":"115,-184v84,-3,71,91,71,171v-1,21,-41,22,-42,0v-3,-52,19,-132,-38,-132v-57,0,-38,80,-38,132v0,10,-10,17,-20,17v-10,0,-22,-7,-22,-17r0,-215v0,-10,11,-17,22,-17v34,0,16,53,20,84r3,1v9,-14,22,-23,44,-24","w":212},"i":{"d":"71,-13v-1,21,-42,22,-42,0r0,-154v1,-21,42,-22,42,0r0,154xm50,-206v-14,0,-21,-9,-21,-25v0,-10,10,-17,21,-17v14,0,21,9,21,25v0,10,-10,17,-21,17","w":99,"k":{"j":-4,"T":-6}},"j":{"d":"-22,51v0,-37,63,9,63,-40r0,-178v0,-23,41,-20,42,0r0,176v0,46,-20,65,-65,65v-20,0,-40,-4,-40,-23xm62,-206v-15,0,-24,-9,-22,-25v1,-10,10,-17,22,-17v14,0,23,9,20,25v1,10,-9,17,-20,17","w":111},"l":{"d":"71,-13v-1,21,-42,22,-42,0r0,-215v0,-10,10,-17,21,-17v11,0,21,7,21,17r0,215","w":99,"k":{"v":-3}},"m":{"d":"152,-155v12,-16,27,-28,56,-28v87,0,71,89,71,170v0,21,-40,22,-42,0v-5,-48,22,-131,-32,-131v-53,1,-21,92,-33,138v-7,14,-40,14,-41,-5v-5,-47,19,-132,-31,-133v-55,0,-33,83,-33,131v0,10,-10,17,-20,17v-40,0,-19,-71,-22,-108v-4,-50,20,-79,71,-79v28,-1,45,12,56,28","w":304,"k":{"v":5,"p":-4}},"n":{"d":"25,-104v0,-50,29,-80,80,-80v50,0,79,26,80,76r0,95v-1,21,-42,23,-42,0v0,-52,19,-131,-38,-131v-57,0,-38,80,-38,131v0,10,-10,17,-20,17v-40,0,-22,-70,-22,-108","w":210,"k":{"v":5,"p":-4,"T":17}},"o":{"d":"102,3v-62,0,-85,-38,-82,-104v3,-52,29,-83,82,-83v61,0,85,42,81,108v-3,50,-29,78,-81,79xm102,-146v-36,-1,-40,31,-40,70v0,25,15,41,40,41v35,0,41,-30,39,-67v-1,-27,-14,-44,-39,-44","w":203,"k":{"x":5,"v":5,"t":-2,"T":17}},"p":{"d":"115,3v-21,0,-34,-8,-44,-19r-3,1v-5,33,16,92,-20,94v-11,0,-22,-7,-22,-17r0,-174v1,-48,32,-72,80,-72v60,0,88,39,84,104v-2,49,-23,84,-75,83xm106,-144v-39,0,-38,31,-38,69v0,25,14,39,38,39v32,0,41,-27,41,-66v0,-25,-17,-42,-41,-42","w":209,"k":{"t":-3}},"q":{"d":"182,62v0,10,-9,17,-21,17v-40,0,-11,-67,-23,-96v-10,11,-24,21,-45,21v-58,-1,-77,-42,-74,-105v3,-52,31,-83,84,-83v48,0,79,25,79,72r0,174xm61,-102v0,39,8,66,42,66v39,0,39,-37,37,-77v-1,-21,-15,-31,-37,-31v-24,0,-42,17,-42,42","k":{"u":-4,"c":-3}},"r":{"d":"26,-13v0,-83,-15,-171,77,-171v25,0,44,17,31,37v-23,8,-66,-6,-66,33r0,101v0,10,-10,17,-20,17v-10,0,-22,-7,-22,-17","w":141,"k":{"k":-5,"\u00f8":3,";":-4,",":14,"z":-4,"x":-8,"v":-14,"u":-5,"t":-13,"r":-2,"p":-5,"n":-5,"m":-5,"l":-5,"j":-5,"i":-5,"h":-5,"f":-12,"e":3,"d":2,"c":2,"a":3,":":-9,".":23,"-":4}},"s":{"d":"152,-51v0,66,-114,71,-134,23v10,-39,36,-3,68,-3v34,0,30,-32,3,-39v-31,-8,-65,-17,-66,-57v0,-36,29,-57,67,-57v31,-1,72,16,52,44v-20,11,-28,-11,-52,-8v-19,-2,-33,21,-17,30v31,17,79,17,79,67","w":169},"t":{"d":"7,-164v0,-15,14,-18,30,-16v0,-25,-6,-54,22,-54v26,0,20,29,20,54v19,0,42,-4,42,16v0,21,-22,17,-42,17r0,87v-10,47,55,5,55,41v0,21,-22,22,-43,23v-72,5,-51,-85,-54,-151v-17,2,-30,-2,-30,-17","w":149,"k":{";":-8,"h":-4,":":-9}},"u":{"d":"185,-76v-1,50,-29,80,-80,80v-51,0,-80,-29,-80,-80r0,-90v0,-10,11,-17,22,-17v11,0,20,7,20,17v0,51,-19,130,38,130v57,0,38,-79,38,-130v0,-10,9,-17,20,-17v11,0,22,7,22,17r0,90","w":210},"v":{"d":"121,-12v-5,19,-39,20,-47,0r-58,-149v-3,-16,16,-27,32,-20v5,2,8,6,9,10r40,122r41,-122v6,-22,49,-9,41,10","w":194,"k":{"\u00f8":5,";":-1,",":14,"o":7,"e":5,"c":7,"a":6,":":-2,".":20}},"w":{"d":"273,-167v0,79,16,171,-69,171v-27,0,-44,-11,-54,-28v-10,16,-28,28,-55,28v-84,0,-69,-92,-69,-171v0,-21,42,-23,42,0v0,48,-21,131,31,131v52,0,23,-85,30,-132v3,-21,40,-20,42,1v5,47,-21,131,30,131v51,0,25,-84,30,-131v2,-21,42,-22,42,0","w":299},"x":{"d":"95,-122v21,-19,28,-70,67,-58v9,3,14,16,7,25r-48,65r48,64v9,15,-7,31,-23,29v-5,-1,-10,-3,-12,-7r-39,-54r-38,54v-12,18,-50,-2,-35,-22r48,-64r-48,-65v-11,-14,8,-33,23,-28v26,9,32,42,50,61","w":190,"k":{"q":3,"o":4,"e":5,"c":7,"a":6}},"y":{"d":"139,-168v2,-21,43,-21,42,1r0,180v-1,46,-31,66,-76,67v-27,0,-55,-2,-55,-23v0,-41,92,10,89,-44v0,-9,3,-23,-2,-28v-10,12,-22,18,-44,18v-85,0,-65,-92,-67,-170v0,-10,11,-17,22,-17v11,0,20,7,21,17v6,49,-22,131,34,131v56,0,32,-82,36,-132","w":207},"z":{"d":"37,0v-17,3,-22,-19,-13,-31r87,-113v-32,-5,-89,15,-92,-18v-1,-12,8,-18,18,-18r114,0v16,-2,22,19,13,31r-87,113r82,0v10,0,17,8,17,19v0,11,-7,17,-17,17r-122,0","w":195},"{":{"d":"105,-51v0,23,-19,63,11,67v9,0,20,4,18,15v-7,32,-67,14,-71,-8v-22,-31,25,-113,-29,-113v-12,0,-18,-6,-18,-16v0,-24,38,-9,42,-33v8,-43,-23,-128,56,-120v9,1,20,5,20,16v2,25,-41,6,-35,35v8,40,11,91,-22,103v18,7,28,24,28,54","w":153},"|":{"d":"44,50v-12,0,-21,-6,-21,-17r0,-270v0,-10,9,-17,21,-17v11,0,21,7,21,17r0,270v0,10,-10,17,-21,17","w":87},"\u00b4":{"d":"78,-216v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":105},"#":{"d":"219,-71v0,23,-29,18,-51,18v-6,21,1,59,-28,56v-25,-3,-13,-36,-10,-56r-36,0v-7,21,0,59,-28,56v-25,-3,-14,-35,-11,-56v-18,1,-34,0,-34,-18v0,-22,21,-18,41,-18r10,-58v-20,0,-41,3,-41,-18v0,-24,26,-17,47,-18v6,-20,0,-53,29,-50v24,2,14,32,10,50r36,0v6,-20,0,-53,29,-50v22,3,14,32,10,50v19,-1,37,-1,37,18v0,21,-23,19,-44,18r-10,58v21,0,44,-4,44,18xm100,-89r36,0r11,-58r-36,0","w":262},",":{"d":"45,-39v31,0,21,45,11,64v-8,15,-40,47,-59,24v-8,-29,35,-26,28,-65v-2,-14,9,-22,20,-23","w":87,"k":{"1":30}},";":{"d":"45,-39v31,0,21,45,11,64v-8,15,-40,47,-59,24v-8,-29,35,-26,28,-65v-2,-14,9,-22,20,-23xm66,-143v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":87},"\u2026":{"d":"139,-14v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm66,-14v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm204,-14v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":219},"<":{"d":"202,-40v13,8,12,28,-4,30v-38,4,-62,-21,-91,-36r-76,-38v-16,-10,-17,-25,0,-33r150,-67v23,-6,40,21,19,31r-118,53","w":230},">":{"d":"46,-9v-23,7,-36,-22,-16,-31r118,-53r-120,-60v-18,-12,-5,-36,16,-31r155,76v17,8,14,25,0,32","w":230},"%":{"d":"73,-118v-40,0,-57,-25,-54,-70v2,-31,25,-46,54,-46v38,0,57,24,53,70v-3,30,-23,46,-53,46xm212,4v-38,0,-57,-24,-53,-70v3,-31,22,-46,53,-46v40,0,57,25,54,70v-2,31,-25,46,-54,46xm180,-225v8,-18,46,-5,35,16r-112,203v-5,14,-33,10,-36,-4v-2,-4,-1,-8,1,-12xm73,-204v-20,0,-20,18,-20,39v0,12,9,17,20,18v18,1,18,-19,18,-39v0,-12,-9,-17,-18,-18xm212,-83v-18,0,-19,18,-19,39v0,11,9,17,19,18v19,1,19,-18,19,-39v0,-12,-9,-18,-19,-18","w":284},"&":{"d":"106,-234v37,2,73,9,73,43v0,18,-28,18,-37,6v-18,-25,-79,-16,-76,23v4,50,84,30,132,30v10,0,14,8,15,17v0,14,-13,18,-29,16r1,56v-2,41,-39,47,-79,47v-46,0,-88,-17,-89,-65v-1,-30,20,-46,41,-55v-68,-31,-22,-123,48,-118xm107,-32v20,0,40,1,40,-21r0,-46v-43,-1,-89,-2,-89,36v0,25,24,31,49,31","w":212},"}":{"d":"54,-4v-7,-37,-13,-92,22,-101r0,-2v-34,-7,-28,-62,-22,-97v2,-13,-2,-25,-16,-24v-10,1,-19,-3,-18,-14v17,-40,82,-8,77,32v-4,32,-19,86,23,88v11,0,18,6,18,16v0,25,-38,9,-43,33v-9,40,25,129,-56,120v-10,-1,-19,-5,-19,-16v0,-24,40,-6,34,-35","w":153},"\u00b8":{"d":"73,-13v29,22,19,80,-26,73v-17,2,-41,-19,-21,-31v14,1,46,15,36,-19v-2,-6,-7,-13,-13,-23r24,0","w":109},"\u00a8":{"d":"62,-202v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm141,-202v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":155},"~":{"d":"171,-84v-49,3,-73,-66,-109,-23v-2,11,-8,20,-22,20v-11,0,-21,-9,-21,-22v0,-54,80,-61,112,-30v12,8,23,20,42,20v24,0,17,-33,41,-33v12,0,21,7,21,18v0,35,-29,48,-64,50","w":254},"\u2013":{"d":"19,-105v-1,-12,8,-20,17,-20r121,0v14,0,20,7,20,20v0,12,-7,18,-20,18r-121,0v-8,-1,-18,-7,-17,-18","w":196},"\u2014":{"d":"19,-105v-1,-12,8,-20,17,-20r185,0v14,0,20,7,21,20v-1,12,-8,18,-21,18r-185,0v-8,-1,-18,-7,-17,-18","w":260},"*":{"d":"93,-234v24,0,14,32,15,52v17,-5,44,-30,57,-8v8,28,-31,27,-47,37v10,15,44,32,27,52v-27,16,-37,-26,-52,-36v-14,15,-40,62,-59,26v3,-18,23,-29,33,-43v-21,-7,-67,-20,-38,-45v18,-3,32,12,47,16v1,-21,-7,-51,17,-51xm93,-158r0,0r0,0","w":185},"\u00f7":{"d":"118,-150v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm118,-37v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm15,-98v-1,-12,8,-20,17,-20r121,0v14,0,20,7,20,20v0,12,-7,18,-20,18r-121,0v-8,-1,-18,-7,-17,-18","w":188},"\u00af":{"d":"21,-211v-1,-11,7,-19,16,-19r114,0v13,0,18,7,18,19v0,11,-6,17,-18,17r-114,-0v-8,-1,-17,-7,-16,-17","w":196},"\u00a2":{"d":"84,-183v-2,-20,1,-37,19,-37v17,0,20,17,18,37v21,5,42,14,44,35v-7,38,-38,3,-62,3v-30,0,-39,28,-38,61v1,27,11,49,38,49v23,0,28,-13,46,-16v10,1,17,8,16,19v-1,19,-24,31,-44,35v1,22,3,45,-18,45v-20,0,-20,-23,-19,-45v-44,-9,-62,-43,-61,-97v1,-49,19,-81,61,-89","w":187},"\u00a3":{"d":"19,-93v-19,2,-35,-1,-35,-19v0,-18,15,-22,35,-20v-3,-62,13,-102,75,-99v32,1,56,12,65,35v-9,37,-43,2,-65,1v-31,-2,-29,31,-29,63v25,1,57,-7,57,20v0,26,-33,18,-57,19v0,21,1,45,-6,57r93,0v9,0,15,9,15,18v0,10,-4,18,-15,18r-136,0v-9,-1,-16,-5,-17,-13v1,-24,27,-26,20,-60r0,-20","w":165},"\u00b6":{"d":"26,-151v0,-61,37,-79,105,-79v12,0,22,7,22,17r0,198v0,22,-41,26,-42,2r0,-68v-54,3,-85,-21,-85,-70","w":190},"\u00ab":{"d":"182,-36v7,19,-17,35,-34,23v-16,-25,-37,-46,-50,-75v9,-31,34,-47,49,-72v15,-16,46,5,33,23r-34,48xm103,-36v5,18,-17,35,-34,23v-16,-25,-37,-46,-50,-75v9,-30,33,-47,48,-72v15,-16,45,4,33,23r-33,48","w":202},"\u00bb":{"d":"102,-139v-7,-18,16,-35,33,-23v16,25,36,47,50,75v-9,30,-33,47,-48,72v-15,16,-46,-4,-33,-23r34,-48xm56,-86v-10,-24,-51,-50,-28,-76v7,-6,19,-5,26,0v16,25,36,47,50,75v-9,31,-34,47,-49,72v-15,16,-46,-4,-33,-23","w":204,"k":{"Y":24,"W":21,"V":14,"T":20,"A":3}},"\u2019":{"d":"59,-235v30,0,17,44,10,62v-6,16,-38,45,-56,23v-9,-21,20,-22,22,-40v2,-21,0,-45,24,-45","w":90},"\u2018":{"d":"31,-140v-30,0,-19,-43,-11,-62v7,-16,38,-47,57,-23v9,21,-20,22,-22,40v-2,21,-1,45,-24,45","w":90},"\u201c":{"d":"31,-140v-30,0,-19,-43,-11,-62v7,-16,38,-47,57,-23v9,21,-20,22,-22,40v-2,21,-1,45,-24,45xm100,-140v-30,0,-19,-43,-11,-62v7,-16,38,-47,57,-23v9,21,-20,22,-22,40v-2,21,-1,45,-24,45","w":155},"\u201d":{"d":"59,-235v30,0,17,44,10,62v-6,16,-38,45,-56,23v-9,-21,20,-22,22,-40v2,-21,0,-45,24,-45xm123,-235v30,0,17,44,10,62v-6,16,-38,45,-56,23v-9,-21,20,-22,22,-40v2,-21,0,-45,24,-45","w":150},"\u00b7":{"d":"66,-113v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":87},"\u00a5":{"d":"19,-102v-1,-19,20,-16,39,-16r-50,-87v-12,-14,9,-30,23,-28v5,1,9,3,12,6r53,98r54,-98v13,-15,48,2,36,22r-51,87v17,0,36,-2,36,16v0,24,-40,7,-55,17r0,17v22,2,56,-8,55,16v0,21,-34,12,-55,14v1,22,1,41,-20,41v-22,0,-22,-19,-21,-41v-22,-2,-56,8,-56,-14v-1,-25,34,-14,56,-16r0,-20v-22,-2,-55,8,-56,-14","w":192},"\u00f8":{"d":"39,-25v-16,-16,-16,-44,-16,-76v0,-72,77,-102,131,-69v4,-20,41,-21,33,6r-13,16v29,61,11,151,-70,151v-17,0,-31,-3,-43,-9v-5,14,-30,26,-35,4v-2,-11,9,-16,13,-23xm129,-139v-27,-18,-67,0,-64,37v1,14,-1,29,2,41xm86,-38v44,15,67,-21,57,-71"},"\u00a9":{"d":"157,-207v-72,0,-117,43,-117,116v0,73,42,118,117,118v76,0,118,-46,118,-118v0,-72,-45,-116,-118,-116xm157,55v-92,0,-149,-54,-149,-146v0,-91,58,-143,149,-143v92,0,150,53,150,143v0,91,-57,146,-150,146xm157,3v-60,0,-72,-52,-67,-118v2,-41,24,-68,67,-68v24,0,48,7,50,30v-8,28,-30,-4,-51,0v-41,-2,-33,50,-33,89v0,23,13,36,33,37v21,1,25,-11,41,-12v7,0,10,5,10,12v-2,22,-27,30,-50,30","w":314},"\u00ae":{"d":"157,-210v-73,0,-117,45,-117,119v0,73,42,118,117,118v76,0,118,-46,118,-118v0,-73,-44,-119,-118,-119xm157,55v-92,0,-149,-54,-149,-146v0,-92,57,-146,149,-146v93,0,150,55,150,146v0,91,-57,146,-150,146xm119,-3v-9,1,-16,-6,-16,-13r0,-149v1,-19,34,-11,54,-12v42,-2,66,13,65,54v-1,22,-9,31,-28,39v9,24,27,43,30,70v-2,10,-22,16,-27,5r-31,-64r-32,0v-4,25,12,69,-15,70xm191,-121v0,-31,-27,-30,-57,-29r0,51v27,1,57,2,57,-22","w":314},"\u00bf":{"d":"80,-108v0,-19,40,-24,40,-0v0,57,-53,54,-59,97v-5,40,64,31,74,6v7,-17,42,-8,34,14v-11,27,-39,45,-79,45v-45,-1,-70,-24,-71,-67v-1,-52,61,-41,61,-95xm121,-166v0,13,-10,18,-25,18v-10,-0,-18,-6,-18,-18v0,-14,11,-19,25,-18v9,1,18,7,18,18","w":189},"\u00a1":{"d":"46,-115v11,-0,22,6,21,17r0,134v1,10,-10,17,-21,17v-11,-0,-21,-7,-20,-17r0,-134v-1,-10,9,-17,20,-17xm46,-184v14,0,24,8,21,25v1,10,-10,17,-21,17v-14,-0,-23,-9,-20,-25v-1,-10,9,-17,20,-17","w":92},"\u00b0":{"d":"62,-131v-31,0,-54,-19,-54,-50v0,-32,22,-52,54,-52v31,0,52,20,52,52v0,30,-22,50,-52,50xm62,-203v-13,0,-23,10,-23,22v0,11,11,20,23,20v11,0,21,-9,21,-20v0,-12,-9,-22,-21,-22","w":122},"\u2122":{"d":"186,-150v0,9,-20,9,-20,0r0,-50v-7,16,-11,57,-34,38r-13,-38v-3,19,9,55,-10,57v-5,1,-10,-3,-9,-7r0,-74v-1,-6,5,-9,12,-8v22,6,19,38,31,55r19,-49v3,-9,24,-8,24,2r0,74xm42,-213v-11,-1,-27,3,-27,-8v5,-19,44,-5,64,-9v6,0,10,3,10,9v0,11,-17,7,-28,8r0,63v0,4,-5,8,-9,8v-20,-6,-6,-48,-10,-71","w":200},"@":{"d":"82,-65v-5,-74,72,-126,128,-82v29,23,6,82,5,122v44,-2,56,-39,56,-83v0,-61,-35,-93,-99,-92v-82,2,-127,50,-128,133v-1,75,50,109,126,103v8,0,15,6,15,14v0,13,-15,14,-30,14v-85,-3,-141,-42,-141,-129v0,-102,58,-163,158,-163v82,0,128,42,128,120v0,66,-30,109,-98,109v-15,0,-18,-13,-24,-22v-27,41,-107,18,-96,-44xm137,-114v-21,28,-14,108,31,74v17,-13,22,-57,14,-81v-11,-13,-38,-9,-45,7","w":315},"k":{"d":"48,3v-11,0,-22,-7,-22,-17r0,-214v0,-10,11,-17,22,-17v11,0,21,7,20,17r0,113r17,0r52,-64v19,-15,46,11,28,30r-47,51r58,71v11,14,-7,32,-22,30v-5,-1,-9,-3,-12,-6r-58,-75r-16,0v-4,30,13,81,-20,81","w":189,"k":{",":-11,"u":-1,"o":7,"e":4,"a":10,".":-5,"-":1}},"K":{"d":"69,-13v-1,21,-41,22,-42,0r0,-204v0,-10,10,-17,22,-17v37,4,14,69,20,104r11,0r69,-98v16,-18,48,5,31,27r-65,86r73,87v12,12,-3,34,-19,31v-5,0,-9,-2,-12,-5r-75,-92r-13,0r0,81","w":196,"k":{"u":6,"o":4,"e":7,"a":5,"T":-15,"S":3,"O":5,"G":5,"C":5,"-":-1}},"\u00d8":{"d":"36,-36v-17,-24,-13,-65,-13,-104v0,-58,30,-94,91,-94v26,0,46,7,60,19v6,-14,29,-29,36,-5v1,13,-11,19,-16,28v15,26,9,63,12,102v6,82,-89,117,-149,77v-6,13,-29,32,-38,8v-1,-14,12,-21,17,-31xm149,-183v-31,-25,-85,-10,-84,43r1,66xm81,-45v33,22,82,7,82,-45r0,-62","w":228},"\u00de":{"d":"68,-13v-1,27,-42,18,-42,-2r0,-198v0,-10,11,-17,22,-17v23,0,21,23,20,46v65,-3,116,10,115,72v-1,56,-52,67,-115,63r0,36xm141,-110v3,-39,-34,-40,-73,-38r0,65v33,1,71,2,73,-27","w":200},"\u00fe":{"d":"115,3v-21,0,-34,-8,-44,-19r-3,1v-5,33,16,92,-20,94v-11,0,-22,-7,-22,-17r0,-290v0,-10,10,-17,21,-17v33,0,18,48,21,78v12,-3,26,-18,45,-17v57,3,81,41,77,104v-2,49,-23,84,-75,83xm106,-144v-39,0,-38,31,-38,69v0,25,14,39,38,39v32,0,41,-27,41,-66v0,-25,-17,-42,-41,-42","w":209},"\u00d0":{"d":"99,0v-26,0,-67,9,-68,-17r0,-77v-28,7,-34,-36,-9,-38r9,0v6,-35,-17,-95,21,-98v103,-9,151,31,142,137v-5,59,-34,93,-95,93xm121,-113v0,23,-26,19,-48,19r0,56v46,4,79,-7,79,-51v0,-66,-6,-114,-79,-103r0,60v22,0,48,-5,48,19","w":217},"\u00f0":{"d":"112,-189v-12,11,-40,36,-46,7v2,-10,13,-14,19,-21v-15,-7,-43,-3,-40,-24v4,-32,55,-13,75,-4v9,-11,35,-31,41,-3v0,8,-12,14,-17,19v61,40,63,223,-46,217v-53,-3,-79,-31,-79,-83v0,-68,78,-92,119,-54v10,-19,-12,-44,-26,-54xm61,-82v-2,29,11,45,38,46v27,0,41,-15,41,-43v0,-24,-17,-38,-41,-40v-24,-1,-37,15,-38,37","w":201},"\u00c7":{"d":"122,3v25,36,-22,74,-59,50v-12,-7,-5,-33,11,-23v20,12,38,-8,23,-27v-70,-5,-78,-71,-74,-150v2,-54,30,-87,84,-87v32,0,62,10,65,39v-9,35,-40,-1,-65,-1v-52,0,-42,64,-42,115v-1,29,16,46,42,47v25,2,30,-14,51,-15v10,-1,14,6,14,14v-1,23,-26,35,-50,38","w":179},"\u00e7":{"d":"117,2v23,37,-21,74,-59,51v-12,-7,-6,-32,10,-23v12,6,34,6,28,-14v-1,-3,-2,-8,-4,-13v-58,-2,-72,-44,-72,-108v0,-52,29,-79,80,-79v30,0,66,11,55,43v-13,19,-35,-3,-55,-3v-35,0,-40,30,-38,67v1,25,13,41,38,41v25,-1,52,-21,58,8v-1,20,-22,27,-41,30","w":169},"\u00c0":{"d":"200,-20v4,16,-15,27,-32,21v-16,-10,-14,-35,-22,-52r-78,0v-10,20,-6,57,-38,54v-9,-3,-21,-12,-17,-22r71,-200v3,-20,40,-19,47,0xm79,-86r56,0r-28,-89xm111,-258v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":213},"\u00c1":{"d":"200,-20v4,16,-15,27,-32,21v-16,-10,-14,-35,-22,-52r-78,0v-10,20,-6,57,-38,54v-9,-3,-21,-12,-17,-22r71,-200v3,-20,40,-19,47,0xm79,-86r56,0r-28,-89xm164,-279v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":213},"\u00c2":{"d":"108,-282v-17,7,-37,39,-57,21v-9,-30,35,-34,49,-50v27,-7,40,22,60,30v15,10,-1,35,-16,24xm200,-20v4,16,-15,27,-32,21v-16,-10,-14,-35,-22,-52r-78,0v-10,20,-6,57,-38,54v-9,-3,-21,-12,-17,-22r71,-200v3,-20,40,-19,47,0xm79,-86r56,0r-28,-89","w":213},"\u00c3":{"d":"188,-290v-5,59,-73,31,-106,16v-21,-2,-15,20,-32,21v-10,0,-17,-6,-17,-17v0,-40,56,-49,80,-26v10,4,15,12,28,12v19,0,17,-32,41,-17v3,3,5,7,6,11xm200,-20v4,16,-15,27,-32,21v-16,-10,-14,-35,-22,-52r-78,0v-10,20,-6,57,-38,54v-9,-3,-21,-12,-17,-22r71,-200v3,-20,40,-19,47,0xm79,-86r56,0r-28,-89","w":213},"\u00c4":{"d":"200,-20v4,16,-15,27,-32,21v-16,-10,-14,-35,-22,-52r-78,0v-10,20,-6,57,-38,54v-9,-3,-21,-12,-17,-22r71,-200v3,-20,40,-19,47,0xm79,-86r56,0r-28,-89xm90,-271v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm170,-271v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":213},"\u00c5":{"d":"107,-254v-22,0,-38,-13,-38,-35v0,-23,16,-37,38,-37v22,0,37,14,37,37v0,21,-16,35,-37,35xm107,-305v-8,0,-16,8,-16,16v0,7,8,14,16,14v8,0,15,-6,15,-14v0,-8,-7,-16,-15,-16xm200,-20v4,16,-15,27,-32,21v-16,-10,-14,-35,-22,-52r-78,0v-10,20,-6,57,-38,54v-9,-3,-21,-12,-17,-22r71,-200v3,-20,40,-19,47,0xm79,-86r56,0r-28,-89","w":213},"\u00c8":{"d":"150,-230v14,0,20,6,20,19v0,13,-6,19,-20,19r-81,0r0,56v29,3,75,-11,75,20v0,30,-48,14,-75,18r0,60r81,0v14,0,20,6,20,19v0,13,-6,19,-20,19r-101,0v-11,0,-22,-7,-22,-17r0,-196v0,-10,11,-17,22,-17r101,0xm103,-255v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":187},"\u00c9":{"d":"150,-230v14,0,20,6,20,19v0,13,-6,19,-20,19r-81,0r0,56v29,3,75,-11,75,20v0,30,-48,14,-75,18r0,60r81,0v14,0,20,6,20,19v0,13,-6,19,-20,19r-101,0v-11,0,-22,-7,-22,-17r0,-196v0,-10,11,-17,22,-17r101,0xm156,-276v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":187},"\u00ca":{"d":"100,-279v-17,7,-37,39,-57,21v-4,-7,-5,-13,2,-18v18,-12,34,-26,55,-35v21,6,35,22,52,33v14,9,-1,36,-16,25xm150,-230v14,0,20,6,20,19v0,13,-6,19,-20,19r-81,0r0,56v29,3,75,-11,75,20v0,30,-48,14,-75,18r0,60r81,0v14,0,20,6,20,19v0,13,-6,19,-20,19r-101,0v-11,0,-22,-7,-22,-17r0,-196v0,-10,11,-17,22,-17r101,0","w":187},"\u00cb":{"d":"150,-230v14,0,20,6,20,19v0,13,-6,19,-20,19r-81,0r0,56v29,3,75,-11,75,20v0,30,-48,14,-75,18r0,60r81,0v14,0,20,6,20,19v0,13,-6,19,-20,19r-101,0v-11,0,-22,-7,-22,-17r0,-196v0,-10,11,-17,22,-17r101,0xm83,-267v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm162,-267v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":187},"\u00cc":{"d":"49,3v-12,0,-22,-7,-22,-17r0,-203v0,-10,10,-17,22,-17v11,0,20,8,20,17r0,203v0,9,-10,17,-20,17xm52,-259v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":96},"\u00cd":{"d":"49,3v-12,0,-22,-7,-22,-17r0,-203v0,-10,10,-17,22,-17v11,0,20,8,20,17r0,203v0,9,-10,17,-20,17xm106,-279v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":96},"\u00ce":{"d":"50,-282v-17,7,-36,36,-57,21v-4,-7,-5,-13,1,-19v21,-10,34,-34,63,-33v16,14,41,21,50,41v-7,35,-42,0,-57,-10xm49,3v-12,0,-22,-7,-22,-17r0,-203v0,-10,10,-17,22,-17v11,0,20,8,20,17r0,203v0,9,-10,17,-20,17","w":96},"\u00cf":{"d":"49,3v-12,0,-22,-7,-22,-17r0,-203v0,-10,10,-17,22,-17v11,0,20,8,20,17r0,203v0,9,-10,17,-20,17xm32,-271v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm111,-271v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":96},"\u00d1":{"d":"191,-287v-3,59,-74,32,-105,16v-21,-2,-17,20,-33,22v-9,-1,-17,-8,-17,-18v-1,-40,55,-49,80,-26v10,4,15,12,28,12v20,2,17,-34,41,-16v3,3,5,6,6,10xm49,4v-10,0,-22,-7,-22,-17r0,-204v0,-20,39,-23,42,-3r97,141r0,-138v0,-10,9,-17,21,-17v11,0,21,7,20,17r0,204v0,21,-36,22,-41,4r-97,-140r0,136v0,10,-10,17,-20,17","w":234},"\u00d2":{"d":"114,4v-78,0,-96,-60,-91,-144v4,-58,30,-94,91,-94v79,-1,97,60,92,144v-3,59,-32,94,-92,94xm114,-195v-52,-3,-49,51,-49,105v0,38,16,53,49,55v53,3,49,-51,49,-105v0,-38,-16,-53,-49,-55xm118,-258v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":228},"\u00d3":{"d":"114,4v-78,0,-96,-60,-91,-144v4,-58,30,-94,91,-94v79,-1,97,60,92,144v-3,59,-32,94,-92,94xm114,-195v-52,-3,-49,51,-49,105v0,38,16,53,49,55v53,3,49,-51,49,-105v0,-38,-16,-53,-49,-55xm172,-279v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":228},"\u00d4":{"d":"116,-282v-17,8,-37,39,-58,21v-7,-31,35,-34,49,-50v26,-7,40,22,60,30v15,10,-1,35,-16,24xm114,4v-78,0,-96,-60,-91,-144v4,-58,30,-94,91,-94v79,-1,97,60,92,144v-3,59,-32,94,-92,94xm114,-195v-52,-3,-49,51,-49,105v0,38,16,53,49,55v53,3,49,-51,49,-105v0,-38,-16,-53,-49,-55","w":228},"\u00d5":{"d":"195,-290v-4,59,-73,32,-105,16v-22,-3,-15,21,-33,21v-10,0,-16,-7,-16,-17v0,-50,71,-43,93,-18v4,3,9,4,14,4v21,1,16,-33,42,-17v3,3,4,7,5,11xm114,4v-78,0,-96,-60,-91,-144v4,-58,30,-94,91,-94v79,-1,97,60,92,144v-3,59,-32,94,-92,94xm114,-195v-52,-3,-49,51,-49,105v0,38,16,53,49,55v53,3,49,-51,49,-105v0,-38,-16,-53,-49,-55","w":228},"\u00d6":{"d":"114,4v-78,0,-96,-60,-91,-144v4,-58,30,-94,91,-94v79,-1,97,60,92,144v-3,59,-32,94,-92,94xm114,-195v-52,-3,-49,51,-49,105v0,38,16,53,49,55v53,3,49,-51,49,-105v0,-38,-16,-53,-49,-55xm98,-271v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm178,-271v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":228},"\u00d9":{"d":"205,-81v-2,54,-32,85,-89,85v-57,0,-90,-30,-90,-85r0,-136v0,-10,11,-17,22,-17v11,0,21,7,20,17r0,136v0,30,17,45,48,45v31,0,46,-15,46,-45r0,-136v0,-10,10,-17,21,-17v11,0,22,7,22,17r0,136xm120,-259v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":234},"\u00da":{"d":"205,-81v-2,54,-32,85,-89,85v-57,0,-90,-30,-90,-85r0,-136v0,-10,11,-17,22,-17v11,0,21,7,20,17r0,136v0,30,17,45,48,45v31,0,46,-15,46,-45r0,-136v0,-10,10,-17,21,-17v11,0,22,7,22,17r0,136xm173,-280v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":234},"\u00db":{"d":"117,-283v-17,7,-37,39,-57,21v-9,-31,34,-34,48,-50v26,-9,41,20,60,30v15,8,0,35,-15,24xm205,-81v-2,54,-32,85,-89,85v-57,0,-90,-30,-90,-85r0,-136v0,-10,11,-17,22,-17v11,0,21,7,20,17r0,136v0,30,17,45,48,45v31,0,46,-15,46,-45r0,-136v0,-10,10,-17,21,-17v11,0,22,7,22,17r0,136","w":234},"\u00dc":{"d":"205,-81v-2,54,-32,85,-89,85v-57,0,-90,-30,-90,-85r0,-136v0,-10,11,-17,22,-17v11,0,21,7,20,17r0,136v0,30,17,45,48,45v31,0,46,-15,46,-45r0,-136v0,-10,10,-17,21,-17v11,0,22,7,22,17r0,136xm99,-272v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm179,-272v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":234},"\u00dd":{"d":"99,3v-37,0,-17,-56,-22,-89r-65,-119v-13,-21,20,-38,35,-22r52,102r52,-102v13,-16,47,0,35,22r-67,123v-4,31,14,85,-20,85xm157,-279v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":198},"\u00e0":{"d":"182,-12v0,10,-9,17,-21,17v-13,0,-23,-8,-21,-22r-3,-1v-9,13,-24,22,-47,22v-54,-2,-72,-43,-68,-104v3,-51,33,-84,85,-84v47,0,75,24,75,72r0,100xm99,-36v39,1,41,-34,41,-76v0,-24,-11,-32,-33,-32v-39,0,-45,35,-42,77v1,18,15,31,34,31xm107,-211v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19"},"\u00e1":{"d":"182,-12v0,10,-9,17,-21,17v-13,0,-23,-8,-21,-22r-3,-1v-9,13,-24,22,-47,22v-54,-2,-72,-43,-68,-104v3,-51,33,-84,85,-84v47,0,75,24,75,72r0,100xm99,-36v39,1,41,-34,41,-76v0,-24,-11,-32,-33,-32v-39,0,-45,35,-42,77v1,18,15,31,34,31xm160,-231v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24"},"\u00e2":{"d":"104,-234v-17,7,-36,36,-57,21v-4,-7,-4,-14,2,-19v21,-10,34,-34,63,-33v16,14,41,21,50,41v-7,35,-43,0,-58,-10xm182,-12v0,10,-9,17,-21,17v-13,0,-23,-8,-21,-22r-3,-1v-9,13,-24,22,-47,22v-54,-2,-72,-43,-68,-104v3,-51,33,-84,85,-84v47,0,75,24,75,72r0,100xm99,-36v39,1,41,-34,41,-76v0,-24,-11,-32,-33,-32v-39,0,-45,35,-42,77v1,18,15,31,34,31"},"\u00e3":{"d":"184,-243v-4,59,-73,32,-105,17v-22,-3,-16,20,-33,21v-10,0,-16,-7,-16,-17v0,-27,19,-39,46,-39v28,0,36,22,61,24v20,2,16,-32,41,-16v3,3,5,6,6,10xm182,-12v0,10,-9,17,-21,17v-13,0,-23,-8,-21,-22r-3,-1v-9,13,-24,22,-47,22v-54,-2,-72,-43,-68,-104v3,-51,33,-84,85,-84v47,0,75,24,75,72r0,100xm99,-36v39,1,41,-34,41,-76v0,-24,-11,-32,-33,-32v-39,0,-45,35,-42,77v1,18,15,31,34,31"},"\u00e4":{"d":"182,-12v0,10,-9,17,-21,17v-13,0,-23,-8,-21,-22r-3,-1v-9,13,-24,22,-47,22v-54,-2,-72,-43,-68,-104v3,-51,33,-84,85,-84v47,0,75,24,75,72r0,100xm99,-36v39,1,41,-34,41,-76v0,-24,-11,-32,-33,-32v-39,0,-45,35,-42,77v1,18,15,31,34,31xm87,-223v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm166,-223v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27"},"\u00e5":{"d":"103,-206v-22,0,-38,-14,-38,-36v0,-22,16,-36,38,-36v22,0,37,14,37,36v0,22,-16,36,-37,36xm103,-257v-8,0,-16,7,-16,15v0,7,8,14,16,14v8,0,15,-6,15,-14v0,-8,-7,-15,-15,-15xm182,-12v0,10,-9,17,-21,17v-13,0,-23,-8,-21,-22r-3,-1v-9,13,-24,22,-47,22v-54,-2,-72,-43,-68,-104v3,-51,33,-84,85,-84v47,0,75,24,75,72r0,100xm99,-36v39,1,41,-34,41,-76v0,-24,-11,-32,-33,-32v-39,0,-45,35,-42,77v1,18,15,31,34,31"},"\u00e8":{"d":"98,-184v47,0,74,28,76,73v4,52,-71,24,-113,31v-10,55,58,55,89,35v9,0,16,6,16,16v-26,58,-147,35,-147,-39v0,-70,18,-116,79,-116xm134,-111v6,-36,-42,-49,-62,-27v-6,7,-10,16,-11,27r73,0xm99,-209v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":193},"\u00e9":{"d":"98,-184v47,0,74,28,76,73v4,52,-71,24,-113,31v-10,55,58,55,89,35v9,0,16,6,16,16v-26,58,-147,35,-147,-39v0,-70,18,-116,79,-116xm134,-111v6,-36,-42,-49,-62,-27v-6,7,-10,16,-11,27r73,0xm153,-230v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":193},"\u00ea":{"d":"97,-233v-17,7,-37,39,-57,21v-4,-6,-4,-12,1,-18v19,-11,34,-26,55,-35v21,6,35,22,52,33v14,9,-1,36,-16,25xm98,-184v47,0,74,28,76,73v4,52,-71,24,-113,31v-10,55,58,55,89,35v9,0,16,6,16,16v-26,58,-147,35,-147,-39v0,-70,18,-116,79,-116xm134,-111v6,-36,-42,-49,-62,-27v-6,7,-10,16,-11,27r73,0","w":193},"\u00eb":{"d":"98,-184v47,0,74,28,76,73v4,52,-71,24,-113,31v-10,55,58,55,89,35v9,0,16,6,16,16v-26,58,-147,35,-147,-39v0,-70,18,-116,79,-116xm134,-111v6,-36,-42,-49,-62,-27v-6,7,-10,16,-11,27r73,0xm79,-221v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm159,-221v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":193},"\u00ec":{"d":"48,3v-11,0,-22,-7,-22,-17r0,-156v0,-20,43,-22,42,0r0,156v1,10,-9,17,-20,17xm52,-213v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":95},"\u00ed":{"d":"48,3v-11,0,-22,-7,-22,-17r0,-156v0,-20,43,-22,42,0r0,156v1,10,-9,17,-20,17xm105,-233v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":95},"\u00ee":{"d":"49,-236v-17,7,-36,36,-57,21v-4,-7,-4,-13,1,-19v21,-10,34,-34,63,-33v16,14,39,22,50,41v1,12,-9,20,-21,15xm48,3v-11,0,-22,-7,-22,-17r0,-156v0,-20,43,-22,42,0r0,156v1,10,-9,17,-20,17","w":95},"\u00ef":{"d":"48,3v-11,0,-22,-7,-22,-17r0,-156v0,-20,43,-22,42,0r0,156v1,10,-9,17,-20,17xm31,-225v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm111,-225v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":95},"\u00f1":{"d":"186,-244v-3,59,-75,33,-105,16v-20,-1,-16,22,-33,22v-10,0,-17,-7,-16,-18v1,-26,20,-37,46,-38v28,0,37,21,61,24v20,1,16,-32,42,-16v3,3,4,6,5,10xm25,-104v0,-50,29,-80,80,-80v50,0,79,26,80,76r0,95v-1,21,-42,23,-42,0v0,-52,19,-131,-38,-131v-57,0,-38,80,-38,131v0,10,-10,17,-20,17v-40,0,-22,-70,-22,-108","w":210},"\u00f2":{"d":"102,3v-62,0,-85,-38,-82,-104v3,-52,29,-83,82,-83v61,0,85,42,81,108v-3,50,-29,78,-81,79xm102,-146v-36,-1,-40,31,-40,70v0,25,15,41,40,41v35,0,41,-30,39,-67v-1,-27,-14,-44,-39,-44xm106,-209v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":203},"\u00f3":{"d":"102,3v-62,0,-85,-38,-82,-104v3,-52,29,-83,82,-83v61,0,85,42,81,108v-3,50,-29,78,-81,79xm102,-146v-36,-1,-40,31,-40,70v0,25,15,41,40,41v35,0,41,-30,39,-67v-1,-27,-14,-44,-39,-44xm159,-230v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":203},"\u00f4":{"d":"103,-233v-17,7,-37,39,-57,21v-4,-7,-5,-13,2,-18v18,-12,34,-25,54,-35v22,5,35,22,53,33v15,9,-1,36,-16,25xm102,3v-62,0,-85,-38,-82,-104v3,-52,29,-83,82,-83v61,0,85,42,81,108v-3,50,-29,78,-81,79xm102,-146v-36,-1,-40,31,-40,70v0,25,15,41,40,41v35,0,41,-30,39,-67v-1,-27,-14,-44,-39,-44","w":203},"\u00f5":{"d":"183,-241v-3,59,-74,32,-105,16v-21,-2,-17,22,-33,22v-10,0,-17,-8,-17,-18v1,-26,21,-39,47,-39v27,0,36,22,61,25v20,2,17,-34,41,-16v3,3,5,6,6,10xm102,3v-62,0,-85,-38,-82,-104v3,-52,29,-83,82,-83v61,0,85,42,81,108v-3,50,-29,78,-81,79xm102,-146v-36,-1,-40,31,-40,70v0,25,15,41,40,41v35,0,41,-30,39,-67v-1,-27,-14,-44,-39,-44","w":203},"\u00f6":{"d":"102,3v-62,0,-85,-38,-82,-104v3,-52,29,-83,82,-83v61,0,85,42,81,108v-3,50,-29,78,-81,79xm102,-146v-36,-1,-40,31,-40,70v0,25,15,41,40,41v35,0,41,-30,39,-67v-1,-27,-14,-44,-39,-44xm85,-221v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm165,-221v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":203},"\u00f9":{"d":"185,-76v-1,50,-29,80,-80,80v-51,0,-80,-29,-80,-80r0,-90v0,-10,11,-17,22,-17v11,0,20,7,20,17v0,51,-19,130,38,130v57,0,38,-79,38,-130v0,-10,9,-17,20,-17v11,0,22,7,22,17r0,90xm109,-211v-28,-4,-58,-12,-73,-31v-1,-14,7,-30,24,-24v19,13,46,18,59,36v3,9,-3,18,-10,19","w":210},"\u00fa":{"d":"185,-76v-1,50,-29,80,-80,80v-51,0,-80,-29,-80,-80r0,-90v0,-10,11,-17,22,-17v11,0,20,7,20,17v0,51,-19,130,38,130v57,0,38,-79,38,-130v0,-10,9,-17,20,-17v11,0,22,7,22,17r0,90xm163,-232v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":210},"\u00fb":{"d":"107,-235v-17,7,-37,39,-57,21v-4,-7,-4,-13,1,-19v21,-10,34,-34,63,-33v16,14,40,22,50,42v-8,35,-41,-2,-57,-11xm185,-76v-1,50,-29,80,-80,80v-51,0,-80,-29,-80,-80r0,-90v0,-10,11,-17,22,-17v11,0,20,7,20,17v0,51,-19,130,38,130v57,0,38,-79,38,-130v0,-10,9,-17,20,-17v11,0,22,7,22,17r0,90","w":210},"\u00fc":{"d":"185,-76v-1,50,-29,80,-80,80v-51,0,-80,-29,-80,-80r0,-90v0,-10,11,-17,22,-17v11,0,20,7,20,17v0,51,-19,130,38,130v57,0,38,-79,38,-130v0,-10,9,-17,20,-17v11,0,22,7,22,17r0,90xm89,-224v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm169,-224v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":210},"\u00fd":{"d":"139,-168v2,-21,43,-21,42,1r0,180v-1,46,-31,66,-76,67v-27,0,-55,-2,-55,-23v0,-41,92,10,89,-44v0,-9,3,-23,-2,-28v-10,12,-22,18,-44,18v-85,0,-65,-92,-67,-170v0,-10,11,-17,22,-17v11,0,20,7,21,17v6,49,-22,131,34,131v56,0,32,-82,36,-132xm162,-231v-23,5,-56,34,-73,10v-5,-6,-1,-17,5,-18v22,-8,56,-45,75,-16v5,9,2,22,-7,24","w":207},"\u00ff":{"d":"139,-168v2,-21,43,-21,42,1r0,180v-1,46,-31,66,-76,67v-27,0,-55,-2,-55,-23v0,-41,92,10,89,-44v0,-9,3,-23,-2,-28v-10,12,-22,18,-44,18v-85,0,-65,-92,-67,-170v0,-10,11,-17,22,-17v11,0,20,7,21,17v6,49,-22,131,34,131v56,0,32,-82,36,-132xm88,-223v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27xm167,-223v-2,22,-44,24,-46,0v-1,-18,8,-27,23,-27v14,1,25,10,23,27","w":207},"\u00a0":{"w":92}}});



function magicinput(e){
  if(e.defaultValue == e.value){
    e.value=''
  }
  
  e.onblur = function(){
    if(e.value==''){
      e.value = e.defaultValue;
    }
  }
}

$.fn.starRating = function(){

  var $form = this.parent('form');
  var url = $form.attr('action');
  return this.stars({
    inputType: "select",
    oneVoteOnly: true,
    starClass: 'ui-stars-star',
    starOnClass: 'ui-stars-star-on',
    starHoverClass: 'ui-stars-star-hover',
    cancelHoverClass: 'ui-stars-cancel-hover',
    captionEl: $('#caption'),
    callback: function(ui, type, value){
      $.post(url, $form.serialize(), function(data, textStatus, xhr){
        $('#count').html(data.count);
        $('#avg').html(data.avg);
      });
    }
  });
};


$.fn.enableLyric= function(){
	this.each(function(){
		var $this = $(this);
		var id = $this.attr('data-lyric');
		
		$this.load("/noindex/lyric/"+id);
		
	})
}






$(document).ready(function() {
      $.localScroll();
      $('.table :checkbox.toggle').each(function(i, toggle) {
        $(toggle).change(function(e) {
          $(toggle).parents('table:first').find(':checkbox:not(.toggle)').each(function(j, checkbox) {
            checkbox.checked = !checkbox.checked;
          })
        });
      });
    });
	

	
$(document).ready(function() {
  $('#q').autocomplete({
    source: '/search/autocomplete?',
    minLength: 3
  });
  
  $('#song_title').autocomplete({
    source: '/search/autocomplete?',
    minLength: 3
  });
  
  $(function(){
	  $('.lyric_box').enableLyric();
	});
  
  
  $('a[rel=favorite]').addFavorite();
  $('#stars-wrapper').starRating();
  $(".images a:has(img)").fancybox();
  
  Cufon.replace('.head, .topnav, #footer h6',  { fontFamily: 'Ubuntu Titling Rg' , hover: true, textShadow: '1px 1px rgba(0, 0, 0, 0.2)'
 });
  
  $('.menu-nav li').hover(
			function() {
				$(this).addClass("active");
				$(this).find('.ulwrapper').stop(false, true).slideDown();
				$(this).find('.ulwrapper .ulwrapper').stop(false, true).slideUp('fast');
			},
			function() {
				$(this).removeClass("active");        
				$(this).find('div').stop(false, true).slideUp('fast');
			}
		);
		$('.ulwrapper').hover(
			function() {
				$('.parent').addClass("active_tab");
			},
			function() {
				$('.parent').removeClass("active_tab");        
			}
		);
  
//  window.fbAsyncInit = function() {
//FB.init({appId: 'c7a25d00ec3c551b767c1b2b610dddc8', status: true, cookie: true,
//         xfbml: true}, '/xd_receiver.html');
//};
//(function() {
//var e = document.createElement('script'); e.async = true;
//e.src = document.location.protocol +facebook_host();
//document.getElementById('fb-root').appendChild(e);
//}());
});	


function facebook_host()
{
	var hostname = window.location.hostname;
	
	if(hostname.indexOf('de') > -1)
	{
		return '//connect.facebook.net/de_DE/all.js';
	}
	else
	{
		return '//connect.facebook.net/en_US/all.js';
	}
}




function publish_fb(message)
{
FB.ui(
   {
     method: 'stream.publish',
     message: '',
    },{}
  );

}


/**
 * @author digineo gmbh
 */

$(document).ready(function(){
$("#featured").tabs({fx:{opacity: "toggle"}}).tabs("rotate", 5000, true);
$("#featured").hover(
function() {
$("#featured").tabs("rotate",0,true);
},
function() {
$("#featured").tabs("rotate",5000,true);
}
);
});


