text: /*! Fabric.js Copyright 2008-2014, Printio (Juriy Zaytsev, Maxim Chernyak) */
  
  var fabric = fabric || { version: "1.4.12" };
  if (typeof exports !== 'undefined') {
    exports.fabric = fabric;
  }
  
  if (typeof document !== 'undefined' && typeof window !== 'undefined') {
    fabric.document = document;
    fabric.window = window;
  }
  else {
    // assume we're running under node.js when document/window are not present
    fabric.document = require("jsdom")
      .jsdom("<!DOCTYPE html><html><head></head><body></body></html>");
  
    fabric.window = fabric.document.createWindow();
  }
  
  /**
   * True when in environment that supports touch events
   * @type boolean
   */
  fabric.isTouchSupported = "ontouchstart" in fabric.document.documentElement;
  
  /**
   * True when in environment that's probably Node.js
   * @type boolean
   */
  fabric.isLikelyNode = typeof Buffer !== 'undefined' &&
                        typeof window === 'undefined';
  
  
  /**
   * Attributes parsed from all SVG elements
   * @type array
   */
  fabric.SHARED_ATTRIBUTES = [
    "display",
    "transform",
    "fill", "fill-opacity", "fill-rule",
    "opacity",
    "stroke", "stroke-dasharray", "stroke-linecap",
    "stroke-linejoin", "stroke-miterlimit",
    "stroke-opacity", "stroke-width"
  ];
  
  /**
   * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.
   */
  fabric.DPI = 96;
  