forked from sent/waves
1 line
37 KiB
JavaScript
1 line
37 KiB
JavaScript
!function(t,e,n){"use strict";function r(t,e,n){var r,o=t.runtimeStyle&&t.runtimeStyle[e],a=t.style;return!/^-?[0-9]+\.?[0-9]*(?:px)?$/i.test(n)&&/^-?\d/.test(n)&&(r=a.left,o&&(t.runtimeStyle.left=t.currentStyle.left),a.left="fontSize"===e?"1em":n||0,n=a.pixelLeft+"px",a.left=r,o&&(t.runtimeStyle.left=o)),/^(thin|medium|thick)$/i.test(n)?n:Math.round(parseFloat(n))+"px"}function o(t){return parseInt(t,10)}function a(t,e,o,a){if(t=(t=(t||"").split(","))[a||0]||t[0]||"auto",t=s.Util.trimText(t).split(" "),"backgroundSize"!==o||t[0]&&!t[0].match(/cover|contain|auto/)){if(t[0]=-1===t[0].indexOf("%")?r(e,o+"X",t[0]):t[0],t[1]===n){if("backgroundSize"===o)return t[1]="auto",t;t[1]=t[0]}t[1]=-1===t[1].indexOf("%")?r(e,o+"Y",t[1]):t[1]}return t}function i(t,e,n,r,o,a){var i,l,c,d,h=s.Util.getCSS(e,t,o);if(1===h.length&&(d=h[0],(h=[])[0]=d,h[1]=d),-1!==h[0].toString().indexOf("%"))c=parseFloat(h[0])/100,l=n.width*c,"backgroundSize"!==t&&(l-=(a||r).width*c);else if("backgroundSize"===t)if("auto"===h[0])l=r.width;else if(/contain|cover/.test(h[0])){var u=s.Util.resizeBounds(r.width,r.height,n.width,n.height,h[0]);l=u.width,i=u.height}else l=parseInt(h[0],10);else l=parseInt(h[0],10);return"auto"===h[1]?i=l/r.width*r.height:-1!==h[1].toString().indexOf("%")?(c=parseFloat(h[1])/100,i=n.height*c,"backgroundSize"!==t&&(i-=(a||r).height*c)):i=parseInt(h[1],10),[l,i]}var l,s={Util:{}};s.Util.log=function(e){s.logging&&t.console&&t.console.log&&t.console.log(e)},s.Util.trimText=function(t){return function(e){return t?t.apply(e):((e||"")+"").replace(/^\s+|\s+$/g,"")}}(String.prototype.trim),s.Util.asFloat=function(t){return parseFloat(t)},function(){var t=/((rgba|rgb)\([^\)]+\)(\s-?\d+px){0,})/g,e=/(-?\d+px)|(#.+)|(rgb\(.+\))|(rgba\(.+\))/g;s.Util.parseTextShadows=function(n){if(!n||"none"===n)return[];for(var r=n.match(t),o=[],a=0;r&&a<r.length;a++){var i=r[a].match(e);o.push({color:i[0],offsetX:i[1]?i[1].replace("px",""):0,offsetY:i[2]?i[2].replace("px",""):0,blur:i[3]?i[3].replace("px",""):0})}return o}}(),s.Util.parseBackgroundImage=function(t){var e,n,r,o,a,i,l,s,c=[],d=0,h=0,u=function(){e&&('"'===n.substr(0,1)&&(n=n.substr(1,n.length-2)),n&&s.push(n),"-"===e.substr(0,1)&&(o=e.indexOf("-",1)+1)>0&&(r=e.substr(0,o),e=e.substr(o)),c.push({prefix:r,method:e.toLowerCase(),value:a,args:s})),s=[],e=r=n=a=""};u();for(var f=0,p=t.length;p>f;f++)if(i=t[f],!(0===d&&" \r\n\t".indexOf(i)>-1)){switch(i){case'"':l?l===i&&(l=null):l=i;break;case"(":if(l)break;if(0===d){d=1,a+=i;continue}h++;break;case")":if(l)break;if(1===d){if(0===h){d=0,a+=i,u();continue}h--}break;case",":if(l)break;if(0===d){u();continue}if(1===d&&0===h&&!e.match(/^url$/i)){s.push(n),n="",a+=i;continue}}a+=i,0===d?e+=i:n+=i}return u(),c},s.Util.Bounds=function(t){var e,n={};return t.getBoundingClientRect&&(e=t.getBoundingClientRect(),n.top=e.top,n.bottom=e.bottom||e.top+e.height,n.left=e.left,n.width=t.offsetWidth,n.height=t.offsetHeight),n},s.Util.OffsetBounds=function(t){var e=t.offsetParent?s.Util.OffsetBounds(t.offsetParent):{top:0,left:0};return{top:t.offsetTop+e.top,bottom:t.offsetTop+t.offsetHeight+e.top,left:t.offsetLeft+e.left,width:t.offsetWidth,height:t.offsetHeight}},s.Util.getCSS=function(t,n,r){undefined!==t&&(l=e.defaultView.getComputedStyle(t,null));var i=l[n];if(/^background(Size|Position)$/.test(n))return a(i,t,n,r);if(/border(Top|Bottom)(Left|Right)Radius/.test(n)){var s=i.split(" ");return s.length<=1&&(s[1]=s[0]),s.map(o)}return i},s.Util.resizeBounds=function(t,e,n,r,o){var a,i,l=t/e;return o&&"auto"!==o?l>n/r^"contain"===o?(i=r,a=r*l):(a=n,i=n/l):(a=n,i=r),{width:a,height:i}},s.Util.BackgroundPosition=function(t,e,n,r,o){var a=i("backgroundPosition",t,e,n,r,o);return{left:a[0],top:a[1]}},s.Util.BackgroundSize=function(t,e,n,r){var o=i("backgroundSize",t,e,n,r);return{width:o[0],height:o[1]}},s.Util.Extend=function(t,e){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n]);return e},s.Util.Children=function(t){var e;try{e=t.nodeName&&"IFRAME"===t.nodeName.toUpperCase()?t.contentDocument||t.contentWindow.document:function(t){var e=[];return null!==t&&function(t,e){var r=t.length,o=0;if("number"==typeof e.length)for(var a=e.length;a>o;o++)t[r++]=e[o];else for(;e[o]!==n;)t[r++]=e[o++];t.length=r}(e,t),e}(t.childNodes)}catch(t){s.Util.log("html2canvas.Util.Children failed with exception: "+t.message),e=[]}return e},s.Util.isTransparent=function(t){return"transparent"===t||"rgba(0, 0, 0, 0)"===t},s.Util.Font=function(){var t={};return function(e,r,o){if(t[e+"-"+r]!==n)return t[e+"-"+r];var a,i,l=o.createElement("div"),s=o.createElement("img"),c=o.createElement("span"),d="Hidden Text";return l.style.visibility="hidden",l.style.fontFamily=e,l.style.fontSize=r,l.style.margin=0,l.style.padding=0,o.body.appendChild(l),s.src="data:image/gif;base64,R0lGODlhAQABAIABAP///wAAACwAAAAAAQABAAACAkQBADs=",s.width=1,s.height=1,s.style.margin=0,s.style.padding=0,s.style.verticalAlign="baseline",c.style.fontFamily=e,c.style.fontSize=r,c.style.margin=0,c.style.padding=0,c.appendChild(o.createTextNode(d)),l.appendChild(c),l.appendChild(s),a=s.offsetTop-c.offsetTop+1,l.removeChild(c),l.appendChild(o.createTextNode(d)),l.style.lineHeight="normal",s.style.verticalAlign="super",i={baseline:a,lineWidth:1,middle:s.offsetTop-l.offsetTop+1},t[e+"-"+r]=i,o.body.removeChild(l),i}}(),function(){function t(t){return function(e){try{t.addColorStop(e.stop,e.color)}catch(t){n.log(["failed to add color stop: ",t,"; tried to add: ",e])}}}var n=s.Util,r={};s.Generate=r;var o=[/^(-webkit-linear-gradient)\(([a-z\s]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-o-linear-gradient)\(([a-z\s]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-webkit-gradient)\((linear|radial),\s((?:\d{1,3}%?)\s(?:\d{1,3}%?),\s(?:\d{1,3}%?)\s(?:\d{1,3}%?))([\w\d\.\s,%\(\)\-]+)\)$/,/^(-moz-linear-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?))([\w\d\.\s,%\(\)]+)\)$/,/^(-webkit-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s([a-z\-]+)([\w\d\.\s,%\(\)]+)\)$/,/^(-moz-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s?([a-z\-]*)([\w\d\.\s,%\(\)]+)\)$/,/^(-o-radial-gradient)\(((?:\d{1,3}%?)\s(?:\d{1,3}%?)),\s(\w+)\s([a-z\-]+)([\w\d\.\s,%\(\)]+)\)$/];r.parseGradient=function(t,e){var n,r,a,i,l,s,c,d,h,u,f,p,g=o.length;for(r=0;g>r&&!(a=t.match(o[r]));r+=1);if(a)switch(a[1]){case"-webkit-linear-gradient":case"-o-linear-gradient":if(n={type:"linear",x0:null,y0:null,x1:null,y1:null,colorStops:[]},l=a[2].match(/\w+/g))for(s=l.length,r=0;s>r;r+=1)switch(l[r]){case"top":n.y0=0,n.y1=e.height;break;case"right":n.x0=e.width,n.x1=0;break;case"bottom":n.y0=e.height,n.y1=0;break;case"left":n.x0=0,n.x1=e.width}if(null===n.x0&&null===n.x1&&(n.x0=n.x1=e.width/2),null===n.y0&&null===n.y1&&(n.y0=n.y1=e.height/2),l=a[3].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}(?:%|px))?)+/g))for(s=l.length,c=1/Math.max(s-1,1),r=0;s>r;r+=1)(d=l[r].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%|px)?/))[2]?(i=parseFloat(d[2]),i/="%"===d[3]?100:e.width):i=r*c,n.colorStops.push({color:d[1],stop:i});break;case"-webkit-gradient":if(n={type:"radial"===a[2]?"circle":a[2],x0:0,y0:0,x1:0,y1:0,colorStops:[]},(l=a[3].match(/(\d{1,3})%?\s(\d{1,3})%?,\s(\d{1,3})%?\s(\d{1,3})%?/))&&(n.x0=l[1]*e.width/100,n.y0=l[2]*e.height/100,n.x1=l[3]*e.width/100,n.y1=l[4]*e.height/100),l=a[4].match(/((?:from|to|color-stop)\((?:[0-9\.]+,\s)?(?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)\))+/g))for(s=l.length,r=0;s>r;r+=1)d=l[r].match(/(from|to|color-stop)\(([0-9\.]+)?(?:,\s)?((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\)/),i=parseFloat(d[2]),"from"===d[1]&&(i=0),"to"===d[1]&&(i=1),n.colorStops.push({color:d[3],stop:i});break;case"-moz-linear-gradient":if(n={type:"linear",x0:0,y0:0,x1:0,y1:0,colorStops:[]},(l=a[2].match(/(\d{1,3})%?\s(\d{1,3})%?/))&&(n.x0=l[1]*e.width/100,n.y0=l[2]*e.height/100,n.x1=e.width-n.x0,n.y1=e.height-n.y0),l=a[3].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}%)?)+/g))for(s=l.length,c=1/Math.max(s-1,1),r=0;s>r;r+=1)(d=l[r].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%)?/))[2]?(i=parseFloat(d[2]),d[3]&&(i/=100)):i=r*c,n.colorStops.push({color:d[1],stop:i});break;case"-webkit-radial-gradient":case"-moz-radial-gradient":case"-o-radial-gradient":if(n={type:"circle",x0:0,y0:0,x1:e.width,y1:e.height,cx:0,cy:0,rx:0,ry:0,colorStops:[]},(l=a[2].match(/(\d{1,3})%?\s(\d{1,3})%?/))&&(n.cx=l[1]*e.width/100,n.cy=l[2]*e.height/100),l=a[3].match(/\w+/),d=a[4].match(/[a-z\-]*/),l&&d)switch(d[0]){case"farthest-corner":case"cover":case"":h=Math.sqrt(Math.pow(n.cx,2)+Math.pow(n.cy,2)),u=Math.sqrt(Math.pow(n.cx,2)+Math.pow(n.y1-n.cy,2)),f=Math.sqrt(Math.pow(n.x1-n.cx,2)+Math.pow(n.y1-n.cy,2)),p=Math.sqrt(Math.pow(n.x1-n.cx,2)+Math.pow(n.cy,2)),n.rx=n.ry=Math.max(h,u,f,p);break;case"closest-corner":h=Math.sqrt(Math.pow(n.cx,2)+Math.pow(n.cy,2)),u=Math.sqrt(Math.pow(n.cx,2)+Math.pow(n.y1-n.cy,2)),f=Math.sqrt(Math.pow(n.x1-n.cx,2)+Math.pow(n.y1-n.cy,2)),p=Math.sqrt(Math.pow(n.x1-n.cx,2)+Math.pow(n.cy,2)),n.rx=n.ry=Math.min(h,u,f,p);break;case"farthest-side":"circle"===l[0]?n.rx=n.ry=Math.max(n.cx,n.cy,n.x1-n.cx,n.y1-n.cy):(n.type=l[0],n.rx=Math.max(n.cx,n.x1-n.cx),n.ry=Math.max(n.cy,n.y1-n.cy));break;case"closest-side":case"contain":"circle"===l[0]?n.rx=n.ry=Math.min(n.cx,n.cy,n.x1-n.cx,n.y1-n.cy):(n.type=l[0],n.rx=Math.min(n.cx,n.x1-n.cx),n.ry=Math.min(n.cy,n.y1-n.cy))}if(l=a[5].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\)(?:\s\d{1,3}(?:%|px))?)+/g))for(s=l.length,c=1/Math.max(s-1,1),r=0;s>r;r+=1)(d=l[r].match(/((?:rgb|rgba)\(\d{1,3},\s\d{1,3},\s\d{1,3}(?:,\s[0-9\.]+)?\))\s*(\d{1,3})?(%|px)?/))[2]?(i=parseFloat(d[2]),i/="%"===d[3]?100:e.width):i=r*c,n.colorStops.push({color:d[1],stop:i})}return n},r.Gradient=function(n,r){if(0!==r.width&&0!==r.height){var o,a,i=e.createElement("canvas"),l=i.getContext("2d");if(i.width=r.width,i.height=r.height,o=s.Generate.parseGradient(n,r))switch(o.type){case"linear":a=l.createLinearGradient(o.x0,o.y0,o.x1,o.y1),o.colorStops.forEach(t(a)),l.fillStyle=a,l.fillRect(0,0,r.width,r.height);break;case"circle":a=l.createRadialGradient(o.cx,o.cy,0,o.cx,o.cy,o.rx),o.colorStops.forEach(t(a)),l.fillStyle=a,l.fillRect(0,0,r.width,r.height);break;case"ellipse":var c=e.createElement("canvas"),d=c.getContext("2d"),h=Math.max(o.rx,o.ry),u=2*h;c.width=c.height=u,a=d.createRadialGradient(o.rx,o.ry,0,o.rx,o.ry,h),o.colorStops.forEach(t(a)),d.fillStyle=a,d.fillRect(0,0,u,u),l.fillStyle=o.colorStops[o.colorStops.length-1].color,l.fillRect(0,0,i.width,i.height),l.drawImage(c,o.cx-o.rx,o.cy-o.ry,2*o.rx,2*o.ry)}return i}},r.ListAlpha=function(t){var e,n="";do{e=t%26,n=String.fromCharCode(e+64)+n,t/=26}while(26*t>26);return n},r.ListRoman=function(t){var e,n=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"],r=[1e3,900,500,400,100,90,50,40,10,9,5,4,1],o="",a=n.length;if(0>=t||t>=4e3)return t;for(e=0;a>e;e+=1)for(;t>=r[e];)t-=r[e],o+=n[e];return o}}(),s.Parse=function(r,o,a){function i(t,e){t.classList?t.classList.remove(e):t.className=t.className.replace(e,"").trim()}function l(t,e){var n=parseInt(q(t,e),10);return isNaN(n)?0:n}function c(t,e,n,r,o,a){"transparent"!==a&&(t.setVariable("fillStyle",a),t.fillRect(e,n,r,o),1)}function d(t,e,n){return t.length>0?e+n.toUpperCase():void 0}function h(t,e,n,r){null!==t&&G.trimText(t).length>0&&(r.fillText(t,e,n),1)}function u(t,e,n,r){var o=q(e,"fontWeight"),a=q(e,"fontFamily"),i=q(e,"fontSize"),l=G.parseTextShadows(q(e,"textShadow"));switch(parseInt(o,10)){case 401:o="bold";break;case 400:o="normal"}return t.setVariable("fillStyle",r),t.setVariable("font",[q(e,"fontStyle"),q(e,"fontVariant"),o,i,a].join(" ")),t.setVariable("textAlign","left"),l.length&&(t.setVariable("shadowColor",l[0].color),t.setVariable("shadowOffsetX",l[0].offsetX),t.setVariable("shadowOffsetY",l[0].offsetY),t.setVariable("shadowBlur",l[0].blur)),"none"!==n?G.Font(a,i,$):void 0}function f(t,e,n,r,o){var a;if(W.rangeBounds&&!o)("none"!==n||0!==G.trimText(e).length)&&(a=function(t,e,n){var r=$.createRange();return r.setStart(e,n),r.setEnd(e,n+t.length),r.getBoundingClientRect()}(e,t.node,t.textOffset)),t.textOffset+=e.length;else if(t.node&&"string"==typeof t.node.nodeValue){var i=r?t.node.splitText(e.length):null;a=function(t,e){var n=t.parentNode,r=$.createElement("wrapper"),o=t.cloneNode(!0);r.appendChild(t.cloneNode(!0)),n.replaceChild(r,t);var a=e?G.OffsetBounds(r):G.Bounds(r);return n.replaceChild(o,r),a}(t.node,o),t.node=i}return a}function p(t,e,n){var r,a,i=n.ctx,l=q(t,"color"),s=q(t,"textDecoration"),p=q(t,"textAlign"),g={node:e,textOffset:0};G.trimText(e.nodeValue).length>0&&(e.nodeValue=function(t,e){switch(e){case"lowercase":return t.toLowerCase();case"capitalize":return t.replace(/(^|\s|:|-|\(|\))([a-z])/g,d);case"uppercase":return t.toUpperCase();default:return t}}(e.nodeValue,q(t,"textTransform")),p=p.replace(["-webkit-auto"],["auto"]),a=!o.letterRendering&&/^(left|right|justify|auto)$/.test(p)&&function(t){return/^(normal|none|0px)$/.test(t)}(q(t,"letterSpacing"))?e.nodeValue.split(/(\b| )/):e.nodeValue.split(""),r=u(i,t,s,l),o.chinese&&a.forEach((function(t,e){/.*[\u4E00-\u9FA5].*$/.test(t)&&((t=t.split("")).unshift(e,1),a.splice.apply(a,t))})),a.forEach((function(t,e){var o=f(g,t,s,e<a.length-1,n.transform.matrix);o&&(h(t,o.left,o.bottom,i),function(t,e,n,r,o){switch(e){case"underline":c(t,n.left,Math.round(n.top+r.baseline+r.lineWidth),n.width,1,o);break;case"overline":c(t,n.left,Math.round(n.top),n.width,1,o);break;case"line-through":c(t,n.left,Math.ceil(n.top+r.middle+r.lineWidth),n.width,1,o)}}(i,s,o,r,l))})))}function g(t,e,n){var r,o,a=e.ctx,i=q(t,"listStyleType");if(/^(decimal|decimal-leading-zero|upper-alpha|upper-latin|upper-roman|lower-alpha|lower-greek|lower-latin|lower-roman)$/i.test(i)){if(o=function(t,e){var n,r,o=$.createElement("boundelement");return o.style.display="inline",n=t.style.listStyleType,t.style.listStyleType="none",o.appendChild($.createTextNode(e)),t.insertBefore(o,t.firstChild),r=G.Bounds(o),t.removeChild(o),t.style.listStyleType=n,r}(t,r=function(t,e){var n,r=function(t){var e=-1,n=1,r=t.parentNode.childNodes;if(t.parentNode){for(;r[++e]!==t;)1===r[e].nodeType&&n++;return n}return-1}(t);switch(e){case"decimal":n=r;break;case"decimal-leading-zero":n=1===r.toString().length?r="0"+r.toString():r.toString();break;case"upper-roman":n=s.Generate.ListRoman(r);break;case"lower-roman":n=s.Generate.ListRoman(r).toLowerCase();break;case"lower-alpha":n=s.Generate.ListAlpha(r).toLowerCase();break;case"upper-alpha":n=s.Generate.ListAlpha(r)}return n+". "}(t,i)),u(a,t,"none",q(t,"color")),"inside"!==q(t,"listStylePosition"))return;a.setVariable("textAlign","left"),h(r,n.left,o.bottom,a)}}function m(t){var e=r[t];return!(!e||!0!==e.succeeded)&&e.img}function y(t,e){var n=Math.max(t.left,e.left),r=Math.max(t.top,e.top);return{left:n,top:r,width:Math.min(t.left+t.width,e.left+e.width)-n,height:Math.min(t.top+t.height,e.top+e.height)-r}}function w(t,e,n,r,o){var a=l(e,"paddingLeft"),i=l(e,"paddingTop"),s=l(e,"paddingRight"),c=l(e,"paddingBottom");M(t,n,0,0,n.width,n.height,r.left+a+o[3].width,r.top+i+o[0].width,r.width-(o[1].width+o[3].width+a+s),r.height-(o[0].width+o[2].width+i+c))}function x(t){return["Top","Right","Bottom","Left"].map((function(e){return{width:l(t,"border"+e+"Width"),color:q(t,"border"+e+"Color")}}))}function b(t,e,n,r){var o=(Math.sqrt(2)-1)/3*4,a=n*o,i=r*o,l=t+n,s=e+r;return{topLeft:v({x:t,y:s},{x:t,y:s-i},{x:l-a,y:e},{x:l,y:e}),topRight:v({x:t,y:e},{x:t+a,y:e},{x:l,y:s-i},{x:l,y:s}),bottomRight:v({x:l,y:e},{x:l,y:e+i},{x:t+a,y:s},{x:t,y:s}),bottomLeft:v({x:l,y:s},{x:l-a,y:s},{x:t,y:e+i},{x:t,y:e})}}function v(t,e,n,r){var o=function(t,e,n){return{x:t.x+(e.x-t.x)*n,y:t.y+(e.y-t.y)*n}};return{start:t,startControl:e,endControl:n,end:r,subdivide:function(a){var i=o(t,e,a),l=o(e,n,a),s=o(n,r,a),c=o(i,l,a),d=o(l,s,a),h=o(c,d,a);return[v(t,i,c,h),v(h,d,s,r)]},curveTo:function(t){t.push(["bezierCurve",e.x,e.y,n.x,n.y,r.x,r.y])},curveToReversed:function(r){r.push(["bezierCurve",n.x,n.y,e.x,e.y,t.x,t.y])}}}function k(t,e,n,r,o,a,i){e[0]>0||e[1]>0?(t.push(["line",r[0].start.x,r[0].start.y]),r[0].curveTo(t),r[1].curveTo(t)):t.push(["line",a,i]),(n[0]>0||n[1]>0)&&t.push(["line",o[0].start.x,o[0].start.y])}function C(t,e,n,r,o,a,i){var l=[];return e[0]>0||e[1]>0?(l.push(["line",r[1].start.x,r[1].start.y]),r[1].curveTo(l)):l.push(["line",t.c1[0],t.c1[1]]),n[0]>0||n[1]>0?(l.push(["line",a[0].start.x,a[0].start.y]),a[0].curveTo(l),l.push(["line",i[0].end.x,i[0].end.y]),i[0].curveToReversed(l)):(l.push(["line",t.c2[0],t.c2[1]]),l.push(["line",t.c3[0],t.c3[1]])),e[0]>0||e[1]>0?(l.push(["line",o[1].end.x,o[1].end.y]),o[1].curveToReversed(l)):l.push(["line",t.c4[0],t.c4[1]]),l}function T(t,e,n,r,o){var a=[];switch(q(t,"backgroundClip")){case"content-box":case"padding-box":k(a,r[0],r[1],e.topLeftInner,e.topRightInner,o.left+n[3].width,o.top+n[0].width),k(a,r[1],r[2],e.topRightInner,e.bottomRightInner,o.left+o.width-n[1].width,o.top+n[0].width),k(a,r[2],r[3],e.bottomRightInner,e.bottomLeftInner,o.left+o.width-n[1].width,o.top+o.height-n[2].width),k(a,r[3],r[0],e.bottomLeftInner,e.topLeftInner,o.left+n[3].width,o.top+o.height-n[2].width);break;default:k(a,r[0],r[1],e.topLeftOuter,e.topRightOuter,o.left,o.top),k(a,r[1],r[2],e.topRightOuter,e.bottomRightOuter,o.left+o.width,o.top),k(a,r[2],r[3],e.bottomRightOuter,e.bottomLeftOuter,o.left+o.width,o.top+o.height),k(a,r[3],r[0],e.bottomLeftOuter,e.topLeftOuter,o.left,o.top+o.height)}return a}function S(t,e,n){var r,o,a,i,l,s,c=e.left,d=e.top,h=e.width,u=e.height,f=function(t){return["TopLeft","TopRight","BottomRight","BottomLeft"].map((function(e){return q(t,"border"+e+"Radius")}))}(t),p=function(t,e,n){var r=t.left,o=t.top,a=t.width,i=t.height,l=e[0][0],s=e[0][1],c=e[1][0],d=e[1][1],h=e[2][0],u=e[2][1],f=e[3][0],p=e[3][1],g=a-c,m=i-u,y=a-h,w=i-p;return{topLeftOuter:b(r,o,l,s).topLeft.subdivide(.5),topLeftInner:b(r+n[3].width,o+n[0].width,Math.max(0,l-n[3].width),Math.max(0,s-n[0].width)).topLeft.subdivide(.5),topRightOuter:b(r+g,o,c,d).topRight.subdivide(.5),topRightInner:b(r+Math.min(g,a+n[3].width),o+n[0].width,g>a+n[3].width?0:c-n[3].width,d-n[0].width).topRight.subdivide(.5),bottomRightOuter:b(r+y,o+m,h,u).bottomRight.subdivide(.5),bottomRightInner:b(r+Math.min(y,a+n[3].width),o+Math.min(m,i+n[0].width),Math.max(0,h-n[1].width),Math.max(0,u-n[2].width)).bottomRight.subdivide(.5),bottomLeftOuter:b(r,o+w,f,p).bottomLeft.subdivide(.5),bottomLeftInner:b(r+n[3].width,o+w,Math.max(0,f-n[3].width),Math.max(0,p-n[2].width)).bottomLeft.subdivide(.5)}}(e,f,n),g={clip:T(t,p,n,f,e),borders:[]};for(r=0;4>r;r++)if(n[r].width>0){switch(o=c,a=d,i=h,l=u-n[2].width,r){case 0:l=n[0].width,s=C({c1:[o,a],c2:[o+i,a],c3:[o+i-n[1].width,a+l],c4:[o+n[3].width,a+l]},f[0],f[1],p.topLeftOuter,p.topLeftInner,p.topRightOuter,p.topRightInner);break;case 1:s=C({c1:[(o=c+h-n[1].width)+(i=n[1].width),a],c2:[o+i,a+l+n[2].width],c3:[o,a+l],c4:[o,a+n[0].width]},f[1],f[2],p.topRightOuter,p.topRightInner,p.bottomRightOuter,p.bottomRightInner);break;case 2:s=C({c1:[o+i,(a=a+u-n[2].width)+(l=n[2].width)],c2:[o,a+l],c3:[o+n[3].width,a],c4:[o+i-n[3].width,a]},f[2],f[3],p.bottomRightOuter,p.bottomRightInner,p.bottomLeftOuter,p.bottomLeftInner);break;case 3:i=n[3].width,s=C({c1:[o,a+l+n[2].width],c2:[o,a],c3:[o+i,a+n[0].width],c4:[o+i,a+l]},f[3],f[0],p.bottomLeftOuter,p.bottomLeftInner,p.topLeftOuter,p.topLeftInner)}g.borders.push({args:s,color:n[r].color})}return g}function E(t,e){var n=t.drawShape();return e.forEach((function(t,e){n[0===e?"moveTo":t[0]+"To"].apply(null,t.slice(1))})),n}function R(t,e,n){var r,o,a=$.createElement("valuewrap");["lineHeight","textAlign","fontFamily","color","fontSize","paddingLeft","paddingTop","width","height","border","borderLeftWidth","borderTopWidth"].forEach((function(e){try{a.style[e]=q(t,e)}catch(t){G.log("html2canvas: Parse: Exception caught in renderFormValue: "+t.message)}})),a.style.borderColor="black",a.style.borderStyle="solid",a.style.display="block",a.style.position="absolute",(/^(submit|reset|button|text|password)$/.test(t.type)||"SELECT"===t.nodeName)&&(a.style.lineHeight=q(t,"height")),a.style.top=e.top+"px",a.style.left=e.left+"px",(r="SELECT"===t.nodeName?(t.options[t.selectedIndex]||0).text:t.value)||(r=t.placeholder),o=$.createTextNode(r),a.appendChild(o),j.appendChild(a),p(t,o,n),j.removeChild(a)}function M(t){t.drawImage.apply(t,Array.prototype.slice.call(arguments,1)),1}function I(n,r){var o=t.getComputedStyle(n,r),a=t.getComputedStyle(n);if(o&&o.content&&"none"!==o.content&&"-moz-alt-content"!==o.content&&"none"!==o.display&&a.content!==o.content){var i=o.content+"";("'"===i[0]||'"'===i[0])&&(i=i.replace(/(^['"])|(['"]$)/g,""));var l="url"===i.substr(0,3),s=e.createElement(l?"img":"span");return s.className=X+"-element ",Object.keys(o).filter(L).forEach((function(t){try{s.style[t]=o[t]}catch(e){G.log(["Tried to assign readonly property ",t,"Error:",e])}})),l?s.src=G.parseBackgroundImage(i)[0].args[0]:s.innerHTML=i,s}}function L(e){return isNaN(t.parseInt(e,10))}function O(t,e,n,r){var o=Math.round(r.left+n.left),a=Math.round(r.top+n.top);t.createPattern(e),t.translate(o,a),t.fill(),t.translate(-o,-a)}function z(t,e,n,r,o,a,i,l){var s=[];s.push(["line",Math.round(o),Math.round(a)]),s.push(["line",Math.round(o+i),Math.round(a)]),s.push(["line",Math.round(o+i),Math.round(l+a)]),s.push(["line",Math.round(o),Math.round(l+a)]),E(t,s),t.save(),t.clip(),O(t,e,n,r),t.restore()}function A(t,e,n,r,o){var a=G.BackgroundSize(t,e,r,o),i=G.BackgroundPosition(t,e,r,o,a),l=q(t,"backgroundRepeat").split(",").map(G.trimText);switch(r=function(t,e){if(t.width===e.width&&t.height===e.height)return t;var n=$.createElement("canvas");return n.width=e.width,n.height=e.height,M(n.getContext("2d"),t,0,0,t.width,t.height,0,0,e.width,e.height),n}(r,a),l=l[o]||l[0]){case"repeat-x":z(n,r,i,e,e.left,e.top+i.top,99999,r.height);break;case"repeat-y":z(n,r,i,e,e.left+i.left,e.top,r.width,99999);break;case"no-repeat":z(n,r,i,e,e.left+i.left,e.top+i.top,r.width,r.height);break;default:O(n,r,i,{top:e.top,left:e.left,width:r.width,height:r.height})}}function B(t,e,n){return t.setVariable("globalAlpha",q(e,"opacity")*(n?n.opacity:1))}function U(t){return t.replace("px","")}function N(t,e,n,r){var a=function(t,e){var n=[];return{storage:n,width:t,height:e,clip:function(){n.push({type:"function",name:"clip",arguments:arguments})},translate:function(){n.push({type:"function",name:"translate",arguments:arguments})},fill:function(){n.push({type:"function",name:"fill",arguments:arguments})},save:function(){n.push({type:"function",name:"save",arguments:arguments})},restore:function(){n.push({type:"function",name:"restore",arguments:arguments})},fillRect:function(){n.push({type:"function",name:"fillRect",arguments:arguments})},createPattern:function(){n.push({type:"function",name:"createPattern",arguments:arguments})},drawShape:function(){var t=[];return n.push({type:"function",name:"drawShape",arguments:t}),{moveTo:function(){t.push({name:"moveTo",arguments:arguments})},lineTo:function(){t.push({name:"lineTo",arguments:arguments})},arcTo:function(){t.push({name:"arcTo",arguments:arguments})},bezierCurveTo:function(){t.push({name:"bezierCurveTo",arguments:arguments})},quadraticCurveTo:function(){t.push({name:"quadraticCurveTo",arguments:arguments})}}},drawImage:function(){n.push({type:"function",name:"drawImage",arguments:arguments})},fillText:function(){n.push({type:"function",name:"fillText",arguments:arguments})},setVariable:function(t,e){return n.push({type:"variable",name:t,arguments:e}),e}}}(e?n.width:Math.max(Math.max($.body.scrollWidth,$.documentElement.scrollWidth),Math.max($.body.offsetWidth,$.documentElement.offsetWidth),Math.max($.body.clientWidth,$.documentElement.clientWidth)),e?n.height:Math.max(Math.max($.body.scrollHeight,$.documentElement.scrollHeight),Math.max($.body.offsetHeight,$.documentElement.offsetHeight),Math.max($.body.clientHeight,$.documentElement.clientHeight))),i={ctx:a,opacity:B(a,t,e),cssPosition:q(t,"position"),borders:x(t),transform:r,clip:e&&e.clip?G.Extend({},e.clip):null};return function(t,e,n){var r,o="static"!==e.cssPosition,a=o?q(t,"zIndex"):"auto",i=q(t,"opacity"),l="none"!==q(t,"cssFloat");e.zIndex=r=function(t){return{depth:0,zindex:t,children:[]}}(a),r.isPositioned=o,r.isFloated=l,r.opacity=i,r.ownStacking="auto"!==a||1>i,r.depth=n?n.zIndex.depth+1:0,n&&n.zIndex.children.push(e)}(t,i,e),!0===o.useOverflow&&!0===/(hidden|scroll|auto)/.test(q(t,"overflow"))&&!1===/(BODY)/i.test(t.nodeName)&&(i.clip=i.clip?y(i.clip,n):n),i}function P(t,e,n){var r,o=function(t){var e,n=q(t,"transform")||q(t,"-webkit-transform")||q(t,"-moz-transform")||q(t,"-ms-transform")||q(t,"-o-transform"),r=q(t,"transform-origin")||q(t,"-webkit-transform-origin")||q(t,"-moz-transform-origin")||q(t,"-ms-transform-origin")||q(t,"-o-transform-origin")||"0px 0px";if(r=r.split(" ").map(U).map(G.asFloat),n&&"none"!==n){var o=n.match(/(matrix)\((.+)\)/);if(o)switch(o[1]){case"matrix":e=o[2].split(",").map(G.trimText).map(G.asFloat)}}return{origin:r,matrix:e}}(t),a=function(t,e){var n=e.matrix?G.OffsetBounds(t):G.Bounds(t);return e.origin[0]+=n.left,e.origin[1]+=n.top,n}(t,o),i=N(t,e,a,o),l=i.borders,s=i.ctx,d=function(t,e,n){var r={left:e.left+t[3].width,top:e.top+t[0].width,width:e.width-(t[1].width+t[3].width),height:e.height-(t[0].width+t[2].width)};return n&&(r=y(r,n)),r}(l,a,i.clip),h=S(t,a,l),u=H.test(t.nodeName)?"#efefef":q(t,"backgroundColor");switch(E(s,h.clip),s.save(),s.clip(),d.height>0&&d.width>0&&!n?(function(t,e,n){c(t,e.left,e.top,e.width,e.height,n)}(s,a,u),function(t,e,n){for(var r,o=q(t,"backgroundImage"),a=G.parseBackgroundImage(o),i=a.length;i--;)(o=a[i]).args&&0!==o.args.length&&((r=m("url"===o.method?o.args[0]:o.value))?A(t,e,n,r,i):G.log("html2canvas: Error loading background:",o))}(t,d,s)):n&&(i.backgroundColor=u),s.restore(),h.borders.forEach((function(t){!function(t,e,n){"transparent"!==n&&(t.setVariable("fillStyle",n),E(t,e),t.fill(),1)}(s,t.args,t.color)})),t.nodeName){case"IMG":(r=m(t.getAttribute("src")))?w(s,t,r,a,l):G.log("html2canvas: Error loading <img>:"+t.getAttribute("src"));break;case"INPUT":/^(text|url|email|submit|button|reset)$/.test(t.type)&&(t.value||t.placeholder||"").length>0&&R(t,a,i);break;case"TEXTAREA":(t.value||t.placeholder||"").length>0&&R(t,a,i);break;case"SELECT":(t.options||t.placeholder||"").length>0&&R(t,a,i);break;case"LI":g(t,i,d);break;case"CANVAS":w(s,t,t,a,l)}return i}function F(t,e,n){return n||(n=function(){}),function(t){return"none"!==q(t,"display")&&"hidden"!==q(t,"visibility")&&!t.hasAttribute("data-html2canvas-ignore")}(t)&&(e=P(t,e,!1)||e,!H.test(t.nodeName))?V(t,e,n):void n()}function V(t,e,n){function r(n){n.nodeType===n.ELEMENT_NODE?F(n,e,a):n.nodeType===n.TEXT_NODE?(p(t,n,e),a()):a()}function a(){--l<=0&&(G.log("finished rendering "+i.length+" children."),n())}var i=G.Children(t),l=i.length+1;a(),o.async?i.forEach((function(t){setTimeout((function(){r(t)}),0)})):i.forEach(r)}t.scroll(0,0);var D=o.elements===n?e.body:o.elements[0],$=D.ownerDocument,G=s.Util,W=G.Support(o,$),H=new RegExp("("+o.ignoreElements+")"),j=$.body,q=G.getCSS,X="___html2canvas___pseudoelement",_=$.createElement("style");_.innerHTML="."+X+'-parent:before { content: "" !important; display: none !important; }.'+X+'-parent:after { content: "" !important; display: none !important; }',j.appendChild(_),r=r||{},function(){var t=q(e.documentElement,"backgroundColor"),n=G.isTransparent(t)&&D===e.body,r=P(D,null,!1);(function(t){function n(){for(var t=/:before|:after/,n=e.styleSheets,r=0,o=n.length;o>r;r++)try{for(var a=n[r].cssRules,i=0,s=a.length;s>i;i++)t.test(a[i].selectorText)&&l.push(a[i].selectorText)}catch(t){}for(r=0,o=l.length;o>r;r++)l[r]=l[r].match(/(^[^:]*)/)[1]}function r(){for(var t=e.querySelectorAll(l.join(",")),n=0,r=t.length;r>n;n++)o(t[n])}function o(t){var e=I(t,":before"),n=I(t,":after");e&&i.push({type:"before",pseudo:e,el:t}),n&&i.push({type:"after",pseudo:n,el:t})}function a(){i.forEach((function(t){!function(t,e){t.classList?t.classList.add(e):t.className=t.className+" "+e}(t.el,X+"-parent")})),i.forEach((function(t){"before"===t.type?t.el.insertBefore(t.pseudo,t.el.firstChild):t.el.appendChild(t.pseudo)}))}var i=[],l=[];n(),r(t),a()})(D),V(D,r,(function(){n&&(t=r.backgroundColor),function(){j.removeChild(_);for(var t=e.getElementsByClassName(X+"-element");t.length;)t[0].parentNode.removeChild(t[0]);for(var n=e.getElementsByClassName(X+"-parent");n.length;)i(n[0],X+"-parent")}(),G.log("Done parsing, moving to Render."),a({backgroundColor:t,stack:r})}))}()},s.Preload=function(r){function o(){m.log("html2canvas: start: images: "+g.numLoaded+" / "+g.numTotal+" (failed: "+g.numFailed+")"),!g.firstRun&&g.numLoaded>=g.numTotal&&(m.log("Finished loading images: # "+g.numTotal+" (failed: "+g.numFailed+")"),"function"==typeof r.complete&&r.complete(g))}function a(e,a,i){var l,s,c=r.proxy;k.href=e,e=k.href,l="html2canvas_"+y++,i.callbackname=l,c+=c.indexOf("?")>-1?"&":"?",c+="url="+encodeURIComponent(e)+"&callback="+l,s=x.createElement("script"),t[l]=function(e){"error:"===e.substring(0,6)?(i.succeeded=!1,g.numLoaded++,g.numFailed++,o()):(d(a,i),a.src=e),t[l]=n;try{delete t[l]}catch(t){}s.parentNode.removeChild(s),s=null,delete i.script,delete i.callbackname},s.setAttribute("type","text/javascript"),s.setAttribute("src",c),i.script=s,t.document.body.appendChild(s)}function i(e,n){var r=t.getComputedStyle(e,n),o=r.content;"url"===o.substr(0,3)&&u.loadImage(s.Util.parseBackgroundImage(o)[0].args[0]),c(r.backgroundImage,e)}function l(t){return t&&t.method&&t.args&&t.args.length>0}function c(t,e){var r;s.Util.parseBackgroundImage(t).filter(l).forEach((function(t){"url"===t.method?u.loadImage(t.args[0]):t.method.match(/\-?gradient$/)&&(r===n&&(r=s.Util.Bounds(e)),function(t,e){var r=s.Generate.Gradient(t,e);r!==n&&(g[t]={img:r,succeeded:!0},g.numTotal++,g.numLoaded++,o())}(t.value,r))}))}function d(e,i){e.onload=function(){i.timer!==n&&t.clearTimeout(i.timer),g.numLoaded++,i.succeeded=!0,e.onerror=e.onload=null,o()},e.onerror=function(){if("anonymous"===e.crossOrigin&&(t.clearTimeout(i.timer),r.proxy)){var n=e.src;return e=new Image,i.img=e,e.src=n,void a(e.src,e,i)}g.numLoaded++,g.numFailed++,i.succeeded=!1,e.onerror=e.onload=null,o()}}var h,u,f,p,g={numLoaded:0,numFailed:0,numTotal:0,cleanupDone:!1},m=s.Util,y=0,w=r.elements[0]||e.body,x=w.ownerDocument,b=w.getElementsByTagName("img"),v=b.length,k=x.createElement("a"),C=(new Image).crossOrigin!==n;for(k.href=t.location.href,h=k.protocol+k.host,u={loadImage:function(t){var e,o;t&&g[t]===n&&(e=new Image,t.match(/data:image\/.*;base64,/i)?(e.src=t.replace(/url\(['"]{0,}|['"]{0,}\)$/gi,""),o=g[t]={img:e},g.numTotal++,d(e,o)):function(t){return k.href=t,k.href=k.href,k.protocol+k.host===h}(t)||!0===r.allowTaint?(o=g[t]={img:e},g.numTotal++,d(e,o),e.src=t):C&&!r.allowTaint&&r.useCORS?(e.crossOrigin="anonymous",o=g[t]={img:e},g.numTotal++,d(e,o),e.src=t):r.proxy&&(o=g[t]={img:e},g.numTotal++,a(t,e,o)))},cleanupDOM:function(a){var i,l;if(!g.cleanupDone){for(l in a&&"string"==typeof a?m.log("html2canvas: Cleanup because: "+a):m.log("html2canvas: Cleanup after timeout: "+r.timeout+" ms."),g)if(g.hasOwnProperty(l)&&("object"==typeof(i=g[l])&&i.callbackname&&i.succeeded===n)){t[i.callbackname]=n;try{delete t[i.callbackname]}catch(t){}i.script&&i.script.parentNode&&(i.script.setAttribute("src","about:blank"),i.script.parentNode.removeChild(i.script)),g.numLoaded++,g.numFailed++,m.log("html2canvas: Cleaned up failed img: '"+l+"' Steps: "+g.numLoaded+" / "+g.numTotal)}t.stop!==n?t.stop():e.execCommand!==n&&e.execCommand("Stop",!1),e.close!==n&&e.close(),g.cleanupDone=!0,a&&"string"==typeof a||o()}},renderingDone:function(){p&&t.clearTimeout(p)}},r.timeout>0&&(p=t.setTimeout(u.cleanupDOM,r.timeout)),m.log("html2canvas: Preload starts: finding background-images"),g.firstRun=!0,function t(e){var r=!1;try{m.Children(e).forEach(t)}catch(t){}try{r=e.nodeType}catch(t){r=!1,m.log("html2canvas: failed to access some element's nodeType - Exception: "+t.message)}if(1===r||r===n){!function(t){i(t,":before"),i(t,":after")}(e);try{c(m.getCSS(e,"backgroundImage"),e)}catch(t){m.log("html2canvas: failed to get background-image - Exception: "+t.message)}c(e)}}(w),m.log("html2canvas: Preload: Finding images"),f=0;v>f;f+=1)u.loadImage(b[f].getAttribute("src"));return g.firstRun=!1,m.log("html2canvas: Preload: Done."),g.numTotal===g.numLoaded&&o(),u},s.Renderer=function(t,r){return function(t){var e;if("string"==typeof r.renderer&&s.Renderer[t]!==n)e=s.Renderer[t](r);else{if("function"!=typeof t)throw new Error("Unknown renderer");e=t(r)}if("function"!=typeof e)throw new Error("Invalid renderer defined");return e}(r.renderer)(t,r,e,function(t){var e=[];return function t(n){Object.keys(n).sort().forEach((function(r){var o=[],a=[],i=[],l=[];n[r].forEach((function(t){t.node.zIndex.isPositioned||t.node.zIndex.opacity<1?i.push(t):t.node.zIndex.isFloated?a.push(t):o.push(t)})),function t(e){e.forEach((function(e){l.push(e),e.children&&t(e.children)}))}(o.concat(a,i)),l.forEach((function(n){n.context?t(n.context):e.push(n.node)}))}))}(function(t){var e={};return function t(e,r,o){var a="auto"===r.zIndex.zindex?0:Number(r.zIndex.zindex),i=e,l=r.zIndex.isPositioned,s=r.zIndex.isFloated,c={node:r},d=o;r.zIndex.ownStacking?(i=c.context={"!":[{node:r,children:[]}]},d=n):(l||s)&&(d=c.children=[]),0===a&&o?o.push(c):(e[a]||(e[a]=[]),e[a].push(c)),r.zIndex.children.forEach((function(e){t(i,e,d)}))}(e,t),e}(t)),e}(t.stack),s)},s.Util.Support=function(t,e){return{rangeBounds:function(){var t,n,r=!1;return e.createRange&&((t=e.createRange()).getBoundingClientRect&&((n=e.createElement("boundtest")).style.height="123px",n.style.display="block",e.body.appendChild(n),t.selectNode(n),123===t.getBoundingClientRect().height&&(r=!0),e.body.removeChild(n))),r}(),svgRendering:t.svgRendering&&function(){var t=new Image,r=e.createElement("canvas"),o=r.getContext!==n&&r.getContext("2d");if(!1===o)return!1;r.width=r.height=10,t.src=["data:image/svg+xml,","<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10'>","<foreignObject width='10' height='10'>","<div xmlns='http://www.w3.org/1999/xhtml' style='width:10;height:10;'>","sup","</div>","</foreignObject>","</svg>"].join("");try{o.drawImage(t,0,0),r.toDataURL()}catch(t){return!1}return s.Util.log("html2canvas: Parse: SVG powered rendering available"),!0}()}},t.html2canvas=function(e,n){var r,o={logging:!1,elements:e=e.length?e:[e],background:"#fff",proxy:null,timeout:0,useCORS:!1,allowTaint:!1,svgRendering:!1,ignoreElements:"IFRAME|OBJECT|PARAM",useOverflow:!0,letterRendering:!1,chinese:!1,async:!1,width:null,height:null,taintTest:!0,renderer:"Canvas"};return o=s.Util.Extend(n,o),s.logging=o.logging,o.complete=function(t){("function"!=typeof o.onpreloaded||!1!==o.onpreloaded(t))&&s.Parse(t,o,(function(t){("function"!=typeof o.onparsed||!1!==o.onparsed(t))&&(r=s.Renderer(t,o),"function"==typeof o.onrendered&&o.onrendered(r))}))},t.setTimeout((function(){s.Preload(o)}),0),{render:function(t,e){return s.Renderer(t,s.Util.Extend(e,o))},parse:function(t,e){return s.Parse(t,s.Util.Extend(e,o))},preload:function(t){return s.Preload(s.Util.Extend(t,o))},log:s.Util.log}},t.html2canvas.log=s.Util.log,t.html2canvas.Renderer={Canvas:n},s.Renderer.Canvas=function(t){function r(e,n){switch(n.type){case"variable":e[n.name]=n.arguments;break;case"function":switch(n.name){case"createPattern":if(n.arguments[0].width>0&&n.arguments[0].height>0)try{e.fillStyle=e.createPattern(n.arguments[0],"repeat")}catch(t){c.log("html2canvas: Renderer: Error creating pattern",t.message)}break;case"drawShape":!function(t,e){t.beginPath(),e.forEach((function(e){t[e.name].apply(t,e.arguments)})),t.closePath()}(e,n.arguments);break;case"drawImage":n.arguments[8]>0&&n.arguments[7]>0&&(!t.taintTest||t.taintTest&&function(t){if(-1===a.indexOf(t.arguments[0].src)){l.drawImage(t.arguments[0],0,0);try{l.getImageData(0,0,1,1)}catch(t){return i=o.createElement("canvas"),l=i.getContext("2d"),!1}a.push(t.arguments[0].src)}return!0}(n))&&e.drawImage.apply(e,n.arguments);break;default:e[n.name].apply(e,n.arguments)}}}t=t||{};var o=e,a=[],i=e.createElement("canvas"),l=i.getContext("2d"),c=s.Util,d=t.canvas||o.createElement("canvas");return function(t,e,o,a,i){var l,s,h,u=d.getContext("2d"),f=t.stack;return d.width=d.style.width=e.width||f.ctx.width,d.height=d.style.height=e.height||f.ctx.height,h=u.fillStyle,u.fillStyle=c.isTransparent(f.backgroundColor)&&e.background!==n?e.background:t.backgroundColor,u.fillRect(0,0,d.width,d.height),u.fillStyle=h,a.forEach((function(t){u.textBaseline="bottom",u.save(),t.transform.matrix&&(u.translate(t.transform.origin[0],t.transform.origin[1]),u.transform.apply(u,t.transform.matrix),u.translate(-t.transform.origin[0],-t.transform.origin[1])),t.clip&&(u.beginPath(),u.rect(t.clip.left,t.clip.top,t.clip.width,t.clip.height),u.clip()),t.ctx.storage&&t.ctx.storage.forEach((function(t){r(u,t)})),u.restore()})),c.log("html2canvas: Renderer: Canvas renderer done - returning canvas obj"),1===e.elements.length&&"object"==typeof e.elements[0]&&"BODY"!==e.elements[0].nodeName?(s=i.Util.Bounds(e.elements[0]),(l=o.createElement("canvas")).width=Math.ceil(s.width),l.height=Math.ceil(s.height),(u=l.getContext("2d")).drawImage(d,s.left,s.top,s.width,s.height,0,0,s.width,s.height),d=null,l):d}}}(window,document); |