/*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ var saveAs = saveAs || "undefined" !== typeof navigator && navigator.msSaveOrOpenBlob && navigator.msSaveOrOpenBlob.bind(navigator) || function(a) { "use strict"; if ("undefined" === typeof navigator || !/MSIE [1-9]\./.test(navigator.userAgent)) { var k = a.document , n = k.createElementNS("http://www.w3.org/1999/xhtml", "a") , w = "download"in n , x = function(c) { var e = k.createEvent("MouseEvents"); e.initMouseEvent("click", !0, !1, a, 0, 0, 0, 0, 0, !1, !1, !1, !1, 0, null); c.dispatchEvent(e) } , q = a.webkitRequestFileSystem , u = a.requestFileSystem || q || a.mozRequestFileSystem , y = function(c) { (a.setImmediate || a.setTimeout)(function() { throw c; }, 0) } , r = 0 , s = function(c) { var e = function() { "string" === typeof c ? (a.URL || a.webkitURL || a).revokeObjectURL(c) : c.remove() }; a.chrome ? e() : setTimeout(e, 500) } , t = function(c, a, d) { a = [].concat(a); for (var b = a.length; b--; ) { var l = c["on" + a[b]]; if ("function" === typeof l) try { l.call(c, d || c) } catch (f) { y(f) } } } , m = function(c, e) { var d = this, b = c.type, l = !1, f, p, k = function() { t(d, ["writestart", "progress", "write", "writeend"]) }, g = function() { if (l || !f) f = (a.URL || a.webkitURL || a).createObjectURL(c); p ? p.location.href = f : void 0 == a.open(f, "_blank") && "undefined" !== typeof safari && (a.location.href = f); d.readyState = d.DONE; k(); s(f) }, h = function(a) { return function() { if (d.readyState !== d.DONE) return a.apply(this, arguments) } }, m = { create: !0, exclusive: !1 }, v; d.readyState = d.INIT; e || (e = "download"); if (w) f = (a.URL || a.webkitURL || a).createObjectURL(c), n.href = f, n.download = e, x(n), d.readyState = d.DONE, k(), s(f); else { a.chrome && b && "application/octet-stream" !== b && (v = c.slice || c.webkitSlice, c = v.call(c, 0, c.size, "application/octet-stream"), l = !0); q && "download" !== e && (e += ".download"); if ("application/octet-stream" === b || q) p = a; u ? (r += c.size, u(a.TEMPORARY, r, h(function(a) { a.root.getDirectory("saved", m, h(function(a) { var b = function() { a.getFile(e, m, h(function(a) { a.createWriter(h(function(b) { b.onwriteend = function(b) { p.location.href = a.toURL(); d.readyState = d.DONE; t(d, "writeend", b); s(a) } ; b.onerror = function() { var a = b.error; a.code !== a.ABORT_ERR && g() } ; ["writestart", "progress", "write", "abort"].forEach(function(a) { b["on" + a] = d["on" + a] }); b.write(c); d.abort = function() { b.abort(); d.readyState = d.DONE } ; d.readyState = d.WRITING }), g) }), g) }; a.getFile(e, { create: !1 }, h(function(a) { a.remove(); b() }), h(function(a) { a.code === a.NOT_FOUND_ERR ? b() : g() })) }), g) }), g)) : g() } } , b = m.prototype; b.abort = function() { this.readyState = this.DONE; t(this, "abort") } ; b.readyState = b.INIT = 0; b.WRITING = 1; b.DONE = 2; b.error = b.onwritestart = b.onprogress = b.onwrite = b.onabort = b.onerror = b.onwriteend = null; return function(a, b) { return new m(a,b) } } }("undefined" !== typeof self && self || "undefined" !== typeof window && window || this.content); "undefined" !== typeof module && null !== module ? module.exports = saveAs : "undefined" !== typeof define && null !== define && null != define.amd && define([], function() { return saveAs });