{"version":3,"file":"pwc-375.3237a742.chunk.js","mappings":"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","sources":["../node_modules/fabric-webpack/dist/fabric.js","../node_modules/querystring/decode.js","../node_modules/querystring/encode.js","../node_modules/querystring/index.js","../node_modules/url/node_modules/punycode/punycode.js","../node_modules/url/url.js","../node_modules/url/util.js"],"sourcesContent":["/* build: `node build.js modules=ALL exclude=json,gestures minifier=uglifyjs` */\n/*! Fabric.js Copyright 2008-2015, Printio (Juriy Zaytsev, Maxim Chernyak) */\n\nvar fabric = fabric || { version: \"1.6.0-rc.1\" };\nif (typeof exports !== 'undefined') {\n exports.fabric = fabric;\n}\n\nif (typeof document !== 'undefined' && typeof window !== 'undefined') {\n fabric.document = document;\n fabric.window = window;\n // ensure globality even if entire library were function wrapped (as in Meteor.js packaging system)\n window.fabric = fabric;\n}\nelse {\n // assume we're running under node.js when document/window are not present\n fabric.document = require(\"jsdom\")\n .jsdom(\"
\");\n\n if (fabric.document.createWindow) {\n fabric.window = fabric.document.createWindow();\n } else {\n fabric.window = fabric.document.parentWindow;\n }\n}\n\n/**\n * True when in environment that supports touch events\n * @type boolean\n */\nfabric.isTouchSupported = \"ontouchstart\" in fabric.document.documentElement;\n\n/**\n * True when in environment that's probably Node.js\n * @type boolean\n */\nfabric.isLikelyNode = typeof Buffer !== 'undefined' &&\n typeof window === 'undefined';\n\n/* _FROM_SVG_START_ */\n/**\n * Attributes parsed from all SVG elements\n * @type array\n */\nfabric.SHARED_ATTRIBUTES = [\n \"display\",\n \"transform\",\n \"fill\", \"fill-opacity\", \"fill-rule\",\n \"opacity\",\n \"stroke\", \"stroke-dasharray\", \"stroke-linecap\",\n \"stroke-linejoin\", \"stroke-miterlimit\",\n \"stroke-opacity\", \"stroke-width\",\n \"id\"\n];\n/* _FROM_SVG_END_ */\n\n/**\n * Pixel per Inch as a default value set to 96. Can be changed for more realistic conversion.\n */\nfabric.DPI = 96;\nfabric.reNum = '(?:[-+]?(?:\\\\d+|\\\\d*\\\\.\\\\d+)(?:e[-+]?\\\\d+)?)';\n\n\n/**\n * Device Pixel Ratio\n * @see https://developer.apple.com/library/safari/documentation/AudioVideo/Conceptual/HTML-canvas-guide/SettingUptheCanvas/SettingUptheCanvas.html\n */\nfabric.devicePixelRatio = fabric.window.devicePixelRatio ||\n fabric.window.webkitDevicePixelRatio ||\n fabric.window.mozDevicePixelRatio ||\n 1;\n\n\n(function() {\n\n /**\n * @private\n * @param {String} eventName\n * @param {Function} handler\n */\n function _removeEventListener(eventName, handler) {\n if (!this.__eventListeners[eventName]) {\n return;\n }\n\n if (handler) {\n fabric.util.removeFromArray(this.__eventListeners[eventName], handler);\n }\n else {\n this.__eventListeners[eventName].length = 0;\n }\n }\n\n /**\n * Observes specified event\n * @deprecated `observe` deprecated since 0.8.34 (use `on` instead)\n * @memberOf fabric.Observable\n * @alias on\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function that receives a notification when an event of the specified type occurs\n * @return {Self} thisArg\n * @chainable\n */\n function observe(eventName, handler) {\n if (!this.__eventListeners) {\n this.__eventListeners = { };\n }\n // one object with key/value pairs was passed\n if (arguments.length === 1) {\n for (var prop in eventName) {\n this.on(prop, eventName[prop]);\n }\n }\n else {\n if (!this.__eventListeners[eventName]) {\n this.__eventListeners[eventName] = [ ];\n }\n this.__eventListeners[eventName].push(handler);\n }\n return this;\n }\n\n /**\n * Stops event observing for a particular event handler. Calling this method\n * without arguments removes all handlers for all events\n * @deprecated `stopObserving` deprecated since 0.8.34 (use `off` instead)\n * @memberOf fabric.Observable\n * @alias off\n * @param {String|Object} eventName Event name (eg. 'after:render') or object with key/value pairs (eg. {'after:render': handler, 'selection:cleared': handler})\n * @param {Function} handler Function to be deleted from EventListeners\n * @return {Self} thisArg\n * @chainable\n */\n function stopObserving(eventName, handler) {\n if (!this.__eventListeners) {\n return;\n }\n\n // remove all key/value pairs (event name -> event handler)\n if (arguments.length === 0) {\n this.__eventListeners = { };\n }\n // one object with key/value pairs was passed\n else if (arguments.length === 1 && typeof arguments[0] === 'object') {\n for (var prop in eventName) {\n _removeEventListener.call(this, prop, eventName[prop]);\n }\n }\n else {\n _removeEventListener.call(this, eventName, handler);\n }\n return this;\n }\n\n /**\n * Fires event with an optional options object\n * @deprecated `fire` deprecated since 1.0.7 (use `trigger` instead)\n * @memberOf fabric.Observable\n * @alias trigger\n * @param {String} eventName Event name to fire\n * @param {Object} [options] Options object\n * @return {Self} thisArg\n * @chainable\n */\n function fire(eventName, options) {\n if (!this.__eventListeners) {\n return;\n }\n\n var listenersForEvent = this.__eventListeners[eventName];\n if (!listenersForEvent) {\n return;\n }\n\n for (var i = 0, len = listenersForEvent.length; i < len; i++) {\n // avoiding try/catch for perf. reasons\n listenersForEvent[i].call(this, options || { });\n }\n return this;\n }\n\n /**\n * @namespace fabric.Observable\n * @tutorial {@link http://fabricjs.com/fabric-intro-part-2/#events}\n * @see {@link http://fabricjs.com/events/|Events demo}\n */\n fabric.Observable = {\n observe: observe,\n stopObserving: stopObserving,\n fire: fire,\n\n on: observe,\n off: stopObserving,\n trigger: fire\n };\n})();\n\n\n/**\n * @namespace fabric.Collection\n */\nfabric.Collection = {\n\n /**\n * Adds objects to collection, then renders canvas (if `renderOnAddRemove` is not `false`)\n * Objects should be instances of (or inherit from) fabric.Object\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n */\n add: function () {\n this._objects.push.apply(this._objects, arguments);\n for (var i = 0, length = arguments.length; i < length; i++) {\n this._onObjectAdded(arguments[i]);\n }\n this.renderOnAddRemove && this.renderAll();\n return this;\n },\n\n /**\n * Inserts an object into collection at specified index, then renders canvas (if `renderOnAddRemove` is not `false`)\n * An object should be an instance of (or inherit from) fabric.Object\n * @param {Object} object Object to insert\n * @param {Number} index Index to insert object at\n * @param {Boolean} nonSplicing When `true`, no splicing (shifting) of objects occurs\n * @return {Self} thisArg\n * @chainable\n */\n insertAt: function (object, index, nonSplicing) {\n var objects = this.getObjects();\n if (nonSplicing) {\n objects[index] = object;\n }\n else {\n objects.splice(index, 0, object);\n }\n this._onObjectAdded(object);\n this.renderOnAddRemove && this.renderAll();\n return this;\n },\n\n /**\n * Removes objects from a collection, then renders canvas (if `renderOnAddRemove` is not `false`)\n * @param {...fabric.Object} object Zero or more fabric instances\n * @return {Self} thisArg\n * @chainable\n */\n remove: function() {\n var objects = this.getObjects(),\n index;\n\n for (var i = 0, length = arguments.length; i < length; i++) {\n index = objects.indexOf(arguments[i]);\n\n // only call onObjectRemoved if an object was actually removed\n if (index !== -1) {\n objects.splice(index, 1);\n this._onObjectRemoved(arguments[i]);\n }\n }\n\n this.renderOnAddRemove && this.renderAll();\n return this;\n },\n\n /**\n * Executes given function for each object in this group\n * @param {Function} callback\n * Callback invoked with current object as first argument,\n * index - as second and an array of all objects - as third.\n * Iteration happens in reverse order (for performance reasons).\n * Callback is invoked in a context of Global Object (e.g. `window`)\n * when no `context` argument is given\n *\n * @param {Object} context Context (aka thisObject)\n * @return {Self} thisArg\n */\n forEachObject: function(callback, context) {\n var objects = this.getObjects(),\n i = objects.length;\n while (i--) {\n callback.call(context, objects[i], i, objects);\n }\n return this;\n },\n\n /**\n * Returns an array of children objects of this instance\n * Type parameter introduced in 1.3.10\n * @param {String} [type] When specified, only objects of this type are returned\n * @return {Array}\n */\n getObjects: function(type) {\n if (typeof type === 'undefined') {\n return this._objects;\n }\n return this._objects.filter(function(o) {\n return o.type === type;\n });\n },\n\n /**\n * Returns object at specified index\n * @param {Number} index\n * @return {Self} thisArg\n */\n item: function (index) {\n return this.getObjects()[index];\n },\n\n /**\n * Returns true if collection contains no objects\n * @return {Boolean} true if collection is empty\n */\n isEmpty: function () {\n return this.getObjects().length === 0;\n },\n\n /**\n * Returns a size of a collection (i.e: length of an array containing its objects)\n * @return {Number} Collection size\n */\n size: function() {\n return this.getObjects().length;\n },\n\n /**\n * Returns true if collection contains an object\n * @param {Object} object Object to check against\n * @return {Boolean} `true` if collection contains an object\n */\n contains: function(object) {\n return this.getObjects().indexOf(object) > -1;\n },\n\n /**\n * Returns number representation of a collection complexity\n * @return {Number} complexity\n */\n complexity: function () {\n return this.getObjects().reduce(function (memo, current) {\n memo += current.complexity ? current.complexity() : 0;\n return memo;\n }, 0);\n }\n};\n\n\n(function(global) {\n\n var sqrt = Math.sqrt,\n atan2 = Math.atan2,\n PiBy180 = Math.PI / 180;\n\n /**\n * @namespace fabric.util\n */\n fabric.util = {\n\n /**\n * Removes value from an array.\n * Presence of value (and its position in an array) is determined via `Array.prototype.indexOf`\n * @static\n * @memberOf fabric.util\n * @param {Array} array\n * @param {Any} value\n * @return {Array} original array\n */\n removeFromArray: function(array, value) {\n var idx = array.indexOf(value);\n if (idx !== -1) {\n array.splice(idx, 1);\n }\n return array;\n },\n\n /**\n * Returns random number between 2 specified ones.\n * @static\n * @memberOf fabric.util\n * @param {Number} min lower limit\n * @param {Number} max upper limit\n * @return {Number} random value (between min and max)\n */\n getRandomInt: function(min, max) {\n return Math.floor(Math.random() * (max - min + 1)) + min;\n },\n\n /**\n * Transforms degrees to radians.\n * @static\n * @memberOf fabric.util\n * @param {Number} degrees value in degrees\n * @return {Number} value in radians\n */\n degreesToRadians: function(degrees) {\n return degrees * PiBy180;\n },\n\n /**\n * Transforms radians to degrees.\n * @static\n * @memberOf fabric.util\n * @param {Number} radians value in radians\n * @return {Number} value in degrees\n */\n radiansToDegrees: function(radians) {\n return radians / PiBy180;\n },\n\n /**\n * Rotates `point` around `origin` with `radians`\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} point The point to rotate\n * @param {fabric.Point} origin The origin of the rotation\n * @param {Number} radians The radians of the angle for the rotation\n * @return {fabric.Point} The new rotated point\n */\n rotatePoint: function(point, origin, radians) {\n point.subtractEquals(origin);\n var sin = Math.sin(radians),\n cos = Math.cos(radians),\n rx = point.x * cos - point.y * sin,\n ry = point.x * sin + point.y * cos;\n return new fabric.Point(rx, ry).addEquals(origin);\n },\n\n /**\n * Apply transform t to point p\n * @static\n * @memberOf fabric.util\n * @param {fabric.Point} p The point to transform\n * @param {Array} t The transform\n * @param {Boolean} [ignoreOffset] Indicates that the offset should not be applied\n * @return {fabric.Point} The transformed point\n */\n transformPoint: function(p, t, ignoreOffset) {\n if (ignoreOffset) {\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y,\n t[1] * p.x + t[3] * p.y\n );\n }\n return new fabric.Point(\n t[0] * p.x + t[2] * p.y + t[4],\n t[1] * p.x + t[3] * p.y + t[5]\n );\n },\n\n /**\n * Invert transformation t\n * @static\n * @memberOf fabric.util\n * @param {Array} t The transform\n * @return {Array} The inverted transform\n */\n invertTransform: function(t) {\n var a = 1 / (t[0] * t[3] - t[1] * t[2]),\n r = [a * t[3], -a * t[1], -a * t[2], a * t[0]],\n o = fabric.util.transformPoint({ x: t[4], y: t[5] }, r, true);\n r[4] = -o.x;\n r[5] = -o.y;\n return r;\n },\n\n /**\n * A wrapper around Number#toFixed, which contrary to native method returns number, not string.\n * @static\n * @memberOf fabric.util\n * @param {Number|String} number number to operate on\n * @param {Number} fractionDigits number of fraction digits to \"leave\"\n * @return {Number}\n */\n toFixed: function(number, fractionDigits) {\n return parseFloat(Number(number).toFixed(fractionDigits));\n },\n\n /**\n * Converts from attribute value to pixel value if applicable.\n * Returns converted pixels or original value not converted.\n * @param {Number|String} value number to operate on\n * @return {Number|String}\n */\n parseUnit: function(value, fontSize) {\n var unit = /\\D{0,2}$/.exec(value),\n number = parseFloat(value);\n if (!fontSize) {\n fontSize = fabric.Text.DEFAULT_SVG_FONT_SIZE;\n }\n switch (unit[0]) {\n case 'mm':\n return number * fabric.DPI / 25.4;\n\n case 'cm':\n return number * fabric.DPI / 2.54;\n\n case 'in':\n return number * fabric.DPI;\n\n case 'pt':\n return number * fabric.DPI / 72; // or * 4 / 3\n\n case 'pc':\n return number * fabric.DPI / 72 * 12; // or * 16\n\n case 'em':\n return number * fontSize;\n\n default:\n return number;\n }\n },\n\n /**\n * Function which always returns `false`.\n * @static\n * @memberOf fabric.util\n * @return {Boolean}\n */\n falseFunction: function() {\n return false;\n },\n\n /**\n * Returns klass \"Class\" object of given namespace\n * @memberOf fabric.util\n * @param {String} type Type of object (eg. 'circle')\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @return {Object} klass \"Class\"\n */\n getKlass: function(type, namespace) {\n // capitalize first letter only\n type = fabric.util.string.camelize(type.charAt(0).toUpperCase() + type.slice(1));\n return fabric.util.resolveNamespace(namespace)[type];\n },\n\n /**\n * Returns object of given namespace\n * @memberOf fabric.util\n * @param {String} namespace Namespace string e.g. 'fabric.Image.filter' or 'fabric'\n * @return {Object} Object for given namespace (default fabric)\n */\n resolveNamespace: function(namespace) {\n if (!namespace) {\n return fabric;\n }\n\n var parts = namespace.split('.'),\n len = parts.length,\n obj = global || fabric.window;\n\n for (var i = 0; i < len; ++i) {\n obj = obj[parts[i]];\n }\n\n return obj;\n },\n\n /**\n * Loads image element from given url and passes it to a callback\n * @memberOf fabric.util\n * @param {String} url URL representing an image\n * @param {Function} callback Callback; invoked with loaded image\n * @param {Any} [context] Context to invoke callback in\n * @param {Object} [crossOrigin] crossOrigin value to set image element to\n */\n loadImage: function(url, callback, context, crossOrigin) {\n if (!url) {\n callback && callback.call(context, url);\n return;\n }\n\n var img = fabric.util.createImage();\n\n /** @ignore */\n img.onload = function () {\n callback && callback.call(context, img);\n img = img.onload = img.onerror = null;\n };\n\n /** @ignore */\n img.onerror = function() {\n fabric.log('Error loading ' + img.src);\n callback && callback.call(context, null, true);\n img = img.onload = img.onerror = null;\n };\n\n // data-urls appear to be buggy with crossOrigin\n // https://github.com/kangax/fabric.js/commit/d0abb90f1cd5c5ef9d2a94d3fb21a22330da3e0a#commitcomment-4513767\n // see https://code.google.com/p/chromium/issues/detail?id=315152\n // https://bugzilla.mozilla.org/show_bug.cgi?id=935069\n if (url.indexOf('data') !== 0 && typeof crossOrigin !== 'undefined') {\n img.crossOrigin = crossOrigin;\n }\n\n img.src = url;\n },\n\n /**\n * Creates corresponding fabric instances from their object representations\n * @static\n * @memberOf fabric.util\n * @param {Array} objects Objects to enliven\n * @param {Function} callback Callback to invoke when all objects are created\n * @param {String} namespace Namespace to get klass \"Class\" object from\n * @param {Function} reviver Method for further parsing of object elements,\n * called after each fabric object created.\n */\n enlivenObjects: function(objects, callback, namespace, reviver) {\n objects = objects || [ ];\n\n function onLoaded() {\n if (++numLoadedObjects === numTotalObjects) {\n callback && callback(enlivenedObjects);\n }\n }\n\n var enlivenedObjects = [ ],\n numLoadedObjects = 0,\n numTotalObjects = objects.length;\n\n if (!numTotalObjects) {\n callback && callback(enlivenedObjects);\n return;\n }\n\n objects.forEach(function (o, index) {\n // if sparse array\n if (!o || !o.type) {\n onLoaded();\n return;\n }\n var klass = fabric.util.getKlass(o.type, namespace);\n if (klass.async) {\n klass.fromObject(o, function (obj, error) {\n if (!error) {\n enlivenedObjects[index] = obj;\n reviver && reviver(o, enlivenedObjects[index]);\n }\n onLoaded();\n });\n }\n else {\n enlivenedObjects[index] = klass.fromObject(o);\n reviver && reviver(o, enlivenedObjects[index]);\n onLoaded();\n }\n });\n },\n\n /**\n * Groups SVG elements (usually those retrieved from SVG document)\n * @static\n * @memberOf fabric.util\n * @param {Array} elements SVG elements to group\n * @param {Object} [options] Options object\n * @return {fabric.Object|fabric.PathGroup}\n */\n groupSVGElements: function(elements, options, path) {\n var object;\n\n object = new fabric.PathGroup(elements, options);\n\n if (typeof path !== 'undefined') {\n object.setSourcePath(path);\n }\n return object;\n },\n\n /**\n * Populates an object with properties of another object\n * @static\n * @memberOf fabric.util\n * @param {Object} source Source object\n * @param {Object} destination Destination object\n * @return {Array} properties Propertie names to include\n */\n populateWithProperties: function(source, destination, properties) {\n if (properties && Object.prototype.toString.call(properties) === '[object Array]') {\n for (var i = 0, len = properties.length; i < len; i++) {\n if (properties[i] in source) {\n destination[properties[i]] = source[properties[i]];\n }\n }\n }\n },\n\n /**\n * Draws a dashed line between two points\n *\n * This method is used to draw dashed line around selection area.\n * See dotted stroke in canvas\n *\n * @param {CanvasRenderingContext2D} ctx context\n * @param {Number} x start x coordinate\n * @param {Number} y start y coordinate\n * @param {Number} x2 end x coordinate\n * @param {Number} y2 end y coordinate\n * @param {Array} da dash array pattern\n */\n drawDashedLine: function(ctx, x, y, x2, y2, da) {\n var dx = x2 - x,\n dy = y2 - y,\n len = sqrt(dx * dx + dy * dy),\n rot = atan2(dy, dx),\n dc = da.length,\n di = 0,\n draw = true;\n\n ctx.save();\n ctx.translate(x, y);\n ctx.moveTo(0, 0);\n ctx.rotate(rot);\n\n x = 0;\n while (len > x) {\n x += da[di++ % dc];\n if (x > len) {\n x = len;\n }\n ctx[draw ? 'lineTo' : 'moveTo'](x, 0);\n draw = !draw;\n }\n\n ctx.restore();\n },\n\n /**\n * Creates canvas element and initializes it via excanvas if necessary\n * @static\n * @memberOf fabric.util\n * @param {CanvasElement} [canvasEl] optional canvas element to initialize;\n * when not given, element is created implicitly\n * @return {CanvasElement} initialized canvas element\n */\n createCanvasElement: function(canvasEl) {\n canvasEl || (canvasEl = fabric.document.createElement('canvas'));\n //jscs:disable requireCamelCaseOrUpperCaseIdentifiers\n if (!canvasEl.getContext && typeof G_vmlCanvasManager !== 'undefined') {\n G_vmlCanvasManager.initElement(canvasEl);\n }\n //jscs:enable requireCamelCaseOrUpperCaseIdentifiers\n return canvasEl;\n },\n\n /**\n * Creates image element (works on client and node)\n * @static\n * @memberOf fabric.util\n * @return {HTMLImageElement} HTML image element\n */\n createImage: function() {\n return fabric.isLikelyNode\n ? new (require('canvas').Image)()\n : fabric.document.createElement('img');\n },\n\n /**\n * Creates accessors (getXXX, setXXX) for a \"class\", based on \"stateProperties\" array\n * @static\n * @memberOf fabric.util\n * @param {Object} klass \"Class\" to create accessors for\n */\n createAccessors: function(klass) {\n var proto = klass.prototype;\n\n for (var i = proto.stateProperties.length; i--; ) {\n\n var propName = proto.stateProperties[i],\n capitalizedPropName = propName.charAt(0).toUpperCase() + propName.slice(1),\n setterName = 'set' + capitalizedPropName,\n getterName = 'get' + capitalizedPropName;\n\n // using `new Function` for better introspection\n if (!proto[getterName]) {\n proto[getterName] = (function(property) {\n return new Function('return this.get(\"' + property + '\")');\n })(propName);\n }\n if (!proto[setterName]) {\n proto[setterName] = (function(property) {\n return new Function('value', 'return this.set(\"' + property + '\", value)');\n })(propName);\n }\n }\n },\n\n /**\n * @static\n * @memberOf fabric.util\n * @param {fabric.Object} receiver Object implementing `clipTo` method\n * @param {CanvasRenderingContext2D} ctx Context to clip\n */\n clipContext: function(receiver, ctx) {\n ctx.save();\n ctx.beginPath();\n receiver.clipTo(ctx);\n ctx.clip();\n },\n\n /**\n * Multiply matrix A by matrix B to nest transformations\n * @static\n * @memberOf fabric.util\n * @param {Array} a First transformMatrix\n * @param {Array} b Second transformMatrix\n * @return {Array} The product of the two transform matrices\n */\n multiplyTransformMatrices: function(a, b) {\n // Matrix multiply a * b\n return [\n a[0] * b[0] + a[2] * b[1],\n a[1] * b[0] + a[3] * b[1],\n a[0] * b[2] + a[2] * b[3],\n a[1] * b[2] + a[3] * b[3],\n a[0] * b[4] + a[2] * b[5] + a[4],\n a[1] * b[4] + a[3] * b[5] + a[5]\n ];\n },\n\n /**\n * Returns string representation of function body\n * @param {Function} fn Function to get body of\n * @return {String} Function body\n */\n getFunctionBody: function(fn) {\n return (String(fn).match(/function[^{]*\\{([\\s\\S]*)\\}/) || {})[1];\n },\n\n /**\n * Returns true if context has transparent pixel\n * at specified location (taking tolerance into account)\n * @param {CanvasRenderingContext2D} ctx context\n * @param {Number} x x coordinate\n * @param {Number} y y coordinate\n * @param {Number} tolerance Tolerance\n */\n isTransparent: function(ctx, x, y, tolerance) {\n\n // If tolerance is > 0 adjust start coords to take into account.\n // If moves off Canvas fix to 0\n if (tolerance > 0) {\n if (x > tolerance) {\n x -= tolerance;\n }\n else {\n x = 0;\n }\n if (y > tolerance) {\n y -= tolerance;\n }\n else {\n y = 0;\n }\n }\n\n var _isTransparent = true,\n imageData = ctx.getImageData(x, y, (tolerance * 2) || 1, (tolerance * 2) || 1);\n\n // Split image data - for tolerance > 1, pixelDataSize = 4;\n for (var i = 3, l = imageData.data.length; i < l; i += 4) {\n var temp = imageData.data[i];\n _isTransparent = temp <= 0;\n if (_isTransparent === false) {\n break; // Stop if colour found\n }\n }\n\n imageData = null;\n\n return _isTransparent;\n }\n };\n\n})(typeof exports !== 'undefined' ? exports : this);\n\n\n(function() {\n\n var arcToSegmentsCache = { },\n segmentToBezierCache = { },\n boundsOfCurveCache = { },\n _join = Array.prototype.join;\n\n /* Adapted from http://dxr.mozilla.org/mozilla-central/source/content/svg/content/src/nsSVGPathDataParser.cpp\n * by Andrea Bogazzi code is under MPL. if you don't have a copy of the license you can take it here\n * http://mozilla.org/MPL/2.0/\n */\n function arcToSegments(toX, toY, rx, ry, large, sweep, rotateX) {\n var argsString = _join.call(arguments);\n if (arcToSegmentsCache[argsString]) {\n return arcToSegmentsCache[argsString];\n }\n\n var PI = Math.PI, th = rotateX * PI / 180,\n sinTh = Math.sin(th),\n cosTh = Math.cos(th),\n fromX = 0, fromY = 0;\n\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n\n var px = -cosTh * toX * 0.5 - sinTh * toY * 0.5,\n py = -cosTh * toY * 0.5 + sinTh * toX * 0.5,\n rx2 = rx * rx, ry2 = ry * ry, py2 = py * py, px2 = px * px,\n pl = rx2 * ry2 - rx2 * py2 - ry2 * px2,\n root = 0;\n\n if (pl < 0) {\n var s = Math.sqrt(1 - pl/(rx2 * ry2));\n rx *= s;\n ry *= s;\n }\n else {\n root = (large === sweep ? -1.0 : 1.0) *\n Math.sqrt( pl /(rx2 * py2 + ry2 * px2));\n }\n\n var cx = root * rx * py / ry,\n cy = -root * ry * px / rx,\n cx1 = cosTh * cx - sinTh * cy + toX * 0.5,\n cy1 = sinTh * cx + cosTh * cy + toY * 0.5,\n mTheta = calcVectorAngle(1, 0, (px - cx) / rx, (py - cy) / ry),\n dtheta = calcVectorAngle((px - cx) / rx, (py - cy) / ry, (-px - cx) / rx, (-py - cy) / ry);\n\n if (sweep === 0 && dtheta > 0) {\n dtheta -= 2 * PI;\n }\n else if (sweep === 1 && dtheta < 0) {\n dtheta += 2 * PI;\n }\n\n // Convert into cubic bezier segments <= 90deg\n var segments = Math.ceil(Math.abs(dtheta / PI * 2)),\n result = [], mDelta = dtheta / segments,\n mT = 8 / 3 * Math.sin(mDelta / 4) * Math.sin(mDelta / 4) / Math.sin(mDelta / 2),\n th3 = mTheta + mDelta;\n\n for (var i = 0; i < segments; i++) {\n result[i] = segmentToBezier(mTheta, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY);\n fromX = result[i][4];\n fromY = result[i][5];\n mTheta = th3;\n th3 += mDelta;\n }\n arcToSegmentsCache[argsString] = result;\n return result;\n }\n\n function segmentToBezier(th2, th3, cosTh, sinTh, rx, ry, cx1, cy1, mT, fromX, fromY) {\n var argsString2 = _join.call(arguments);\n if (segmentToBezierCache[argsString2]) {\n return segmentToBezierCache[argsString2];\n }\n\n var costh2 = Math.cos(th2),\n sinth2 = Math.sin(th2),\n costh3 = Math.cos(th3),\n sinth3 = Math.sin(th3),\n toX = cosTh * rx * costh3 - sinTh * ry * sinth3 + cx1,\n toY = sinTh * rx * costh3 + cosTh * ry * sinth3 + cy1,\n cp1X = fromX + mT * ( - cosTh * rx * sinth2 - sinTh * ry * costh2),\n cp1Y = fromY + mT * ( - sinTh * rx * sinth2 + cosTh * ry * costh2),\n cp2X = toX + mT * ( cosTh * rx * sinth3 + sinTh * ry * costh3),\n cp2Y = toY + mT * ( sinTh * rx * sinth3 - cosTh * ry * costh3);\n\n segmentToBezierCache[argsString2] = [\n cp1X, cp1Y,\n cp2X, cp2Y,\n toX, toY\n ];\n return segmentToBezierCache[argsString2];\n }\n\n /*\n * Private\n */\n function calcVectorAngle(ux, uy, vx, vy) {\n var ta = Math.atan2(uy, ux),\n tb = Math.atan2(vy, vx);\n if (tb >= ta) {\n return tb - ta;\n }\n else {\n return 2 * Math.PI - (ta - tb);\n }\n }\n\n /**\n * Draws arc\n * @param {CanvasRenderingContext2D} ctx\n * @param {Number} fx\n * @param {Number} fy\n * @param {Array} coords\n */\n fabric.util.drawArc = function(ctx, fx, fy, coords) {\n var rx = coords[0],\n ry = coords[1],\n rot = coords[2],\n large = coords[3],\n sweep = coords[4],\n tx = coords[5],\n ty = coords[6],\n segs = [[ ], [ ], [ ], [ ]],\n segsNorm = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot);\n\n for (var i = 0, len = segsNorm.length; i < len; i++) {\n segs[i][0] = segsNorm[i][0] + fx;\n segs[i][1] = segsNorm[i][1] + fy;\n segs[i][2] = segsNorm[i][2] + fx;\n segs[i][3] = segsNorm[i][3] + fy;\n segs[i][4] = segsNorm[i][4] + fx;\n segs[i][5] = segsNorm[i][5] + fy;\n ctx.bezierCurveTo.apply(ctx, segs[i]);\n }\n };\n\n /**\n * Calculate bounding box of a elliptic-arc\n * @param {Number} fx start point of arc\n * @param {Number} fy\n * @param {Number} rx horizontal radius\n * @param {Number} ry vertical radius\n * @param {Number} rot angle of horizontal axe\n * @param {Number} large 1 or 0, whatever the arc is the big or the small on the 2 points\n * @param {Number} sweep 1 or 0, 1 clockwise or counterclockwise direction\n * @param {Number} tx end point of arc\n * @param {Number} ty\n */\n fabric.util.getBoundsOfArc = function(fx, fy, rx, ry, rot, large, sweep, tx, ty) {\n\n var fromX = 0, fromY = 0, bound = [ ], bounds = [ ],\n segs = arcToSegments(tx - fx, ty - fy, rx, ry, large, sweep, rot),\n boundCopy = [[ ], [ ]];\n\n for (var i = 0, len = segs.length; i < len; i++) {\n bound = getBoundsOfCurve(fromX, fromY, segs[i][0], segs[i][1], segs[i][2], segs[i][3], segs[i][4], segs[i][5]);\n boundCopy[0].x = bound[0].x + fx;\n boundCopy[0].y = bound[0].y + fy;\n boundCopy[1].x = bound[1].x + fx;\n boundCopy[1].y = bound[1].y + fy;\n bounds.push(boundCopy[0]);\n bounds.push(boundCopy[1]);\n fromX = segs[i][4];\n fromY = segs[i][5];\n }\n return bounds;\n };\n\n /**\n * Calculate bounding box of a beziercurve\n * @param {Number} x0 starting point\n * @param {Number} y0\n * @param {Number} x1 first control point\n * @param {Number} y1\n * @param {Number} x2 secondo control point\n * @param {Number} y2\n * @param {Number} x3 end of beizer\n * @param {Number} y3\n */\n // taken from http://jsbin.com/ivomiq/56/edit no credits available for that.\n function getBoundsOfCurve(x0, y0, x1, y1, x2, y2, x3, y3) {\n var argsString = _join.call(arguments);\n if (boundsOfCurveCache[argsString]) {\n return boundsOfCurveCache[argsString];\n }\n\n var sqrt = Math.sqrt,\n min = Math.min, max = Math.max,\n abs = Math.abs, tvalues = [ ],\n bounds = [[ ], [ ]],\n a, b, c, t, t1, t2, b2ac, sqrtb2ac;\n\n b = 6 * x0 - 12 * x1 + 6 * x2;\n a = -3 * x0 + 9 * x1 - 9 * x2 + 3 * x3;\n c = 3 * x1 - 3 * x0;\n\n for (var i = 0; i < 2; ++i) {\n if (i > 0) {\n b = 6 * y0 - 12 * y1 + 6 * y2;\n a = -3 * y0 + 9 * y1 - 9 * y2 + 3 * y3;\n c = 3 * y1 - 3 * y0;\n }\n\n if (abs(a) < 1e-12) {\n if (abs(b) < 1e-12) {\n continue;\n }\n t = -c / b;\n if (0 < t && t < 1) {\n tvalues.push(t);\n }\n continue;\n }\n b2ac = b * b - 4 * c * a;\n if (b2ac < 0) {\n continue;\n }\n sqrtb2ac = sqrt(b2ac);\n t1 = (-b + sqrtb2ac) / (2 * a);\n if (0 < t1 && t1 < 1) {\n tvalues.push(t1);\n }\n t2 = (-b - sqrtb2ac) / (2 * a);\n if (0 < t2 && t2 < 1) {\n tvalues.push(t2);\n }\n }\n\n var x, y, j = tvalues.length, jlen = j, mt;\n while (j--) {\n t = tvalues[j];\n mt = 1 - t;\n x = (mt * mt * mt * x0) + (3 * mt * mt * t * x1) + (3 * mt * t * t * x2) + (t * t * t * x3);\n bounds[0][j] = x;\n\n y = (mt * mt * mt * y0) + (3 * mt * mt * t * y1) + (3 * mt * t * t * y2) + (t * t * t * y3);\n bounds[1][j] = y;\n }\n\n bounds[0][jlen] = x0;\n bounds[1][jlen] = y0;\n bounds[0][jlen + 1] = x3;\n bounds[1][jlen + 1] = y3;\n var result = [\n {\n x: min.apply(null, bounds[0]),\n y: min.apply(null, bounds[1])\n },\n {\n x: max.apply(null, bounds[0]),\n y: max.apply(null, bounds[1])\n }\n ];\n boundsOfCurveCache[argsString] = result;\n return result;\n }\n\n fabric.util.getBoundsOfCurve = getBoundsOfCurve;\n\n})();\n\n\n(function() {\n\n var slice = Array.prototype.slice;\n\n /* _ES5_COMPAT_START_ */\n\n if (!Array.prototype.indexOf) {\n /**\n * Finds index of an element in an array\n * @param {Any} searchElement\n * @param {Number} [fromIndex]\n * @return {Number}\n */\n Array.prototype.indexOf = function (searchElement /*, fromIndex */ ) {\n if (this === void 0 || this === null) {\n throw new TypeError();\n }\n var t = Object(this), len = t.length >>> 0;\n if (len === 0) {\n return -1;\n }\n var n = 0;\n if (arguments.length > 0) {\n n = Number(arguments[1]);\n if (n !== n) { // shortcut for verifying if it's NaN\n n = 0;\n }\n else if (n !== 0 && n !== Number.POSITIVE_INFINITY && n !== Number.NEGATIVE_INFINITY) {\n n = (n > 0 || -1) * Math.floor(Math.abs(n));\n }\n }\n if (n >= len) {\n return -1;\n }\n var k = n >= 0 ? n : Math.max(len - Math.abs(n), 0);\n for (; k < len; k++) {\n if (k in t && t[k] === searchElement) {\n return k;\n }\n }\n return -1;\n };\n }\n\n if (!Array.prototype.forEach) {\n /**\n * Iterates an array, invoking callback for each element\n * @param {Function} fn Callback to invoke for each element\n * @param {Object} [context] Context to invoke callback in\n * @return {Array}\n */\n Array.prototype.forEach = function(fn, context) {\n for (var i = 0, len = this.length >>> 0; i < len; i++) {\n if (i in this) {\n fn.call(context, this[i], i, this);\n }\n }\n };\n }\n\n if (!Array.prototype.map) {\n /**\n * Returns a result of iterating over an array, invoking callback for each element\n * @param {Function} fn Callback to invoke for each element\n * @param {Object} [context] Context to invoke callback in\n * @return {Array}\n */\n Array.prototype.map = function(fn, context) {\n var result = [ ];\n for (var i = 0, len = this.length >>> 0; i < len; i++) {\n if (i in this) {\n result[i] = fn.call(context, this[i], i, this);\n }\n }\n return result;\n };\n }\n\n if (!Array.prototype.every) {\n /**\n * Returns true if a callback returns truthy value for all elements in an array\n * @param {Function} fn Callback to invoke for each element\n * @param {Object} [context] Context to invoke callback in\n * @return {Boolean}\n */\n Array.prototype.every = function(fn, context) {\n for (var i = 0, len = this.length >>> 0; i < len; i++) {\n if (i in this && !fn.call(context, this[i], i, this)) {\n return false;\n }\n }\n return true;\n };\n }\n\n if (!Array.prototype.some) {\n /**\n * Returns true if a callback returns truthy value for at least one element in an array\n * @param {Function} fn Callback to invoke for each element\n * @param {Object} [context] Context to invoke callback in\n * @return {Boolean}\n */\n Array.prototype.some = function(fn, context) {\n for (var i = 0, len = this.length >>> 0; i < len; i++) {\n if (i in this && fn.call(context, this[i], i, this)) {\n return true;\n }\n }\n return false;\n };\n }\n\n if (!Array.prototype.filter) {\n /**\n * Returns the result of iterating over elements in an array\n * @param {Function} fn Callback to invoke for each element\n * @param {Object} [context] Context to invoke callback in\n * @return {Array}\n */\n Array.prototype.filter = function(fn, context) {\n var result = [ ], val;\n for (var i = 0, len = this.length >>> 0; i < len; i++) {\n if (i in this) {\n val = this[i]; // in case fn mutates this\n if (fn.call(context, val, i, this)) {\n result.push(val);\n }\n }\n }\n return result;\n };\n }\n\n if (!Array.prototype.reduce) {\n /**\n * Returns \"folded\" (reduced) result of iterating over elements in an array\n * @param {Function} fn Callback to invoke for each element\n * @param {Object} [initial] Object to use as the first argument to the first call of the callback\n * @return {Any}\n */\n Array.prototype.reduce = function(fn /*, initial*/) {\n var len = this.length >>> 0,\n i = 0,\n rv;\n\n if (arguments.length > 1) {\n rv = arguments[1];\n }\n else {\n do {\n if (i in this) {\n rv = this[i++];\n break;\n }\n // if array contains no values, no initial value to return\n if (++i >= len) {\n throw new TypeError();\n }\n }\n while (true);\n }\n for (; i < len; i++) {\n if (i in this) {\n rv = fn.call(null, rv, this[i], i, this);\n }\n }\n return rv;\n };\n }\n\n /* _ES5_COMPAT_END_ */\n\n /**\n * Invokes method on all items in a given array\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} method Name of a method to invoke\n * @return {Array}\n */\n function invoke(array, method) {\n var args = slice.call(arguments, 2), result = [ ];\n for (var i = 0, len = array.length; i < len; i++) {\n result[i] = args.length ? array[i][method].apply(array[i], args) : array[i][method].call(array[i]);\n }\n return result;\n }\n\n /**\n * Finds maximum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {Any}\n */\n function max(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 >= value2;\n });\n }\n\n /**\n * Finds minimum value in array (not necessarily \"first\" one)\n * @memberOf fabric.util.array\n * @param {Array} array Array to iterate over\n * @param {String} byProperty\n * @return {Any}\n */\n function min(array, byProperty) {\n return find(array, byProperty, function(value1, value2) {\n return value1 < value2;\n });\n }\n\n /**\n * @private\n */\n function find(array, byProperty, condition) {\n if (!array || array.length === 0) {\n return;\n }\n\n var i = array.length - 1,\n result = byProperty ? array[i][byProperty] : array[i];\n if (byProperty) {\n while (i--) {\n if (condition(array[i][byProperty], result)) {\n result = array[i][byProperty];\n }\n }\n }\n else {\n while (i--) {\n if (condition(array[i], result)) {\n result = array[i];\n }\n }\n }\n return result;\n }\n\n /**\n * @namespace fabric.util.array\n */\n fabric.util.array = {\n invoke: invoke,\n min: min,\n max: max\n };\n\n})();\n\n\n(function() {\n\n /**\n * Copies all enumerable properties of one object to another\n * @memberOf fabric.util.object\n * @param {Object} destination Where to copy to\n * @param {Object} source Where to copy from\n * @return {Object}\n */\n function extend(destination, source) {\n // JScript DontEnum bug is not taken care of\n for (var property in source) {\n destination[property] = source[property];\n }\n return destination;\n }\n\n /**\n * Creates an empty object and copies all enumerable properties of another object to it\n * @memberOf fabric.util.object\n * @param {Object} object Object to clone\n * @return {Object}\n */\n function clone(object) {\n return extend({ }, object);\n }\n\n /** @namespace fabric.util.object */\n fabric.util.object = {\n extend: extend,\n clone: clone\n };\n\n})();\n\n\n(function() {\n\n /* _ES5_COMPAT_START_ */\n if (!String.prototype.trim) {\n /**\n * Trims a string (removing whitespace from the beginning and the end)\n * @function external:String#trim\n * @see String#trim on MDN\n */\n String.prototype.trim = function () {\n // this trim is not fully ES3 or ES5 compliant, but it should cover most cases for now\n return this.replace(/^[\\s\\xA0]+/, '').replace(/[\\s\\xA0]+$/, '');\n };\n }\n /* _ES5_COMPAT_END_ */\n\n /**\n * Camelizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to camelize\n * @return {String} Camelized version of a string\n */\n function camelize(string) {\n return string.replace(/-+(.)?/g, function(match, character) {\n return character ? character.toUpperCase() : '';\n });\n }\n\n /**\n * Capitalizes a string\n * @memberOf fabric.util.string\n * @param {String} string String to capitalize\n * @param {Boolean} [firstLetterOnly] If true only first letter is capitalized\n * and other letters stay untouched, if false first letter is capitalized\n * and other letters are converted to lowercase.\n * @return {String} Capitalized version of a string\n */\n function capitalize(string, firstLetterOnly) {\n return string.charAt(0).toUpperCase() +\n (firstLetterOnly ? string.slice(1) : string.slice(1).toLowerCase());\n }\n\n /**\n * Escapes XML in a string\n * @memberOf fabric.util.string\n * @param {String} string String to escape\n * @return {String} Escaped version of a string\n */\n function escapeXml(string) {\n return string.replace(/&/g, '&')\n .replace(/\"/g, '"')\n .replace(/'/g, ''')\n .replace(//g, '>');\n }\n\n /**\n * String utilities\n * @namespace fabric.util.string\n */\n fabric.util.string = {\n camelize: camelize,\n capitalize: capitalize,\n escapeXml: escapeXml\n };\n}());\n\n\n/* _ES5_COMPAT_START_ */\n(function() {\n\n var slice = Array.prototype.slice,\n apply = Function.prototype.apply,\n Dummy = function() { };\n\n if (!Function.prototype.bind) {\n /**\n * Cross-browser approximation of ES5 Function.prototype.bind (not fully spec conforming)\n * @see Function#bind on MDN\n * @param {Object} thisArg Object to bind function to\n * @param {Any[]} [...] Values to pass to a bound function\n * @return {Function}\n */\n Function.prototype.bind = function(thisArg) {\n var _this = this, args = slice.call(arguments, 1), bound;\n if (args.length) {\n bound = function() {\n return apply.call(_this, this instanceof Dummy ? this : thisArg, args.concat(slice.call(arguments)));\n };\n }\n else {\n /** @ignore */\n bound = function() {\n return apply.call(_this, this instanceof Dummy ? this : thisArg, arguments);\n };\n }\n Dummy.prototype = this.prototype;\n bound.prototype = new Dummy();\n\n return bound;\n };\n }\n\n})();\n/* _ES5_COMPAT_END_ */\n\n\n(function() {\n\n var slice = Array.prototype.slice, emptyFunction = function() { },\n\n IS_DONTENUM_BUGGY = (function() {\n for (var p in { toString: 1 }) {\n if (p === 'toString') {\n return false;\n }\n }\n return true;\n })(),\n\n /** @ignore */\n addMethods = function(klass, source, parent) {\n for (var property in source) {\n\n if (property in klass.prototype &&\n typeof klass.prototype[property] === 'function' &&\n (source[property] + '').indexOf('callSuper') > -1) {\n\n klass.prototype[property] = (function(property) {\n return function() {\n\n var superclass = this.constructor.superclass;\n this.constructor.superclass = parent;\n var returnValue = source[property].apply(this, arguments);\n this.constructor.superclass = superclass;\n\n if (property !== 'initialize') {\n return returnValue;\n }\n };\n })(property);\n }\n else {\n klass.prototype[property] = source[property];\n }\n\n if (IS_DONTENUM_BUGGY) {\n if (source.toString !== Object.prototype.toString) {\n klass.prototype.toString = source.toString;\n }\n if (source.valueOf !== Object.prototype.valueOf) {\n klass.prototype.valueOf = source.valueOf;\n }\n }\n }\n };\n\n function Subclass() { }\n\n function callSuper(methodName) {\n var fn = this.constructor.superclass.prototype[methodName];\n return (arguments.length > 1)\n ? fn.apply(this, slice.call(arguments, 1))\n : fn.call(this);\n }\n\n /**\n * Helper for creation of \"classes\".\n * @memberOf fabric.util\n * @param {Function} [parent] optional \"Class\" to inherit from\n * @param {Object} [properties] Properties shared by all instances of this class\n * (be careful modifying objects defined here as this would affect all instances)\n */\n function createClass() {\n var parent = null,\n properties = slice.call(arguments, 0);\n\n if (typeof properties[0] === 'function') {\n parent = properties.shift();\n }\n function klass() {\n this.initialize.apply(this, arguments);\n }\n\n klass.superclass = parent;\n klass.subclasses = [ ];\n\n if (parent) {\n Subclass.prototype = parent.prototype;\n klass.prototype = new Subclass();\n parent.subclasses.push(klass);\n }\n for (var i = 0, length = properties.length; i < length; i++) {\n addMethods(klass, properties[i], parent);\n }\n if (!klass.prototype.initialize) {\n klass.prototype.initialize = emptyFunction;\n }\n klass.prototype.constructor = klass;\n klass.prototype.callSuper = callSuper;\n return klass;\n }\n\n fabric.util.createClass = createClass;\n})();\n\n\n(function () {\n\n var unknown = 'unknown';\n\n /* EVENT HANDLING */\n\n function areHostMethods(object) {\n var methodNames = Array.prototype.slice.call(arguments, 1),\n t, i, len = methodNames.length;\n for (i = 0; i < len; i++) {\n t = typeof object[methodNames[i]];\n if (!(/^(?:function|object|unknown)$/).test(t)) {\n return false;\n }\n }\n return true;\n }\n\n /** @ignore */\n var getElement,\n setElement,\n getUniqueId = (function () {\n var uid = 0;\n return function (element) {\n return element.__uniqueID || (element.__uniqueID = 'uniqueID__' + uid++);\n };\n })();\n\n (function () {\n var elements = { };\n /** @ignore */\n getElement = function (uid) {\n return elements[uid];\n };\n /** @ignore */\n setElement = function (uid, element) {\n elements[uid] = element;\n };\n })();\n\n function createListener(uid, handler) {\n return {\n handler: handler,\n wrappedHandler: createWrappedHandler(uid, handler)\n };\n }\n\n function createWrappedHandler(uid, handler) {\n return function (e) {\n handler.call(getElement(uid), e || fabric.window.event);\n };\n }\n\n function createDispatcher(uid, eventName) {\n return function (e) {\n if (handlers[uid] && handlers[uid][eventName]) {\n var handlersForEvent = handlers[uid][eventName];\n for (var i = 0, len = handlersForEvent.length; i < len; i++) {\n handlersForEvent[i].call(this, e || fabric.window.event);\n }\n }\n };\n }\n\n var shouldUseAddListenerRemoveListener = (\n areHostMethods(fabric.document.documentElement, 'addEventListener', 'removeEventListener') &&\n areHostMethods(fabric.window, 'addEventListener', 'removeEventListener')),\n\n shouldUseAttachEventDetachEvent = (\n areHostMethods(fabric.document.documentElement, 'attachEvent', 'detachEvent') &&\n areHostMethods(fabric.window, 'attachEvent', 'detachEvent')),\n\n // IE branch\n listeners = { },\n\n // DOM L0 branch\n handlers = { },\n\n addListener, removeListener;\n\n if (shouldUseAddListenerRemoveListener) {\n /** @ignore */\n addListener = function (element, eventName, handler) {\n element.addEventListener(eventName, handler, false);\n };\n /** @ignore */\n removeListener = function (element, eventName, handler) {\n element.removeEventListener(eventName, handler, false);\n };\n }\n\n else if (shouldUseAttachEventDetachEvent) {\n /** @ignore */\n addListener = function (element, eventName, handler) {\n var uid = getUniqueId(element);\n setElement(uid, element);\n if (!listeners[uid]) {\n listeners[uid] = { };\n }\n if (!listeners[uid][eventName]) {\n listeners[uid][eventName] = [ ];\n\n }\n var listener = createListener(uid, handler);\n listeners[uid][eventName].push(listener);\n element.attachEvent('on' + eventName, listener.wrappedHandler);\n };\n /** @ignore */\n removeListener = function (element, eventName, handler) {\n var uid = getUniqueId(element), listener;\n if (listeners[uid] && listeners[uid][eventName]) {\n for (var i = 0, len = listeners[uid][eventName].length; i < len; i++) {\n listener = listeners[uid][eventName][i];\n if (listener && listener.handler === handler) {\n element.detachEvent('on' + eventName, listener.wrappedHandler);\n listeners[uid][eventName][i] = null;\n }\n }\n }\n };\n }\n else {\n /** @ignore */\n addListener = function (element, eventName, handler) {\n var uid = getUniqueId(element);\n if (!handlers[uid]) {\n handlers[uid] = { };\n }\n if (!handlers[uid][eventName]) {\n handlers[uid][eventName] = [ ];\n var existingHandler = element['on' + eventName];\n if (existingHandler) {\n handlers[uid][eventName].push(existingHandler);\n }\n element['on' + eventName] = createDispatcher(uid, eventName);\n }\n handlers[uid][eventName].push(handler);\n };\n /** @ignore */\n removeListener = function (element, eventName, handler) {\n var uid = getUniqueId(element);\n if (handlers[uid] && handlers[uid][eventName]) {\n var handlersForEvent = handlers[uid][eventName];\n for (var i = 0, len = handlersForEvent.length; i < len; i++) {\n if (handlersForEvent[i] === handler) {\n handlersForEvent.splice(i, 1);\n }\n }\n }\n };\n }\n\n /**\n * Adds an event listener to an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */\n fabric.util.addListener = addListener;\n\n /**\n * Removes an event listener from an element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {String} eventName\n * @param {Function} handler\n */\n fabric.util.removeListener = removeListener;\n\n /**\n * Cross-browser wrapper for getting event's coordinates\n * @memberOf fabric.util\n * @param {Event} event Event object\n */\n function getPointer(event) {\n event || (event = fabric.window.event);\n\n var element = event.target ||\n (typeof event.srcElement !== unknown ? event.srcElement : null),\n\n scroll = fabric.util.getScrollLeftTop(element);\n\n return {\n x: pointerX(event) + scroll.left,\n y: pointerY(event) + scroll.top\n };\n }\n\n var pointerX = function(event) {\n // looks like in IE (<9) clientX at certain point (apparently when mouseup fires on VML element)\n // is represented as COM object, with all the consequences, like \"unknown\" type and error on [[Get]]\n // need to investigate later\n return (typeof event.clientX !== unknown ? event.clientX : 0);\n },\n\n pointerY = function(event) {\n return (typeof event.clientY !== unknown ? event.clientY : 0);\n };\n\n function _getPointer(event, pageProp, clientProp) {\n var touchProp = event.type === 'touchend' ? 'changedTouches' : 'touches';\n\n return (event[touchProp] && event[touchProp][0]\n ? (event[touchProp][0][pageProp] - (event[touchProp][0][pageProp] - event[touchProp][0][clientProp]))\n || event[clientProp]\n : event[clientProp]);\n }\n\n if (fabric.isTouchSupported) {\n pointerX = function(event) {\n return _getPointer(event, 'pageX', 'clientX');\n };\n pointerY = function(event) {\n return _getPointer(event, 'pageY', 'clientY');\n };\n }\n\n fabric.util.getPointer = getPointer;\n\n fabric.util.object.extend(fabric.util, fabric.Observable);\n\n})();\n\n\n(function () {\n\n /**\n * Cross-browser wrapper for setting element's style\n * @memberOf fabric.util\n * @param {HTMLElement} element\n * @param {Object} styles\n * @return {HTMLElement} Element that was passed as a first argument\n */\n function setStyle(element, styles) {\n var elementStyle = element.style;\n if (!elementStyle) {\n return element;\n }\n if (typeof styles === 'string') {\n element.style.cssText += ';' + styles;\n return styles.indexOf('opacity') > -1\n ? setOpacity(element, styles.match(/opacity:\\s*(\\d?\\.?\\d*)/)[1])\n : element;\n }\n for (var property in styles) {\n if (property === 'opacity') {\n setOpacity(element, styles[property]);\n }\n else {\n var normalizedProperty = (property === 'float' || property === 'cssFloat')\n ? (typeof elementStyle.styleFloat === 'undefined' ? 'cssFloat' : 'styleFloat')\n : property;\n elementStyle[normalizedProperty] = styles[property];\n }\n }\n return element;\n }\n\n var parseEl = fabric.document.createElement('div'),\n supportsOpacity = typeof parseEl.style.opacity === 'string',\n supportsFilters = typeof parseEl.style.filter === 'string',\n reOpacity = /alpha\\s*\\(\\s*opacity\\s*=\\s*([^\\)]+)\\)/,\n\n /** @ignore */\n setOpacity = function (element) { return element; };\n\n if (supportsOpacity) {\n /** @ignore */\n setOpacity = function(element, value) {\n element.style.opacity = value;\n return element;\n };\n }\n else if (supportsFilters) {\n /** @ignore */\n setOpacity = function(element, value) {\n var es = element.style;\n if (element.currentStyle && !element.currentStyle.hasLayout) {\n es.zoom = 1;\n }\n if (reOpacity.test(es.filter)) {\n value = value >= 0.9999 ? '' : ('alpha(opacity=' + (value * 100) + ')');\n es.filter = es.filter.replace(reOpacity, value);\n }\n else {\n es.filter += ' alpha(opacity=' + (value * 100) + ')';\n }\n return element;\n };\n }\n\n fabric.util.setStyle = setStyle;\n\n})();\n\n\n(function() {\n\n var _slice = Array.prototype.slice;\n\n /**\n * Takes id and returns an element with that id (if one exists in a document)\n * @memberOf fabric.util\n * @param {String|HTMLElement} id\n * @return {HTMLElement|null}\n */\n function getById(id) {\n return typeof id === 'string' ? fabric.document.getElementById(id) : id;\n }\n\n var sliceCanConvertNodelists,\n /**\n * Converts an array-like object (e.g. arguments or NodeList) to an array\n * @memberOf fabric.util\n * @param {Object} arrayLike\n * @return {Array}\n */\n toArray = function(arrayLike) {\n return _slice.call(arrayLike, 0);\n };\n\n try {\n sliceCanConvertNodelists = toArray(fabric.document.childNodes) instanceof Array;\n }\n catch (err) { }\n\n if (!sliceCanConvertNodelists) {\n toArray = function(arrayLike) {\n var arr = new Array(arrayLike.length), i = arrayLike.length;\n while (i--) {\n arr[i] = arrayLike[i];\n }\n return arr;\n };\n }\n\n /**\n * Creates specified element with specified attributes\n * @memberOf fabric.util\n * @param {String} tagName Type of an element to create\n * @param {Object} [attributes] Attributes to set on an element\n * @return {HTMLElement} Newly created element\n */\n function makeElement(tagName, attributes) {\n var el = fabric.document.createElement(tagName);\n for (var prop in attributes) {\n if (prop === 'class') {\n el.className = attributes[prop];\n }\n else if (prop === 'for') {\n el.htmlFor = attributes[prop];\n }\n else {\n el.setAttribute(prop, attributes[prop]);\n }\n }\n return el;\n }\n\n /**\n * Adds class to an element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to add class to\n * @param {String} className Class to add to an element\n */\n function addClass(element, className) {\n if (element && (' ' + element.className + ' ').indexOf(' ' + className + ' ') === -1) {\n element.className += (element.className ? ' ' : '') + className;\n }\n }\n\n /**\n * Wraps element with another element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to wrap\n * @param {HTMLElement|String} wrapper Element to wrap with\n * @param {Object} [attributes] Attributes to set on a wrapper\n * @return {HTMLElement} wrapper\n */\n function wrapElement(element, wrapper, attributes) {\n if (typeof wrapper === 'string') {\n wrapper = makeElement(wrapper, attributes);\n }\n if (element.parentNode) {\n element.parentNode.replaceChild(wrapper, element);\n }\n wrapper.appendChild(element);\n return wrapper;\n }\n\n /**\n * Returns element scroll offsets\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to operate on\n * @return {Object} Object with left/top values\n */\n function getScrollLeftTop(element) {\n\n var left = 0,\n top = 0,\n docElement = fabric.document.documentElement,\n body = fabric.document.body || {\n scrollLeft: 0, scrollTop: 0\n };\n\n while (element && element.parentNode) {\n\n element = element.parentNode;\n\n if (element === fabric.document) {\n left = body.scrollLeft || docElement.scrollLeft || 0;\n top = body.scrollTop || docElement.scrollTop || 0;\n }\n else {\n left += element.scrollLeft || 0;\n top += element.scrollTop || 0;\n }\n\n if (element.nodeType === 1 &&\n fabric.util.getElementStyle(element, 'position') === 'fixed') {\n break;\n }\n }\n\n return { left: left, top: top };\n }\n\n /**\n * Returns offset for a given element\n * @function\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get offset for\n * @return {Object} Object with \"left\" and \"top\" properties\n */\n function getElementOffset(element) {\n var docElem,\n doc = element && element.ownerDocument,\n box = { left: 0, top: 0 },\n offset = { left: 0, top: 0 },\n scrollLeftTop,\n offsetAttributes = {\n borderLeftWidth: 'left',\n borderTopWidth: 'top',\n paddingLeft: 'left',\n paddingTop: 'top'\n };\n\n if (!doc) {\n return offset;\n }\n\n for (var attr in offsetAttributes) {\n offset[offsetAttributes[attr]] += parseInt(getElementStyle(element, attr), 10) || 0;\n }\n\n docElem = doc.documentElement;\n if ( typeof element.getBoundingClientRect !== 'undefined' ) {\n box = element.getBoundingClientRect();\n }\n\n scrollLeftTop = getScrollLeftTop(element);\n\n return {\n left: box.left + scrollLeftTop.left - (docElem.clientLeft || 0) + offset.left,\n top: box.top + scrollLeftTop.top - (docElem.clientTop || 0) + offset.top\n };\n }\n\n /**\n * Returns style attribute value of a given element\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to get style attribute for\n * @param {String} attr Style attribute to get for element\n * @return {String} Style attribute value of the given element.\n */\n var getElementStyle;\n if (fabric.document.defaultView && fabric.document.defaultView.getComputedStyle) {\n getElementStyle = function(element, attr) {\n var style = fabric.document.defaultView.getComputedStyle(element, null);\n return style ? style[attr] : undefined;\n };\n }\n else {\n getElementStyle = function(element, attr) {\n var value = element.style[attr];\n if (!value && element.currentStyle) {\n value = element.currentStyle[attr];\n }\n return value;\n };\n }\n\n (function () {\n var style = fabric.document.documentElement.style,\n selectProp = 'userSelect' in style\n ? 'userSelect'\n : 'MozUserSelect' in style\n ? 'MozUserSelect'\n : 'WebkitUserSelect' in style\n ? 'WebkitUserSelect'\n : 'KhtmlUserSelect' in style\n ? 'KhtmlUserSelect'\n : '';\n\n /**\n * Makes element unselectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make unselectable\n * @return {HTMLElement} Element that was passed in\n */\n function makeElementUnselectable(element) {\n if (typeof element.onselectstart !== 'undefined') {\n element.onselectstart = fabric.util.falseFunction;\n }\n if (selectProp) {\n element.style[selectProp] = 'none';\n }\n else if (typeof element.unselectable === 'string') {\n element.unselectable = 'on';\n }\n return element;\n }\n\n /**\n * Makes element selectable\n * @memberOf fabric.util\n * @param {HTMLElement} element Element to make selectable\n * @return {HTMLElement} Element that was passed in\n */\n function makeElementSelectable(element) {\n if (typeof element.onselectstart !== 'undefined') {\n element.onselectstart = null;\n }\n if (selectProp) {\n element.style[selectProp] = '';\n }\n else if (typeof element.unselectable === 'string') {\n element.unselectable = '';\n }\n return element;\n }\n\n fabric.util.makeElementUnselectable = makeElementUnselectable;\n fabric.util.makeElementSelectable = makeElementSelectable;\n })();\n\n (function() {\n\n /**\n * Inserts a script element with a given url into a document; invokes callback, when that script is finished loading\n * @memberOf fabric.util\n * @param {String} url URL of a script to load\n * @param {Function} callback Callback to execute when script is finished loading\n */\n function getScript(url, callback) {\n var headEl = fabric.document.getElementsByTagName('head')[0],\n scriptEl = fabric.document.createElement('script'),\n loading = true;\n\n /** @ignore */\n scriptEl.onload = /** @ignore */ scriptEl.onreadystatechange = function(e) {\n if (loading) {\n if (typeof this.readyState === 'string' &&\n this.readyState !== 'loaded' &&\n this.readyState !== 'complete') {\n return;\n }\n loading = false;\n callback(e || fabric.window.event);\n scriptEl = scriptEl.onload = scriptEl.onreadystatechange = null;\n }\n };\n scriptEl.src = url;\n headEl.appendChild(scriptEl);\n // causes issue in Opera\n // headEl.removeChild(scriptEl);\n }\n\n fabric.util.getScript = getScript;\n })();\n\n fabric.util.getById = getById;\n fabric.util.toArray = toArray;\n fabric.util.makeElement = makeElement;\n fabric.util.addClass = addClass;\n fabric.util.wrapElement = wrapElement;\n fabric.util.getScrollLeftTop = getScrollLeftTop;\n fabric.util.getElementOffset = getElementOffset;\n fabric.util.getElementStyle = getElementStyle;\n\n})();\n\n\n(function() {\n\n function addParamToUrl(url, param) {\n return url + (/\\?/.test(url) ? '&' : '?') + param;\n }\n\n var makeXHR = (function() {\n var factories = [\n function() { return new ActiveXObject('Microsoft.XMLHTTP'); },\n function() { return new ActiveXObject('Msxml2.XMLHTTP'); },\n function() { return new ActiveXObject('Msxml2.XMLHTTP.3.0'); },\n function() { return new XMLHttpRequest(); }\n ];\n for (var i = factories.length; i--; ) {\n try {\n var req = factories[i]();\n if (req) {\n return factories[i];\n }\n }\n catch (err) { }\n }\n })();\n\n function emptyFn() { }\n\n /**\n * Cross-browser abstraction for sending XMLHttpRequest\n * @memberOf fabric.util\n * @param {String} url URL to send XMLHttpRequest to\n * @param {Object} [options] Options object\n * @param {String} [options.method=\"GET\"]\n * @param {Function} options.onComplete Callback to invoke when request is completed\n * @return {XMLHttpRequest} request\n */\n function request(url, options) {\n\n options || (options = { });\n\n var method = options.method ? options.method.toUpperCase() : 'GET',\n onComplete = options.onComplete || function() { },\n xhr = makeXHR(),\n body;\n\n /** @ignore */\n xhr.onreadystatechange = function() {\n if (xhr.readyState === 4) {\n onComplete(xhr);\n xhr.onreadystatechange = emptyFn;\n }\n };\n\n if (method === 'GET') {\n body = null;\n if (typeof options.parameters === 'string') {\n url = addParamToUrl(url, options.parameters);\n }\n }\n\n xhr.open(method, url, true);\n\n if (method === 'POST' || method === 'PUT') {\n xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');\n }\n\n xhr.send(body);\n return xhr;\n }\n\n fabric.util.request = request;\n})();\n\n\n/**\n * Wrapper around `console.log` (when available)\n * @param {Any} [values] Values to log\n */\nfabric.log = function() { };\n\n/**\n * Wrapper around `console.warn` (when available)\n * @param {Any} [values] Values to log as a warning\n */\nfabric.warn = function() { };\n\n/* jshint ignore:start */\nif (typeof console !== 'undefined') {\n\n ['log', 'warn'].forEach(function(methodName) {\n\n if (typeof console[methodName] !== 'undefined' &&\n typeof console[methodName].apply === 'function') {\n\n fabric[methodName] = function() {\n return console[methodName].apply(console, arguments);\n };\n }\n });\n}\n/* jshint ignore:end */\n\n\n(function() {\n\n /**\n * Changes value from one to another within certain period of time, invoking callbacks as value is being changed.\n * @memberOf fabric.util\n * @param {Object} [options] Animation options\n * @param {Function} [options.onChange] Callback; invoked on every value change\n * @param {Function} [options.onComplete] Callback; invoked when value change is completed\n * @param {Number} [options.startValue=0] Starting value\n * @param {Number} [options.endValue=100] Ending value\n * @param {Number} [options.byValue=100] Value to modify the property by\n * @param {Function} [options.easing] Easing function\n * @param {Number} [options.duration=500] Duration of change (in ms)\n */\n function animate(options) {\n\n requestAnimFrame(function(timestamp) {\n options || (options = { });\n\n var start = timestamp || +new Date(),\n duration = options.duration || 500,\n finish = start + duration, time,\n onChange = options.onChange || function() { },\n abort = options.abort || function() { return false; },\n easing = options.easing || function(t, b, c, d) {return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;},\n startValue = 'startValue' in options ? options.startValue : 0,\n endValue = 'endValue' in options ? options.endValue : 100,\n byValue = options.byValue || endValue - startValue;\n\n options.onStart && options.onStart();\n\n (function tick(ticktime) {\n time = ticktime || +new Date();\n var currentTime = time > finish ? duration : (time - start);\n if (abort()) {\n options.onComplete && options.onComplete();\n return;\n }\n onChange(easing(currentTime, startValue, byValue, duration));\n if (time > finish) {\n options.onComplete && options.onComplete();\n return;\n }\n requestAnimFrame(tick);\n })(start);\n });\n\n }\n\n var _requestAnimFrame = fabric.window.requestAnimationFrame ||\n fabric.window.webkitRequestAnimationFrame ||\n fabric.window.mozRequestAnimationFrame ||\n fabric.window.oRequestAnimationFrame ||\n fabric.window.msRequestAnimationFrame ||\n function(callback) {\n fabric.window.setTimeout(callback, 1000 / 60);\n };\n\n /**\n * requestAnimationFrame polyfill based on http://paulirish.com/2011/requestanimationframe-for-smart-animating/\n * In order to get a precise start time, `requestAnimFrame` should be called as an entry into the method\n * @memberOf fabric.util\n * @param {Function} callback Callback to invoke\n * @param {DOMElement} element optional Element to associate with animation\n */\n function requestAnimFrame() {\n return _requestAnimFrame.apply(fabric.window, arguments);\n }\n\n fabric.util.animate = animate;\n fabric.util.requestAnimFrame = requestAnimFrame;\n\n})();\n\n\n(function() {\n\n function normalize(a, c, p, s) {\n if (a < Math.abs(c)) {\n a = c;\n s = p / 4;\n }\n else {\n s = p / (2 * Math.PI) * Math.asin(c / a);\n }\n return { a: a, c: c, p: p, s: s };\n }\n\n function elastic(opts, t, d) {\n return opts.a *\n Math.pow(2, 10 * (t -= 1)) *\n Math.sin( (t * d - opts.s) * (2 * Math.PI) / opts.p );\n }\n\n /**\n * Cubic easing out\n * @memberOf fabric.util.ease\n */\n function easeOutCubic(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t + 1) + b;\n }\n\n /**\n * Cubic easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutCubic(t, b, c, d) {\n t /= d/2;\n if (t < 1) {\n return c / 2 * t * t * t + b;\n }\n return c / 2 * ((t -= 2) * t * t + 2) + b;\n }\n\n /**\n * Quartic easing in\n * @memberOf fabric.util.ease\n */\n function easeInQuart(t, b, c, d) {\n return c * (t /= d) * t * t * t + b;\n }\n\n /**\n * Quartic easing out\n * @memberOf fabric.util.ease\n */\n function easeOutQuart(t, b, c, d) {\n return -c * ((t = t / d - 1) * t * t * t - 1) + b;\n }\n\n /**\n * Quartic easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutQuart(t, b, c, d) {\n t /= d / 2;\n if (t < 1) {\n return c / 2 * t * t * t * t + b;\n }\n return -c / 2 * ((t -= 2) * t * t * t - 2) + b;\n }\n\n /**\n * Quintic easing in\n * @memberOf fabric.util.ease\n */\n function easeInQuint(t, b, c, d) {\n return c * (t /= d) * t * t * t * t + b;\n }\n\n /**\n * Quintic easing out\n * @memberOf fabric.util.ease\n */\n function easeOutQuint(t, b, c, d) {\n return c * ((t = t / d - 1) * t * t * t * t + 1) + b;\n }\n\n /**\n * Quintic easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutQuint(t, b, c, d) {\n t /= d / 2;\n if (t < 1) {\n return c / 2 * t * t * t * t * t + b;\n }\n return c / 2 * ((t -= 2) * t * t * t * t + 2) + b;\n }\n\n /**\n * Sinusoidal easing in\n * @memberOf fabric.util.ease\n */\n function easeInSine(t, b, c, d) {\n return -c * Math.cos(t / d * (Math.PI / 2)) + c + b;\n }\n\n /**\n * Sinusoidal easing out\n * @memberOf fabric.util.ease\n */\n function easeOutSine(t, b, c, d) {\n return c * Math.sin(t / d * (Math.PI / 2)) + b;\n }\n\n /**\n * Sinusoidal easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutSine(t, b, c, d) {\n return -c / 2 * (Math.cos(Math.PI * t / d) - 1) + b;\n }\n\n /**\n * Exponential easing in\n * @memberOf fabric.util.ease\n */\n function easeInExpo(t, b, c, d) {\n return (t === 0) ? b : c * Math.pow(2, 10 * (t / d - 1)) + b;\n }\n\n /**\n * Exponential easing out\n * @memberOf fabric.util.ease\n */\n function easeOutExpo(t, b, c, d) {\n return (t === d) ? b + c : c * (-Math.pow(2, -10 * t / d) + 1) + b;\n }\n\n /**\n * Exponential easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutExpo(t, b, c, d) {\n if (t === 0) {\n return b;\n }\n if (t === d) {\n return b + c;\n }\n t /= d / 2;\n if (t < 1) {\n return c / 2 * Math.pow(2, 10 * (t - 1)) + b;\n }\n return c / 2 * (-Math.pow(2, -10 * --t) + 2) + b;\n }\n\n /**\n * Circular easing in\n * @memberOf fabric.util.ease\n */\n function easeInCirc(t, b, c, d) {\n return -c * (Math.sqrt(1 - (t /= d) * t) - 1) + b;\n }\n\n /**\n * Circular easing out\n * @memberOf fabric.util.ease\n */\n function easeOutCirc(t, b, c, d) {\n return c * Math.sqrt(1 - (t = t / d - 1) * t) + b;\n }\n\n /**\n * Circular easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutCirc(t, b, c, d) {\n t /= d / 2;\n if (t < 1) {\n return -c / 2 * (Math.sqrt(1 - t * t) - 1) + b;\n }\n return c / 2 * (Math.sqrt(1 - (t -= 2) * t) + 1) + b;\n }\n\n /**\n * Elastic easing in\n * @memberOf fabric.util.ease\n */\n function easeInElastic(t, b, c, d) {\n var s = 1.70158, p = 0, a = c;\n if (t === 0) {\n return b;\n }\n t /= d;\n if (t === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n var opts = normalize(a, c, p, s);\n return -elastic(opts, t, d) + b;\n }\n\n /**\n * Elastic easing out\n * @memberOf fabric.util.ease\n */\n function easeOutElastic(t, b, c, d) {\n var s = 1.70158, p = 0, a = c;\n if (t === 0) {\n return b;\n }\n t /= d;\n if (t === 1) {\n return b + c;\n }\n if (!p) {\n p = d * 0.3;\n }\n var opts = normalize(a, c, p, s);\n return opts.a * Math.pow(2, -10 * t) * Math.sin((t * d - opts.s) * (2 * Math.PI) / opts.p ) + opts.c + b;\n }\n\n /**\n * Elastic easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutElastic(t, b, c, d) {\n var s = 1.70158, p = 0, a = c;\n if (t === 0) {\n return b;\n }\n t /= d / 2;\n if (t === 2) {\n return b + c;\n }\n if (!p) {\n p = d * (0.3 * 1.5);\n }\n var opts = normalize(a, c, p, s);\n if (t < 1) {\n return -0.5 * elastic(opts, t, d) + b;\n }\n return opts.a * Math.pow(2, -10 * (t -= 1)) *\n Math.sin((t * d - opts.s) * (2 * Math.PI) / opts.p ) * 0.5 + opts.c + b;\n }\n\n /**\n * Backwards easing in\n * @memberOf fabric.util.ease\n */\n function easeInBack(t, b, c, d, s) {\n if (s === undefined) {\n s = 1.70158;\n }\n return c * (t /= d) * t * ((s + 1) * t - s) + b;\n }\n\n /**\n * Backwards easing out\n * @memberOf fabric.util.ease\n */\n function easeOutBack(t, b, c, d, s) {\n if (s === undefined) {\n s = 1.70158;\n }\n return c * ((t = t / d - 1) * t * ((s + 1) * t + s) + 1) + b;\n }\n\n /**\n * Backwards easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutBack(t, b, c, d, s) {\n if (s === undefined) {\n s = 1.70158;\n }\n t /= d / 2;\n if (t < 1) {\n return c / 2 * (t * t * (((s *= (1.525)) + 1) * t - s)) + b;\n }\n return c / 2 * ((t -= 2) * t * (((s *= (1.525)) + 1) * t + s) + 2) + b;\n }\n\n /**\n * Bouncing easing in\n * @memberOf fabric.util.ease\n */\n function easeInBounce(t, b, c, d) {\n return c - easeOutBounce (d - t, 0, c, d) + b;\n }\n\n /**\n * Bouncing easing out\n * @memberOf fabric.util.ease\n */\n function easeOutBounce(t, b, c, d) {\n if ((t /= d) < (1 / 2.75)) {\n return c * (7.5625 * t * t) + b;\n }\n else if (t < (2/2.75)) {\n return c * (7.5625 * (t -= (1.5 / 2.75)) * t + 0.75) + b;\n }\n else if (t < (2.5/2.75)) {\n return c * (7.5625 * (t -= (2.25 / 2.75)) * t + 0.9375) + b;\n }\n else {\n return c * (7.5625 * (t -= (2.625 / 2.75)) * t + 0.984375) + b;\n }\n }\n\n /**\n * Bouncing easing in and out\n * @memberOf fabric.util.ease\n */\n function easeInOutBounce(t, b, c, d) {\n if (t < d / 2) {\n return easeInBounce (t * 2, 0, c, d) * 0.5 + b;\n }\n return easeOutBounce(t * 2 - d, 0, c, d) * 0.5 + c * 0.5 + b;\n }\n\n /**\n * Easing functions\n * See Easing Equations by Robert Penner\n * @namespace fabric.util.ease\n */\n fabric.util.ease = {\n\n /**\n * Quadratic easing in\n * @memberOf fabric.util.ease\n */\n easeInQuad: function(t, b, c, d) {\n return c * (t /= d) * t + b;\n },\n\n /**\n * Quadratic easing out\n * @memberOf fabric.util.ease\n */\n easeOutQuad: function(t, b, c, d) {\n return -c * (t /= d) * (t - 2) + b;\n },\n\n /**\n * Quadratic easing in and out\n * @memberOf fabric.util.ease\n */\n easeInOutQuad: function(t, b, c, d) {\n t /= (d / 2);\n if (t < 1) {\n return c / 2 * t * t + b;\n }\n return -c / 2 * ((--t) * (t - 2) - 1) + b;\n },\n\n /**\n * Cubic easing in\n * @memberOf fabric.util.ease\n */\n easeInCubic: function(t, b, c, d) {\n return c * (t /= d) * t * t + b;\n },\n\n easeOutCubic: easeOutCubic,\n easeInOutCubic: easeInOutCubic,\n easeInQuart: easeInQuart,\n easeOutQuart: easeOutQuart,\n easeInOutQuart: easeInOutQuart,\n easeInQuint: easeInQuint,\n easeOutQuint: easeOutQuint,\n easeInOutQuint: easeInOutQuint,\n easeInSine: easeInSine,\n easeOutSine: easeOutSine,\n easeInOutSine: easeInOutSine,\n easeInExpo: easeInExpo,\n easeOutExpo: easeOutExpo,\n easeInOutExpo: easeInOutExpo,\n easeInCirc: easeInCirc,\n easeOutCirc: easeOutCirc,\n easeInOutCirc: easeInOutCirc,\n easeInElastic: easeInElastic,\n easeOutElastic: easeOutElastic,\n easeInOutElastic: easeInOutElastic,\n easeInBack: easeInBack,\n easeOutBack: easeOutBack,\n easeInOutBack: easeInOutBack,\n easeInBounce: easeInBounce,\n easeOutBounce: easeOutBounce,\n easeInOutBounce: easeInOutBounce\n };\n\n}());\n\n\n(function(global) {\n\n 'use strict';\n\n /**\n * @name fabric\n * @namespace\n */\n\n var fabric = global.fabric || (global.fabric = { }),\n extend = fabric.util.object.extend,\n capitalize = fabric.util.string.capitalize,\n clone = fabric.util.object.clone,\n toFixed = fabric.util.toFixed,\n parseUnit = fabric.util.parseUnit,\n multiplyTransformMatrices = fabric.util.multiplyTransformMatrices,\n\n reAllowedSVGTagNames = /^(path|circle|polygon|polyline|ellipse|rect|line|image|text)$/i,\n reViewBoxTagNames = /^(symbol|image|marker|pattern|view|svg)$/i,\n reNotAllowedAncestors = /^(?:pattern|defs|symbol|metadata)$/i,\n reAllowedParents = /^(symbol|g|a|svg)$/i,\n\n attributesMap = {\n cx: 'left',\n x: 'left',\n r: 'radius',\n cy: 'top',\n y: 'top',\n display: 'visible',\n visibility: 'visible',\n transform: 'transformMatrix',\n 'fill-opacity': 'fillOpacity',\n 'fill-rule': 'fillRule',\n 'font-family': 'fontFamily',\n 'font-size': 'fontSize',\n 'font-style': 'fontStyle',\n 'font-weight': 'fontWeight',\n 'stroke-dasharray': 'strokeDashArray',\n 'stroke-linecap': 'strokeLineCap',\n 'stroke-linejoin': 'strokeLineJoin',\n 'stroke-miterlimit': 'strokeMiterLimit',\n 'stroke-opacity': 'strokeOpacity',\n 'stroke-width': 'strokeWidth',\n 'text-decoration': 'textDecoration',\n 'text-anchor': 'originX'\n },\n\n colorAttributes = {\n stroke: 'strokeOpacity',\n fill: 'fillOpacity'\n };\n\n fabric.cssRules = { };\n fabric.gradientDefs = { };\n\n function normalizeAttr(attr) {\n // transform attribute names\n if (attr in attributesMap) {\n return attributesMap[attr];\n }\n return attr;\n }\n\n function normalizeValue(attr, value, parentAttributes, fontSize) {\n var isArray = Object.prototype.toString.call(value) === '[object Array]',\n parsed;\n\n if ((attr === 'fill' || attr === 'stroke') && value === 'none') {\n value = '';\n }\n else if (attr === 'strokeDashArray') {\n value = value.replace(/,/g, ' ').split(/\\s+/).map(function(n) {\n return parseFloat(n);\n });\n }\n else if (attr === 'transformMatrix') {\n if (parentAttributes && parentAttributes.transformMatrix) {\n value = multiplyTransformMatrices(\n parentAttributes.transformMatrix, fabric.parseTransformAttribute(value));\n }\n else {\n value = fabric.parseTransformAttribute(value);\n }\n }\n else if (attr === 'visible') {\n value = (value === 'none' || value === 'hidden') ? false : true;\n // display=none on parent element always takes precedence over child element\n if (parentAttributes && parentAttributes.visible === false) {\n value = false;\n }\n }\n else if (attr === 'originX' /* text-anchor */) {\n value = value === 'start' ? 'left' : value === 'end' ? 'right' : 'center';\n }\n else {\n parsed = isArray ? value.map(parseUnit) : parseUnit(value, fontSize);\n }\n\n return (!isArray && isNaN(parsed) ? value : parsed);\n }\n\n /**\n * @private\n * @param {Object} attributes Array of attributes to parse\n */\n function _setStrokeFillOpacity(attributes) {\n for (var attr in colorAttributes) {\n\n if (!attributes[attr] || typeof attributes[colorAttributes[attr]] === 'undefined') {\n continue;\n }\n\n if (attributes[attr].indexOf('url(') === 0) {\n continue;\n }\n\n var color = new fabric.Color(attributes[attr]);\n attributes[attr] = color.setAlpha(toFixed(color.getAlpha() * attributes[colorAttributes[attr]], 2)).toRgba();\n }\n return attributes;\n }\n\n /**\n * Parses \"transform\" attribute, returning an array of values\n * @static\n * @function\n * @memberOf fabric\n * @param {String} attributeValue String containing attribute value\n * @return {Array} Array of 6 elements representing transformation matrix\n */\n fabric.parseTransformAttribute = (function() {\n function rotateMatrix(matrix, args) {\n var angle = args[0];\n\n matrix[0] = Math.cos(angle);\n matrix[1] = Math.sin(angle);\n matrix[2] = -Math.sin(angle);\n matrix[3] = Math.cos(angle);\n }\n\n function scaleMatrix(matrix, args) {\n var multiplierX = args[0],\n multiplierY = (args.length === 2) ? args[1] : args[0];\n\n matrix[0] = multiplierX;\n matrix[3] = multiplierY;\n }\n\n function skewXMatrix(matrix, args) {\n matrix[2] = Math.tan(fabric.util.degreesToRadians(args[0]));\n }\n\n function skewYMatrix(matrix, args) {\n matrix[1] = Math.tan(fabric.util.degreesToRadians(args[0]));\n }\n\n function translateMatrix(matrix, args) {\n matrix[4] = args[0];\n if (args.length === 2) {\n matrix[5] = args[1];\n }\n }\n\n // identity matrix\n var iMatrix = [\n 1, // a\n 0, // b\n 0, // c\n 1, // d\n 0, // e\n 0 // f\n ],\n\n // == begin transform regexp\n number = fabric.reNum,\n\n commaWsp = '(?:\\\\s+,?\\\\s*|,\\\\s*)',\n\n skewX = '(?:(skewX)\\\\s*\\\\(\\\\s*(' + number + ')\\\\s*\\\\))',\n\n skewY = '(?:(skewY)\\\\s*\\\\(\\\\s*(' + number + ')\\\\s*\\\\))',\n\n rotate = '(?:(rotate)\\\\s*\\\\(\\\\s*(' + number + ')(?:' +\n commaWsp + '(' + number + ')' +\n commaWsp + '(' + number + '))?\\\\s*\\\\))',\n\n scale = '(?:(scale)\\\\s*\\\\(\\\\s*(' + number + ')(?:' +\n commaWsp + '(' + number + '))?\\\\s*\\\\))',\n\n translate = '(?:(translate)\\\\s*\\\\(\\\\s*(' + number + ')(?:' +\n commaWsp + '(' + number + '))?\\\\s*\\\\))',\n\n matrix = '(?:(matrix)\\\\s*\\\\(\\\\s*' +\n '(' + number + ')' + commaWsp +\n '(' + number + ')' + commaWsp +\n '(' + number + ')' + commaWsp +\n '(' + number + ')' + commaWsp +\n '(' + number + ')' + commaWsp +\n '(' + number + ')' +\n '\\\\s*\\\\))',\n\n transform = '(?:' +\n matrix + '|' +\n translate + '|' +\n scale + '|' +\n rotate + '|' +\n skewX + '|' +\n skewY +\n ')',\n\n transforms = '(?:' + transform + '(?:' + commaWsp + transform + ')*' + ')',\n\n transformList = '^\\\\s*(?:' + transforms + '?)\\\\s*$',\n\n // http://www.w3.org/TR/SVG/coords.html#TransformAttribute\n reTransformList = new RegExp(transformList),\n // == end transform regexp\n\n reTransform = new RegExp(transform, 'g');\n\n return function(attributeValue) {\n\n // start with identity matrix\n var matrix = iMatrix.concat(),\n matrices = [ ];\n\n // return if no argument was given or\n // an argument does not match transform attribute regexp\n if (!attributeValue || (attributeValue && !reTransformList.test(attributeValue))) {\n return matrix;\n }\n\n attributeValue.replace(reTransform, function(match) {\n\n var m = new RegExp(transform).exec(match).filter(function (match) {\n return (match !== '' && match != null);\n }),\n operation = m[1],\n args = m.slice(2).map(parseFloat);\n\n switch (operation) {\n case 'translate':\n translateMatrix(matrix, args);\n break;\n case 'rotate':\n args[0] = fabric.util.degreesToRadians(args[0]);\n rotateMatrix(matrix, args);\n break;\n case 'scale':\n scaleMatrix(matrix, args);\n break;\n case 'skewX':\n skewXMatrix(matrix, args);\n break;\n case 'skewY':\n skewYMatrix(matrix, args);\n break;\n case 'matrix':\n matrix = args;\n break;\n }\n\n // snapshot current matrix into matrices array\n matrices.push(matrix.concat());\n // reset\n matrix = iMatrix.concat();\n });\n\n var combinedMatrix = matrices[0];\n while (matrices.length > 1) {\n matrices.shift();\n combinedMatrix = fabric.util.multiplyTransformMatrices(combinedMatrix, matrices[0]);\n }\n return combinedMatrix;\n };\n })();\n\n /**\n * @private\n */\n function parseStyleString(style, oStyle) {\n var attr, value;\n style.replace(/;\\s*$/, '').split(';').forEach(function (chunk) {\n var pair = chunk.split(':');\n\n attr = normalizeAttr(pair[0].trim().toLowerCase());\n value = normalizeValue(attr, pair[1].trim());\n\n oStyle[attr] = value;\n });\n }\n\n /**\n * @private\n */\n function parseStyleObject(style, oStyle) {\n var attr, value;\n for (var prop in style) {\n if (typeof style[prop] === 'undefined') {\n continue;\n }\n\n attr = normalizeAttr(prop.toLowerCase());\n value = normalizeValue(attr, style[prop]);\n\n oStyle[attr] = value;\n }\n }\n\n /**\n * @private\n */\n function getGlobalStylesForElement(element, svgUid) {\n var styles = { };\n for (var rule in fabric.cssRules[svgUid]) {\n if (elementMatchesRule(element, rule.split(' '))) {\n for (var property in fabric.cssRules[svgUid][rule]) {\n styles[property] = fabric.cssRules[svgUid][rule][property];\n }\n }\n }\n return styles;\n }\n\n /**\n * @private\n */\n function elementMatchesRule(element, selectors) {\n var firstMatching, parentMatching = true;\n //start from rightmost selector.\n firstMatching = selectorMatches(element, selectors.pop());\n if (firstMatching && selectors.length) {\n parentMatching = doesSomeParentMatch(element, selectors);\n }\n return firstMatching && parentMatching && (selectors.length === 0);\n }\n\n function doesSomeParentMatch(element, selectors) {\n var selector, parentMatching = true;\n while (element.parentNode && element.parentNode.nodeType === 1 && selectors.length) {\n if (parentMatching) {\n selector = selectors.pop();\n }\n element = element.parentNode;\n parentMatching = selectorMatches(element, selector);\n }\n return selectors.length === 0;\n }\n\n /**\n * @private\n */\n function selectorMatches(element, selector) {\n var nodeName = element.nodeName,\n classNames = element.getAttribute('class'),\n id = element.getAttribute('id'), matcher;\n // i check if a selector matches slicing away part from it.\n // if i get empty string i should match\n matcher = new RegExp('^' + nodeName, 'i');\n selector = selector.replace(matcher, '');\n if (id && selector.length) {\n matcher = new RegExp('#' + id + '(?![a-zA-Z\\\\-]+)', 'i');\n selector = selector.replace(matcher, '');\n }\n if (classNames && selector.length) {\n classNames = classNames.split(' ');\n for (var i = classNames.length; i--;) {\n matcher = new RegExp('\\\\.' + classNames[i] + '(?![a-zA-Z\\\\-]+)', 'i');\n selector = selector.replace(matcher, '');\n }\n }\n return selector.length === 0;\n }\n\n /**\n * @private\n * to support IE8 missing getElementById on SVGdocument\n */\n function elementById(doc, id) {\n var el;\n doc.getElementById && (el = doc.getElementById(id));\n if (el) {\n return el;\n }\n var node, i, idAttr, nodelist = doc.getElementsByTagName('*');\n for (i = 0; i < nodelist.length; i++) {\n node = nodelist[i];\n if (idAttr === node.getAttribute('id')) {\n return node;\n }\n }\n }\n\n /**\n * @private\n */\n function parseUseDirectives(doc) {\n var nodelist = doc.getElementsByTagName('use'), i = 0;\n while (nodelist.length && i < nodelist.length) {\n var el = nodelist[i],\n xlink = el.getAttribute('xlink:href').substr(1),\n x = el.getAttribute('x') || 0,\n y = el.getAttribute('y') || 0,\n el2 = elementById(doc, xlink).cloneNode(true),\n currentTrans = (el2.getAttribute('transform') || '') + ' translate(' + x + ', ' + y + ')',\n parentNode, oldLength = nodelist.length, attr, j, attrs, l;\n\n applyViewboxTransform(el2);\n if (/^svg$/i.test(el2.nodeName)) {\n var el3 = el2.ownerDocument.createElement('g');\n for (j = 0, attrs = el2.attributes, l = attrs.length; j < l; j++) {\n attr = attrs.item(j);\n el3.setAttribute(attr.nodeName, attr.nodeValue);\n }\n while (el2.firstChild != null) {\n el3.appendChild(el2.firstChild);\n }\n el2 = el3;\n }\n\n for (j = 0, attrs = el.attributes, l = attrs.length; j < l; j++) {\n attr = attrs.item(j);\n if (attr.nodeName === 'x' || attr.nodeName === 'y' || attr.nodeName === 'xlink:href') {\n continue;\n }\n\n if (attr.nodeName === 'transform') {\n currentTrans = attr.nodeValue + ' ' + currentTrans;\n }\n else {\n el2.setAttribute(attr.nodeName, attr.nodeValue);\n }\n }\n\n el2.setAttribute('transform', currentTrans);\n el2.setAttribute('instantiated_by_use', '1');\n el2.removeAttribute('id');\n parentNode = el.parentNode;\n parentNode.replaceChild(el2, el);\n // some browsers do not shorten nodelist after replaceChild (IE8)\n if (nodelist.length === oldLength) {\n i++;\n }\n }\n }\n\n // http://www.w3.org/TR/SVG/coords.html#ViewBoxAttribute\n // matches, e.g.: +14.56e-12, etc.\n var reViewBoxAttrValue = new RegExp(\n '^' +\n '\\\\s*(' + fabric.reNum + '+)\\\\s*,?' +\n '\\\\s*(' + fabric.reNum + '+)\\\\s*,?' +\n '\\\\s*(' + fabric.reNum + '+)\\\\s*,?' +\n '\\\\s*(' + fabric.reNum + '+)\\\\s*' +\n '$'\n );\n\n /**\n * Add a